/* ==========================================================
   Safe Summer Theme — Main Stylesheet
   By Total Web Lab™ · https://totalweblab.com
   Mobile-first. Variables wired to WP Customizer.
   ========================================================== */

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px;-webkit-text-size-adjust:100%}
body{font-family:'Nunito',sans-serif;background:#F8F7FF;color:#1A1040;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ===== SPACING SCALE — for consistent rhythm ===== */
:root{
  --space-xs:.5rem;
  --space-sm:1rem;
  --space-md:1.5rem;
  --space-lg:2rem;
  --space-xl:3rem;
  --space-2xl:4rem;
  --space-3xl:6rem;
  --section-pad:48px 16px;
  --shadow-md:0 4px 12px rgba(26,16,64,.08);
  --shadow-lg:0 12px 32px rgba(26,16,64,.15);
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:20px;
  --radius-xl:28px;
  /* Brand colors set via PHP from Customizer; defaults here */
  --ss-navy:#1A1040;
  --ss-green:#4CAF50;
  --ss-blue:#3B7EE8;
  --ss-purple:#6B2D8B;
  --ss-pink:#FF6B9D;
  --ss-orange:#FF8C00;
  --ss-yellow:#FFD60A;
  --ss-lavender:#C9B1FF;
  --ss-sky:#87CEEB;
  --ss-white:#fff;
  --ss-offwhite:#F8F7FF;
}

.display{font-family:'Fredoka One',sans-serif;font-weight:400;line-height:1.1;letter-spacing:-0.02em}

/* ===== ACCESSIBILITY ===== */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px}
:focus-visible{outline:3px solid var(--ss-yellow);outline-offset:3px}

/* ===== ANNOUNCEMENT BAR ===== */
.ss-announce{background:var(--ss-yellow);color:var(--ss-navy);padding:8px 16px;font-weight:800;font-size:13px;text-align:center;position:relative;overflow:hidden}
.ss-announce-track{display:flex;gap:48px;animation:ss-scroll 30s linear infinite;white-space:nowrap}
.ss-announce-track span{display:inline-flex;align-items:center;gap:8px}
.ss-announce-track span::before{content:"●";color:var(--ss-purple);font-size:10px}
@keyframes ss-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== HEADER ===== */
.ss-header{background:var(--ss-navy);position:sticky;top:0;z-index:100;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.ss-header-inner{max-width:1280px;margin:0 auto;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.ss-logo{display:flex;align-items:center;gap:10px;font-family:'Fredoka One',sans-serif;font-size:20px;color:var(--ss-yellow);letter-spacing:-0.01em}
.ss-logo .custom-logo{max-height:48px;width:auto}
.ss-logo-sun{width:36px;height:36px;background:var(--ss-yellow);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;animation:ss-spin 20s linear infinite}
@keyframes ss-spin{to{transform:rotate(360deg)}}
.ss-logo-text small{display:block;font-family:'Nunito',sans-serif;font-size:10px;font-weight:700;color:#fff;opacity:.7;letter-spacing:.1em;text-transform:uppercase}
.ss-desktop-nav{display:none}
.ss-desktop-nav a{color:#fff;font-weight:700;font-size:14px;padding:8px 4px;position:relative;transition:color .2s}
.ss-desktop-nav a::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--ss-yellow);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.ss-desktop-nav a:hover{color:var(--ss-yellow)}
.ss-desktop-nav a:hover::after{transform:scaleX(1)}
.ss-desktop-nav .ss-nav-list{display:flex;gap:24px;list-style:none;align-items:center}
.ss-header-cta{background:var(--ss-green)!important;color:#fff!important;padding:10px 20px!important;border-radius:999px;font-weight:800;font-size:14px;transition:transform .2s,background .2s}
.ss-header-cta:hover{background:#3d9c40!important;transform:translateY(-2px)}
.ss-header-cta::after{display:none!important}

.ss-burger{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:transparent}
.ss-burger span{width:24px;height:3px;background:#fff;border-radius:2px;transition:all .3s}
.ss-burger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.ss-burger.active span:nth-child(2){opacity:0}
.ss-burger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.ss-mobile-menu{position:fixed;top:0;right:-100%;width:85%;max-width:340px;height:100vh;background:var(--ss-navy);padding:80px 28px 28px;transition:right .4s ease;z-index:99;display:flex;flex-direction:column;gap:8px;box-shadow:-8px 0 24px rgba(0,0,0,.4);overflow-y:auto}
.ss-mobile-menu.open{right:0}
.ss-mobile-menu a{color:#fff;font-weight:700;font-size:18px;padding:14px 16px;border-radius:var(--radius-md);display:flex;align-items:center;gap:12px;transition:background .2s}
.ss-mobile-menu a:hover{background:rgba(255,255,255,.1)}
.ss-mobile-menu .ss-emoji{font-size:22px}
.ss-mobile-menu .ss-mobile-cta{background:var(--ss-green);justify-content:center;margin-top:16px}

/* ===== HERO ===== */
.ss-hero{position:relative;background:linear-gradient(135deg,var(--ss-navy) 0%,var(--ss-purple) 60%,var(--ss-blue) 100%);color:#fff;padding:48px 20px 80px;overflow:hidden}
.ss-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,214,10,.15) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(255,107,157,.15) 0%,transparent 40%);pointer-events:none}
.ss-hero-inner{max-width:1280px;margin:0 auto;position:relative;z-index:2;display:grid;gap:48px}
.ss-hero-content{text-align:center}
.ss-hero-tagline{display:inline-block;background:var(--ss-yellow);color:var(--ss-navy);padding:8px 20px;border-radius:999px;font-weight:900;font-size:13px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:24px;animation:ss-popin .6s ease backwards .2s}
.ss-hero h1{font-family:'Fredoka One',sans-serif;font-size:clamp(40px,9vw,80px);line-height:.95;letter-spacing:-0.03em;margin-bottom:20px;animation:ss-popin .8s ease backwards .3s}
.ss-hero-accent{display:inline-block;background:linear-gradient(120deg,var(--ss-yellow),var(--ss-pink));-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}
.ss-hero-accent::after{content:"✦";position:absolute;top:-8px;right:-32px;font-size:32px;color:var(--ss-yellow);-webkit-text-fill-color:var(--ss-yellow);animation:ss-pulse 2s ease infinite}
@keyframes ss-pulse{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(15deg);opacity:.7}}
@keyframes ss-popin{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.ss-hero-sub{font-size:clamp(16px,2.2vw,20px);font-weight:600;max-width:680px;margin:0 auto 32px;opacity:.95;animation:ss-popin 1s ease backwards .4s}
.ss-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}

/* ===== BUTTONS ===== */
.ss-btn{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;border-radius:999px;font-weight:900;font-size:15px;letter-spacing:.02em;transition:transform .2s,box-shadow .2s;white-space:nowrap;line-height:1}
.ss-btn:hover{transform:translateY(-3px)}
.ss-btn-primary{background:var(--ss-yellow);color:var(--ss-navy);box-shadow:0 6px 20px rgba(255,214,10,.4)}
.ss-btn-primary:hover{box-shadow:0 10px 28px rgba(255,214,10,.5)}
.ss-btn-secondary{background:transparent;color:#fff;border:3px solid #fff;padding:13px 29px}
.ss-btn-secondary:hover{background:#fff;color:var(--ss-navy)}
.ss-btn-secondary.ss-btn-on-light{border-color:#fff;color:#fff}
.ss-btn-dark{background:var(--ss-navy);color:#fff}
.ss-btn-dark:hover{background:#000}

/* ===== COUNTDOWN ===== */
.ss-countdown{background:rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:2px solid rgba(255,214,10,.5);border-radius:var(--radius-xl);padding:28px 24px;max-width:680px;margin:0 auto;animation:ss-popin 1.2s ease backwards .5s}
.ss-countdown-label{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ss-yellow);margin-bottom:8px}
.ss-countdown-label::before,.ss-countdown-label::after{content:"";width:32px;height:2px;background:var(--ss-yellow);opacity:.5}
.ss-countdown-event{font-family:'Fredoka One',sans-serif;font-size:24px;margin-bottom:20px;color:#fff}
.ss-countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ss-countdown-cell{background:rgba(0,0,0,.25);border-radius:var(--radius-md);padding:16px 8px;text-align:center}
.ss-countdown-num{font-family:'Fredoka One',sans-serif;font-size:clamp(28px,7vw,48px);line-height:1;color:var(--ss-yellow);display:block;font-variant-numeric:tabular-nums}
.ss-countdown-unit{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;opacity:.8;margin-top:6px;color:#fff}

/* ===== HERO MEDIA ===== */
.ss-hero-media{position:relative;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:16/10;background:linear-gradient(135deg,var(--ss-pink),var(--ss-yellow),var(--ss-green));display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);max-width:680px;margin:0 auto;border:4px solid rgba(255,255,255,.2)}
.ss-hero-media-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.7) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px}
.ss-hero-media-label{background:rgba(255,255,255,.95);color:var(--ss-navy);font-weight:900;font-size:11px;padding:6px 14px;border-radius:999px;align-self:flex-start;margin-bottom:8px;text-transform:uppercase;letter-spacing:.1em}
.ss-hero-media-text{color:#fff;font-family:'Fredoka One',sans-serif;font-size:clamp(18px,3vw,28px);line-height:1.2}
.ss-play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:88px;height:88px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 32px rgba(0,0,0,.3);transition:transform .3s;z-index:3}
.ss-play-button:hover{transform:translate(-50%,-50%) scale(1.1)}
.ss-play-button::before{content:"";width:0;height:0;border-left:24px solid var(--ss-purple);border-top:16px solid transparent;border-bottom:16px solid transparent;margin-left:6px}
.ss-play-button::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:3px solid rgba(255,255,255,.4);animation:ss-ripple 2s ease infinite}
@keyframes ss-ripple{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.4);opacity:0}}

/* ===== LIVE BANNER ===== */
.ss-live-banner{background:var(--ss-pink);color:#fff;padding:20px;text-align:center;position:relative;overflow:hidden}
.ss-live-banner-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.ss-live-dot{width:12px;height:12px;background:#fff;border-radius:50%;position:relative}
.ss-live-dot::before{content:"";position:absolute;inset:-6px;background:rgba(255,255,255,.4);border-radius:50%;animation:ss-livepulse 1.5s ease infinite}
@keyframes ss-livepulse{0%{transform:scale(.8);opacity:1}100%{transform:scale(2);opacity:0}}
.ss-live-banner strong{font-family:'Fredoka One',sans-serif;font-size:18px;letter-spacing:.02em}
.ss-live-banner-cta{background:#fff;color:var(--ss-pink);padding:8px 18px;border-radius:999px;font-weight:900;font-size:13px;margin-left:8px}

/* ===== STATS ===== */
.ss-stats{background:var(--ss-offwhite);padding:48px 20px;border-bottom:1px solid rgba(26,16,64,.05)}
.ss-stats-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.ss-stat-card{background:#fff;border-radius:var(--radius-lg);padding:28px 20px;text-align:center;border:2px solid transparent;transition:transform .3s,border-color .3s,box-shadow .3s}
.ss-stat-card:hover{transform:translateY(-4px);border-color:var(--ss-purple);box-shadow:var(--shadow-md)}
.ss-stat-num{font-family:'Fredoka One',sans-serif;font-size:clamp(36px,6vw,52px);line-height:1;color:var(--ss-purple);display:block}
.ss-stat-label{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--ss-navy);margin-top:8px;opacity:.7}
.ss-stat-card:nth-child(1) .ss-stat-num{color:var(--ss-green)}
.ss-stat-card:nth-child(2) .ss-stat-num{color:var(--ss-blue)}
.ss-stat-card:nth-child(3) .ss-stat-num{color:var(--ss-pink)}
.ss-stat-card:nth-child(4) .ss-stat-num{color:var(--ss-orange)}

/* ===== SECTION BASE ===== */
section{padding:var(--section-pad)}
.ss-section-inner{max-width:1280px;margin:0 auto}
.ss-section-header{text-align:center;margin-bottom:48px}
.ss-pill{display:inline-block;color:#fff;padding:6px 16px;border-radius:999px;font-weight:900;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.ss-pill-purple{background:var(--ss-purple)}
.ss-pill-pink{background:var(--ss-pink)}
.ss-pill-blue{background:var(--ss-blue)}
.ss-pill-green{background:var(--ss-green)}
.ss-pill-orange{background:var(--ss-orange)}
.ss-pill-dark{background:var(--ss-navy);color:var(--ss-yellow)}
.ss-section-title{font-family:'Fredoka One',sans-serif;font-size:clamp(32px,5vw,52px);line-height:1;letter-spacing:-0.02em;color:var(--ss-navy);margin-bottom:14px}
.ss-section-sub{font-size:17px;font-weight:600;max-width:640px;margin:0 auto;color:var(--ss-navy);opacity:.75}

/* ===== CATEGORIES ===== */
.ss-cat-grid{display:grid;grid-template-columns:1fr;gap:20px}
.ss-cat-card{position:relative;border-radius:var(--radius-lg);padding:28px;color:#fff;overflow:hidden;display:flex;flex-direction:column;gap:16px;min-height:240px;transition:transform .3s,box-shadow .3s;cursor:pointer;border:4px solid transparent;text-decoration:none}
.ss-cat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.ss-cat-card::before{content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;background:rgba(255,255,255,.12);border-radius:50%;transition:transform .4s}
.ss-cat-card:hover::before{transform:scale(1.3)}
.ss-cat-icon{font-size:48px;position:relative;z-index:2}
.ss-cat-card h3{font-family:'Fredoka One',sans-serif;font-size:28px;line-height:1.05;letter-spacing:-0.02em;position:relative;z-index:2}
.ss-cat-card p{font-size:15px;font-weight:600;opacity:.95;position:relative;z-index:2;flex-grow:1}
.ss-cat-tags{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:2}
.ss-cat-tag{background:rgba(0,0,0,.25);padding:4px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.03em}
.ss-cat-cta{display:inline-flex;align-items:center;gap:8px;margin-top:auto;font-weight:900;font-size:14px;position:relative;z-index:2;transition:gap .2s;color:inherit;text-decoration:none}
.ss-cat-card:hover .ss-cat-cta{gap:14px}
.ss-cat-cta::after{content:"→";font-size:18px}
.ss-cat-youth-work{background:var(--ss-green)}
.ss-cat-adult-work{background:var(--ss-blue)}
.ss-cat-signature{background:var(--ss-pink)}
.ss-cat-camps{background:var(--ss-yellow);color:var(--ss-navy)}
.ss-cat-camps .ss-cat-tag{background:rgba(26,16,64,.15);color:var(--ss-navy)}
.ss-cat-late-night{background:var(--ss-purple)}
.ss-cat-featured{grid-column:1/-1;min-height:280px;background:linear-gradient(135deg,var(--ss-blue) 0%,var(--ss-purple) 100%)}
.ss-cat-featured::before{width:240px;height:240px;background:rgba(255,214,10,.2)}
.ss-cat-featured h3{font-size:36px}
.ss-cat-badge{position:absolute;top:20px;right:20px;background:var(--ss-yellow);color:var(--ss-navy);padding:6px 14px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;z-index:3}

/* ===== EVENTS ===== */
.ss-events-bg{background:#fff;border-top:1px solid rgba(26,16,64,.05);border-bottom:1px solid rgba(26,16,64,.05)}
.ss-event-list{display:grid;gap:20px}
.ss-event-card{display:grid;grid-template-columns:auto 1fr;border-radius:var(--radius-lg);overflow:hidden;background:#fff;border:3px solid;transition:transform .3s,box-shadow .3s}
.ss-event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.ss-event-date{padding:20px 18px;text-align:center;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:100px}
.ss-event-day{font-family:'Fredoka One',sans-serif;font-size:42px;line-height:.9}
.ss-event-month{font-family:'Fredoka One',sans-serif;font-size:18px;text-transform:uppercase;margin-bottom:4px}
.ss-event-body{padding:20px 22px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.ss-event-body h4{font-family:'Fredoka One',sans-serif;font-size:22px;line-height:1.1}
.ss-event-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;font-weight:700;margin-top:4px;opacity:.8}
.ss-event-meta span{display:inline-flex;align-items:center;gap:5px}
.ss-event-link{font-weight:900;color:var(--ss-purple);font-size:13px;margin-top:8px;align-self:flex-start}
.ss-event-link:hover{text-decoration:underline}

.ss-event-signature{border-color:var(--ss-pink)}
.ss-event-signature .ss-event-date{background:#9D2954}
.ss-event-signature h4{color:#9D2954}
.ss-event-adult-work{border-color:var(--ss-blue)}
.ss-event-adult-work .ss-event-date{background:#1A3D7C}
.ss-event-adult-work h4{color:#1A3D7C}
.ss-event-late-night{border-color:var(--ss-purple)}
.ss-event-late-night .ss-event-date{background:var(--ss-purple)}
.ss-event-late-night h4{color:var(--ss-purple)}
.ss-event-youth-work{border-color:var(--ss-green)}
.ss-event-youth-work .ss-event-date{background:#2E7D32}
.ss-event-youth-work h4{color:#2E7D32}
.ss-event-camps{border-color:var(--ss-yellow)}
.ss-event-camps .ss-event-date{background:#FFD60A;color:var(--ss-navy)}
.ss-event-camps h4{color:var(--ss-navy)}

/* ===== CERT CALLOUT ===== */
.ss-cert-callout{background:var(--ss-yellow);position:relative;overflow:hidden}
.ss-cert-inner{max-width:1280px;margin:0 auto;display:grid;gap:32px;align-items:center;position:relative;z-index:2}
.ss-cert-content h2{font-family:'Fredoka One',sans-serif;font-size:clamp(28px,5vw,44px);line-height:1;color:var(--ss-navy);margin-bottom:16px;letter-spacing:-0.02em}
.ss-cert-highlight{background:var(--ss-navy);color:var(--ss-yellow);padding:2px 10px;border-radius:6px;display:inline-block}
.ss-cert-content p{font-size:17px;font-weight:700;color:var(--ss-navy);margin-bottom:24px}
.ss-cert-list{list-style:none;display:grid;gap:10px;margin-bottom:28px}
.ss-cert-list li{background:#fff;padding:14px 18px;border-radius:var(--radius-md);font-weight:800;display:flex;align-items:center;gap:12px;color:var(--ss-navy)}
.ss-cert-list li::before{content:"✓";width:28px;height:28px;background:var(--ss-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;flex-shrink:0}
.ss-cert-media{background:linear-gradient(135deg,var(--ss-purple),var(--ss-blue))!important;max-width:none!important;margin:0!important}

/* ===== PARTNERS ===== */
.ss-partners-bg{background:var(--ss-offwhite)}
.ss-partners-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.ss-partner-card{background:#fff;border-radius:var(--radius-md);padding:24px 14px;text-align:center;border:2px solid transparent;transition:border-color .3s,transform .3s;min-height:100px;display:flex;align-items:center;justify-content:center}
.ss-partner-card:hover{border-color:var(--ss-purple);transform:translateY(-2px)}
.ss-partner-card img{max-height:60px;width:auto;object-fit:contain}
.ss-partner-card p{font-weight:800;font-size:13px;color:var(--ss-navy)}

/* ===== CTA ===== */
.ss-cta-section{background:linear-gradient(135deg,var(--ss-pink) 0%,var(--ss-orange) 100%);text-align:center;color:#fff;position:relative;overflow:hidden}
.ss-cta-section::before{content:"☀";position:absolute;top:-40px;right:-40px;font-size:240px;opacity:.1;line-height:1}
.ss-cta-inner{position:relative;z-index:2;max-width:700px;margin:0 auto}
.ss-cta-inner h2{font-family:'Fredoka One',sans-serif;font-size:clamp(32px,5vw,52px);line-height:1;letter-spacing:-0.02em;margin-bottom:14px}
.ss-cta-inner p{font-size:17px;font-weight:700;margin-bottom:28px;opacity:.95}

/* ===== FOOTER ===== */
.ss-footer{background:var(--ss-navy);color:#fff;padding:48px 20px 24px}
.ss-footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:32px}
.ss-footer-brand .ss-logo{margin-bottom:14px}
.ss-footer-brand p{font-size:14px;opacity:.7;line-height:1.6}
.ss-footer-col h5{font-family:'Fredoka One',sans-serif;font-size:16px;color:var(--ss-yellow);margin-bottom:14px}
.ss-footer-col ul{list-style:none}
.ss-footer-col li{margin-bottom:8px}
.ss-footer-col a{font-size:14px;font-weight:600;opacity:.85;transition:opacity .2s,color .2s}
.ss-footer-col a:hover{opacity:1;color:var(--ss-yellow)}
.ss-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;text-align:center;font-size:12px;opacity:.6}

/* ===== EVENT/PROGRAM DETAIL PAGES ===== */
.ss-detail-hero{background:linear-gradient(135deg,var(--ss-navy),var(--ss-purple));color:#fff;padding:48px 20px;text-align:center}
.ss-detail-hero h1{font-family:'Fredoka One',sans-serif;font-size:clamp(32px,5vw,52px);margin-bottom:14px;line-height:1.05}
.ss-detail-body{max-width:820px;margin:0 auto;padding:48px 20px}
.ss-detail-body p{font-size:17px;line-height:1.7;margin-bottom:1.5rem}
.ss-detail-meta{background:var(--ss-offwhite);border-radius:var(--radius-md);padding:24px;margin-bottom:2rem}
.ss-detail-meta dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ss-detail-meta dt{font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.05em;opacity:.7}
.ss-detail-meta dd{font-weight:700;font-size:15px;margin-top:4px}
.ss-detail-flyer{max-width:560px;margin:0 auto 2rem;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}

/* ===== CATEGORY INDEX PAGES ===== */
.ss-cat-hero{padding:48px 20px;text-align:center;color:#fff}
.ss-cat-hero.cat-youth-work{background:linear-gradient(135deg,#2E7D32,var(--ss-green))}
.ss-cat-hero.cat-adult-work{background:linear-gradient(135deg,#1A3D7C,var(--ss-blue))}
.ss-cat-hero.cat-signature{background:linear-gradient(135deg,#9D2954,var(--ss-pink))}
.ss-cat-hero.cat-camps{background:linear-gradient(135deg,#FFD60A,#FF8C00);color:var(--ss-navy)}
.ss-cat-hero.cat-late-night{background:linear-gradient(135deg,var(--ss-purple),var(--ss-navy))}
.ss-cat-hero h1{font-family:'Fredoka One',sans-serif;font-size:clamp(32px,6vw,56px);margin-bottom:14px;line-height:1}
.ss-cat-hero p{font-size:17px;font-weight:700;max-width:680px;margin:0 auto;opacity:.95}

/* ===== EMPTY STATE ===== */
.ss-empty{text-align:center;padding:60px 20px;color:var(--ss-navy);opacity:.6}
.ss-empty p{font-size:17px;font-weight:600}

/* ===== REVEAL ===== */
.ss-reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.ss-reveal.visible{opacity:1;transform:translateY(0)}

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ===== TABLET & DESKTOP ===== */
@media (min-width:640px){
  :root{--section-pad:80px 24px}
  .ss-stats-grid{grid-template-columns:repeat(4,1fr)}
  .ss-partners-grid{grid-template-columns:repeat(3,1fr);gap:18px}
  .ss-cat-grid{grid-template-columns:repeat(2,1fr)}
  .ss-detail-meta dl{grid-template-columns:repeat(4,1fr)}
}
@media (min-width:960px){
  :root{--section-pad:96px 24px}
  .ss-burger{display:none}
  .ss-desktop-nav{display:flex;gap:24px;align-items:center}
  .ss-hero{padding:80px 24px 100px}
  .ss-hero-inner{grid-template-columns:1.1fr 1fr;align-items:center;text-align:left}
  .ss-hero-content{text-align:left}
  .ss-hero-actions{justify-content:flex-start}
  .ss-countdown{margin:0}
  .ss-cat-grid{grid-template-columns:repeat(3,1fr)}
  .ss-cat-featured{grid-column:1/-1}
  .ss-cert-inner{grid-template-columns:1.2fr 1fr}
  .ss-partners-grid{grid-template-columns:repeat(6,1fr)}
  .ss-footer-inner{grid-template-columns:2fr 1fr 1fr 1fr}
}
