/*
Theme Name: doods for boobs
Theme URI: https://doodsforboobs.com
Author: doods for boobs
Description: Custom WordPress theme for doods for boobs — a 501(c)(3) breast cancer nonprofit based in East Texas. Built from scratch with native templates (no page builder), WooCommerce integration, custom Events CPT, and custom Volunteer + Vendor management systems.
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: d4b
Tags: nonprofit, woocommerce, custom-background, custom-logo, custom-menu, featured-images, threaded-comments
*/

/* ═══════════════════════════════════════════════════════
   CSS VARIABLES & RESETS
   ═══════════════════════════════════════════════════════ */
:root{
  --gold:#B08D42;
  --gold-dark:#8f7136;
  --gold-glow:#c9a65a;
  --gold-light:#d4b572;
  --gold-bg:#f9f6ef;
  --pink:#E91E63;
  --pink-hot:#d81557;
  --pink-soft:#f8bbd0;
  --pink-bg:#fdf2f7;
  --dark:#1A1A1A;
  --charcoal:#2a2a2a;
  --text:#1A1A1A;
  --muted:#666;
  --white:#fff;
  --off-white:#fafafa;
  --cream:#f9f5ed;
  --border:#e8e4dc;
  --error:#c0392b;
  --success:#27ae60;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;transition:color .25s;}
img{max-width:100%;height:auto;display:block;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px;}

/* Skip link for a11y */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--dark);color:#fff;padding:12px 20px;z-index:9999;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:2px;}
.skip-link:focus{left:10px;top:10px;}

/* ═══════════════════════════════════════════════════════
   UTILITY BAR
   ═══════════════════════════════════════════════════════ */
.util-bar{background:#333;color:#aaa;padding:8px 40px;font-size:12px;border-bottom:1px solid #444;}
.util-inner{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.util-left{display:flex;gap:24px;align-items:center;}
.util-left a{color:#aaa;font-family:'Barlow Condensed',sans-serif;letter-spacing:1px;transition:color .3s;}
.util-left a:hover{color:var(--gold);}
.util-left .util-contact{font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:2px;border-left:1px solid #444;padding-left:24px;}
.util-right{display:flex;gap:10px;align-items:center;}
.util-right a.util-icon{width:30px;height:30px;border-radius:50%;background:#444;display:flex;align-items:center;justify-content:center;transition:all .3s;position:relative;}
.util-right a.util-icon:hover{background:var(--gold);}
.util-right a.util-icon svg{width:14px;height:14px;stroke:#aaa;fill:none;stroke-width:2;}
.util-right a.util-icon:hover svg{stroke:#fff;}
.util-right a.util-account svg{width:15px;height:15px;}
.util-right a.util-cart{background:var(--gold);}
.util-right a.util-cart svg{stroke:#fff;}
.util-right a.util-cart:hover{background:var(--gold-glow);}
.cart-count{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:var(--pink);color:#fff;border-radius:8px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #333;line-height:1;}
.util-divider{width:1px;height:14px;background:#555;margin:0 4px;}
.util-501{font-size:11px;color:#888;margin-left:8px;border-left:1px solid #555;padding-left:12px;}

/* ═══════════════════════════════════════════════════════
   HEADER & NAVIGATION
   ═══════════════════════════════════════════════════════ */
.site-header{background:var(--dark);position:sticky;top:0;z-index:1000;border-bottom:1px solid #333;box-shadow:0 2px 12px rgba(0,0,0,.3);}
.header-inner{max-width:1400px;margin:0 auto;padding:12px 40px;display:flex;justify-content:space-between;align-items:center;}
.logo-link{display:flex;align-items:center;max-width:340px;}
.logo-img,
.site-header img.custom-logo,
.site-header .custom-logo-link img{height:80px !important;width:auto !important;max-height:80px !important;max-width:340px;object-fit:contain;}
.main-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.main-nav ul{list-style:none;display:flex;align-items:center;gap:6px;margin:0;padding:0;flex-wrap:wrap;}
.main-nav li{list-style:none;margin:0;padding:0;}
.main-nav li::before,.main-nav li::marker{content:none;}
.main-nav a{color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;padding:8px 14px;border-radius:4px;transition:all .25s;position:relative;display:inline-block;}
.main-nav a:hover{color:var(--gold);}
.main-nav a.active,.main-nav a.current-menu-item{color:var(--gold);}

/* Donate / Shop buttons — scoped to the MAIN nav only so footer links stay plain */
.main-nav .nav-donate > a,
.main-nav a.nav-donate{background:var(--pink);color:#fff;padding:10px 22px;border-radius:6px;letter-spacing:2px;font-weight:700;}
.main-nav .nav-donate > a:hover,
.main-nav a.nav-donate:hover{background:var(--pink-hot);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px rgba(233,30,99,.3);}
.main-nav .nav-shop > a,
.main-nav a.nav-shop{color:var(--gold);border:2px solid var(--gold);padding:8px 18px;border-radius:6px;}
.main-nav .nav-shop > a:hover,
.main-nav a.nav-shop:hover{background:var(--gold);color:#fff;}

/* Reset any leftover button look on these classes outside the main nav (footer, mobile) */
.footer-links .nav-donate > a,
.footer-links .nav-shop > a,
.footer-links a.nav-donate,
.footer-links a.nav-shop{background:none !important;color:#888 !important;border:none !important;padding:0 !important;border-radius:0 !important;letter-spacing:normal !important;font-weight:400 !important;}
.footer-links .nav-donate > a:hover,
.footer-links .nav-shop > a:hover,
.footer-links a.nav-donate:hover,
.footer-links a.nav-shop:hover{color:var(--gold) !important;background:none !important;transform:none !important;box-shadow:none !important;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:all .3s;}

/* ═══════════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════════ */
.hero{position:relative;height:55vh;min-height:420px;max-height:560px;display:flex;align-items:center;overflow:hidden;background:var(--dark);}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,26,26,.85),rgba(26,26,26,.4) 60%,rgba(26,26,26,.7));z-index:1;}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroZoom 18s ease-out forwards;transform-origin:center center;}
@keyframes heroZoom{0%{transform:scale(1);}100%{transform:scale(1.12);}}
.hero-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 60px;width:100%;animation:heroFadeIn 1.2s ease-out .3s both;}
@keyframes heroFadeIn{0%{opacity:0;transform:translateY(30px);}100%{opacity:1;transform:translateY(0);}}
.hero-content{display:flex;align-items:center;justify-content:space-between;gap:40px;}
.hero-text{max-width:620px;flex:1;}
.hero-logo-wrap{flex-shrink:0;}
.hero-logo{width:280px;filter:drop-shadow(0 4px 24px rgba(0,0,0,.6)) drop-shadow(0 0 40px rgba(176,141,66,.25));}
.hero-badge{display:inline-block;background:rgba(176,141,66,.15);border:1px solid rgba(176,141,66,.3);color:var(--gold-glow);padding:6px 18px;border-radius:30px;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:3px;margin-bottom:24px;}
.hero h1{font-family:'Oswald',sans-serif;font-size:54px;font-weight:700;line-height:1.05;text-transform:lowercase;color:#fff;margin-bottom:18px;}
.hero h1 .gold{color:var(--gold);}
.hero h1 .pink{color:var(--pink);}
.hero p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.8);margin-bottom:32px;font-weight:300;max-width:500px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}

/* Page hero (for non-homepage pages) — layered texture, no image required */
.page-hero{
  position:relative;
  padding:100px 40px 80px;
  color:#fff;
  text-align:center;
  overflow:hidden;
  background-color:var(--dark);
  background-image:
    radial-gradient(ellipse at 15% 20%, rgba(176,141,66,.18), transparent 55%),
    radial-gradient(ellipse at 85% 80%, rgba(233,30,99,.09), transparent 55%),
    radial-gradient(ellipse at 50% 100%, rgba(176,141,66,.06), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 14px),
    linear-gradient(135deg, #1f1f1f 0%, #0f0f0f 100%);
}
.page-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 50% 0%, rgba(176,141,66,.12), transparent 30%),
    radial-gradient(circle at 0% 100%, rgba(26,26,26,.5), transparent 40%);
}
.page-hero::after{
  /* subtle grain via inline SVG — no HTTP request, very faint */
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.35;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.35 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.page-hero-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;}
.page-hero .section-label{color:var(--gold-light);margin-bottom:16px;}
.page-hero h1{font-family:'Oswald',sans-serif;font-size:56px;font-weight:700;text-transform:lowercase;line-height:1.1;margin-bottom:18px;}
.page-hero h1 .gold{color:var(--gold);}
.page-hero p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.8);font-weight:300;max-width:680px;margin:0 auto;}

/* Hero countdown */
.hero-countdown{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:2px;font-size:14px;}
.hero-countdown-label{color:rgba(255,255,255,.5);font-weight:600;}
.hero-countdown-name{color:#fff;font-weight:700;}
.hero-countdown-timer{color:var(--gold);font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;letter-spacing:3px;}

/* ═══════════════════════════════════════════════════════
   BOARD OF DIRECTORS
   ═══════════════════════════════════════════════════════ */
.board-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.board-member{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:28px 16px;text-align:center;transition:all .3s;}
.board-member:hover{background:rgba(176,141,66,.12);border-color:var(--gold);transform:translateY(-3px);}
.board-member-icon{width:56px;height:56px;margin:0 auto 14px;background:rgba(176,141,66,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.board-member-icon svg{width:28px;height:28px;color:var(--gold);}
.board-member-name{font-family:'Oswald',sans-serif;font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#fff;}
@media(max-width:900px){.board-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.board-grid{grid-template-columns:1fr;}}

/* ═══════════════════════════════════════════════════════
   GALLERY — Slideshow + Thumbnails
   ═══════════════════════════════════════════════════════ */
.gallery-wrap{max-width:960px;margin:0 auto;padding:0 20px;}
.gallery-stage{position:relative;background:var(--dark);border-radius:14px;overflow:hidden;}
.gallery-slide-container{position:relative;}
.gallery-main-img{display:block;width:100%;max-height:600px;object-fit:contain;background:#111;transition:opacity .25s ease;}
.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:14px 20px;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:1px;text-transform:uppercase;}
.gallery-counter{position:absolute;top:14px;right:18px;color:rgba(255,255,255,.6);font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:2px;font-weight:700;}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(0,0,0,.45);color:#fff;border:none;font-size:36px;width:48px;height:48px;border-radius:50%;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;line-height:1;}
.gallery-arrow:hover{background:var(--gold);}
.gallery-prev{left:12px;}
.gallery-next{right:12px;}

/* Thumbnail strip */
.gallery-thumbs{margin-top:14px;overflow:hidden;border-radius:10px;}
.gallery-thumbs-track{display:flex;gap:6px;overflow-x:auto;padding:6px 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.gallery-thumbs-track::-webkit-scrollbar{height:6px;}
.gallery-thumbs-track::-webkit-scrollbar-track{background:transparent;}
.gallery-thumbs-track::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px;}
.gallery-thumb{flex:0 0 80px;height:60px;border-radius:6px;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:all .3s;scroll-snap-align:center;padding:0;background:none;}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.5;transition:opacity .3s;}
.gallery-thumb:hover img{opacity:.85;}
.gallery-thumb.active{border-color:var(--gold);}
.gallery-thumb.active img{opacity:1;}

@media(max-width:700px){
  .gallery-main-img{max-height:400px;}
  .gallery-arrow{width:36px;height:36px;font-size:24px;}
  .gallery-prev{left:6px;}
  .gallery-next{right:6px;}
  .gallery-thumb{flex:0 0 60px;height:45px;}
}

/* ═══════════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:2px;border-radius:6px;transition:all .3s;cursor:pointer;border:none;text-decoration:none;}
.btn-gold{background:var(--gold);color:#fff;}
.btn-gold:hover{background:var(--gold-glow);transform:translateY(-2px);box-shadow:0 8px 24px rgba(176,141,66,.3);color:#fff;}
.btn-outline-gold{background:transparent;color:var(--gold);border:2px solid var(--gold);}
.btn-outline-gold:hover{background:var(--gold);color:#fff;}
.btn-outline-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3);}
.btn-outline-white:hover{border-color:#fff;color:#fff;transform:translateY(-2px);}
.btn-white{background:#fff;color:var(--pink);}
.btn-white:hover{background:#f5f5f5;transform:translateY(-2px);}
.btn-pink{background:var(--pink);color:#fff;}
.btn-pink:hover{background:var(--pink-hot);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(233,30,99,.3);}

/* ═══════════════════════════════════════════════════════
   SECTION LABELS
   ═══════════════════════════════════════════════════════ */
.section-label{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--gold);margin-bottom:10px;}

/* ═══════════════════════════════════════════════════════
   EVENT BANNER (HOMEPAGE)
   ═══════════════════════════════════════════════════════ */
.event-banner{background:var(--pink);padding:20px 40px;animation:bannerSlideUp .8s ease-out .6s both;}
@keyframes bannerSlideUp{0%{opacity:0;transform:translateY(20px);}100%{opacity:1;transform:translateY(0);}}
.event-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:30px;color:#fff;}
.event-date{display:flex;flex-direction:column;align-items:center;padding:10px 20px;border-right:1px solid rgba(255,255,255,.3);min-width:100px;}
.event-date .month{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;}
.event-date .day{font-family:'Oswald',sans-serif;font-size:42px;font-weight:700;line-height:1;}
.event-date .year{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:2px;}
.event-info{flex:1;}
.event-info .label{font-family:'Barlow Condensed',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:3px;opacity:.8;margin-bottom:4px;}
.event-info h2{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;margin-bottom:4px;}
.event-info p{font-size:14px;opacity:.9;margin-bottom:6px;}
.event-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;opacity:.85;}
.event-meta span{display:flex;align-items:center;gap:4px;}
.event-cta{flex-shrink:0;}

/* ═══════════════════════════════════════════════════════
   RAFFLES
   ═══════════════════════════════════════════════════════ */
.raffles{padding:100px 40px;background:var(--off-white);}
.raffles-inner{max-width:1200px;margin:0 auto;}
.raffles-header{text-align:center;margin-bottom:60px;}
.raffles-header h2{font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;text-transform:uppercase;color:var(--text);}
.raffle-item{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px;}
.raffle-item.reverse{direction:rtl;}
.raffle-item.reverse > *{direction:ltr;}
.raffle-item:last-child{margin-bottom:0;}
.raffle-img{border-radius:16px;overflow:hidden;aspect-ratio:966/1250;background:var(--off-white);border:1px solid var(--border);}
.raffle-img img{width:100%;height:100%;object-fit:cover;}
.raffle-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#bbb;font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:2px;text-transform:uppercase;}
.raffle-placeholder-fallback{background:linear-gradient(135deg,#1A1A1A 0%,#2a2a2a 100%);position:relative;}
.raffle-placeholder-fallback::before{content:"IMAGE\A COMING SOON";white-space:pre;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold);font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;text-transform:uppercase;text-align:center;line-height:1.4;letter-spacing:2px;}
.raffle-placeholder svg{width:48px;height:48px;stroke:#ccc;fill:none;stroke-width:1.5;}
.raffle-body .raffle-tag{display:inline-block;background:var(--pink-bg);color:var(--pink);padding:6px 14px;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:16px;}
.raffle-body h3{font-family:'Oswald',sans-serif;font-size:40px;font-weight:700;line-height:1.1;text-transform:lowercase;color:var(--text);margin-bottom:14px;}
.raffle-body h3 span{color:var(--gold);}
.raffle-body > p{font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:20px;}
.raffle-pricing{display:flex;gap:14px;margin-bottom:20px;flex-wrap:wrap;}
.price-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:16px 22px;min-width:120px;}
.price-card.deal{background:var(--gold-bg);border-color:var(--gold);}
.price-card .amount{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;color:var(--text);line-height:1;margin-bottom:4px;}
.price-card.deal .amount{color:var(--gold);}
.price-card .label{font-family:'Barlow Condensed',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);}
.raffle-note{font-size:13px;color:var(--muted);font-style:italic;margin-bottom:20px !important;}

/* ═══════════════════════════════════════════════════════
   STATS
   ═══════════════════════════════════════════════════════ */
.stats{padding:70px 40px;background:var(--dark);color:#fff;}
.stats-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;text-align:center;}
.stat-num{font-family:'Oswald',sans-serif;font-size:56px;font-weight:700;color:var(--gold);line-height:1;margin-bottom:10px;}
.stat-num .plus{color:var(--pink);}
.stat-lbl{font-family:'Barlow Condensed',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.7);}

/* ═══════════════════════════════════════════════════════
   ABOUT
   ═══════════════════════════════════════════════════════ */
.about{padding:100px 40px;background:var(--white);}
.about-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-text h2{font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;line-height:1.1;text-transform:lowercase;color:var(--text);margin-bottom:24px;}
.about-text p{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:18px;}
.about-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.about-card{background:var(--cream);border-radius:16px;padding:32px 24px;text-align:center;border:1px solid var(--border);transition:all .3s;}
.about-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.06);border-color:var(--gold);}
.about-card svg{width:40px;height:40px;stroke:var(--gold);fill:none;stroke-width:1.8;margin:0 auto 16px;display:block;}
.about-card h4{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;text-transform:uppercase;margin-bottom:8px;color:var(--text);}
.about-card p{font-size:13px;color:var(--muted);line-height:1.6;}

/* ═══════════════════════════════════════════════════════
   MILITARY SECTION
   ═══════════════════════════════════════════════════════ */
.military{padding:90px 40px;background:var(--dark) url('assets/images/military-bg.jpg') center/cover no-repeat;position:relative;overflow:hidden;}
.military::before{content:'';position:absolute;inset:0;background:rgba(10,10,10,.78);z-index:1;pointer-events:none;}
.military-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2;}
.military-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(176,141,66,.1);border:1px solid rgba(176,141,66,.25);color:var(--gold-glow);padding:8px 18px;border-radius:30px;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:3px;margin-bottom:20px;}
.military-badge svg{width:14px;height:14px;stroke:var(--gold-glow);fill:none;stroke-width:2;}
.military h2{font-family:'Oswald',sans-serif;font-size:44px;font-weight:700;line-height:1.1;text-transform:lowercase;color:#fff;margin-bottom:20px;}
.military h2 .gold{color:var(--gold);}
.military p{font-size:16px;line-height:1.75;color:rgba(255,255,255,.78);margin-bottom:16px;font-weight:300;}
.military a.btn{margin-top:12px;}
.military-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.military-stat{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:28px 24px;transition:all .3s;}
.military-stat:hover{border-color:rgba(176,141,66,.3);background:rgba(176,141,66,.04);}
.military-stat .num{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:var(--gold);line-height:1.1;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px;}
.military-stat .lbl{font-family:'Barlow',sans-serif;font-size:14px;color:rgba(255,255,255,.7);line-height:1.5;}

/* ═══════════════════════════════════════════════════════
   GET INVOLVED
   ═══════════════════════════════════════════════════════ */
.involved{padding:100px 0;background:var(--white);}
.involved-header{text-align:center;margin-bottom:60px;}
.involved-header h2{font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;text-transform:uppercase;color:var(--text);}
.involved-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:0 40px;}
.inv-card{background:var(--cream);border:1px solid var(--border);border-radius:16px;padding:36px 28px;text-align:center;transition:all .4s;position:relative;overflow:hidden;}
.inv-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transition:transform .4s;}
.inv-card:hover::before{transform:scaleX(1);}
.inv-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 12px 40px rgba(176,141,66,.08);}
.inv-icon{width:64px;height:64px;border-radius:50%;background:var(--gold-bg);border:1px solid rgba(176,141,66,.12);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
.inv-icon svg{width:28px;height:28px;fill:none;stroke-width:2;}
.inv-card h3{font-family:'Oswald',sans-serif;font-size:20px;font-weight:600;text-transform:uppercase;margin-bottom:10px;color:var(--text);}
.inv-card p{font-size:14px;color:var(--muted);line-height:1.6;}

/* ═══════════════════════════════════════════════════════
   DONATE CTA
   ═══════════════════════════════════════════════════════ */
.donate-cta{padding:80px 0;text-align:center;position:relative;overflow:hidden;background:var(--dark) url('assets/images/ribbon-hands.jpg') center/cover no-repeat;}
.donate-cta::before{content:'';position:absolute;inset:0;background:rgba(10,10,10,.72);z-index:1;}
.donate-cta-inner{position:relative;z-index:2;max-width:700px;margin:0 auto;padding:0 40px;}
.donate-cta .section-label{color:var(--gold-light);}
.donate-cta h2{font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;text-transform:uppercase;margin-bottom:16px;color:#fff;}
.donate-cta h2 span{color:var(--pink);}
.donate-cta p{font-size:17px;line-height:1.7;color:#999;margin-bottom:32px;}
.donate-big{display:inline-flex;align-items:center;gap:10px;padding:18px 48px;background:var(--pink);color:#fff;font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:3px;border-radius:8px;transition:all .3s;border:none;cursor:pointer;}
.donate-big:hover{background:var(--pink-hot);transform:translateY(-3px);box-shadow:0 10px 30px rgba(233,30,99,.4);color:#fff;}

/* ═══════════════════════════════════════════════════════
   NEWS
   ═══════════════════════════════════════════════════════ */
.news{padding:100px 0;background:var(--cream);}
.news-header{max-width:1200px;margin:0 auto 48px;padding:0 40px;display:flex;justify-content:space-between;align-items:flex-end;}
.news-header h2{font-family:'Oswald',sans-serif;font-size:42px;font-weight:700;text-transform:uppercase;color:var(--text);}
.news-header a{color:var(--gold);font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:2px;transition:color .3s;}
.news-header a:hover{color:var(--gold-dark);}
.news-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0 40px;}
.news-card{background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:all .3s;}
.news-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.06);}
.news-card a{color:inherit;display:block;}
.news-thumb{aspect-ratio:966/1250;background:var(--off-white);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#bbb;font-size:13px;letter-spacing:2px;text-transform:uppercase;font-family:'Barlow Condensed',sans-serif;}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.news-card:hover .news-thumb img{transform:scale(1.04);}
.news-body{padding:24px;}
.news-date{font-family:'Barlow Condensed',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--gold);margin-bottom:10px;}
.news-body h3{font-family:'Oswald',sans-serif;font-size:20px;font-weight:600;text-transform:uppercase;line-height:1.3;margin-bottom:10px;}
.news-body p{font-size:14px;color:var(--muted);line-height:1.6;}

/* ═══════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════ */
.site-footer{background:var(--dark);color:#aaa;padding:70px 40px 30px;}
.footer-inner{max-width:1400px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;margin-bottom:50px;padding-bottom:40px;border-bottom:1px solid #333;}
.footer-brand p{font-size:14px;line-height:1.7;color:#888;margin-top:16px;max-width:280px;}
.footer-social{display:flex;gap:10px;margin-top:20px;}
.footer-social a{width:36px;height:36px;border-radius:50%;background:var(--charcoal);display:flex;align-items:center;justify-content:center;transition:all .3s;}
.footer-social a:hover{background:var(--gold);}
.footer-social svg{width:16px;height:16px;stroke:#aaa;fill:none;stroke-width:2;}
.footer-social a:hover svg{stroke:#fff;}
.site-footer h4{font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#fff;margin-bottom:18px;}
.footer-links{list-style:none;}
.footer-links li{margin-bottom:10px;}
.footer-links a{font-size:14px;color:#888;transition:color .3s;}
.footer-links a:hover{color:var(--gold);}
.footer-contact p{font-size:14px;color:#888;line-height:1.7;}
.footer-contact a{color:#888;}
.footer-contact a:hover{color:var(--gold);}
.footer-trust{margin-top:20px;}
.guidestar-badge{display:inline-block;padding:8px 14px;background:rgba(176,141,66,.1);border:1px solid rgba(176,141,66,.25);border-radius:6px;color:var(--gold);font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;transition:all .3s;}
.guidestar-badge:hover{background:rgba(176,141,66,.2);color:var(--gold-glow);}
.tax-note{font-size:12px;color:#666;margin-top:10px;line-height:1.5;}
.footer-bottom{padding:20px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:12px;color:#666;}
.footer-bottom .legal{font-size:11px;color:#555;max-width:500px;line-height:1.5;}
.footer-bottom .credit{color:#555;}
.footer-bottom .credit a{color:var(--gold);transition:color .3s;}
.footer-bottom .credit a:hover{color:var(--gold-glow);}

/* ═══════════════════════════════════════════════════════
   FORMS (shared)
   ═══════════════════════════════════════════════════════ */
.d4b-form{max-width:720px;margin:0 auto;}
.d4b-form .field{margin-bottom:20px;}
.d4b-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.d4b-form label{display:block;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--text);margin-bottom:8px;}
.d4b-form label .required{color:var(--pink);}
.d4b-form input[type=text],.d4b-form input[type=email],.d4b-form input[type=tel],.d4b-form input[type=url],.d4b-form input[type=number],.d4b-form select,.d4b-form textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:6px;font-family:'Barlow',sans-serif;font-size:15px;color:var(--text);background:var(--white);transition:border-color .25s,box-shadow .25s;}
.d4b-form input:focus,.d4b-form select:focus,.d4b-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,141,66,.15);}
.d4b-form textarea{min-height:120px;resize:vertical;}
.d4b-form .checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;font-size:14px;line-height:1.6;color:var(--muted);}
.d4b-form .checkbox-row input[type=checkbox]{margin-top:4px;width:18px;height:18px;accent-color:var(--gold);flex-shrink:0;}
.d4b-form .checkbox-row label{font-family:'Barlow',sans-serif;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text);line-height:1.6;margin:0;}
.d4b-form .help-text{font-size:12px;color:var(--muted);margin-top:6px;}
.d4b-form .form-error{background:#fdecea;border:1px solid #f5c2bd;color:var(--error);padding:12px 16px;border-radius:6px;font-size:14px;margin-bottom:20px;}
.d4b-form .form-success{background:#eafbe8;border:1px solid #b6e4b0;color:var(--success);padding:16px 20px;border-radius:6px;font-size:15px;margin-bottom:20px;}
.d4b-form .submit-row{margin-top:30px;}

/* Policy cards (vendor terms) */
.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:40px;}
.policy-card{background:var(--cream);border:1px solid var(--border);border-radius:12px;padding:24px;}
.policy-card h4{font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;text-transform:uppercase;color:var(--gold);margin-bottom:10px;letter-spacing:1px;}
.policy-card p,.policy-card li{font-size:14px;color:var(--muted);line-height:1.7;}
.policy-card ul{list-style:none;padding-left:0;}
.policy-card li{position:relative;padding-left:18px;}
.policy-card li::before{content:'•';position:absolute;left:4px;color:var(--gold);font-weight:700;}

/* ═══════════════════════════════════════════════════════
   EVENTS ARCHIVE / MISSION CALENDAR
   ═══════════════════════════════════════════════════════ */
.events-filter{position:sticky;top:76px;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);padding:18px 40px;border-bottom:1px solid var(--border);}
.events-filter-inner{max-width:1400px;margin:0 auto;display:flex;gap:10px;flex-wrap:wrap;}
.filter-pill{padding:8px 18px;background:var(--white);border:1px solid var(--border);border-radius:30px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);cursor:pointer;transition:all .25s;}
.filter-pill:hover{border-color:var(--gold);color:var(--gold);}
.filter-pill.active{background:var(--gold);border-color:var(--gold);color:#fff;}

.events-feed{padding:60px 40px;background:var(--off-white);}
.events-feed-inner{max-width:1400px;margin:0 auto;}
.featured-event{background:linear-gradient(135deg,var(--dark) 0%,#0f0f0f 100%);color:#fff;border-radius:16px;overflow:hidden;margin-bottom:60px;display:grid;grid-template-columns:1.1fr 1fr;}
.featured-event-img{background-size:cover;background-position:center;aspect-ratio:4/5;overflow:hidden;}
.featured-event-body{padding:50px 40px;display:flex;flex-direction:column;justify-content:center;}
.featured-event-body .countdown{font-family:'Oswald',sans-serif;font-size:16px;color:var(--gold);text-transform:uppercase;letter-spacing:3px;margin-bottom:14px;}
.featured-event-body h2{font-family:'Oswald',sans-serif;font-size:42px;font-weight:700;line-height:1.1;margin-bottom:16px;text-transform:lowercase;}
.featured-event-body p{color:rgba(255,255,255,.8);margin-bottom:24px;line-height:1.7;}

.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.event-card{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:all .3s;display:flex;flex-direction:column;}
.event-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.06);border-color:var(--gold);}
.event-card-img{aspect-ratio:4/5;background-size:cover;background-position:center;background-color:var(--cream);position:relative;overflow:hidden;}
.event-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.event-type-badge{position:absolute;top:14px;left:14px;padding:6px 12px;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;}
.badge-raffle{background:var(--pink);color:#fff;}
.badge-event{background:var(--gold);color:#fff;}
.badge-sponsorship{background:var(--charcoal);color:#fff;}
.badge-match{background:var(--success);color:#fff;}
.badge-match::before{content:'2× ';}
.event-card-body{padding:22px;flex:1;display:flex;flex-direction:column;}
.event-card-date{font-family:'Barlow Condensed',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--gold);margin-bottom:8px;font-weight:700;}
.event-card-body h3{font-family:'Oswald',sans-serif;font-size:22px;font-weight:600;text-transform:lowercase;line-height:1.25;margin-bottom:10px;}
.event-card-loc{font-size:13px;color:var(--muted);margin-bottom:12px;}
.event-card-body p{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:16px;flex:1;}
.event-card-cta{margin-top:auto;}
.event-past{opacity:.6;}
.past-header{font-family:'Oswald',sans-serif;font-size:16px;text-transform:uppercase;color:var(--muted);letter-spacing:3px;margin:60px 0 24px;text-align:center;border-bottom:1px solid var(--border);padding-bottom:16px;}

/* ═══════════════════════════════════════════════════════
   VENDOR / BOOTH CARDS
   ═══════════════════════════════════════════════════════ */
.booth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0;}
.booth-grid.sponsor-tiers{grid-template-columns:repeat(2,1fr);gap:28px;max-width:900px;margin:30px auto;}
.booth-card{background:var(--white);border:2px solid var(--border);border-radius:12px;padding:26px;transition:all .3s;position:relative;}
.booth-card:hover{border-color:var(--gold);}
.booth-card.sold-out{opacity:.55;pointer-events:none;}
.booth-card.sold-out::after{content:'SOLD OUT';position:absolute;top:14px;right:14px;background:var(--error);color:#fff;padding:4px 10px;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;}
.booth-card h4{font-family:'Oswald',sans-serif;font-size:20px;font-weight:600;text-transform:uppercase;margin-bottom:8px;}
.booth-card .price{font-family:'Oswald',sans-serif;font-size:32px;color:var(--gold);font-weight:700;margin-bottom:10px;}
.booth-card .stock{font-family:'Barlow Condensed',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:12px;}
.booth-card .stock.low{color:var(--pink);}
.booth-card > p{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:14px;}
.booth-card .admin-note{background:var(--gold-bg);border-left:3px solid var(--gold);padding:10px 14px;font-size:13px;color:var(--text);margin-bottom:16px;border-radius:0 4px 4px 0;font-style:italic;}
.booth-card input[type=radio]{position:absolute;opacity:0;pointer-events:none;}
.booth-card label{cursor:pointer;display:block;}
.booth-card input[type=radio]:checked + label,.booth-card.selected{border-color:var(--gold);background:var(--gold-bg);}
.sponsor-benefits{list-style:none;padding:0;margin:0 0 16px;border-top:1px solid var(--border);padding-top:14px;}
.sponsor-benefits li{position:relative;padding:6px 0 6px 22px;font-size:14px;color:var(--text);line-height:1.5;}
.sponsor-benefits li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700;}

/* ═══════════════════════════════════════════════════════
   SPONSORSHIP PAGE — Strategic Partners / Friends / Trophy
   ═══════════════════════════════════════════════════════ */
.sponsor-tiers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.sponsor-tier-card{background:var(--white);border:1px solid var(--border);padding:36px 28px;display:flex;flex-direction:column;border-left:3px solid transparent;transition:border-color .3s,transform .3s;}
.sponsor-tier-card:hover{border-left-color:var(--gold);transform:translateX(4px);}
.sponsor-tier-card.featured{border-left-color:var(--pink);background:var(--pink-bg);}
.sponsor-tier-badge{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--pink);background:rgba(233,30,99,.08);border:1px solid rgba(233,30,99,.3);padding:5px 12px;margin-bottom:12px;}
.sponsor-tier-name{font-family:'Oswald',sans-serif;font-size:26px;font-weight:600;text-transform:lowercase;margin-bottom:4px;}
.sponsor-tier-price{font-size:12px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin-bottom:24px;}
.sponsor-tier-price span{font-family:'Oswald',sans-serif;font-size:36px;font-weight:700;color:var(--text);letter-spacing:0;}
.sponsor-tier-benefits{list-style:none;padding:0;margin:0;flex:1;border-top:1px solid var(--border);padding-top:16px;}
.sponsor-tier-benefits li{position:relative;padding:7px 0 7px 20px;font-size:14px;color:var(--muted);line-height:1.6;}
.sponsor-tier-benefits li::before{content:'';position:absolute;left:0;top:16px;width:8px;height:1px;background:var(--gold-dark);}
.sponsor-tier-benefits li.inherited{color:var(--gold-dark);font-style:italic;font-size:13px;padding-left:0;}
.sponsor-tier-benefits li.inherited::before{display:none;}
.sponsor-tier-cta{margin-top:24px;}
.sponsor-tier-cta .btn{width:100%;text-align:center;}

/* Trophy sponsor */
.trophy-sponsor-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1000px;margin:0 auto;}
.trophy-card{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--gold);padding:36px 28px;display:flex;flex-direction:column;}
.trophy-info{background:var(--cream);border:1px solid var(--border);padding:36px 28px;display:flex;flex-direction:column;justify-content:center;}
.trophy-info p{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:16px;}

/* Friends grid — 5 cards */
.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.friend-card{background:var(--white);border:1px solid var(--border);padding:30px 24px;display:flex;flex-direction:column;border-top:2px solid transparent;transition:border-color .3s;}
.friend-card:hover{border-top-color:var(--gold);}
.friend-card.featured{border-top-color:var(--pink);background:var(--pink-bg);}
.friend-level{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-dark);margin-bottom:8px;}
.friend-name{font-family:'Oswald',sans-serif;font-size:22px;font-weight:600;text-transform:lowercase;margin-bottom:4px;}
.friend-price{font-family:'Oswald',sans-serif;font-size:24px;color:var(--gold);font-weight:700;margin-bottom:18px;}
.friend-benefits{list-style:none;padding:0;margin:0;flex:1;}
.friend-benefits li{position:relative;padding:5px 0 5px 18px;font-size:13px;color:var(--muted);line-height:1.6;}
.friend-benefits li::before{content:'';position:absolute;left:0;top:14px;width:6px;height:1px;background:var(--gold-dark);}
.friend-benefits li.inherited{color:var(--gold-dark);font-style:italic;font-size:12px;padding-left:0;}
.friend-benefits li.inherited::before{display:none;}
.friend-cta{margin-top:20px;}
.friend-cta .btn{width:100%;text-align:center;}

/* Partners showcase */
.partners-section{padding:80px 40px;background:var(--white);}
.partners-inner{max-width:1000px;margin:0 auto;text-align:center;}
.partners-grid{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;align-items:center;margin-top:40px;}
.partner-logo{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:20px 28px;transition:border-color .3s,transform .3s;}
.partner-logo:hover{border-color:var(--gold);transform:scale(1.03);}
.partner-logo img{max-height:80px;width:auto;}
.partner-anon{background:var(--gold-bg);border:1px solid var(--gold);border-radius:8px;padding:24px 32px;display:flex;align-items:center;gap:16px;}
.partner-anon-icon{width:48px;height:48px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.partner-anon-icon svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2;}
.partner-anon-text{text-align:left;}
.partner-anon-label{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;text-transform:lowercase;}
.partner-anon-tier{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dark);}

/* ── Event → Linked raffle card ── */
.event-raffle-section{padding:80px 40px;background:var(--off-white);border-top:1px solid var(--border);}
.event-raffle-inner{max-width:1000px;margin:0 auto;text-align:center;}
.event-raffle-card{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:center;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:32px;margin-top:36px;text-align:left;}
.event-raffle-img{border-radius:12px;overflow:hidden;aspect-ratio:966/1250;}
.event-raffle-img img{width:100%;height:100%;object-fit:cover;}
.event-raffle-info h3{font-family:'Oswald',sans-serif;font-size:30px;text-transform:lowercase;margin-bottom:8px;}
.event-raffle-subtitle{color:var(--gold);font-family:'Oswald',sans-serif;font-size:18px;margin-bottom:10px;}
.event-raffle-sponsor{color:var(--muted);font-size:14px;margin-bottom:16px;}
.event-raffle-pricing{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.event-raffle-price{background:var(--gold-bg);color:var(--gold-dark);padding:8px 18px;border-radius:6px;font-family:'Oswald',sans-serif;font-size:22px;font-weight:600;}
.event-raffle-price small{font-size:13px;font-weight:400;margin-left:2px;}
.event-raffle-deal{background:var(--pink-bg);color:var(--pink);padding:8px 18px;border-radius:6px;font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;}
.event-raffle-draw{font-size:14px;color:var(--muted);margin-bottom:16px;}
.event-raffle-actions{display:flex;gap:12px;flex-wrap:wrap;}
@media(max-width:700px){
  .event-raffle-card{grid-template-columns:1fr;text-align:center;}
  .event-raffle-img{max-width:260px;margin:0 auto;}
  .event-raffle-pricing,.event-raffle-actions{justify-content:center;}
}

@media(max-width:768px){
  .sponsor-tiers-grid{grid-template-columns:1fr;}
  .trophy-sponsor-grid{grid-template-columns:1fr;}
  .friends-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
  .friends-grid{grid-template-columns:1fr;}
}

/* ═══════════════════════════════════════════════════════
   SCROLL ANIMATIONS
   ═══════════════════════════════════════════════════════ */

/* Base state — hidden until IntersectionObserver adds .in-view */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s ease-out,transform .7s ease-out;}
.reveal.in-view{opacity:1;transform:translateY(0);}

/* Staggered children — cards, stats, grid items */
.reveal-stagger > *{opacity:0;transform:translateY(30px);transition:opacity .5s ease-out,transform .5s ease-out;}
.reveal-stagger.in-view > *{opacity:1;transform:translateY(0);}
.reveal-stagger.in-view > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.in-view > *:nth-child(2){transition-delay:.15s;}
.reveal-stagger.in-view > *:nth-child(3){transition-delay:.25s;}
.reveal-stagger.in-view > *:nth-child(4){transition-delay:.35s;}
.reveal-stagger.in-view > *:nth-child(5){transition-delay:.45s;}
.reveal-stagger.in-view > *:nth-child(6){transition-delay:.55s;}

/* Slide from left */
.reveal-left{opacity:0;transform:translateX(-50px);transition:opacity .7s ease-out,transform .7s ease-out;}
.reveal-left.in-view{opacity:1;transform:translateX(0);}

/* Slide from right */
.reveal-right{opacity:0;transform:translateX(50px);transition:opacity .7s ease-out,transform .7s ease-out;}
.reveal-right.in-view{opacity:1;transform:translateX(0);}

/* Scale up */
.reveal-scale{opacity:0;transform:scale(.9);transition:opacity .7s ease-out,transform .7s ease-out;}
.reveal-scale.in-view{opacity:1;transform:scale(1);}

/* Event date gentle pulse */
.event-date{animation:datePulse 2.5s ease-in-out infinite;}
@keyframes datePulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}

/* Donate CTA background slow pan */
.donate-cta{background-size:120% auto !important;animation:ctaPan 20s ease-in-out infinite alternate;}
@keyframes ctaPan{0%{background-position:30% center;}100%{background-position:70% center;}}

/* Military section background slow zoom */
.military{animation:milZoom 25s ease-in-out infinite alternate;}
@keyframes milZoom{0%{background-size:100% auto;}100%{background-size:115% auto;}}

/* Respect reduced motion preference */
@media(prefers-reduced-motion:reduce){
  .hero-img{animation:none !important;}
  .hero-content{animation:none !important;opacity:1 !important;}
  .event-banner{animation:none !important;opacity:1 !important;}
  .event-date{animation:none !important;}
  .donate-cta{animation:none !important;}
  .military{animation:none !important;}
  .reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1 !important;transform:none !important;transition:none !important;}
  .reveal-stagger > *{opacity:1 !important;transform:none !important;transition:none !important;}
}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════ */
@media(max-width:1100px){
  .main-nav{display:none;}
  .main-nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--dark);border-top:1px solid #333;padding:20px 40px;gap:4px;box-shadow:0 8px 24px rgba(0,0,0,.3);}
  .main-nav.open ul{flex-direction:column;gap:4px;}
  .main-nav.open a{padding:12px 14px;width:100%;}
  .nav-toggle{display:block;}
  .hero h1{font-size:44px;}
  .about-inner,.raffle-item,.military-inner,.featured-event{grid-template-columns:1fr;gap:40px;}
  .raffle-item.reverse{direction:ltr;}
  .involved-grid,.stats-grid{grid-template-columns:repeat(2,1fr);}
  .news-grid,.booth-grid,.policy-grid{grid-template-columns:repeat(2,1fr);}
  .events-grid{grid-template-columns:1fr;max-width:600px;margin:0 auto;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .event-banner .event-inner{flex-direction:column;text-align:center;}
  .event-date{border-right:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:16px;}
  .page-hero h1{font-size:42px;}
}
@media(max-width:700px){
  .hero h1{font-size:34px;}
  .hero{padding:40px 20px 56px;}
  .hero-bg{background:linear-gradient(135deg,rgba(26,26,26,.92),rgba(26,26,26,.6) 60%,rgba(26,26,26,.82));}
  .hero-content{padding:0 20px;flex-direction:column;text-align:center;}
  .hero-logo-wrap{display:none;}
  .raffles,.about,.news,.military,.involved{padding:60px 20px;}
  .raffle-body h3,.about-text h2,.involved-header h2,.news-header h2,.military h2{font-size:32px;}
  .stats-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .stat-num{font-size:42px;}
  .involved-grid,.news-grid,.events-grid,.booth-grid,.policy-grid,.field-row,.d4b-form .field-row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;gap:30px;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .util-bar{padding:8px 16px;}
  .util-left{gap:12px;flex-wrap:wrap;}
  .util-501{display:none;}
  .page-hero{padding:70px 20px 50px;}
  .page-hero h1{font-size:34px;}
  .featured-event-body{padding:30px 24px;}
  .featured-event-body h2{font-size:30px;}
  /* Single event — collapse grid to single column on mobile */
  .event-detail{padding:40px 20px !important;}
  .event-detail-grid{grid-template-columns:1fr !important;gap:30px !important;}
  .event-flyer img{max-width:100% !important;}
  .event-raffle-card{grid-template-columns:1fr !important;}
}
