/* ==========================================================================
   Kingdom Global Fellowship — public event page, registration, tickets /
   pass, and the event cards on events.html (drawn by assets/js/events.js).
   Horizon tokens only (style.css :root). No gold.
   ========================================================================== */

/* ---- Event cards on the listing (markup from events.js) ------------------ */
#events-list .card{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--kgf-radius-lg);
  transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}
#events-list .card::before{content:"";display:block;height:4px;background:var(--kgf-horizon)}
#events-list .card:hover{box-shadow:var(--kgf-shadow);transform:translateY(-3px);border-color:var(--kgf-blue-200)}
#events-list .card:focus-within{box-shadow:var(--kgf-ring),var(--kgf-shadow)}
#events-list .card-body{display:flex;flex-direction:column;flex:1}
#events-list .card h3{margin:0 0 14px;font-size:1.35rem;line-height:1.25}
#events-list .card h3 a{color:inherit;text-decoration:none}
#events-list .card h3 a:hover{color:var(--kgf-blue-600)}
#events-list .card h3 a:focus-visible{outline:none}
#events-list .card h3 a::after{content:"";position:absolute;inset:0;z-index:1}
#events-list .pill{align-self:flex-start;margin-bottom:14px}
#events-list .card > .card-body > p:not([class]){color:var(--kgf-slate-500);font-size:.95rem}

.event-when,.event-where{display:flex;align-items:flex-start;gap:9px;line-height:1.45}
.event-when{margin:0 0 6px!important;color:var(--kgf-navy-900)!important;font-weight:700;font-size:.93rem}
.event-where{margin:0 0 12px!important;color:var(--kgf-slate-500);font-size:.9rem}
#events-list .event-when::before,#events-list .event-where::before,.past-card .event-when::before,.past-card .event-where::before{
  content:"";flex:none;width:16px;height:16px;margin-top:2px;background:var(--kgf-blue-600);
  -webkit-mask:var(--ev-ico) center/contain no-repeat;mask:var(--ev-ico) center/contain no-repeat}
.event-when{--ev-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v3M16 2v3'/%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18'/%3E%3C/svg%3E")}
.event-where{--ev-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.event-price{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;margin-top:12px!important;padding:6px 12px;
  border-radius:var(--kgf-radius-pill);background:var(--kgf-blue-50);border:1px solid var(--kgf-blue-100);
  color:var(--kgf-blue-700)!important;font-weight:700;font-size:.86rem!important}
.event-card-actions{position:relative;z-index:2;display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:20px}

/* ---- One event: hero --------------------------------------------------- */
.event-hero .ph-meta span[aria-hidden]{display:inline-flex}
.ph-actions .btn svg,.event-actions .btn svg,.event-pass-actions .btn svg,.event-pass-pay .btn svg{flex:none}
.ph-actions .btn span[aria-hidden],.event-actions .btn span[aria-hidden],.event-pass-actions .btn span[aria-hidden],.event-pass-pay .btn span[aria-hidden]{display:inline-flex;margin-right:4px}

/* ---- One event: overview + facts panel -------------------------------- */
.event-layout{align-items:start}
.event-overview-title{margin:10px 0 18px}
.event-description{margin-top:8px}
.event-description p{margin:0 0 1.1em}

.event-facts{padding-top:clamp(26px,2.6vw,32px)}
.event-price-head{display:grid;gap:2px;margin:0 0 20px;padding:0 0 18px;border-bottom:1px solid var(--kgf-line)}
.event-price-head span{color:var(--kgf-slate-500);font-size:.78rem;font-weight:700}
.event-price-head strong{font-family:var(--kgf-font-display);font-size:clamp(1.6rem,2.4vw,2rem);font-weight:600;line-height:1.15;color:var(--kgf-navy-900)}
.event-price-head small{color:var(--kgf-slate-500);font-size:.84rem}
.event-tz{display:block;font-weight:500;font-size:.84rem;color:var(--kgf-slate-500)}
.event-ref{font-family:var(--kgf-font-mono);letter-spacing:.06em}
.event-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.event-actions .btn{width:100%}
.event-actions .btn + .btn{margin-top:0}

.event-past-note{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:8px 16px;border-radius:var(--kgf-radius-pill);
  background:var(--kgf-blue-50);border:1px solid var(--kgf-blue-100);color:var(--kgf-blue-700);font-size:.88rem;font-weight:700}
.event-past-note span{display:inline-flex}

/* Share card */
.event-share{margin-top:clamp(32px,4vw,48px);padding:clamp(20px,2.4vw,26px);border-radius:var(--kgf-radius-lg);background:var(--kgf-mist);border:1px solid var(--kgf-line)}
.section.light .event-share{background:#fff}
.event-share-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.event-share h3{margin:0 0 2px;font-size:1.1rem;color:var(--kgf-navy-900)}
.event-share-head p{margin:0;color:var(--kgf-slate-500);font-size:.9rem}
.event-share-row{display:flex;gap:10px}
.event-share-row input{flex:1;min-width:0;min-height:44px;padding:10px 14px;border:1px solid var(--kgf-slate-300);border-radius:var(--kgf-radius);
  font:inherit;font-size:.88rem;color:var(--kgf-slate-700);background:#fff}
.event-share-row input:focus{outline:none;border-color:var(--kgf-blue-500);box-shadow:var(--kgf-ring)}
.event-share-links{display:inline-flex;flex-wrap:wrap;gap:8px;margin:14px 8px 0 0;vertical-align:top}
.event-share-links a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:var(--kgf-radius-pill);border:1px solid var(--kgf-line);
  background:#fff;color:var(--kgf-navy-900)!important;font-size:.86rem;font-weight:700;text-decoration:none!important;transition:border-color .15s ease,background .15s ease}
.event-share-links a:hover{border-color:var(--kgf-blue-300);background:var(--kgf-blue-50)}
.event-share-links + .kgf-share{display:inline-block;margin-top:14px;vertical-align:top}
.event-share .kgf-share-list{margin:0}
.event-share .kgf-share-link{text-decoration:none!important;min-height:40px}
.event-share .kgf-share-link:hover{border-color:var(--kgf-blue-300);background:var(--kgf-blue-50)}
@media (max-width:520px){.event-share-row{flex-direction:column}.event-share-row .btn{width:100%}}

/* ---- Registration ------------------------------------------------------ */
.event-register{max-width:none}
.event-register > .pg-head .lead{max-width:680px}
.event-register .form-note{margin:0;color:var(--kgf-slate-500);font-size:.86rem;line-height:1.55}
.event-register [data-total],.event-register [data-ticket-total]{display:block;margin-bottom:4px;font-weight:700;color:var(--kgf-navy-900);font-size:.95rem}
.event-register [data-guest-names] textarea{min-height:92px}
.event-register .form-shell .bp-widget{margin-top:24px}

.event-reg-summary h3{margin:0 0 14px;font-size:1.25rem;line-height:1.3}
.event-reg-facts{display:grid;gap:10px;margin:0 0 20px;padding:0 0 18px;list-style:none;border-bottom:1px solid var(--kgf-line)}
.event-reg-facts li{display:flex;gap:10px;align-items:flex-start;color:var(--kgf-slate-700);font-size:.92rem;line-height:1.45}
.event-reg-facts span{display:inline-flex;margin-top:2px;color:var(--kgf-blue-600)}
.event-reg-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.event-reg-total span{color:var(--kgf-slate-500);font-size:.86rem;font-weight:700}
.event-reg-total strong{font-family:var(--kgf-font-display);font-size:1.4rem;font-weight:600;color:var(--kgf-navy-900);text-align:right}
.event-reg-summary .form-actions{display:grid;gap:12px;margin-top:18px;padding-top:18px}
.event-reg-summary .form-actions .btn{width:100%;min-height:52px;font-size:1rem}
.event-reg-secure{display:flex;gap:8px;align-items:flex-start;margin:16px 0 0;color:var(--kgf-slate-500);font-size:.82rem;line-height:1.5}
.event-reg-secure span{display:inline-flex;margin-top:1px;color:var(--kgf-success)}

.event-members{display:flex;gap:22px;align-items:flex-start;max-width:860px}
.event-members h3{margin:6px 0 8px}
@media (max-width:620px){.event-members{flex-direction:column}}

/* The hidden attribute must win over .field{display:flex}. */
.event-register [hidden]{display:none!important}

/* ---- Pass: notices ----------------------------------------------------- */
.event-pass-wrap{max-width:900px}
.event-pass-success{max-width:none;margin-bottom:clamp(28px,4vw,40px)}
.event-pass-success .pg-ref{margin-top:14px}
.event-pass-success .actions{margin-top:8px}
.event-notice{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border-radius:var(--kgf-radius-lg);margin:0 0 22px;line-height:1.6;border:1px solid;
  background:#fff;box-shadow:var(--kgf-shadow-sm)}
.event-notice .pg-ico{width:42px;height:42px;border-radius:12px}
.event-notice strong{display:block;margin-bottom:2px;color:inherit}
.event-notice.ok{background:var(--kgf-success-bg);color:var(--kgf-success);border-color:var(--kgf-success-line)}
.event-notice.wait{background:var(--kgf-warning-bg);color:var(--kgf-warning);border-color:var(--kgf-warning-line)}
.event-notice.wait .pg-ico{background:#fff;border-color:var(--kgf-warning-line);color:var(--kgf-warning)}
.event-notice.bad{background:var(--kgf-danger-bg);color:var(--kgf-danger);border-color:var(--kgf-danger-line)}
.event-notice.bad .pg-ico{background:#fff;border-color:var(--kgf-danger-line);color:var(--kgf-danger)}
.event-pass-pay{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}

.event-booking-summary{background:#fff;border:1px solid var(--kgf-line);border-radius:var(--kgf-radius-lg);padding:20px 24px;margin-bottom:28px;box-shadow:var(--kgf-shadow-sm)}
.event-booking-summary dl{margin:0;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}
.event-booking-summary dl > div + div{padding-left:16px;border-left:1px solid var(--kgf-line)}
.event-booking-summary dt{color:var(--kgf-slate-500);font-size:.78rem;font-weight:700}
.event-booking-summary dd{margin:4px 0 0;color:var(--kgf-navy-900);font-weight:600;overflow-wrap:anywhere}
@media (max-width:700px){.event-booking-summary dl{grid-template-columns:1fr 1fr}.event-booking-summary dl > div:nth-child(odd){padding-left:0;border-left:0}}

/* ---- Tickets: a digital ticket with a tear-off stub -------------------- */
.ticket-list{display:grid;gap:24px}
.ticket{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 250px;background:#fff;border:1px solid var(--kgf-line);
  border-radius:var(--kgf-radius-lg);overflow:hidden;box-shadow:var(--kgf-shadow);break-inside:avoid;page-break-inside:avoid}
.ticket-main{display:flex;flex-direction:column;min-width:0}
.ticket-head{display:flex;justify-content:space-between;gap:12px;background:linear-gradient(120deg,var(--kgf-navy-900),var(--kgf-blue-700));color:#fff;
  padding:14px 26px;font-size:.78rem;font-weight:700;letter-spacing:.04em}
.ticket-head span:last-child{color:var(--kgf-blue-200)}
.ticket-info{padding:24px 26px 26px}
.ticket-info h2{margin:0 0 6px;font-size:clamp(1.5rem,2.4vw,1.9rem);color:var(--kgf-navy-900)}
.ticket-info p{margin:0 0 4px;color:var(--kgf-slate-500);font-size:.92rem}
.ticket-info .ticket-event{margin-bottom:14px;color:var(--kgf-ink);font-weight:700;font-size:1rem}
.ticket-facts{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ticket-facts li{display:flex;gap:9px;align-items:flex-start;color:var(--kgf-slate-700);font-size:.9rem;line-height:1.45}
.ticket-facts span{display:inline-flex;margin-top:2px;color:var(--kgf-blue-600)}
.ticket-kind{display:inline-flex;margin:0 0 10px!important;padding:4px 12px;border-radius:var(--kgf-radius-pill);background:var(--kgf-blue-50);
  border:1px solid var(--kgf-blue-100);color:var(--kgf-blue-700)!important;font-size:.78rem!important;font-weight:700}
.ticket-used{display:inline-flex;align-items:center;gap:6px;margin-top:14px!important;padding:5px 12px;border-radius:var(--kgf-radius-pill);
  background:var(--kgf-success-bg);color:var(--kgf-success)!important;font-weight:700;font-size:.84rem!important}
.ticket-stub{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:26px 20px;
  background:var(--kgf-mist);border-left:2px dashed var(--kgf-slate-300)}
.ticket-stub::before,.ticket-stub::after{content:"";position:absolute;left:-13px;width:24px;height:24px;border-radius:50%;
  background:var(--kgf-white);border:1px solid var(--kgf-line)}
.ticket-stub::before{top:-13px}
.ticket-stub::after{bottom:-13px}
.section.light .ticket-stub::before,.section.light .ticket-stub::after{background:var(--kgf-mist)}
.ticket-qr{flex:0 0 auto;line-height:0;padding:10px;border-radius:var(--kgf-radius);background:#fff;border:1px solid var(--kgf-line)}
.ticket-qr svg{display:block;width:168px;height:168px}
.ticket-code{margin:10px 0 0!important;font-family:var(--kgf-font-mono);font-size:1.02rem!important;letter-spacing:.1em;color:var(--kgf-navy-900)!important;font-weight:700;text-align:center}
.ticket-scan{margin:0!important;color:var(--kgf-slate-500);font-size:.78rem;font-weight:700}
@media (max-width:640px){
  .ticket{grid-template-columns:1fr}
  .ticket-stub{border-left:0;border-top:2px dashed var(--kgf-slate-300)}
  .ticket-stub::before,.ticket-stub::after{top:-13px;bottom:auto}
  .ticket-stub::before{left:-13px}
  .ticket-stub::after{left:auto;right:-13px}
  .ticket-qr svg{width:200px;height:200px}
  .ticket-head{padding:12px 20px}
  .ticket-info{padding:20px}
}

.event-pass-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.event-pass-success .event-pass-actions{margin-top:8px}
.event-pass-link{display:flex;gap:14px;align-items:flex-start;margin-top:28px;padding:18px 20px;border-radius:var(--kgf-radius);background:var(--kgf-mist);
  border:1px solid var(--kgf-line);font-size:.86rem;line-height:1.6;color:var(--kgf-slate-500);word-break:break-all}
.event-pass-link a{color:var(--kgf-blue-700)}

/* ---- Print: tickets only ------------------------------------------------- */
@media print{
  .nav,.footer,footer,.event-pass-actions,.event-pass-pay,.site-flash,.pagehero::before,.pagehero::after,.event-pass-link .pg-ico{display:none!important}
  body{background:#fff}
  .pagehero,.event-pass-hero{background:none!important;color:var(--kgf-ink)!important;padding:0 0 12px!important;min-height:0!important}
  .pagehero h1,.pagehero p,.pagehero .ph-meta{color:var(--kgf-ink)!important;text-shadow:none!important}
  .pagehero h1{font-size:1.4rem}
  .pagehero .eyebrow{color:var(--kgf-blue-700)!important}
  .section{padding:0!important}
  .pg-success{box-shadow:none;padding:16px;margin-bottom:14px}
  .pg-success > .pg-ico:first-child{display:none}
  .ticket{box-shadow:none;border:1px solid #999;margin-bottom:14px}
  .ticket-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .event-pass-link{font-size:.75rem;border:0;padding:0}
}

@media (max-width:620px){
  .event-pass-success .actions .btn{flex:1 1 100%}
  .event-booking-summary .event-ref{font-size:.86rem;letter-spacing:.02em}
}

/* The event's own picture (its poster), at the top of the overview, exactly
   as uploaded: no frame colour, no cropping. */
.event-poster{margin:0 0 clamp(28px,4vw,40px);text-align:center}
.event-poster a{display:inline-block;max-width:100%;border-radius:16px;box-shadow:0 18px 44px rgba(6,27,58,.16);transition:transform .2s ease,box-shadow .2s ease}
.event-poster a:hover{transform:translateY(-2px);box-shadow:0 24px 54px rgba(6,27,58,.2)}
.event-poster img{display:block;max-width:100%;width:auto;height:auto;max-height:min(85vh,980px);border-radius:16px}
.event-poster figcaption{margin-top:10px;color:var(--kgf-slate-500);font-size:.9rem}

/* ==========================================================================
   The event page, rebuilt (2026-10-01). An invitation: the event's own
   picture on the left, everything a guest needs on the right, stated once.
   ========================================================================== */
.evx{padding:calc(var(--topbar-h,34px) + var(--nav-h,76px) + clamp(28px,4vw,56px)) 0 clamp(48px,6vw,80px);
  background:linear-gradient(180deg,#eef3fb 0%,#f7f9fd 55%,#fff 100%)}
.evx-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,72px);align-items:start}
.evx-visual{position:sticky;top:calc(var(--nav-h,76px) + 24px)}

.evx-poster{margin:0;text-align:center}
.evx-poster a{display:inline-block;max-width:100%;border-radius:20px;box-shadow:0 30px 70px rgba(6,27,58,.22);transition:transform .25s ease}
.evx-poster a:hover{transform:translateY(-3px)}
.evx-poster img{display:block;max-width:100%;width:auto;height:auto;max-height:min(82vh,900px);border-radius:20px}
.evx-poster-blank{display:grid;place-items:center;align-content:center;gap:6px;aspect-ratio:4/5;border-radius:20px;color:#fff;text-align:center;
  background:radial-gradient(120% 80% at 80% 0%,rgba(47,111,220,.55),transparent 60%),linear-gradient(160deg,var(--kgf-navy-800),var(--kgf-navy-950));
  box-shadow:0 30px 70px rgba(6,27,58,.22)}
.evx-poster-blank img{width:88px;height:88px;margin-bottom:18px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.4))}
.evx-blank-month{font:700 1rem/1 var(--kgf-font-ui);letter-spacing:.3em;color:var(--kgf-blue-200)}
.evx-blank-day{font:500 clamp(4rem,9vw,6.5rem)/1 var(--kgf-font-display)}

.evx-host{display:flex;align-items:center;gap:12px;margin:22px auto 0;width:max-content;max-width:100%}
.evx-host img{width:40px;height:40px;border-radius:50%}
.evx-host small{display:block;color:var(--kgf-slate-500);font-size:.78rem}
.evx-host b{display:block;color:var(--kgf-navy-900);font-size:.95rem}
.evx-share{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:16px}
.evx-share-label{color:var(--kgf-slate-500);font-size:.8rem;font-weight:600;margin-right:2px}
.evx-share-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--kgf-line);border-radius:999px;background:#fff;
  color:var(--kgf-navy-900)!important;font:600 .85rem/1 var(--kgf-font-ui);text-decoration:none!important;cursor:pointer}
.evx-share-btn:hover{border-color:var(--kgf-blue-300);background:var(--kgf-blue-50)}

.evx-info .kgf-back{margin-bottom:18px}
.evx-kind{color:var(--kgf-blue-600);font:700 .78rem/1 var(--kgf-font-ui);letter-spacing:.16em;text-transform:uppercase}
.evx-title{margin:12px 0 12px;color:var(--kgf-navy-900);font-family:var(--kgf-font-display);font-weight:600;
  font-size:clamp(2.2rem,4.2vw,3.4rem);line-height:1.08;letter-spacing:-.015em}
.evx-summary{margin:0 0 6px;color:var(--kgf-slate-700);font-size:1.12rem;line-height:1.65}

.evx-facts{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:4px}
.evx-facts li{display:flex;align-items:center;gap:16px;padding:12px 0}
.evx-facts li + li{border-top:1px solid var(--kgf-line)}
.evx-facts strong{display:block;color:var(--kgf-navy-900);font-size:1.02rem;line-height:1.35}
.evx-facts small{display:block;margin-top:3px;color:var(--kgf-slate-500);font-size:.9rem}
.evx-facts small a{color:var(--kgf-blue-600);font-weight:600}
.evx-per{color:var(--kgf-slate-500);font-weight:500;font-size:.9rem}
.evx-date-tile{display:grid;flex:none;width:52px;overflow:hidden;border:1px solid var(--kgf-line);border-radius:12px;background:#fff;text-align:center;box-shadow:0 2px 6px rgba(6,27,58,.06)}
.evx-date-tile b{display:block;padding:3px 0;background:var(--kgf-blue-600);color:#fff;font:700 .68rem/1.4 var(--kgf-font-ui);letter-spacing:.12em}
.evx-date-tile span{display:block;padding:4px 0 6px;color:var(--kgf-navy-900);font:600 1.35rem/1.1 var(--kgf-font-display)}
.evx-ico{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:12px;border:1px solid var(--kgf-line);background:#fff;color:var(--kgf-blue-600)}

/* Important information: the one thing every guest must read. */
.evx-important{display:flex;gap:14px;margin:26px 0 0;padding:18px 20px;border:1.5px solid #f0d9a0;border-left:5px solid #b07400;border-radius:14px;background:#fff8e6}
.evx-important-ico{flex:none;color:#b07400;margin-top:2px}
.evx-important h2{margin:0 0 6px;color:#5c3d00;font:700 1rem/1.3 var(--kgf-font-ui)}
.evx-important p{margin:0;color:#3d2c00;font-size:.98rem;line-height:1.6}
.evx-important p + p{margin-top:8px}

/* The registration card */
.evx-register{margin-top:24px;padding:clamp(20px,2.6vw,28px);border:1px solid var(--kgf-line);border-radius:18px;background:#fff;box-shadow:0 18px 44px rgba(6,27,58,.10)}
.evx-reg-head h2{margin:0 0 4px;color:var(--kgf-navy-900);font-family:var(--kgf-font-display);font-size:1.55rem}
.evx-reg-head p{margin:0 0 16px;color:var(--kgf-slate-500);font-size:.95rem;line-height:1.55}
.evx-register .form-section{margin:0 0 14px;padding:0;border:0;background:none;box-shadow:none}
.evx-register .form-section > h3{display:none}
.evx-register .form-section > .hint{margin:0 0 12px;font-size:.88rem}
.evx-register .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.evx-register .field input,.evx-register .field select,.evx-register .field textarea{min-height:48px;border-radius:12px}
.evx-submit .form-actions{display:block;margin:6px 0 0}
.evx-submit .btn{width:100%;min-height:54px;font-size:1.02rem;border-radius:12px}
.evx-submit .form-note{margin:10px 0 0;text-align:center;color:var(--kgf-slate-500);font-size:.85rem}
.evx-register .event-members,.evx-register .empty-state{margin:0}

/* About: on the same grid as the picture and the registration card. */
.evx-about{padding:clamp(8px,2vw,24px) 0 clamp(56px,7vw,96px);background:#fff}
.evx-about .event-past-note{margin:0 0 24px}
.evx-about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,72px);align-items:start;
  padding-top:clamp(36px,4.5vw,56px);border-top:1px solid var(--kgf-line)}
.evx-about-head{position:sticky;top:calc(var(--nav-h,76px) + 24px)}
.evx-about-head h2{margin:12px 0 0;color:var(--kgf-navy-900);font-family:var(--kgf-font-display);font-weight:600;
  font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.01em}
.evx-about-rule{display:block;width:56px;height:3px;margin-top:20px;border-radius:3px;background:linear-gradient(90deg,var(--kgf-blue-600),#69c4eb)}
.evx-about-body{color:var(--kgf-slate-700);font-size:1.06rem;line-height:1.8}
.evx-about-body p{margin:0 0 1.1em}
.evx-about-body p:last-child{margin-bottom:0}
.evx-about-body p:first-child{color:var(--kgf-navy-900);font-size:1.14rem;line-height:1.75}
@media (max-width:960px){
  .evx-about-grid{grid-template-columns:1fr;gap:18px}
  .evx-about-head{position:static}
}

@media (max-width:960px){
  .evx-grid{grid-template-columns:1fr}
  .evx-visual{position:static}
  .evx-poster img{max-height:70vh}
  .evx-poster-blank{aspect-ratio:16/10;max-width:520px;margin:0 auto}
}
@media (max-width:560px){
  .evx-register .field-grid{grid-template-columns:1fr}
  .evx-title{font-size:2rem}
}
.evx-register .span-2,.evx-register .field.span-2{grid-column:1 / -1}
.evx-register p.form-note.span-2{margin:2px 0 0;padding:10px 12px;border-radius:10px;background:var(--kgf-blue-50);color:var(--kgf-slate-700);font-size:.88rem}
/* Heading size (client 2026-10-01: "the heading is too big"). Long titles step down again. */
.evx-title{font-size:clamp(1.75rem,2.6vw,2.4rem);line-height:1.15;margin:10px 0 10px}
.evx-title.is-long{font-size:clamp(1.5rem,2.1vw,1.95rem);line-height:1.22}
@media (max-width:560px){.evx-title{font-size:1.6rem}.evx-title.is-long{font-size:1.4rem}}

/* Title on its own line, then First name · Last name (client 2026-10-02). */
.evx-namerow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.evx-namerow .field{margin:0;min-width:0}
.evx-namerow .evx-title-field{grid-column:1/-1;max-width:calc(50% - 8px)}
.evx-namerow select{width:100%}
.evx-title-other{margin-top:8px;width:100%}
.evx-title-other[hidden]{display:none}
@media (max-width:480px){
  .evx-namerow{grid-template-columns:1fr}
  .evx-namerow .evx-title-field{max-width:none}
}

/* An event's own registration questions (migration 083). */
.efq-field small{display:block;margin-top:4px;color:var(--kgf-slate-500);font-size:.85rem}
.efq-group{margin:0;padding:0;border:0;min-width:0}
.efq-group legend{padding:0;margin:0 0 6px;font-weight:600;color:var(--kgf-navy-900);font-size:.95rem}
.efq-group small{margin:-2px 0 8px}
.efq-choice{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:0 0 6px;border:1px solid var(--kgf-line);border-radius:10px;background:#fff;cursor:pointer;font-weight:500}
.efq-choice:hover{border-color:var(--kgf-blue-300)}
.efq-choice input{width:18px;height:18px;margin:0;accent-color:var(--kgf-blue-600)}
