/* =========================================================
   SNS LEAGUE HUB 2.0
   PHASE 6A - VISUAL & MEDIA UPGRADE
   Uses the user-approved SNS logo/backdrop asset pack.
   ========================================================= */

:root{
  --sns-gtp:#20c7ff;
  --sns-gtd-pro:#ff3f9d;
  --sns-gtd:#d6ef49;
}

/* ---------- Main brand ---------- */
.site-header{
  background:rgba(8,11,16,.94) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.075);
}

.brand{
  gap:10px !important;
}

.sns-brand-logo{
  width:72px;
  height:50px;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
  filter:drop-shadow(0 5px 14px rgba(0,0,0,.35));
}

.brand > span:last-child{
  min-width:0;
}

.brand strong{
  letter-spacing:.03em;
}

footer{
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 15% 40%,rgba(32,199,255,.06),transparent 24%),
    radial-gradient(circle at 85% 40%,rgba(230,57,70,.07),transparent 28%),
    #0a0d12;
}

/* ---------- Hero foundation ---------- */
.page-home .hero,
.page-championship .page-hero,
.page-raceweekend .page-hero,
.page-results .page-hero,
.page-drivers .page-hero,
.page-drivers .driver2-hero,
.page-rules .rules-page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:#0d1118;
  background-repeat:no-repeat;
  background-size:cover;
}

.page-home .hero::before,
.page-championship .page-hero::before,
.page-raceweekend .page-hero::before,
.page-results .page-hero::before,
.page-drivers .page-hero::before,
.page-drivers .driver2-hero::before,
.page-rules .rules-page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
}

.page-home .hero .content-inner,
.page-championship .page-hero .content-inner,
.page-raceweekend .page-hero .content-inner,
.page-results .page-hero .content-inner,
.page-drivers .page-hero .content-inner,
.page-drivers .driver2-hero .content-inner,
.page-rules .rules-page-hero .content-inner{
  position:relative;
  z-index:2;
}

/* ---------- Home ---------- */
.page-home .hero{
  min-height:470px;
  display:flex;
  align-items:center;
  background-image:url("sns_backdrop_home.webp");
  background-position:center 58%;
}

.page-home .hero::before{
  background:
    linear-gradient(90deg,
      rgba(8,11,17,.97) 0%,
      rgba(8,11,17,.88) 33%,
      rgba(8,11,17,.53) 58%,
      rgba(8,11,17,.18) 100%),
    linear-gradient(0deg,rgba(8,11,17,.70),transparent 54%);
}

.page-home .hero::after{
  content:"";
  position:absolute;
  z-index:1;
  right:6%;
  top:50%;
  width:min(330px,27vw);
  height:250px;
  transform:translateY(-50%);
  background:url("sns_visual_primary.webp") center/contain no-repeat;
  opacity:.56;
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.48));
  pointer-events:none;
}

.page-home .hero h1{
  text-shadow:0 4px 25px rgba(0,0,0,.50);
}

.page-home .hero p{
  max-width:650px;
}

/* ---------- Championship ---------- */
.page-championship .page-hero{
  min-height:330px;
  background-image:url("sns_backdrop_championship.webp");
  background-position:center 57%;
}

.page-championship .page-hero::before{
  background:
    linear-gradient(90deg,rgba(8,11,17,.94),rgba(8,11,17,.73) 45%,rgba(8,11,17,.30)),
    linear-gradient(0deg,rgba(8,11,17,.62),transparent 55%);
}

.page-championship .page-hero::after{
  content:"";
  position:absolute;
  right:5%;
  top:50%;
  width:min(330px,26vw);
  height:220px;
  transform:translateY(-50%);
  background:url("sns_visual_red.webp") center/contain no-repeat;
  opacity:.35;
  z-index:1;
  pointer-events:none;
}

/* ---------- Race Weekend ---------- */
.page-raceweekend .page-hero{
  min-height:355px;
  background-image:url("sns_backdrop_race_weekend.webp");
  background-position:center 55%;
}

.page-raceweekend .page-hero::before{
  background:
    linear-gradient(90deg,rgba(8,11,17,.96),rgba(8,11,17,.72) 43%,rgba(8,11,17,.26)),
    linear-gradient(0deg,rgba(8,11,17,.68),transparent 58%);
}

.page-raceweekend .page-hero::after{
  content:"";
  position:absolute;
  right:6%;
  top:51%;
  width:min(285px,23vw);
  height:235px;
  transform:translateY(-50%);
  background:url("sns_visual_crest.webp") center/contain no-repeat;
  opacity:.30;
  z-index:1;
  pointer-events:none;
}

/* ---------- Results ---------- */
.page-results .page-hero{
  min-height:290px;
  background-image:url("sns_backdrop_home.webp");
  background-position:center 63%;
}

.page-results .page-hero::before{
  background:
    linear-gradient(90deg,rgba(8,11,17,.96),rgba(8,11,17,.78) 50%,rgba(8,11,17,.46)),
    linear-gradient(0deg,rgba(8,11,17,.70),transparent 54%);
}

/* ---------- Drivers / profiles ---------- */
.page-drivers .page-hero,
.page-drivers .driver2-hero{
  background-image:url("sns_backdrop_championship.webp");
  background-position:center 62%;
}

.page-drivers .page-hero::before,
.page-drivers .driver2-hero::before{
  background:
    linear-gradient(90deg,rgba(8,11,17,.96),rgba(8,11,17,.80) 48%,rgba(8,11,17,.48)),
    linear-gradient(0deg,rgba(8,11,17,.74),transparent 54%);
}

.page-drivers .driver2-number-wrap{
  background:
    linear-gradient(145deg,rgba(32,199,255,.14),rgba(230,57,70,.07)),
    rgba(11,15,22,.82) !important;
  backdrop-filter:blur(8px);
}

/* ---------- Rules ---------- */
.page-rules .rules-page-hero{
  min-height:310px;
  background:
    radial-gradient(circle at 78% 38%,rgba(255,63,157,.11),transparent 30%),
    radial-gradient(circle at 28% 25%,rgba(32,199,255,.08),transparent 31%),
    linear-gradient(135deg,#111722,#080b10 72%);
}

.page-rules .rules-page-hero::before{
  background:linear-gradient(90deg,rgba(8,11,17,.93),rgba(8,11,17,.66),rgba(8,11,17,.42));
}

.page-rules .rules-page-hero::after{
  content:"" !important;
  position:absolute !important;
  right:6% !important;
  bottom:auto !important;
  top:50% !important;
  width:min(330px,27vw) !important;
  height:225px !important;
  transform:translateY(-50%) !important;
  background:url("sns_visual_neon.webp") center/contain no-repeat !important;
  opacity:.34 !important;
  font-size:0 !important;
  letter-spacing:0 !important;
  line-height:1 !important;
  z-index:1 !important;
  pointer-events:none !important;
}

/* ---------- Class identity ---------- */
.class-badge.gtp{
  color:#b9efff !important;
  border-color:rgba(32,199,255,.48) !important;
  background:rgba(32,199,255,.12) !important;
  box-shadow:inset 0 0 20px rgba(32,199,255,.045);
}

.class-badge.gtd-pro{
  color:#ffc2df !important;
  border-color:rgba(255,63,157,.50) !important;
  background:rgba(255,63,157,.12) !important;
  box-shadow:inset 0 0 20px rgba(255,63,157,.045);
}

.class-badge.gtd{
  color:#efffb3 !important;
  border-color:rgba(214,239,73,.47) !important;
  background:rgba(214,239,73,.10) !important;
  box-shadow:inset 0 0 20px rgba(214,239,73,.04);
}

/* ---------- Cards / depth ---------- */
.leader-card,
.feature-card,
.event-card,
.round-card,
.profile2-panel,
.weekend-link-card,
.weekend-next-card{
  box-shadow:0 16px 42px rgba(0,0,0,.15);
}

.content-section.alt{
  background:
    linear-gradient(180deg,rgba(255,255,255,.012),transparent),
    rgba(255,255,255,.012);
}

/* ---------- Mobile ---------- */
@media(max-width:1050px){
  .page-home .hero::after,
  .page-championship .page-hero::after,
  .page-raceweekend .page-hero::after,
  .page-rules .rules-page-hero::after{
    opacity:.18 !important;
    right:1% !important;
  }
}

@media(max-width:820px){
  .sns-brand-logo{
    width:58px;
    height:42px;
  }

  .page-home .hero{
    min-height:425px;
    background-position:64% center;
  }

  .page-home .hero::before{
    background:linear-gradient(90deg,rgba(8,11,17,.97),rgba(8,11,17,.82) 66%,rgba(8,11,17,.55));
  }

  .page-home .hero::after,
  .page-championship .page-hero::after,
  .page-raceweekend .page-hero::after,
  .page-rules .rules-page-hero::after{
    display:none !important;
  }

  .page-championship .page-hero,
  .page-raceweekend .page-hero,
  .page-results .page-hero,
  .page-drivers .page-hero,
  .page-drivers .driver2-hero{
    background-position:62% center;
  }
}

@media(max-width:540px){
  .sns-brand-logo{
    width:48px;
    height:36px;
  }

  .brand small{
    display:none;
  }

  .page-home .hero{
    min-height:390px;
  }
}

/* =========================================================
   SNS PHASE 6A.1 - REMOVE TRANSLUCENT LOGO OVERLAYS
   Keep the header brand logo and page backdrops.
   Remove decorative SNS logos layered over hero photos.
   ========================================================= */

.page-home .hero::after,
.page-championship .page-hero::after,
.page-raceweekend .page-hero::after,
.page-rules .rules-page-hero::after{
  display:none !important;
  content:none !important;
  background:none !important;
}
