/* Wild Bill's Warriors — per-tenant stylesheet (see lib/cms/tenant-css.ts).
   Moved out of app/globals.css so one client's design CSS doesn't ship to
   every site. Loaded only on this tenant's pages via /tenant-css/<slug>.css. */

/* ── Wild Bill's Warriors — Brand Guide v1 (July 2026) ─────────────────────── */
.wbbw-page { --wbbw-blue:#24549C; --wbbw-sky:#5B8FE0; --wbbw-ink:#16233D; --wbbw-midnight:#0F1930; --wbbw-paper:#EFF3F9; --wbbw-slate:#6C7B94; --wbbw-surface:#FBFCFE; --wbbw-brand-dark:#173B73; color:var(--wbbw-ink); font-family:'Archivo',sans-serif; }
.wbbw-hero { min-height:calc(100vh - 7rem); background:var(--wbbw-midnight); color:#fff; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; padding:5rem 1.5rem 3rem; text-align:center; }
.wbbw-grain { position:absolute; inset:0; background:radial-gradient(ellipse at 30% 20%,rgba(91,143,224,.15),transparent 55%),radial-gradient(ellipse at 70% 80%,rgba(36,84,156,.08),transparent 50%); }
.wbbw-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 60%,rgba(15,25,48,.3)); pointer-events:none; }
.wbbw-hero-content { position:relative; z-index:1; max-width:680px; }
.wbbw-hero-logo { height:76px; width:auto; margin:0 auto 1.75rem; filter:brightness(0) invert(1); opacity:.9; }
.wbbw-hero-logo-text { display:flex; flex-direction:column; align-items:center; margin:0 auto 1.75rem; }
.wbbw-hero-logo-text span { font-family:'Archivo Black',sans-serif; font-size:clamp(2rem,5vw,3.2rem); line-height:1.04; color:var(--wbbw-paper); }
.wbbw-hero-logo-text .wbbw-logo-bills { color:transparent; -webkit-text-stroke:1.6px var(--wbbw-paper); }
.wbbw-logo-rule { width:80%; height:3px; background:var(--wbbw-sky); margin:10px 0 6px; }
.wbbw-logo-tag { font-family:'Archivo',sans-serif !important; font-weight:500 !important; font-size:clamp(.9rem,2vw,1.1rem) !important; color:var(--wbbw-sky) !important; line-height:1.2 !important; }
.wbbw-eyebrow { margin-bottom:1.2rem; color:var(--wbbw-sky); font:600 .78rem/1.2 'Archivo',sans-serif; letter-spacing:.28em; text-transform:uppercase; }
.wbbw-hero h1 { color:var(--wbbw-paper); font-family:'Archivo Black',sans-serif; font-size:clamp(2rem,6vw,3.5rem); line-height:1.1; letter-spacing:-.02em; }
.wbbw-hero-tag { color:var(--wbbw-sky); font:500 1.1rem/1.4 'Archivo',sans-serif; border-top:3px solid var(--wbbw-sky); display:inline-block; padding-top:6px; margin-top:10px; }
.wbbw-hero-sub { max-width:560px; margin:1.5rem auto 2.4rem; color:#9DAFC9; font:400 1.2rem/1.65 'Archivo',sans-serif; }
.wbbw-donate-primary { display:inline-flex; flex-direction:column; gap:.15rem; padding:1.05rem 2.2rem; border-radius:12px; background:var(--wbbw-blue); color:#fff; box-shadow:0 8px 30px rgba(36,84,156,.3); font:700 1rem/1 'Archivo',sans-serif; transition:all .2s; }
.wbbw-donate-primary:hover { background:var(--wbbw-paper); color:var(--wbbw-ink); text-decoration:none; transform:translateY(-2px); box-shadow:0 12px 36px rgba(36,84,156,.35); }
.wbbw-donate-primary small { font-size:.75rem; font-weight:400; opacity:.75; margin-top:.2rem; }
.wbbw-scroll { position:absolute; z-index:1; bottom:.5rem; left:50%; transform:translateX(-50%); padding:1rem 1.25rem; color:rgba(255,255,255,.4); font:500 .72rem/1 'Archivo',sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.wbbw-story { background:var(--wbbw-paper); padding:6rem 1.5rem; }
.wbbw-story-inner { max-width:900px; margin:auto; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:2.5rem 4rem; align-items:start; }
.wbbw-story-lead { grid-column:1/-1; max-width:780px; font:400 1.35rem/1.7 'Archivo',sans-serif; color:#3B4A63; }
.wbbw-story-lead p::first-letter { float:left; padding:.1rem .65rem 0 0; color:var(--wbbw-blue); font-family:'Archivo Black',sans-serif; font-size:4rem; line-height:.82; }
.wbbw-photo { grid-column:2; grid-row:2; text-align:center; }
.wbbw-photo img { max-height:520px; width:100%; object-fit:cover; border-radius:12px; box-shadow:0 8px 30px rgba(22,35,61,.12); }
.wbbw-photo figcaption { margin-top:1rem; color:var(--wbbw-slate); font:400 .88rem/1.5 'Archivo',sans-serif; }
.wbbw-photo figcaption strong { display:block; color:var(--wbbw-ink); font-weight:600; }
.wbbw-story-copy { grid-column:1; grid-row:2; font:400 1.08rem/1.75 'Archivo',sans-serif; color:#3B4A63; }
.wbbw-story-copy p { margin-bottom:1.35rem; }
.wbbw-story-copy a { color:var(--wbbw-blue); text-decoration:none; }
.wbbw-story-copy a:hover { color:var(--wbbw-brand-dark); text-decoration:underline; }
.wbbw-signoff { margin-top:2.5rem; padding-top:2rem; border-top:1px solid rgba(22,35,61,.1); }
.wbbw-signoff strong { display:block; color:var(--wbbw-blue); font-family:'Archivo Black',sans-serif; font-size:1.4rem; }
.wbbw-signoff span { display:block; color:var(--wbbw-ink); font:500 .92rem/1.5 'Archivo',sans-serif; }
.wbbw-donate { position:relative; overflow:hidden; background:var(--wbbw-midnight); color:#fff; padding:6rem 1.5rem; text-align:center; }
.wbbw-donate::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at center,rgba(91,143,224,.12),transparent 65%); }
.wbbw-donate-inner { position:relative; max-width:620px; margin:auto; }
.wbbw-quote { color:var(--wbbw-sky); font-family:'Archivo Black',sans-serif; font-size:4rem; line-height:.5; }
.wbbw-donate h2 { color:var(--wbbw-paper); margin:1rem 0; font-family:'Archivo Black',sans-serif; font-size:clamp(2rem,5vw,3rem); line-height:1.15; }
.wbbw-donate p { color:#9DAFC9; font:400 1.1rem/1.7 'Archivo',sans-serif; }
.wbbw-paypal { display:inline-flex; margin:2rem 0 1.3rem; padding:1rem 2.2rem; border-radius:12px; background:var(--wbbw-blue); color:#fff; font:700 .95rem/1 'Archivo',sans-serif; box-shadow:0 6px 25px rgba(36,84,156,.3); transition:all .2s; }
.wbbw-paypal:hover { background:var(--wbbw-paper); color:var(--wbbw-ink); text-decoration:none; transform:translateY(-2px); box-shadow:0 8px 30px rgba(36,84,156,.35); }
.wbbw-donate small { display:block; color:rgba(255,255,255,.35); font:400 .8rem/1 'Archivo',sans-serif; }
@media (max-width:700px) { .wbbw-hero { min-height:78vh; } .wbbw-hero-logo { height:58px; } .wbbw-story { padding:4rem 1.25rem; } .wbbw-story-inner { display:flex; flex-direction:column; } .wbbw-photo { order:2; } .wbbw-story-copy { order:3; } }

/* ── WBBW: Impact stats band ─────────────────────────────────────────────── */
.wbbw-impact { background:var(--wbbw-midnight); color:#fff; padding:3.5rem 1.5rem; }
.wbbw-impact-inner { max-width:1000px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; text-align:center; }
.wbbw-impact-item { display:flex; flex-direction:column; gap:.4rem; align-items:center; }
.wbbw-impact-num { color:var(--wbbw-sky); font-family:'Archivo Black',sans-serif; font-size:clamp(1.8rem,4vw,2.6rem); line-height:1; letter-spacing:-.02em; }
.wbbw-impact-label { color:rgba(255,255,255,.6); font:400 .82rem/1.4 'Archivo',sans-serif; max-width:180px; }
@media (max-width:600px) { .wbbw-impact-inner { grid-template-columns:repeat(2,1fr); gap:2.5rem 1rem; } .wbbw-impact-item:last-child { grid-column:1 / -1; } }

/* ── WBBW: Years section (home page) ──────────────────────────────────────── */
.wbbw-years-section { background:var(--wbbw-surface); padding:6rem 1.5rem; }
.wbbw-years-inner { max-width:1100px; margin:auto; }
.wbbw-years-header { text-align:center; margin-bottom:3.5rem; }
.wbbw-years-header h2 { color:var(--wbbw-ink); font-family:'Archivo Black',sans-serif; font-size:clamp(2rem,5vw,3.2rem); line-height:1.05; letter-spacing:-.02em; margin:1rem 0 1.2rem; }
.wbbw-years-intro { max-width:560px; margin:auto; color:#3B4A63; font:400 1.1rem/1.65 'Archivo',sans-serif; }
.wbbw-years-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:1.25rem; }
.wbbw-year-card { position:relative; display:block; overflow:hidden; border-radius:12px; background:var(--wbbw-ink); box-shadow:0 4px 18px rgba(22,35,61,.1); transition:transform .25s, box-shadow .25s; text-decoration:none; }
.wbbw-year-card:hover { transform:translateY(-4px); box-shadow:0 10px 30px rgba(0,0,0,.18); }
.wbbw-year-card-img { position:relative; aspect-ratio:4/3; overflow:hidden; }
.wbbw-year-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.wbbw-year-card:hover .wbbw-year-card-img img { transform:scale(1.05); }
.wbbw-year-card-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(15,25,48,.85),rgba(15,25,48,.1) 50%,transparent); }
.wbbw-year-card-body { position:absolute; bottom:0; left:0; right:0; padding:1rem 1.1rem; z-index:1; }
.wbbw-year-card-year { display:block; color:#fff; font-family:'Archivo Black',sans-serif; font-size:1.6rem; line-height:1; letter-spacing:-.01em; }
.wbbw-year-card-meta { display:block; margin-top:.3rem; color:rgba(255,255,255,.7); font:400 .78rem/1.3 'Archivo',sans-serif; }
.wbbw-years-cta { text-align:center; margin-top:3rem; }
.wbbw-years-gallery-link { display:inline-flex; align-items:center; gap:.4rem; padding:.8rem 1.8rem; border-radius:999px; background:transparent; border:2px solid var(--wbbw-blue); color:var(--wbbw-blue); font:600 .95rem/1 'Archivo',sans-serif; transition:all .2s; }
.wbbw-years-gallery-link:hover { background:var(--wbbw-blue); color:#fff; text-decoration:none; }

/* ── WBBW: Year page ──────────────────────────────────────────────────────── */
.wbbw-year-hero { background:var(--wbbw-midnight); color:#fff; padding:5rem 1.5rem 3.5rem; text-align:center; position:relative; overflow:hidden; }
.wbbw-year-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 20%,rgba(0,153,204,.18),transparent 55%); }
.wbbw-year-hero-inner { position:relative; max-width:680px; margin:auto; }
.wbbw-back { display:inline-block; margin-bottom:2rem; color:rgba(255,255,255,.5); font:500 .85rem/1 'Archivo',sans-serif; transition:color .2s; }
.wbbw-back:hover { color:var(--wbbw-sky); text-decoration:none; }
.wbbw-year-hero h1 { color:var(--wbbw-paper); font-family:'Archivo Black',sans-serif; font-size:clamp(3rem,8vw,5.5rem); line-height:1; letter-spacing:-.02em; margin:.5rem 0; }
.wbbw-year-sub { color:rgba(255,255,255,.6); font:400 1.05rem/1.5 'Archivo',sans-serif; }

.wbbw-year-letters { background:var(--wbbw-paper); padding:4rem 1.5rem; }
.wbbw-year-letters-inner { max-width:720px; margin:auto; }
.wbbw-year-letters h2 { color:var(--wbbw-ink); font-family:'Archivo Black',sans-serif; font-size:clamp(1.6rem,3.5vw,2.2rem); line-height:1.15; letter-spacing:-.01em; margin-bottom:2rem; }
.wbbw-letter { background:#fff; border-radius:12px; box-shadow:0 2px 14px rgba(22,35,61,.06); padding:2.5rem; margin-bottom:2rem; border:1px solid rgba(22,35,61,.08); }
.wbbw-letter + .wbbw-letter { margin-top:2rem; }
.wbbw-letter-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:1.5rem; padding-bottom:1.2rem; border-bottom:1px solid #eef3f6; }
.wbbw-letter-header h3 { color:var(--wbbw-ink); font-family:'Archivo Black',sans-serif; font-size:1.25rem; line-height:1.2; }
.wbbw-letter-pdf { display:inline-flex; align-items:center; gap:.45rem; padding:.55rem 1rem; border-radius:.5rem; background:color-mix(in srgb,var(--wbbw-blue) 10%,transparent); color:var(--wbbw-blue); font:600 .82rem/1 'Archivo',sans-serif; transition:all .2s; }
.wbbw-letter-pdf:hover { background:var(--wbbw-blue); color:#fff; text-decoration:none; }
.wbbw-letter-body { font:400 1.08rem/1.85 'Archivo',sans-serif; color:#3B4A63; }
.wbbw-letter-body p { margin-bottom:1.3rem; }
.wbbw-letter-body p:last-child { margin-bottom:0; }
.wbbw-letter-body p:first-child { font-size:1.15rem; color:var(--wbbw-ink); font-weight:500; }
.wbbw-letter-body a { color:var(--wbbw-blue); text-decoration:underline; }

.wbbw-year-photos { background:var(--wbbw-paper); padding:3rem 1.5rem 5rem; }
.wbbw-year-photos-inner { max-width:1100px; margin:auto; }
.wbbw-year-photos h2 { color:var(--wbbw-ink); font-family:'Archivo Black',sans-serif; font-size:clamp(1.6rem,3.5vw,2.2rem); line-height:1.15; letter-spacing:-.01em; margin-bottom:.3rem; }
.wbbw-photos-count { color:var(--wbbw-slate); font:400 .9rem/1.4 'Archivo',sans-serif; margin-bottom:2rem; }

.wbbw-gallery-grid { display:grid; gap:.6rem; }
.wbbw-gallery-grid.wbbw-grid-3 { grid-template-columns:repeat(3,1fr); }
.wbbw-gallery-grid.wbbw-grid-4 { grid-template-columns:repeat(4,1fr); }
.wbbw-gallery-grid.wbbw-grid-2 { grid-template-columns:repeat(2,1fr); }
.wbbw-gallery-item { display:block; overflow:hidden; border-radius:.35rem; cursor:pointer; aspect-ratio:1; background:#e8eef2; border:none; padding:0; }
.wbbw-gallery-thumb { width:100%; height:100%; object-fit:cover; transition:transform .3s, opacity .2s; }
.wbbw-gallery-item:hover .wbbw-gallery-thumb { transform:scale(1.06); opacity:.9; }
@media (max-width:768px) { .wbbw-gallery-grid.wbbw-grid-4 { grid-template-columns:repeat(3,1fr); } .wbbw-gallery-grid.wbbw-grid-3 { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px) { .wbbw-gallery-grid { grid-template-columns:repeat(2,1fr) !important; gap:.4rem; } }

.wbbw-lightbox { position:fixed; inset:0; z-index:9999; background:rgba(15,22,28,.94); display:flex; align-items:center; justify-content:center; padding:2rem; }
.wbbw-lb-content { position:relative; max-width:90vw; max-height:90vh; display:flex; flex-direction:column; align-items:center; }
.wbbw-lb-image { max-width:90vw; max-height:82vh; object-fit:contain; border-radius:.25rem; box-shadow:0 8px 40px rgba(0,0,0,.4); }
.wbbw-lb-counter { margin-top:.8rem; color:rgba(255,255,255,.5); font:500 .8rem/1 "Inter",sans-serif; }
.wbbw-lb-close, .wbbw-lb-prev, .wbbw-lb-next { position:fixed; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.08); border:none; color:#fff; cursor:pointer; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.wbbw-lb-close { top:1.5rem; right:1.5rem; transform:none; width:44px; height:44px; font-size:1.5rem; }
.wbbw-lb-prev { left:1rem; width:48px; height:48px; font-size:2rem; }
.wbbw-lb-next { right:1rem; width:48px; height:48px; font-size:2rem; }
.wbbw-lb-close:hover, .wbbw-lb-prev:hover, .wbbw-lb-next:hover { background:rgba(255,255,255,.2); }
@media (max-width:600px) { .wbbw-lb-prev { left:.3rem; } .wbbw-lb-next { right:.3rem; } .wbbw-lb-close { top:.8rem; right:.8rem; } }

.wbbw-year-donate { padding:5rem 1.5rem !important; }
