
/* =========================================================
   V7.0 DYNAMIC STATE ENGINE
   Dynamic 4 + 4 large state cards with featured-image fallback,
   Bortle / Best Month metadata, premium hover.
   ========================================================= */

html body.home .sa-v70-state-showcase{
  width:100% !important;
  max-width:1320px !important;
  margin:0 auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:26px !important;
}

html body.home .sa-v70-state-row{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:26px !important;
}

html body.home .sa-v70-state-card{
  box-sizing:border-box !important;
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:318px !important;
  min-height:318px !important;
  max-height:318px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  color:#fff !important;
  text-decoration:none !important;
  isolation:isolate !important;
  background-image:
    linear-gradient(180deg, rgba(5,8,22,0) 0%, rgba(5,8,22,.20) 48%, rgba(5,8,22,.96) 100%),
    var(--state-img) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  box-shadow:0 24px 58px rgba(15,23,42,.28) !important;
  transition:transform .28s ease, box-shadow .28s ease, filter .28s ease !important;
}

html body.home .sa-v70-state-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:inherit !important;
  background-size:cover !important;
  background-position:center center !important;
  transform:scale(1) !important;
  transition:transform .42s ease, filter .42s ease !important;
}

html body.home .sa-v70-state-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.10), transparent 34%),
    linear-gradient(180deg, rgba(5,8,22,.02) 0%, rgba(5,8,22,.20) 48%, rgba(5,8,22,.97) 100%) !important;
  pointer-events:none !important;
}

html body.home .sa-v70-state-card:hover{
  transform:translateY(-7px) !important;
  box-shadow:0 34px 82px rgba(15,23,42,.42) !important;
  filter:saturate(1.08) contrast(1.04) !important;
}

html body.home .sa-v70-state-card:hover::before{
  transform:scale(1.065) !important;
  filter:saturate(1.08) contrast(1.05) !important;
}

html body.home .sa-v70-state-card small,
html body.home .sa-v70-state-card strong,
html body.home .sa-v70-state-card span,
html body.home .sa-v70-state-card em{
  position:absolute !important;
  z-index:5 !important;
}

html body.home .sa-v70-state-card small{
  top:20px !important;
  left:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:28px !important;
  padding:0 13px !important;
  border-radius:999px !important;
  background:rgba(3,6,14,.84) !important;
  border:1px solid rgba(217,164,65,.66) !important;
  color:#F3C55B !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  box-shadow:0 8px 20px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(8px) !important;
}

html body.home .sa-v70-state-card strong{
  left:24px !important;
  right:20px !important;
  bottom:74px !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  font-size:34px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.035em !important;
  text-shadow:0 12px 28px rgba(0,0,0,.95) !important;
  transition:transform .28s ease !important;
}

html body.home .sa-v70-state-card span{
  left:24px !important;
  right:20px !important;
  bottom:50px !important;
  display:block !important;
  color:#f3f7ff !important;
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:600 !important;
  text-shadow:0 9px 22px rgba(0,0,0,.95) !important;
  transition:transform .28s ease, opacity .28s ease !important;
}

html body.home .sa-v70-state-card em{
  left:24px !important;
  bottom:24px !important;
  display:inline-flex !important;
  align-items:center !important;
  height:22px !important;
  padding:0 9px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.13) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
  font-style:normal !important;
  font-weight:800 !important;
  backdrop-filter:blur(7px) !important;
}

html body.home .sa-v70-state-card:hover strong,
html body.home .sa-v70-state-card:hover span,
html body.home .sa-v70-state-card:hover em{
  transform:translateY(-4px) !important;
}

html body.home .sa-v70-state-footer{
  max-width:1320px !important;
  margin:26px auto 0 !important;
  display:flex !important;
  justify-content:flex-end !important;
}

html body.home .sa-v70-state-footer a{
  color:#0b57ff !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

@media(max-width:1200px){
  html body.home .sa-v70-state-row{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}

@media(max-width:720px){
  html body.home .sa-v70-state-showcase{
    gap:18px !important;
  }
  html body.home .sa-v70-state-row{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  html body.home .sa-v70-state-card{
    height:270px !important;
    min-height:270px !important;
    max-height:270px !important;
  }
  html body.home .sa-v70-state-card strong{
    font-size:30px !important;
  }
}
