/* Street Gonzo TV brand layer: header, menu, LIVE NOW sign and footer (all pages). */
@font-face { font-family:Grotters; src:url('/fonts/grotters/Grotters.woff') format('woff'), url('/fonts/grotters/Grotters.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:block; } /* Commercial license must be bought before launch: fontspace.com/grotters-font-f43426 */
@font-face { font-family:"Roboto Slab"; src:url('/fonts/robotoslab/RobotoSlab-Variable.woff') format('woff'), url('/fonts/robotoslab/RobotoSlab-Variable.ttf') format('truetype'); font-weight:100 900; font-style:normal; font-display:block; }
@font-face { font-family:"Special Elite"; src:url('/fonts/specialelite/SpecialElite-Regular.woff') format('woff'), url('/fonts/specialelite/SpecialElite-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:block; }
:root { --neon:#ff2a1f; --neon-soft:#ff5a45; --neon-glow:0 0 4px rgba(255,42,31,.9), 0 0 12px rgba(255,42,31,.65), 0 0 28px rgba(255,42,31,.4); --slab:"Roboto Slab",Rockwell,serif; --typewriter:"Special Elite","Courier New",Courier,monospace; }

/* Pinned header */
.site-header { position:sticky; top:0; z-index:1030; background:transparent; border-bottom:1px solid rgba(255,42,31,.45); transition:background-color .25s, backdrop-filter .25s; }
/* See-through at the top of the page; turns dark once the page scrolls (or the phone menu opens) so the menu stays readable. */
.site-header.is-scrolled,.site-header:has(.navbar-collapse.show),.site-header:has(.navbar-collapse.collapsing) { background:rgba(5,5,5,.92); backdrop-filter:blur(6px); }
.site-header .site-nav { padding:10px clamp(16px,3vw,36px); gap:24px; align-items:center; flex-wrap:nowrap; }
.brand-logo { padding:0; margin:0; flex:0 0 auto; }
.brand-logo img { width:150px; height:auto; filter:drop-shadow(0 0 6px rgba(255,42,31,.35)); }
/* Hovering the logo turns "TV" white with a little electric zap (Gary, Nov 5). No sound. */
.brand-logo { position:relative; display:inline-block; }
.brand-logo img.brand-logo-tv { position:absolute; left:0; top:0; opacity:0; pointer-events:none; filter:drop-shadow(0 0 4px rgba(255,255,255,.85)) drop-shadow(0 0 10px rgba(160,230,255,.55)); transition:opacity .12s; }
.brand-logo-zap { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
/* Yellow lightning with a white-hot core (Gary, Nov 6). */
.brand-logo-zap path { fill:none; stroke:#fffbe0; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 2px #ffe94a) drop-shadow(0 0 5px rgba(255,214,0,.95)) drop-shadow(0 0 10px rgba(255,190,0,.6)); opacity:0; }
.brand-logo:hover img.brand-logo-tv, .brand-logo:focus-visible img.brand-logo-tv { opacity:1; animation:logo-tv-flicker .55s steps(1) 1; }
.brand-logo:hover .brand-logo-zap path, .brand-logo:focus-visible .brand-logo-zap path { animation:logo-zap 1.4s steps(1) infinite; }
.brand-logo:hover .brand-logo-zap path:nth-child(2), .brand-logo:focus-visible .brand-logo-zap path:nth-child(2) { animation-delay:.35s; }
.brand-logo:hover .brand-logo-zap path:nth-child(3), .brand-logo:focus-visible .brand-logo-zap path:nth-child(3) { animation-delay:.8s; }
.brand-logo:hover .brand-logo-zap path:nth-child(4), .brand-logo:focus-visible .brand-logo-zap path:nth-child(4) { animation-delay:1.05s; }
@keyframes logo-tv-flicker { 0% { opacity:0; } 12% { opacity:1; } 24% { opacity:.15; } 36% { opacity:1; } 60% { opacity:.55; } 72%, 100% { opacity:1; } }
@keyframes logo-zap { 0%, 100% { opacity:0; } 3% { opacity:1; } 7% { opacity:0; } 10% { opacity:.85; } 14% { opacity:0; } }
@media (prefers-reduced-motion: reduce) { .brand-logo:hover img.brand-logo-tv, .brand-logo:hover .brand-logo-zap path { animation:none; } }
.site-header .navbar-collapse { justify-content:space-between; gap:24px; }

/* Neon menu */
.site-header .primary-links { gap:clamp(10px,1.6vw,26px); flex-wrap:wrap; font-size:inherit; font-weight:400; }
.site-header .primary-links a:not(.btn) { font-family:Grotters,Anton,Impact,sans-serif; font-size:clamp(1.25rem,1.9vw,1.75rem); line-height:1; color:#ff4433; text-shadow:var(--neon-glow); padding:8px 2px; transition:color .15s, text-shadow .15s, transform .15s; }
.site-header .primary-links a:not(.btn):hover,.site-header .primary-links a:not(.btn):focus-visible,.site-header .primary-links a[aria-current="page"] { color:#fff3ee; text-shadow:0 0 3px #fff, 0 0 10px var(--neon), 0 0 24px var(--neon), 0 0 46px var(--neon); }
.site-header .primary-links a.admin-link { font-family:Arial,Helvetica,sans-serif; font-size:.75rem; font-weight:700; color:var(--muted); text-shadow:none; }

/* Sign in / Join */
.site-header .account-links { gap:12px; font-size:.8rem; }
.site-header .account-links .btn { min-height:36px; padding:6px 14px; font-family:Arial,Helvetica,sans-serif; font-weight:600; border-radius:4px; }
.site-header .account-links .btn-outline-primary { --bs-btn-border-color:#555; --bs-btn-color:#eee; display:inline-flex; align-items:center; gap:8px; }
.site-header .account-links .btn-outline-primary::before { content:""; width:16px; height:16px; background:url('/images/home/skull.svg') center/contain no-repeat; }
.site-header .account-links .btn-primary { --bs-btn-bg:transparent; --bs-btn-color:#fff; --bs-btn-border-color:var(--neon); --bs-btn-hover-bg:var(--neon); --bs-btn-hover-color:#000; --bs-btn-hover-border-color:var(--neon); box-shadow:0 0 8px rgba(255,42,31,.55), inset 0 0 6px rgba(255,42,31,.35); }

/* LIVE NOW sign: dark (links to /Live) until a broadcast is on air, then lit and linked to the stream (brand.js checks /api/live/on-air). */
.live-sign.live-sign-bar { display:none; }
.live-sign { position:absolute; right:clamp(16px,3vw,36px); top:100%; margin-top:10px; display:block; width:clamp(110px,10vw,150px); text-decoration:none; }
.live-sign img { width:100%; height:auto; opacity:.22; filter:grayscale(1); transition:opacity .2s, filter .2s; }
.live-sign.is-live img { opacity:1; filter:brightness(0) saturate(100%) invert(27%) sepia(97%) saturate(4840%) hue-rotate(353deg) brightness(104%) contrast(108%) drop-shadow(0 0 6px rgba(255,42,31,.95)) drop-shadow(0 0 16px rgba(255,42,31,.7)); }
.live-sign.is-live { animation:live-hum 2.4s ease-in-out infinite; }
/* A box around LIVE NOW so it stands out a little more (Gary, Nov 5). The sign keeps its size, font and behaviour:
   a quiet grey box while off air, a red glowing box while live. */
.live-sign { box-sizing:content-box; padding:7px 12px; border:1px solid rgba(255,255,255,.3); border-radius:6px; background:rgba(0,0,0,.45); }
.live-sign.is-live { border-color:#ff2a1f; box-shadow:0 0 10px rgba(255,42,31,.6), inset 0 0 10px rgba(255,42,31,.25); }
@keyframes live-hum { 50% { opacity:.86; } }

/* Phone and tablet menu */
.site-header .navbar-toggler { border:1px solid var(--neon); border-radius:4px; box-shadow:0 0 8px rgba(255,42,31,.5); margin-left:auto; }
@media (max-width: 991.98px) {
    .site-header .site-nav { flex-wrap:wrap; }
    .brand-logo img { width:110px; }
    .site-header .navbar-collapse { flex-basis:100%; }
    .site-header .primary-links { flex-direction:column; align-items:flex-end; gap:4px; padding:12px 0; }
    .site-header .account-links { justify-content:flex-end; }
    .site-header .primary-links a:not(.btn) { font-size:1.9rem; }
    .site-header .account-links { margin:0 0 16px; }
    /* Centred in the phone header (Gary, Nov 6). */
    .live-sign { top:40px; left:50%; right:auto; transform:translateX(-50%); margin:0; width:96px; }
}
@media (prefers-reduced-motion: reduce) { .live-sign.is-live { animation:none; } }

/* Footer */
.site-footer { background:#050505; border-top:1px solid rgba(255,42,31,.5); }
.site-footer .footer-bottom { padding-top:26px; padding-bottom:30px; }
.site-footer .footer-copyright { font-family:Anton,Impact,sans-serif; font-size:1.05rem; letter-spacing:.02em; color:#ff4433; text-shadow:var(--neon-glow); }
.site-footer .footer-bottom { border-top:0; color:#ccc; }
.site-footer .footer-bottom nav { flex-wrap:wrap; gap:6px 18px; }
.site-footer .footer-bottom nav a { color:#ff4433; font-weight:700; letter-spacing:.04em; text-transform:uppercase; text-shadow:0 0 6px rgba(255,42,31,.6); }
.site-footer .footer-bottom nav a:hover { color:#fff; }

/* Contact and Hire us pop-ups (and the /Contact fallback page) */
.outreach-dialog { width:min(720px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); padding:0; border:2px solid var(--neon); border-radius:8px; background:#0b0b0b; color:#eee; box-shadow:0 0 18px rgba(255,42,31,.55), 0 20px 60px rgba(0,0,0,.8); }
.outreach-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(3px); }
.outreach-dialog[data-form="hire"] { width:min(920px,calc(100vw - 24px)); }
.outreach-body { padding:28px clamp(18px,4vw,40px) 32px; overflow:auto; max-height:calc(100dvh - 36px); }
.outreach-close { position:absolute; top:8px; right:10px; width:44px; height:44px; border:0; background:none; color:#ff4433; font-size:2rem; line-height:1; text-shadow:var(--neon-glow); cursor:pointer; z-index:1; }
.outreach-close:hover,.outreach-close:focus-visible { color:#fff; }
.outreach-title { font-family:Anton,Impact,sans-serif; font-size:clamp(1.8rem,4vw,2.6rem); color:#ff4433; text-shadow:var(--neon-glow); margin:0 40px 6px 0; }
.outreach-intro { color:#ccc; font-size:.9rem; margin:0 0 18px; }
.outreach-form { display:grid; gap:14px; }
.outreach-field { display:grid; gap:6px; font-size:.85rem; font-weight:700; color:#eee; }
.outreach-optional { font-weight:400; color:#999; }
.outreach-field input,.outreach-field textarea { width:100%; padding:10px 12px; font:inherit; font-weight:400; font-size:1rem; color:#fff; background:#151515; border:1px solid #444; border-radius:4px; }
.outreach-field input:focus,.outreach-field textarea:focus { outline:none; border-color:var(--neon); box-shadow:0 0 8px rgba(255,42,31,.55); }
.outreach-error { min-height:0; font-size:.8rem; font-weight:700; color:#ff8a7a; }
.outreach-error:empty { display:none; }
.outreach-status { margin:0; padding:10px 12px; border:1px solid #ff4433; border-radius:4px; background:rgba(255,42,31,.12); color:#ffd6cf; font-size:.9rem; }
.outreach-group { border:1px solid #333; border-radius:6px; padding:14px 16px 16px; margin:0; display:grid; gap:12px; }
.outreach-group legend { float:none; width:auto; padding:0 6px; margin:0; font-family:Anton,Impact,sans-serif; font-size:1.15rem; letter-spacing:.02em; color:#ff4433; }
.outreach-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px 20px; }
.outreach-choices { display:grid; gap:6px; font-size:.9rem; }
.outreach-choices > p { margin:0; font-size:.85rem; font-weight:700; color:#eee; }
.outreach-choices label { display:flex; gap:8px; align-items:flex-start; color:#ddd; line-height:1.35; cursor:pointer; }
.outreach-choices input { margin-top:3px; accent-color:#ff3b2b; }
.outreach-submit { justify-self:start; min-height:48px; padding:10px 32px; border:2px solid var(--neon); border-radius:6px; background:rgba(20,0,0,.55); color:#fff; font-weight:700; font-size:1.05rem; box-shadow:0 0 8px rgba(255,42,31,.75), inset 0 0 8px rgba(255,42,31,.45); cursor:pointer; transition:background .15s, color .15s; }
.outreach-submit:hover,.outreach-submit:focus-visible { background:var(--neon); color:#000; }
.outreach-submit:disabled,.submit-button:disabled { opacity:.6; cursor:progress; }
.outreach-done,.outreach-sent { margin:0; padding:28px 12px; text-align:center; font-family:Anton,Impact,sans-serif; font-size:clamp(1.6rem,4vw,2.4rem); color:#ff4433; text-shadow:var(--neon-glow); }
.outreach-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-page { max-width:920px; margin:0 auto; display:grid; gap:40px; }
.outreach-panel { padding:24px clamp(16px,4vw,36px); border:1px solid #333; border-radius:8px; background:rgba(10,10,10,.85); }

/* Donation pop-up (and /Donate): amount chips, then Stripe. */
.donate-form { display:grid; gap:14px; }
.donate-amounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; border:0; padding:0; margin:0; }
.donate-amount { position:relative; cursor:pointer; }
.donate-amount input { position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.donate-amount span { display:flex; align-items:center; justify-content:center; min-height:54px; border:2px solid var(--neon); border-radius:6px; background:rgba(20,0,0,.55); font-family:Anton,Impact,sans-serif; font-size:1.4rem; color:#ff4433; text-shadow:0 0 6px rgba(255,42,31,.8); box-shadow:0 0 8px rgba(255,42,31,.6), inset 0 0 8px rgba(255,42,31,.35); transition:background .15s, color .15s; }
.donate-amount input:checked + span { background:var(--neon); color:#000; text-shadow:none; box-shadow:0 0 14px rgba(255,42,31,1), 0 0 30px rgba(255,42,31,.6); }
.donate-amount input:focus-visible + span { outline:2px solid #fff; outline-offset:2px; }
.donate-dollar { display:flex; align-items:center; gap:8px; font-size:1.2rem; font-weight:400; }
.donate-dollar input { max-width:180px; }
.donate-note { margin:0; color:#999; font-size:.8rem; }
.donate-panel { margin:18px 0; }
/* Thank-you page after Stripe */
.donate-thanks { max-width:1200px; margin:0 auto; display:grid; gap:18px; justify-items:center; text-align:center; }
.donate-thanks-image { width:100%; height:auto; border:2px solid var(--neon); border-radius:6px; box-shadow:0 0 18px rgba(255,42,31,.7), 0 0 50px rgba(255,42,31,.35); }
.donate-thanks-note { margin:0; color:#ddd; font-family:var(--typewriter); }
.donate-thanks-links { display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:center; }
.donate-thanks-links .outreach-submit { text-decoration:none; display:inline-flex; align-items:center; }
.donate-thanks-home { color:#ff6a5a; }
.outreach-dialog[data-form="donate"] { width:min(480px,calc(100vw - 24px)); }

/* 10-second hover previews on film covers (desktop mouse only); clicks still go to the film. */
.hover-preview { position:absolute; inset:0; width:100%; height:100%; border:0; pointer-events:none; opacity:0; transition:opacity .35s; background:#000; }
.hover-preview.is-ready { opacity:1; }
@media (prefers-reduced-motion: reduce) { .hover-preview { transition:none; } }
.donate-recent { margin:0; font-family:var(--typewriter); font-size:.85rem; color:#ddd; }
.donate-recent a { display:block; margin-top:4px; color:#ff6a5a; font-family:Arial,Helvetica,sans-serif; font-size:.8rem; }

/* "Coming soon" films: listed with their free trailer before the full film is out. */
.coming-soon-tag { display:inline-block; padding:3px 8px; border-radius:3px; background:var(--neon); color:#000; font:700 .7rem Arial,Helvetica,sans-serif; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 0 10px rgba(255,42,31,.7); }
.tile-tag { position:absolute; z-index:2; top:8px; left:8px; }
.watch-coming-soon { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 14px; color:#ddd; }

/* Header Contact dropdown: Email SGHQ / Hire Us / Submit Tip (each opens its pop-up form). */
.site-header .nav-dropdown { position:relative; display:inline-flex; }
.site-header .nav-dropdown-menu { position:absolute; left:50%; top:100%; transform:translateX(-50%); z-index:1040; display:none; min-width:190px; padding:8px; background:rgba(8,8,8,.96); border:1px solid rgba(255,42,31,.6); border-radius:8px; box-shadow:0 0 22px rgba(255,42,31,.35); }
.site-header .nav-dropdown:hover .nav-dropdown-menu, .site-header .nav-dropdown:focus-within .nav-dropdown-menu { display:grid; gap:2px; }
.site-header .primary-links .nav-dropdown-menu a:not(.btn) { display:block; padding:9px 12px; border-radius:6px; font:700 .95rem Arial,Helvetica,sans-serif; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; color:#fff; text-shadow:none; }
.site-header .primary-links .nav-dropdown-menu a:not(.btn):hover, .site-header .primary-links .nav-dropdown-menu a:not(.btn):focus-visible { background:rgba(255,42,31,.18); color:#ff6a5a; text-shadow:none; }
@media (max-width:991px) {
  /* Contact lines up on the right like the other menu items. */
  .site-header .nav-dropdown { display:block; text-align:right; }
  /* Phones: Contact is just a link to the Contact page; the three options aren't listed under it (Gary, Nov 5). */
  .site-header .nav-dropdown-menu, .site-header .nav-dropdown:hover .nav-dropdown-menu, .site-header .nav-dropdown:focus-within .nav-dropdown-menu { display:none; }
}
/* Tip form inside the pop-up (the homepage version lives in home.css). */
.outreach-dialog .tips-dialog { text-align:center; padding:4px 0; }
.outreach-dialog .tips-form { display:grid; gap:12px; justify-items:center; }
.outreach-dialog .tips-form > .tips-select, .outreach-dialog .tips-form > .tips-message, .outreach-dialog .tips-form > .tips-files, .outreach-dialog .tips-form > .tips-privacy, .outreach-dialog .tips-form > .outreach-status, .outreach-dialog .tips-form > .outreach-error { width:100%; }
.outreach-dialog .tips-select, .outreach-dialog .tips-message { padding:12px 16px; font-size:1rem; color:#eee; background:rgba(0,0,0,.6); border:3px double #bbb; border-radius:2px; }
.outreach-dialog .tips-message { min-height:120px; resize:vertical; }
.outreach-dialog .tips-files { display:grid; gap:6px; text-align:left; font-size:.85rem; color:#ddd; }
.outreach-dialog .tips-files input::file-selector-button { margin-right:10px; padding:6px 12px; border:1px solid #ff3b2b; border-radius:4px; background:rgba(60,0,0,.5); color:#fff; cursor:pointer; }
.outreach-dialog .tips-privacy { margin:0; text-align:left; font-size:.75rem; color:#aaa; }

/* Wider pages and LIVE NOW in the header bar (Gary, Oct 31). On laptops and desktops the content column uses the screen
   instead of stopping at 1320px; reading pages keep their own text width. */
@media (min-width: 992px) {
    .container { max-width:min(1800px, 100%); padding-left:clamp(20px, 2vw, 32px); padding-right:clamp(20px, 2vw, 32px); }
    body.community-fit main.page-main { max-width:min(1800px, 100%); }
    /* LIVE NOW sits in the header bar, centred in the gap between the menu and Sign in / Join. */
    .live-sign:not(.live-sign-bar) { display:none; }
    .site-header .live-sign.live-sign-bar { display:block; position:static; margin:0 auto; flex:none; width:clamp(104px, 8vw, 150px); }
}

/* Donation footer on every page, built from Gary's Nov 6 mockups.
   Desktop: heading and buttons on one line, then © · his line · tagline on one line. Phones: heading, short line,
   cyan Donate + green Sponsor, then © and the tagline. */
.site-footer.donate-footer { --cyan:#19f0ff; --green:#2fd866; --gold:#ffc83d; background:#050505; border-top:1px solid rgba(255,42,31,.5); padding:22px 0 18px; }
.donate-footer .fund-section { display:grid; grid-template-columns:auto auto; justify-content:center; align-items:center; gap:10px 36px; }
.donate-footer .fund-section h2 { grid-column:1; grid-row:1; margin:0; font-family:Anton,Impact,"Arial Narrow",sans-serif; font-size:clamp(2rem,3.4vw,3rem); line-height:1; color:#ff4433; text-shadow:var(--neon-glow); letter-spacing:.01em; white-space:nowrap; }
.donate-footer .fund-short, .donate-footer .fund-phone { display:none; }
.donate-footer .fund-buttons { grid-column:2; grid-row:1; display:flex; align-items:center; gap:10px; margin:0; }
.donate-footer .neon-box { display:inline-flex; align-items:center; justify-content:center; min-width:58px; min-height:46px; padding:6px 12px; border:2px solid var(--neon); border-radius:6px; background:rgba(20,0,0,.55); font:400 1.25rem Anton,Impact,sans-serif; color:#ff4433; text-shadow:0 0 6px rgba(255,42,31,.8); text-decoration:none; box-shadow:0 0 10px rgba(255,42,31,.55), inset 0 0 8px rgba(255,42,31,.25); cursor:pointer; }
.donate-footer .neon-box:hover, .donate-footer .neon-box:focus-visible { background:var(--neon); color:#000; text-shadow:none; box-shadow:0 0 14px rgba(255,42,31,1), 0 0 34px rgba(255,42,31,.7); }
/* Cyan box: reads "Donate"; type any amount and press Enter or the arrow. */
.donate-footer .fund-custom { width:136px; margin-left:8px; padding:0 6px; border-color:var(--cyan); background:rgba(0,18,22,.6); color:var(--cyan); text-shadow:0 0 6px rgba(25,240,255,.8); box-shadow:0 0 10px rgba(25,240,255,.55), inset 0 0 8px rgba(25,240,255,.25); cursor:text; }
.donate-footer .fund-custom:hover, .donate-footer .fund-custom:focus-within { background:rgba(0,18,22,.85); color:var(--cyan); text-shadow:0 0 6px rgba(25,240,255,.8); box-shadow:0 0 14px rgba(25,240,255,1), 0 0 30px rgba(25,240,255,.55); }
.donate-footer .fund-custom input { flex:1 1 auto; width:100%; min-width:0; height:auto; padding:0; border:0 !important; outline:0; border-radius:0; box-shadow:none !important; background:transparent !important; -webkit-appearance:none; appearance:none; color:#eaffff; text-align:center; font:400 1.25rem Anton,Impact,sans-serif; letter-spacing:.02em; }
.donate-footer .fund-custom input::placeholder { color:var(--cyan); opacity:1; }
.donate-footer .fund-custom input:focus::placeholder { color:rgba(25,240,255,.45); }
.donate-footer .fund-custom-go { display:none; flex:none; width:32px; height:32px; border:0; border-radius:4px; background:transparent; color:var(--cyan); font-size:1.2rem; line-height:1; cursor:pointer; }
.donate-footer .fund-custom:has(input:not(:placeholder-shown)) .fund-custom-go { display:block; }
.donate-footer .fund-custom-go:hover, .donate-footer .fund-custom-go:focus-visible { background:var(--cyan); color:#001316; }
.donate-footer .fund-sponsor, .donate-footer .fund-donate { width:136px; }
.donate-footer .fund-buttons { gap:14px; }
.donate-footer .fund-buttons .neon-box { width:auto; min-width:0; padding:6px 16px; font-size:1.15rem; white-space:nowrap; }
.donate-footer .fund-give { margin-right:10px; }
/* Contact buttons use the Switchboard's colours (Nov 6). */
.donate-footer .fund-email { border-color:var(--cyan); background:rgba(0,18,22,.6); color:var(--cyan); text-shadow:0 0 6px rgba(25,240,255,.8); box-shadow:0 0 10px rgba(25,240,255,.55), inset 0 0 8px rgba(25,240,255,.25); }
.donate-footer .fund-email:hover, .donate-footer .fund-email:focus-visible { background:var(--cyan); color:#001316; text-shadow:none; }
.donate-footer .fund-hire { border-color:var(--green); background:rgba(0,22,6,.55); color:var(--green); text-shadow:0 0 6px rgba(47,216,102,.8); box-shadow:0 0 10px rgba(47,216,102,.55), inset 0 0 8px rgba(47,216,102,.25); }
.donate-footer .fund-tip { border-color:#ff2a1f; background:rgba(20,0,0,.55); color:#ff4433; }
.donate-footer .fund-give { background:#ff2a1f; color:#120000; text-shadow:none; }
.donate-footer .fund-give:hover, .donate-footer .fund-give:focus-visible { background:#ff5a4d; color:#000; }
.donate-footer .fund-hire:hover, .donate-footer .fund-hire:focus-visible { background:var(--green); color:#001a06; text-shadow:none; }
.donate-footer .fund-phone .fund-sponsor { width:auto; }
.donate-footer .fund-sponsor { border-color:var(--gold); background:rgba(24,18,0,.55); color:var(--gold); text-shadow:0 0 6px rgba(255,200,61,.8); box-shadow:0 0 10px rgba(255,200,61,.5), inset 0 0 8px rgba(255,200,61,.22); }
.donate-footer .fund-sponsor:hover, .donate-footer .fund-sponsor:focus-visible { background:var(--gold); color:#1a1200; text-shadow:none; }
.donate-footer .fund-donate { border-color:var(--cyan); background:rgba(0,18,22,.6); color:var(--cyan); text-shadow:0 0 6px rgba(25,240,255,.8); box-shadow:0 0 10px rgba(25,240,255,.55), inset 0 0 8px rgba(25,240,255,.25); }
.donate-footer .fund-donate:hover, .donate-footer .fund-donate:focus-visible { background:var(--cyan); color:#001316; text-shadow:none; box-shadow:0 0 14px rgba(25,240,255,1), 0 0 34px rgba(25,240,255,.6); }
.donate-footer .fund-section .footer-fine { grid-column:1 / -1; grid-row:2; display:flex; justify-content:center; align-items:baseline; flex-wrap:wrap; gap:6px 36px; margin:8px 0 0; padding:0; border:0; font-size:.88rem; color:#8a8a8a; }
.donate-footer .fund-long { color:#eee; font-size:.95rem; }
.donate-footer .footer-fine .footer-copyright { font-size:.85rem; }
.donate-footer > .footer-fine { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; padding:0 12px; color:#8a8a8a; font-size:.78rem; }
.donate-footer .fund-section .footer-fine { max-width:none; }
/* Desktop (Gary, Nov 7): edge to edge. "Fund the next story." far left, his line in the middle, the buttons far right;
   the copyright and tagline sit under the two ends. The fine-print paragraph dissolves into the grid so its pieces can be placed. */
@media (min-width:1000px) {
  .donate-footer > .container { max-width:none; padding-inline:clamp(16px,2.4vw,40px); }
  .donate-footer .fund-section { grid-template-columns:auto minmax(0,1fr) auto; justify-content:stretch; gap:8px 24px; }
  .donate-footer .fund-section h2 { grid-column:1; grid-row:1; }
  .donate-footer .fund-buttons { grid-column:3; grid-row:1; justify-self:end; }
  .donate-footer .fund-section .footer-fine { display:contents; }
  .donate-footer .fund-long { grid-column:2; grid-row:1; justify-self:center; max-width:56ch; font-size:.9rem; text-align:center; line-height:1.4; }
  .donate-footer .footer-copyright { grid-column:1; grid-row:2; justify-self:start; }
  .donate-footer .footer-tagline { grid-column:3; grid-row:2; justify-self:end; }
}
/* Not enough room for the line between them: it moves under, between the copyright and the tagline. */
@media (min-width:1000px) and (max-width:1279px) {
  .donate-footer .fund-section h2 { grid-column:1 / 3; }
  .donate-footer .fund-long { grid-row:2; }
}
@media (max-width:999px) and (min-width:768px) {
  .donate-footer .fund-section { grid-template-columns:auto; justify-items:center; }
  .donate-footer .fund-buttons { grid-column:1; grid-row:2; }
  .donate-footer .fund-section .footer-fine { grid-row:3; }
}
@media (max-width:767px) {
  .site-footer.donate-footer { padding:24px 0 20px; }
  .donate-footer .fund-section { display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; }
  /* Phones (Gary, Nov 7): no "Fund the next story." or "Every dollar goes to the reporting." — too long. */
  .donate-footer .fund-section h2, .donate-footer .fund-short { display:none; }
  .donate-footer .fund-buttons, .donate-footer .fund-long { display:none; }
  .donate-footer .fund-phone { display:grid; grid-template-columns:1fr 1fr; gap:16px; width:min(100%,420px); margin:0 0 12px; }
  .donate-footer .fund-phone .neon-box { width:auto; min-height:52px; font-size:1.35rem; }
  .donate-footer .fund-contact { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
  .donate-footer .fund-contact .neon-box { min-height:42px; padding:4px 6px; font-size:1rem; }
  .donate-footer .fund-section .footer-fine { gap:6px 40px; margin:0; }
}
