/* Aafno Ticket — event page. Scoped to .aafno-ev so it looks the same in any theme.
   Colour: Aafno Events → Settings → Button colour (or your theme's primary colour). */
.aafno-ev{
  --aafno-accent:var(--wp--preset--color--primary,#c8102e);
  --ev-ink:#14161f;--ev-mut:#6b7080;--ev-line:#e8e6e2;--ev-soft:#f7f5f2;--ev-ok:#0f7a3d;--ev-r:18px;
  color:var(--ev-ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;
  max-width:none!important;width:100%;margin:0!important;padding:0!important;
}
body.aafno-event-page{overflow-x:hidden}
.aafno-main{margin:0!important;padding:0!important;max-width:none!important;width:100%}
.wp-site-blocks>.aafno-main{margin-block-start:0!important}

/* resets — themes style these globally */
.aafno-ev *,.aafno-ev *::before,.aafno-ev *::after{box-sizing:border-box}
.aafno-ev h1,.aafno-ev h2,.aafno-ev p,.aafno-ev ul,.aafno-ev li{margin:0;padding:0}
.aafno-ev ul{list-style:none}
.aafno-ev h1,.aafno-ev h2{color:inherit;text-transform:none;letter-spacing:-.01em;font-family:inherit}
.aafno-ev a{text-decoration:none;box-shadow:none}
.aafno-ev img{max-width:100%;height:auto;border:0}
.aafno-ev button{font:inherit;margin:0}

.aafno-ev-wrap{max-width:1200px;margin:0 auto;padding:0 28px}

/* ---------- hero (full width) ---------- */
.aafno-ev-hero{position:relative;overflow:hidden;color:#fff;background:#1f0a10;width:100vw;margin-left:calc(50% - 50vw)}
.aafno-ev-hero.no-image{background:linear-gradient(120deg,#1a1d29,color-mix(in srgb,var(--aafno-accent) 55%,#1a1d29))}
.aafno-ev-hero__bg{position:absolute;inset:-60px;background-size:cover;background-position:center;filter:blur(40px) saturate(1.15);opacity:.75;transform:scale(1.1)}
.aafno-ev-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,6,10,.93) 0%,rgba(18,6,10,.74) 55%,rgba(18,6,10,.38) 100%)}
.aafno-ev-hero__in{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center;padding-top:60px;padding-bottom:60px}
.aafno-ev-hero.no-image .aafno-ev-hero__in{grid-template-columns:1fr}
.aafno-ev-chips{display:flex;gap:8px;margin-bottom:16px}
.aafno-ev-chip{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;line-height:1.2}
.aafno-ev-chip.is-free{background:#e7f6ec;color:var(--ev-ok)}
.aafno-ev-chip.is-paid{background:#fff;color:var(--ev-ink)}
.aafno-ev-chip.is-cancelled{background:#fde8eb;color:#9f1239}
.aafno-ev .aafno-ev-title{font-size:clamp(34px,5vw,58px);line-height:1.04;letter-spacing:-.025em;font-weight:800;margin:0 0 24px;color:#fff;word-break:break-word}
.aafno-ev-facts{display:grid;gap:14px;margin-bottom:30px!important}
.aafno-ev-facts li{display:flex;gap:14px;align-items:center}
.aafno-ev-facts b{display:block;font-size:16px;font-weight:600}
.aafno-ev-facts small{display:block;font-size:13px;color:rgba(255,255,255,.68);margin-top:1px}
.aafno-ev-ic{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.13);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.aafno-ev-ic.is-soft{background:#fff;color:var(--aafno-accent)}
.aafno-ev-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.aafno-ev-note{font-weight:600;color:rgba(255,255,255,.85);padding:12px 18px;border-radius:999px;background:rgba(255,255,255,.1)}
.aafno-ev-poster{border-radius:20px;overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,.55);transform:rotate(1.5deg);max-height:560px}
.aafno-ev-poster img{display:block;width:100%;height:100%;object-fit:cover}

/* buttons */
.aafno-ev .aafno-ev-btn,.aafno-ev .aafno-ev-btn:visited,.aafno-ev .aafno-ev-btn:focus{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0!important;border-radius:999px!important;padding:15px 28px;font-size:16px!important;font-weight:700;line-height:1.2;cursor:pointer;background:var(--aafno-accent)!important;color:#fff!important;text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important;font-family:inherit!important;transition:transform .15s,filter .15s;white-space:nowrap;outline-offset:3px}
.aafno-ev .aafno-ev-btn:hover{filter:brightness(.92);transform:translateY(-1px);color:#fff!important;background:var(--aafno-accent)!important}
.aafno-ev .aafno-ev-btn.is-glow{box-shadow:0 10px 28px color-mix(in srgb,var(--aafno-accent) 45%,transparent)}
.aafno-ev .aafno-ev-btn.is-ghost,.aafno-ev .aafno-ev-btn.is-ghost:hover{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.3)!important;box-shadow:none}
.aafno-ev .aafno-ev-btn.is-block{display:flex;width:100%;padding:17px;margin-top:20px}

/* ---------- body ---------- */
.aafno-ev-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;padding-top:48px;padding-bottom:48px;align-items:start}
.aafno-ev-sec+.aafno-ev-sec{border-top:1px solid var(--ev-line);margin-top:32px;padding-top:32px}
.aafno-ev .aafno-ev-sec h2{font-size:22px;font-weight:700;margin:0 0 14px}
.aafno-ev-desc{font-size:17px;line-height:1.75;color:#33374a}
.aafno-ev .aafno-ev-desc>*+*{margin-top:1em}
.aafno-ev-desc a{color:var(--aafno-accent);text-decoration:underline}
.aafno-ev-desc img{border-radius:12px}

.aafno-ev-ww{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.aafno-ev-ww__item{display:flex;gap:14px;align-items:center;background:var(--ev-soft);border-radius:16px;padding:16px 18px}
.aafno-ev-ww__item.is-wide{grid-column:span 2}
.aafno-ev-ww small{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ev-mut)}
.aafno-ev-ww b{display:block;font-size:16px;margin-top:2px}
.aafno-ev-ww span:not(.aafno-ev-ic){display:block;font-size:14px;color:var(--ev-mut);margin-top:2px}
.aafno-ev .aafno-ev-link{display:inline-flex;font-weight:600;font-size:15px;color:var(--aafno-accent);white-space:nowrap}
.aafno-ev-ww__item .aafno-ev-link{margin-left:auto}

.aafno-ev-org{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:var(--ev-soft);border-radius:16px;padding:18px 20px}
.aafno-ev-org__av{width:52px;height:52px;border-radius:14px;background:var(--aafno-accent);color:#fff;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.aafno-ev-org__txt b{display:block}
.aafno-ev-org__txt span{display:block;font-size:14px;color:var(--ev-mut);word-break:break-word}
.aafno-ev-org__btns{margin-left:auto;display:flex;gap:8px}
.aafno-ev .aafno-ev-pill{border:1px solid var(--ev-line);background:#fff;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600;color:var(--ev-ink)}

/* ticket card */
.aafno-ev-ticket{position:sticky;top:24px;border:1px solid var(--ev-line);border-radius:22px;background:#fff;box-shadow:0 24px 60px rgba(20,22,31,.10);overflow:hidden}
.admin-bar .aafno-ev-ticket{top:56px}
.aafno-ev-ticket__head{position:relative;display:flex;gap:16px;align-items:center;padding:22px 22px 18px;border-bottom:1px dashed var(--ev-line)}
.aafno-ev-ticket__head::before,.aafno-ev-ticket__head::after{content:"";position:absolute;bottom:-12px;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--ev-line)}
.aafno-ev-ticket__head::before{left:-13px}.aafno-ev-ticket__head::after{right:-13px}
.aafno-ev-ticket__head b{display:block;font-size:16px}
.aafno-ev-ticket__head span{display:block;font-size:14px;color:var(--ev-mut)}
.aafno-ev-cal{width:62px;flex-shrink:0;border:1px solid var(--ev-line);border-radius:14px;overflow:hidden;text-align:center}
.aafno-ev-cal small{display:block;background:var(--aafno-accent);color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 0}
.aafno-ev-cal b{display:block;font-size:26px;padding:4px 0 6px;line-height:1.2}
.aafno-ev-ticket__body{padding:22px}
.aafno-ev-price{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.aafno-ev-price b{font-size:32px;letter-spacing:-.02em;line-height:1.1}
.aafno-ev-price span{font-size:14px;color:var(--ev-mut)}
.aafno-ev-cap{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin:18px 0 6px}
.aafno-ev-cap em{font-style:normal;color:#b45309}
.aafno-ev-bar{height:8px;border-radius:99px;background:#f1efeb;overflow:hidden}
.aafno-ev-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--aafno-accent),#f97316)}
.aafno-ev-closed{margin-top:18px!important;padding:12px 14px;border-radius:12px;background:var(--ev-soft);font-weight:600;color:var(--ev-mut);text-align:center}
.aafno-ev-perks{margin-top:16px!important;display:grid;gap:8px;font-size:13px;color:#4b5060}
.aafno-ev-perks li{display:flex;gap:8px}
.aafno-ev-perks li::before{content:"✓";color:var(--ev-ok);font-weight:800}
.aafno-ev-ticket__foot{padding:14px;text-align:center;font-size:12px;color:var(--ev-mut);border-top:1px solid var(--ev-line);background:#fcfbfa}
.aafno-ev-ticket__foot b{color:var(--ev-ink)}

/* more events (full width) */
.aafno-ev-more{background:var(--ev-soft);padding:44px 0 56px;width:100vw;margin-left:calc(50% - 50vw)}
.aafno-ev-more__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;gap:12px}
.aafno-ev .aafno-ev-more h2{font-size:22px;font-weight:700}
.aafno-ev-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.aafno-ev .aafno-ev-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ev-line);border-radius:18px;overflow:hidden;color:var(--ev-ink);transition:transform .15s,box-shadow .15s}
.aafno-ev .aafno-ev-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.08)}
.aafno-ev-card__img{position:relative;display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#2a2f45,color-mix(in srgb,var(--aafno-accent) 60%,#2a2f45));background-size:cover;background-position:center}
.aafno-ev-card__date{position:absolute;left:12px;top:12px;background:#fff;color:var(--ev-ink);border-radius:12px;padding:6px 11px;text-align:center;font-size:11px;font-weight:800;line-height:1.1;text-transform:uppercase;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.aafno-ev-card__date b{display:block;font-size:20px}
.aafno-ev-card__bd{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1}
.aafno-ev-card__bd b{font-size:17px;line-height:1.3}
.aafno-ev-card__bd span{font-size:13px;color:var(--ev-mut)}
.aafno-ev-card__bd em{align-self:flex-start;margin-top:auto;font-style:normal;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:#f1efeb}
.aafno-ev-card__bd em.is-free{background:#e7f6ec;color:var(--ev-ok)}

/* mobile register bar */
.aafno-ev-sticky{display:none}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .aafno-ev-grid{grid-template-columns:1fr;gap:28px;padding-top:28px}
  .aafno-ev-ticket{position:static;order:-1}
  .aafno-ev-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .aafno-ev-wrap{padding:0 18px}
  .aafno-ev-hero__in{grid-template-columns:1fr;gap:0;padding-top:0;padding-bottom:28px}
  .aafno-ev-poster{order:-1;transform:none;border-radius:0 0 22px 22px;margin:0 -18px 22px;box-shadow:none;max-height:none;aspect-ratio:4/5}
  .aafno-ev-hero.no-image .aafno-ev-hero__in{padding-top:32px}
  .aafno-ev-hero .aafno-ev-ctas{display:none}
  .aafno-ev-ww{grid-template-columns:1fr}
  .aafno-ev-ww__item.is-wide{grid-column:auto;flex-wrap:wrap}
  .aafno-ev-ww__item .aafno-ev-link{margin:6px 0 0 56px}
  .aafno-ev-org__btns{margin-left:0}
  .aafno-ev-cards{grid-template-columns:1fr}
  .aafno-ev-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9990;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--ev-line);box-shadow:0 -10px 30px rgba(0,0,0,.08)}
  .aafno-ev-sticky b{display:block;font-size:18px}
  .aafno-ev-sticky small{display:block;font-size:12px;color:var(--ev-mut)}
  .aafno-ev-sticky .aafno-ev-btn{padding:13px 22px;font-size:15px}
  body.aafno-event-page{padding-bottom:84px}
}
