/* ============================================================
   Legacy of Honor homepage — scoped styles (loaded only on /)
   Reuses the site's design tokens + fonts from style.css
   ============================================================ */

/* Button variants that extend the site's base .btn */
.btn--gold{
  background:linear-gradient(135deg,var(--gold),#c2922c);color:var(--navy-deep);
  box-shadow:0 12px 28px -14px rgba(212,175,55,.9);
}
.btn--gold:hover{transform:translateY(-2px);background:linear-gradient(135deg,var(--gold-soft),var(--gold));}
.btn--ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55);}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);}
.btn--block{width:100%;}

/* Keep the mobile funnel bar clear of page content */
@media(max-width:860px){ body{ padding-bottom:74px; } }

/* Section helpers */
.section--cream{background:var(--cream);}
.section--paper{background:var(--paper);}
.section-head{text-align:center;max-width:700px;margin:0 auto clamp(2rem,4vw,3rem);}
.section-head p{color:var(--ink-soft);margin-top:.7rem;}

/* Star divider */
.evt-divider{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--gold);margin:0 auto 1rem;}
.evt-divider::before,.evt-divider::after{content:"";height:2px;width:min(120px,18vw);
  background:linear-gradient(90deg,transparent,currentColor);}
.evt-divider::after{background:linear-gradient(90deg,currentColor,transparent);}
.evt-star{width:18px;height:18px;fill:var(--gold);flex:none;}

/* ---------------- HERO ---------------- */
.evt-hero{position:relative;color:#fff;text-align:center;overflow:hidden;isolation:isolate;
  padding:clamp(2.6rem,6vw,4.6rem) 0 clamp(3rem,6vw,5rem);
  background:
    radial-gradient(80% 60% at 50% 0%,var(--navy-soft),transparent 70%),
    linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);
}
.evt-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.4px);
  background-size:30px 30px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 8%,#000 35%,transparent 75%);
  mask-image:radial-gradient(120% 90% at 50% 8%,#000 35%,transparent 75%);}
.evt-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;
  background:linear-gradient(90deg,var(--red) 0 33.33%,#fff 33.33% 66.66%,var(--navy-soft) 66.66%);opacity:.85;}

/* Optional hero background image (toggled in admin) — strong scrim keeps text legible */
.evt-hero--image{
  background:
    linear-gradient(180deg,rgba(13,22,40,.74),rgba(13,22,40,.84)),
    var(--hero-img);
  background-size:cover;background-position:center;
}
.evt-hero--image::before{opacity:.22;}

.evt-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:600;
  text-transform:uppercase;letter-spacing:.22em;font-size:.82rem;color:var(--gold-soft);margin-bottom:1rem;}
.evt-eyebrow svg{width:14px;height:14px;fill:var(--gold);}
.evt-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;color:#fff;
  font-size:clamp(2.8rem,1.8rem+7vw,6.8rem);line-height:.95;text-shadow:0 6px 40px rgba(0,0,0,.45);}
.evt-sub{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  font-size:clamp(1.2rem,1rem+1.3vw,1.9rem);margin-top:.5rem;}
.evt-date{font-weight:600;color:var(--gold-soft);margin-top:.35rem;font-size:clamp(1.05rem,1rem+.5vw,1.3rem);letter-spacing:.02em;}

.evt-badges{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1.1rem;}
.evt-pill{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.2);padding:.4rem 1rem;border-radius:999px;font-weight:600;font-size:.9rem;}
.evt-pill svg{width:15px;height:15px;fill:var(--gold-soft);}

.evt-cta{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:1.8rem;}
.evt-note{margin-top:.9rem;font-size:.92rem;color:rgba(255,255,255,.72);}

.evt-countdown{display:flex;gap:.7rem;justify-content:center;margin-top:2rem;flex-wrap:wrap;}
.evt-cd{min-width:78px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:.7rem .5rem;}
.evt-cd b{display:block;font-family:var(--font-display);font-weight:700;font-size:1.9rem;line-height:1;}
.evt-cd span{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-soft);}

/* ---------------- 3 COLUMNS ---------------- */
.evt-cols{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:1.4rem;align-items:stretch;}
.evt-col{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem 1.6rem;box-shadow:var(--shadow-sm);}
.evt-col h3{font-family:var(--font-display);font-weight:600;text-transform:uppercase;color:var(--navy);
  font-size:1.4rem;margin-bottom:1.1rem;display:flex;align-items:center;gap:.55rem;}
.evt-col h3 svg{width:22px;height:22px;fill:var(--red);flex:none;}
.evt-col ul{list-style:none;display:flex;flex-direction:column;gap:.85rem;margin:0;padding:0;}
.evt-col li{display:flex;align-items:flex-start;gap:.6rem;color:var(--ink);font-weight:500;}
.evt-col li svg{width:18px;height:18px;fill:var(--gold);flex:none;margin-top:.2rem;}
.evt-col li small{display:block;color:var(--ink-soft);font-weight:400;font-size:.85rem;}

.evt-col--ticket{background:linear-gradient(165deg,var(--navy),var(--navy-deep));color:#fff;border:0;position:relative;
  box-shadow:var(--shadow);text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;}
.evt-col--ticket::before{content:"";position:absolute;inset:0;border-radius:var(--radius);padding:2px;
  background:linear-gradient(160deg,var(--gold),transparent 60%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.evt-tag{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--gold-soft);}
.evt-col--ticket h3{color:#fff;font-size:2rem;justify-content:center;margin:.4rem 0 .2rem;}
.evt-onsale{color:rgba(255,255,255,.85);font-weight:600;margin-bottom:1.3rem;}
.evt-allages{margin-top:.9rem;font-size:.85rem;color:var(--gold-soft);text-transform:uppercase;letter-spacing:.12em;font-weight:700;}
@media(max-width:880px){ .evt-cols{grid-template-columns:1fr;} .evt-col--ticket{order:-1;} }

/* ---------------- GALLERY ---------------- */
.evt-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.evt-ph{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;display:grid;place-items:center;
  text-align:center;color:#7d735a;border:1px dashed #b9b095;
  background:repeating-linear-gradient(45deg,#ece6d6,#ece6d6 12px,#e3dcc8 12px,#e3dcc8 24px);}
.evt-ph svg{width:34px;height:34px;fill:#9a906f;margin-bottom:.4rem;}
.evt-ph span{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;}
.evt-ph small{display:block;font-size:.72rem;color:#8b8163;margin-top:.15rem;}
@media(max-width:780px){ .evt-gallery{grid-template-columns:repeat(2,1fr);} }

/* Real assigned photos share the placeholder framing */
.evt-photo{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);margin:0;}
.evt-photo__img,.evt-photo picture,.evt-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------------- ABOUT ---------------- */
.evt-about{max-width:760px;margin:0 auto;text-align:center;}
.evt-about p{font-size:clamp(1.08rem,1rem+.5vw,1.28rem);color:var(--ink);}
.evt-about p+p{margin-top:1rem;}
.evt-fill{color:var(--red-dark);font-weight:700;background:#f6e3c8;padding:0 .35rem;border-radius:4px;}

/* ---------------- SIGNUP + DONATE BAND ---------------- */
.evt-band{background:linear-gradient(160deg,var(--navy),var(--navy-deep));color:#fff;}
.evt-band__grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;}
.evt-band p{color:rgba(255,255,255,.8);margin-top:.5rem;}
.evt-signup{display:flex;gap:.6rem;margin-top:1.2rem;flex-wrap:wrap;}
.evt-signup input{flex:1;min-width:200px;padding:.9rem 1.1rem;border-radius:999px;border:2px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.08);color:#fff;font:inherit;}
.evt-signup input::placeholder{color:rgba(255,255,255,.6);}
.evt-signup input:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.14);}
.evt-signup__msg{flex-basis:100%;font-size:.9rem;color:var(--gold-soft);min-height:1.2em;font-weight:600;}
.evt-donate-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:2rem;text-align:center;}
.evt-heart{width:42px;height:42px;fill:var(--red);margin:0 auto .6rem;}
.evt-donate-box h3{font-family:var(--font-display);font-weight:600;text-transform:uppercase;color:#fff;font-size:1.5rem;margin-bottom:.4rem;}
.evt-donate-box p{margin-bottom:1.2rem;}
@media(max-width:780px){ .evt-band__grid{grid-template-columns:1fr;gap:2rem;} }

/* ---------------- MOBILE STICKY FUNNEL ---------------- */
.evt-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:130;display:none;gap:.6rem;padding:.6rem .8rem;
  background:rgba(13,22,40,.97);backdrop-filter:blur(10px);border-top:1px solid rgba(212,175,55,.4);}
.evt-actionbar .btn{flex:1;padding:.85rem .5rem;font-size:1rem;}
@media(max-width:860px){ .evt-actionbar{display:flex;} }
