/* ============================================================
   MILWAUKEE HEADER + HERO UPDATE
   Reference layout: dark two-row desktop header with logo, ad,
   search/auth controls, full-width navigation, and the supplied Atlanta skyline hero.
============================================================ */

:root{
  --gr-header-bg:#211e27;
  --gr-nav-bg:#0f1828;
  --gr-accent:#2a75c9;
  --gr-border:rgba(255,255,255,.14);
}

@media (min-width:992px){
  .site-header.premium-header{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    overflow:visible !important;
    background:var(--gr-header-bg) !important;
    border-top:4px solid var(--gr-accent) !important;
    border-bottom:0 !important;
    box-shadow:0 8px 28px rgba(2,6,23,.16) !important;
  }

  .site-header.premium-header .premium-header-inner{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:minmax(275px,.9fr) minmax(420px,610px) minmax(310px,1.05fr) auto !important;
    grid-template-rows:116px 82px !important;
    column-gap:26px !important;
    row-gap:0 !important;
    align-items:center !important;
    background:var(--gr-header-bg) !important;
  }

  .site-header.premium-header .premium-header-main,
  .site-header.premium-header .premium-header-top,
  .site-header.premium-header .premium-header-bottom{
    display:contents !important;
  }

  .site-header.premium-header .header-logo{
    grid-column:1 !important;
    grid-row:1 !important;
    width:auto !important;
    height:116px !important;
    min-width:0 !important;
    padding:0 0 0 36px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    background:transparent !important;
  }

  .site-header.premium-header .site-logo-link{
    width:auto !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
  }

  .site-header.premium-header .site-logo{
    width:245px !important;
    max-width:245px !important;
    max-height:88px !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .site-header.premium-header .header-ad{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:610px !important;
    height:76px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:14px !important;
    background:#16131a !important;
  }

  .site-header.premium-header .header-ad a,
  .site-header.premium-header .header-ad img{
    display:block !important;
    width:100% !important;
    height:100% !important;
  }

  .site-header.premium-header .header-ad img{
    object-fit:cover !important;
    object-position:center !important;
  }

  .site-header.premium-header .header-search{
    grid-column:3 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }

  .site-header.premium-header .header-search form{
    width:100% !important;
    display:block !important;
  }

  .site-header.premium-header .header-search input{
    width:100% !important;
    height:54px !important;
    padding:0 22px !important;
    border:1px solid rgba(42,117,201,.58) !important;
    border-radius:999px !important;
    background:#17171d !important;
    color:#e8eef9 !important;
    font-size:17px !important;
    outline:none !important;
    box-shadow:none !important;
  }

  .site-header.premium-header .header-search input::placeholder{
    color:#b7c1d3 !important;
    opacity:1 !important;
  }

  .site-header.premium-header .header-search button{
    display:none !important;
  }

  .site-header.premium-header .header-auth{
    grid-column:4 !important;
    grid-row:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
    padding-right:20px !important;
    white-space:nowrap !important;
  }

  .site-header.premium-header .header-auth .btn-auth{
    min-height:54px !important;
    padding:0 20px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid rgba(98,111,148,.45) !important;
    border-radius:6px !important;
    background:#111827 !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    box-shadow:none !important;
  }

  .site-header.premium-header .header-auth .btn-register{
    background:var(--gr-accent) !important;
    border-color:var(--gr-accent) !important;
    color:#0c1018 !important;
  }

  .site-header.premium-header .header-auth .btn-auth:hover{
    transform:translateY(-1px) !important;
    filter:brightness(1.05) !important;
  }

  .site-header.premium-header .nav-lang-switch{
    display:none !important;
  }

  .site-header.premium-header .header-nav{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100% !important;
    height:82px !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:var(--gr-nav-bg) !important;
    border-top:1px solid rgba(229,231,235,.72) !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    padding:0 24px !important;
  }

  .site-header.premium-header .wx-primary-menu,
  .site-header.premium-header .nav-menu{
    width:100% !important;
    max-width:1260px !important;
    height:100% !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    overflow:visible !important;
  }

  .site-header.premium-header .wx-primary-menu > li > a,
  .site-header.premium-header .nav-menu > li > a{
    height:48px !important;
    min-height:48px !important;
    padding:0 15px !important;
    display:flex !important;
    align-items:center !important;
    color:#fff !important;
    background:transparent !important;
    border:1px solid transparent !important;
    border-radius:8px !important;
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    text-decoration:none !important;
    box-shadow:none !important;
  }

  .site-header.premium-header .wx-primary-menu > li > a:hover,
  .site-header.premium-header .nav-menu > li > a:hover{
    color:#fff !important;
    border-color:rgba(239,71,111,.45) !important;
    background:rgba(239,71,111,.10) !important;
  }
}

@media (min-width:992px) and (max-width:1450px){
  .site-header.premium-header .premium-header-inner{
    grid-template-columns:minmax(220px,.72fr) minmax(300px,430px) minmax(250px,1fr) auto !important;
    column-gap:14px !important;
  }
  .site-header.premium-header .header-logo{padding-left:18px !important;}
  .site-header.premium-header .site-logo{width:205px !important;max-width:205px !important;}
  .site-header.premium-header .header-ad{height:64px !important;}
  .site-header.premium-header .header-auth{gap:7px !important;padding-right:12px !important;}
  .site-header.premium-header .header-auth .btn-auth{padding:0 13px !important;font-size:13px !important;}
  .site-header.premium-header .wx-primary-menu > li > a,
  .site-header.premium-header .nav-menu > li > a{padding:0 10px !important;font-size:13px !important;}
}

@media (min-width:992px) and (max-width:1160px){
  .site-header.premium-header .premium-header-inner{
    grid-template-columns:210px minmax(220px,330px) minmax(220px,1fr) auto !important;
  }
  .site-header.premium-header .header-ad{height:56px !important;}
  .site-header.premium-header .header-auth .btn-contact{display:none !important;}
  .site-header.premium-header .header-nav{padding:0 10px !important;}
  .site-header.premium-header .wx-primary-menu,
  .site-header.premium-header .nav-menu{gap:2px !important;}
  .site-header.premium-header .wx-primary-menu > li > a,
  .site-header.premium-header .nav-menu > li > a{padding:0 7px !important;font-size:12px !important;}
}

@media (max-width:991px){
  .site-header.premium-header,
  .mobile-premium-header{
    border-top:4px solid var(--gr-accent) !important;
  }
}

/* ============================================================
   FRONT PAGE HERO WITH USER-SUPPLIED MILWAUKEE BACKGROUND
============================================================ */
.home-main .fp-hero.fp-hero-destination-layout,
body.home .home-left > .fp-hero.fp-hero-destination-layout,
body.front-page .home-left > .fp-hero.fp-hero-destination-layout,
body.page-template-front-page .home-left > .fp-hero.fp-hero-destination-layout{
  position:relative !important;
  isolation:isolate !important;
  min-height:420px !important;
  padding:22px 24px !important;
  gap:18px !important;
  overflow:hidden !important;
  background-image:
    linear-gradient(90deg,rgba(8,13,24,.44),rgba(19,12,23,.36)),
    url('../images/milwaukee-hero.jpg') !important;
  background-size:cover !important;
  background-position:center 52% !important;
  background-repeat:no-repeat !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:20px !important;
  box-shadow:0 18px 45px rgba(2,6,23,.20) !important;
}

.home-main .fp-hero.fp-hero-destination-layout:before,
body.home .fp-hero.fp-hero-destination-layout:before,
body.front-page .fp-hero.fp-hero-destination-layout:before,
body.page-template-front-page .fp-hero.fp-hero-destination-layout:before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  opacity:1 !important;
  pointer-events:none !important;
  background:linear-gradient(90deg,rgba(4,9,18,.18),rgba(29,14,28,.20)) !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-copy{
  position:relative !important;
  z-index:2 !important;
  align-self:stretch !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:26px 28px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:18px !important;
  background:linear-gradient(145deg,rgba(8,13,23,.86),rgba(18,25,38,.78)) !important;
  backdrop-filter:blur(3px) !important;
  -webkit-backdrop-filter:blur(3px) !important;
  box-shadow:0 16px 38px rgba(2,6,23,.22) !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-kicker{
  color:#ffd54a !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
}

.home-main .fp-hero.fp-hero-destination-layout h1,
body.home .fp-hero.fp-hero-destination-layout h1,
body.front-page .fp-hero.fp-hero-destination-layout h1,
body.page-template-front-page .fp-hero.fp-hero-destination-layout h1{
  color:#fff !important;
  text-shadow:0 2px 16px rgba(0,0,0,.28) !important;
}

.home-main .fp-hero.fp-hero-destination-layout p,
body.home .fp-hero.fp-hero-destination-layout p,
body.front-page .fp-hero.fp-hero-destination-layout p,
body.page-template-front-page .fp-hero.fp-hero-destination-layout p{
  color:#f4f7fb !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-proof span{
  color:#fff !important;
  background:rgba(17,24,39,.66) !important;
  border:1px solid rgba(255,255,255,.20) !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-secondary-btn{
  color:#fff !important;
  border-color:rgba(255,255,255,.42) !important;
  background:rgba(8,13,23,.52) !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations{
  position:relative !important;
  z-index:2 !important;
  align-self:stretch !important;
  justify-content:center !important;
  background:linear-gradient(145deg,rgba(23,19,29,.90),rgba(50,27,42,.84)) !important;
  border-color:rgba(255,255,255,.16) !important;
  backdrop-filter:blur(4px) !important;
  -webkit-backdrop-filter:blur(4px) !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-card{
  background:rgba(255,255,255,.09) !important;
  border-color:rgba(255,255,255,.17) !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-card:hover{
  background:rgba(239,71,111,.18) !important;
  border-color:rgba(42,117,201,.58) !important;
}

@media (max-width:1100px){
  .home-main .fp-hero.fp-hero-destination-layout,
  body.home .home-left > .fp-hero.fp-hero-destination-layout,
  body.front-page .home-left > .fp-hero.fp-hero-destination-layout,
  body.page-template-front-page .home-left > .fp-hero.fp-hero-destination-layout{
    min-height:0 !important;
    background-position:center center !important;
  }
}

@media (max-width:760px){
  .home-main .fp-hero.fp-hero-destination-layout .fp-hero-copy{
    padding:18px !important;
  }
  .home-main .fp-hero.fp-hero-destination-layout,
  body.home .home-left > .fp-hero.fp-hero-destination-layout,
  body.front-page .home-left > .fp-hero.fp-hero-destination-layout,
  body.page-template-front-page .home-left > .fp-hero.fp-hero-destination-layout{
    padding:12px !important;
    border-radius:16px !important;
  }
}

/* ============================================================
   Georgia THEME v1.3.3 COMPACT HEADER / HERO / CONTENT / ADS
============================================================ */

@media (min-width:992px){
  .site-header.premium-header .premium-header-inner{
    grid-template-columns:minmax(235px,.76fr) minmax(360px,520px) minmax(300px,1fr) auto !important;
    grid-template-rows:94px 56px !important;
    column-gap:20px !important;
  }

  .site-header.premium-header .header-logo{
    height:94px !important;
    padding-left:28px !important;
  }

  .site-header.premium-header .site-logo{
    width:225px !important;
    max-width:225px !important;
    max-height:70px !important;
  }

  .site-header.premium-header .header-ad{
    max-width:520px !important;
    height:60px !important;
    border-radius:10px !important;
  }

  .site-header.premium-header .header-ad img{
    object-fit:contain !important;
    background:#15121a !important;
  }

  .site-header.premium-header .header-search input{
    height:44px !important;
    padding:0 18px !important;
    font-size:15px !important;
  }

  .site-header.premium-header .header-auth{
    gap:8px !important;
    padding-right:18px !important;
  }

  .site-header.premium-header .header-auth .btn-auth{
    min-height:44px !important;
    padding:0 16px !important;
    font-size:14px !important;
  }

  .site-header.premium-header .header-nav{
    height:56px !important;
    padding:0 18px !important;
  }

  .site-header.premium-header .wx-primary-menu,
  .site-header.premium-header .nav-menu{
    max-width:1420px !important;
    gap:4px !important;
  }

  .site-header.premium-header .wx-primary-menu > li > a,
  .site-header.premium-header .nav-menu > li > a{
    height:38px !important;
    min-height:38px !important;
    padding:0 12px !important;
    border-radius:7px !important;
    font-size:14px !important;
  }
}

@media (min-width:992px) and (max-width:1450px){
  .site-header.premium-header .premium-header-inner{
    grid-template-columns:210px minmax(300px,420px) minmax(245px,1fr) auto !important;
    grid-template-rows:88px 52px !important;
    column-gap:12px !important;
  }
  .site-header.premium-header .header-logo{height:88px !important;padding-left:16px !important;}
  .site-header.premium-header .site-logo{width:190px !important;max-width:190px !important;max-height:62px !important;}
  .site-header.premium-header .header-ad{height:54px !important;max-width:420px !important;}
  .site-header.premium-header .header-search input{height:40px !important;font-size:14px !important;}
  .site-header.premium-header .header-auth{padding-right:10px !important;gap:6px !important;}
  .site-header.premium-header .header-auth .btn-auth{min-height:40px !important;padding:0 12px !important;font-size:12px !important;}
  .site-header.premium-header .header-nav{height:52px !important;padding:0 8px !important;}
  .site-header.premium-header .wx-primary-menu > li > a,
  .site-header.premium-header .nav-menu > li > a{height:36px !important;min-height:36px !important;padding:0 8px !important;font-size:12px !important;}
}

/* Compact homepage hero */
.home-main .fp-hero.fp-hero-destination-layout,
body.home .home-left > .fp-hero.fp-hero-destination-layout,
body.front-page .home-left > .fp-hero.fp-hero-destination-layout,
body.page-template-front-page .home-left > .fp-hero.fp-hero-destination-layout{
  min-height:310px !important;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr) !important;
  padding:14px !important;
  gap:14px !important;
  border-radius:16px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-copy{
  padding:18px 20px !important;
  border-radius:14px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-kicker{
  font-size:11px !important;
  line-height:1.1 !important;
}

.home-main .fp-hero.fp-hero-destination-layout h1{
  margin:7px 0 8px !important;
  font-size:clamp(27px,2.25vw,40px) !important;
  line-height:1.08 !important;
}

.home-main .fp-hero.fp-hero-destination-layout p{
  margin:0 0 10px !important;
  max-width:760px !important;
  font-size:14px !important;
  line-height:1.48 !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-proof{
  gap:6px !important;
  margin:4px 0 10px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-proof span{
  padding:5px 8px !important;
  border-radius:999px !important;
  font-size:10px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-actions{
  gap:8px !important;
  margin-top:0 !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-primary-btn,
.home-main .fp-hero.fp-hero-destination-layout .fp-secondary-btn{
  min-height:40px !important;
  padding:0 16px !important;
  font-size:12px !important;
  border-radius:10px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations{
  padding:14px !important;
  border-radius:14px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations-head{
  margin-bottom:8px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations-head span{
  font-size:14px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations-head small{
  font-size:9px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-card{
  min-height:44px !important;
  padding:7px 8px !important;
  gap:7px !important;
  border-radius:10px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-flag{
  width:25px !important;
  height:25px !important;
  min-width:25px !important;
  font-size:11px !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-copy strong{
  font-size:11px !important;
  line-height:1.05 !important;
}

.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-copy em{
  display:none !important;
}

/* Removed Georgia/city strip should never leave residual spacing */
body.home #fp-country-city,
body.page-template-front-page #fp-country-city{
  display:none !important;
}

/* Homepage banner ads: exactly 12 visual slots, 4 columns x 3 rows on desktop */
.homepage-banner-wrap{
  margin-top:14px !important;
}

.homepage-banner-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}

.homepage-banner-grid .homepage-banner-item{
  width:100% !important;
  height:auto !important;
  aspect-ratio:470 / 64 !important;
  min-width:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  display:block !important;
  border:1px solid #dedee6 !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:0 6px 16px rgba(17,24,39,.07) !important;
}

.homepage-banner-grid .homepage-banner-item img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center !important;
}

.homepage-banner-grid .homepage-banner-item.is-placeholder{
  border-color:rgba(239,71,111,.26) !important;
}

@media (max-width:1100px){
  .homepage-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

@media (max-width:620px){
  .homepage-banner-grid{grid-template-columns:1fr !important;gap:8px !important;}
}

/* Recommended links: use the full sidebar width and auto-fit the supplied banner */
.main-right .mini-section.recommended-links .mini-two-grid,
.home-right .mini-section.recommended-links .mini-two-grid,
.agency-main-right .mini-section.recommended-links .mini-two-grid{
  grid-template-columns:1fr !important;
  gap:9px !important;
}

.main-right .mini-section.recommended-links .rec-item,
.home-right .mini-section.recommended-links .rec-item,
.agency-main-right .mini-section.recommended-links .rec-item,
.recommended-links .rec-item{
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  aspect-ratio:487 / 70 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:9px !important;
  background:#fff !important;
}

.recommended-links .rec-item > a{
  width:100% !important;
  height:100% !important;
  display:block !important;
}

.main-right .mini-section.recommended-links .rec-item img,
.home-right .mini-section.recommended-links .rec-item img,
.agency-main-right .mini-section.recommended-links .rec-item img,
.recommended-links .rec-item img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#fff !important;
}

/* Premium homepage content presentation */
body.home .fp-trust-strip,
body.page-template-front-page .fp-trust-strip{
  margin:20px 0 14px !important;
  padding:12px !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  border:1px solid #e5e7eb !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f7f8fc 100%) !important;
  box-shadow:0 12px 30px rgba(15,23,42,.07) !important;
}

body.home .fp-trust-strip > div,
body.page-template-front-page .fp-trust-strip > div{
  padding:12px 13px !important;
  border:1px solid #ececf1 !important;
  border-radius:12px !important;
  background:#fff !important;
}

body.home .fp-trust-strip strong,
body.page-template-front-page .fp-trust-strip strong{
  display:block !important;
  margin-bottom:4px !important;
  color:#151827 !important;
  font-size:12px !important;
  font-weight:900 !important;
}

body.home .fp-trust-strip span,
body.page-template-front-page .fp-trust-strip span{
  color:#667085 !important;
  font-size:11px !important;
  line-height:1.45 !important;
}

body.home .fp-premium-copy,
body.page-template-front-page .fp-premium-copy{
  position:relative !important;
  overflow:hidden !important;
  margin:0 0 24px !important;
  padding:18px !important;
  border:1px solid #e4e7ec !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8f9fc 100%) !important;
  box-shadow:0 18px 44px rgba(15,23,42,.08) !important;
}

body.home .fp-premium-copy:before,
body.page-template-front-page .fp-premium-copy:before{
  content:'' !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:4px !important;
  background:linear-gradient(90deg,#ef476f,#f5b942,#7c3aed) !important;
}

body.home .fp-premium-copy .fp-seo-hero-copy,
body.page-template-front-page .fp-premium-copy .fp-seo-hero-copy{
  padding:22px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#111827 0%,#24212c 58%,#311827 100%) !important;
  box-shadow:0 14px 32px rgba(17,24,39,.16) !important;
}

body.home .fp-premium-copy .fp-seo-hero-copy h2,
body.page-template-front-page .fp-premium-copy .fp-seo-hero-copy h2{
  margin:6px 0 10px !important;
  color:#fff !important;
  font-size:clamp(23px,2vw,32px) !important;
  line-height:1.17 !important;
}

body.home .fp-premium-copy .fp-seo-hero-copy p,
body.page-template-front-page .fp-premium-copy .fp-seo-hero-copy p{
  color:#e6e9f0 !important;
  font-size:13px !important;
  line-height:1.68 !important;
}

body.home .fp-premium-copy .fp-section-kicker,
body.page-template-front-page .fp-premium-copy .fp-section-kicker{
  color:#f5c04b !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
}

body.home .fp-seo-highlight-grid,
body.page-template-front-page .fp-seo-highlight-grid{
  margin:12px 0 !important;
  gap:10px !important;
}

body.home .fp-seo-highlight-grid > div,
body.page-template-front-page .fp-seo-highlight-grid > div,
body.home .fp-seo-two-col article,
body.page-template-front-page .fp-seo-two-col article,
body.home .fp-seo-card-grid article,
body.page-template-front-page .fp-seo-card-grid article,
body.home .fp-seo-wide-card,
body.page-template-front-page .fp-seo-wide-card,
body.home .fp-seo-benefits article,
body.page-template-front-page .fp-seo-benefits article{
  border:1px solid #e7e9ef !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(15,23,42,.055) !important;
}

body.home .fp-seo-two-col article,
body.page-template-front-page .fp-seo-two-col article,
body.home .fp-seo-card-grid article,
body.page-template-front-page .fp-seo-card-grid article,
body.home .fp-seo-wide-card,
body.page-template-front-page .fp-seo-wide-card,
body.home .fp-seo-benefits article,
body.page-template-front-page .fp-seo-benefits article{
  padding:16px !important;
}

body.home .fp-premium-copy h3,
body.page-template-front-page .fp-premium-copy h3{
  color:#181b26 !important;
  font-size:16px !important;
  line-height:1.25 !important;
}

body.home .fp-premium-copy p,
body.page-template-front-page .fp-premium-copy p,
body.home .fp-premium-copy li,
body.page-template-front-page .fp-premium-copy li{
  color:#5e6676 !important;
  font-size:12.5px !important;
  line-height:1.65 !important;
}

body.home .fp-content-toc,
body.page-template-front-page .fp-content-toc{
  margin:12px 0 !important;
  padding:10px !important;
  border:1px solid #e6e8ee !important;
  border-radius:12px !important;
  background:#fff !important;
}

body.home .fp-content-toc a,
body.page-template-front-page .fp-content-toc a,
body.home .fp-location-link-grid a,
body.page-template-front-page .fp-location-link-grid a{
  border-radius:9px !important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease !important;
}

body.home .fp-content-toc a:hover,
body.page-template-front-page .fp-content-toc a:hover,
body.home .fp-location-link-grid a:hover,
body.page-template-front-page .fp-location-link-grid a:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(239,71,111,.45) !important;
  box-shadow:0 7px 18px rgba(239,71,111,.08) !important;
}

body.home .fp-seo-final-cta,
body.page-template-front-page .fp-seo-final-cta{
  border-radius:14px !important;
  background:linear-gradient(135deg,#151827,#2a2030) !important;
  border:1px solid rgba(239,71,111,.28) !important;
  box-shadow:0 12px 28px rgba(17,24,39,.15) !important;
}

body.home .fp-seo-final-cta h3,
body.page-template-front-page .fp-seo-final-cta h3{
  color:#fff !important;
}

body.home .fp-seo-final-cta p,
body.page-template-front-page .fp-seo-final-cta p{
  color:#d9deea !important;
}

@media (max-width:1100px){
  .home-main .fp-hero.fp-hero-destination-layout{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }
  .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  body.home .fp-trust-strip,
  body.page-template-front-page .fp-trust-strip{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:620px){
  .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.home .fp-trust-strip,
  body.page-template-front-page .fp-trust-strip{
    grid-template-columns:1fr !important;
  }
  body.home .fp-premium-copy,
  body.page-template-front-page .fp-premium-copy{
    padding:12px !important;
    border-radius:14px !important;
  }
  body.home .fp-premium-copy .fp-seo-hero-copy,
  body.page-template-front-page .fp-premium-copy .fp-seo-hero-copy{
    padding:16px !important;
  }
}

/* ============================================================
   v1.3.6 MOBILE LAYOUT HARDENING
   Final overrides loaded after legacy theme CSS.
============================================================ */
@media (max-width:991px){
  html,body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  *,*::before,*::after{box-sizing:border-box;}
  img,video,iframe{max-width:100%;height:auto;}

  .site-header.premium-header{
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
  }
  .site-header.premium-header .premium-header-inner{display:none !important;}
  .mobile-premium-header{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }
  .mobile-top-row{
    width:100% !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 12px !important;
    gap:7px !important;
  }
  .mobile-top-link{font-size:12px !important;min-width:0;overflow:hidden;text-overflow:ellipsis;}
  .mobile-login-btn,
  .mobile-lang-dropdown .lang-current{
    height:30px !important;
    min-height:30px !important;
    padding:0 9px !important;
    font-size:11px !important;
  }
  .mobile-theme-toggle{width:30px !important;height:30px !important;font-size:18px !important;}

  .mobile-bottom-row,
  .mobile-cc-header-row{
    width:100% !important;
    height:60px !important;
    min-height:60px !important;
    padding:0 10px !important;
    grid-template-columns:124px 32px minmax(0,1fr) 62px !important;
    column-gap:7px !important;
  }
  .mobile-logo-link{
    width:124px !important;
    height:54px !important;
    min-width:0 !important;
  }
  .mobile-site-logo{
    width:116px !important;
    max-width:116px !important;
    max-height:48px !important;
  }
  .mobile-search-icon{
    width:32px !important;
    height:36px !important;
    padding:0 !important;
    font-size:24px !important;
  }
  .mobile-cc-wrap{min-width:0 !important;max-width:100% !important;}
  .mobile-cc-toggle{
    width:100% !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 9px !important;
    border-width:1px !important;
    border-radius:11px !important;
    gap:5px !important;
    font-size:12px !important;
  }
  .mobile-menu-btn{
    width:62px !important;
    height:38px !important;
    justify-content:center !important;
    gap:3px !important;
    font-size:16px !important;
  }
  .mobile-menu-btn span{font-size:11px !important;}
  .mobile-cc-dropdown,
  .mobile-cc-dropdown.mobile-cc-portal{
    width:min(360px,calc(100vw - 20px)) !important;
    max-width:calc(100vw - 20px) !important;
  }

  /* Stop legacy edge-to-edge rules from creating horizontal overflow. */
  .top-strip,.main-nav,.pro-nav,.location-strip,.banner-wrap,.main-layout,
  .home-main,.home-grid,.home-left,.home-right,.main-left,.main-right,
  .location-grid,.location-left,.location-sidebar,.city-page,.city-grid-wrap,
  .city-grid,.city-sidebar,.directory-head,.location-head{
    max-width:100% !important;
    min-width:0 !important;
  }
  .top-strip,.main-nav,.pro-nav,.location-strip,.banner-wrap,.main-layout{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .home-main{
    width:100% !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
  .home-grid,
  .location-grid,
  .city-grid-wrap{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
    width:100% !important;
  }
  .home-left,.home-right,.location-left,.location-sidebar,.city-sidebar{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* Homepage hero */
  .home-main .fp-hero.fp-hero-destination-layout,
  body.home .home-left > .fp-hero.fp-hero-destination-layout,
  body.front-page .home-left > .fp-hero.fp-hero-destination-layout,
  body.page-template-front-page .home-left > .fp-hero.fp-hero-destination-layout{
    grid-template-columns:minmax(0,1fr) !important;
    min-height:0 !important;
    width:100% !important;
    padding:10px !important;
    gap:10px !important;
    border-radius:13px !important;
  }
  .home-main .fp-hero.fp-hero-destination-layout .fp-hero-copy{
    padding:14px !important;
    min-width:0 !important;
  }
  .home-main .fp-hero.fp-hero-destination-layout h1{
    font-size:clamp(24px,7vw,32px) !important;
    line-height:1.1 !important;
  }
  .home-main .fp-hero.fp-hero-destination-layout p{font-size:13px !important;line-height:1.45 !important;}
  .home-main .fp-hero.fp-hero-destination-layout .fp-hero-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    width:100% !important;
  }
  .home-main .fp-hero.fp-hero-destination-layout .fp-primary-btn,
  .home-main .fp-hero.fp-hero-destination-layout .fp-secondary-btn{
    width:100% !important;
    min-width:0 !important;
    padding:0 9px !important;
    text-align:center !important;
  }
  .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations{padding:10px !important;}
  .home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
  }

  /* Profile grids: consistent two-column mobile cards. */
  .card-row,
  .city-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    margin:0 !important;
  }
  .card-row > *,
  .card-row > .escort-card,
  .card-row > .escort-card-wrapper,
  .city-grid > *{
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    flex:none !important;
    margin:0 !important;
  }
  .escort-card,.escort-card-wrapper,.escort-card-wrapper .escort-card{min-width:0 !important;max-width:100% !important;width:100% !important;}

  /* Location pages */
  .city-hero-ad-row,
  .city-hero-ad-row.has-city-banner-ads{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
    width:100% !important;
  }
  .city-hero,.location-hero,.taxonomy-city-hero .city-hero-copy{
    width:100% !important;
    min-width:0 !important;
    padding:14px !important;
  }
  .city-hero h1,.location-hero h1,.taxonomy-city-hero h1{
    font-size:clamp(23px,7vw,30px) !important;
    line-height:1.12 !important;
  }
  .city-hero p,.location-hero p,.city-subtitle{font-size:13px !important;line-height:1.5 !important;}
  .location-content,.taxonomy-city-content,.content-card{
    width:100% !important;
    max-width:100% !important;
    padding:15px !important;
    overflow-wrap:anywhere !important;
  }
  .location-prose{font-size:14px !important;line-height:1.65 !important;}
  /* Homepage content and banners */
  .homepage-banner-wrap,.homepage-banner-wrap .banner-main{width:100% !important;max-width:100% !important;}
  .homepage-banner-grid{grid-template-columns:1fr !important;gap:7px !important;}
  body.home .fp-trust-strip,
  body.page-template-front-page .fp-trust-strip{grid-template-columns:1fr !important;}
  body.home .fp-premium-copy,
  body.page-template-front-page .fp-premium-copy{padding:11px !important;margin-left:0 !important;margin-right:0 !important;}
  body.home .fp-seo-two-col,
  body.page-template-front-page .fp-seo-two-col,
  body.home .fp-seo-card-grid,
  body.page-template-front-page .fp-seo-card-grid,
  body.home .fp-seo-benefits,
  body.page-template-front-page .fp-seo-benefits,
  body.home .fp-location-link-grid,
  body.page-template-front-page .fp-location-link-grid{
    grid-template-columns:1fr !important;
  }

  .recommended-links,.recommended-links .mini-two-grid,.recommended-links .rec-item{width:100% !important;max-width:100% !important;}
}

@media (max-width:520px){
  .mobile-top-row{padding:0 8px !important;gap:5px !important;}
  .mobile-top-link{font-size:11px !important;max-width:112px !important;}
  .mobile-lang-dropdown .lang-code{display:none !important;}
  .mobile-bottom-row,.mobile-cc-header-row{
    padding:0 7px !important;
    grid-template-columns:104px 28px minmax(0,1fr) 44px !important;
    column-gap:5px !important;
  }
  .mobile-logo-link{width:104px !important;}
  .mobile-site-logo{width:98px !important;max-width:98px !important;}
  .mobile-search-icon{width:28px !important;font-size:21px !important;}
  .mobile-menu-btn{width:44px !important;font-size:18px !important;}
  .mobile-menu-btn span{display:none !important;}
  .mobile-cc-toggle{padding:0 7px !important;font-size:11px !important;}
  .home-main{padding-left:7px !important;padding-right:7px !important;}
  .home-main .fp-hero.fp-hero-destination-layout .fp-hero-actions{grid-template-columns:1fr !important;}
}
