/* ============================================================
   WorldXscortGuide 1.3.6 UI hardening
   Header alignment, premium no-photo states, mobile layout,
   location hero consistency and floating contact separation.
============================================================ */

/* ---------- Premium no-photo state ---------- */
.bsr-profile-placeholder{
  position:relative;
  display:flex;
  min-width:0;
  width:100%;
  aspect-ratio:3/4;
  overflow:hidden;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:14px;
  isolation:isolate;
  color:#f8fafc;
  text-align:center;
  background:
    radial-gradient(circle at 50% 28%,rgba(250,204,21,.22),transparent 22%),
    radial-gradient(circle at 78% 80%,rgba(124,58,237,.24),transparent 34%),
    linear-gradient(160deg,#0b1120 0%,#172033 46%,#35120f 100%);
  border:1px solid rgba(212,175,55,.28);
}
.bsr-profile-placeholder::before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  pointer-events:none;
}
.bsr-profile-placeholder::after{
  content:"";
  position:absolute;
  width:74%;
  aspect-ratio:1;
  border-radius:50%;
  top:14%;
  border:1px solid rgba(248,216,119,.22);
  box-shadow:0 0 0 18px rgba(248,216,119,.03),0 0 0 38px rgba(248,216,119,.02);
  pointer-events:none;
}
.bsr-profile-placeholder-glow{
  position:absolute;
  width:70%;
  height:42%;
  top:8%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(245,185,66,.17),transparent 65%);
  filter:blur(2px);
}
.bsr-profile-placeholder-mark{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border-radius:24px;
  color:#111827;
  background:linear-gradient(145deg,#ffe3a1,#d6a53d);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 16px 36px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.8);
  font-size:30px;
  font-weight:900;
  letter-spacing:-.04em;
}
.bsr-profile-placeholder-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  padding:0 14px;
}
.bsr-profile-placeholder-copy strong{
  color:#fff;
  font-size:14px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:.025em;
}
.bsr-profile-placeholder-copy small{
  color:#e7d8b5;
  font-size:10px;
  line-height:1.25;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.bsr-profile-placeholder--related{
  aspect-ratio:3/4;
  min-height:0;
}
.bsr-related-profile-card .bsr-profile-placeholder{
  border:0;
  border-radius:0;
}


/* ---------- Single profile no-photo hero ---------- */
.bsr-profile-placeholder--single{
  width:100%;
  height:100%;
  min-height:100%;
  aspect-ratio:auto;
  border:0;
  border-radius:inherit;
}
.sd-photo.hero > .bsr-profile-placeholder--single,
.mt-hero-photo > .bsr-profile-placeholder--single,
.sd-hero-photo > .bsr-profile-placeholder--single{
  position:absolute;
  inset:0;
  z-index:1;
}
.sd-photo.hero > .bsr-profile-placeholder--single{
  border-radius:14px;
}
.mt-hero-photo > .bsr-profile-placeholder--single,
.sd-hero-photo > .bsr-profile-placeholder--single{
  border-radius:14px;
}
.bsr-profile-placeholder--single .bsr-profile-placeholder-mark{
  width:92px;
  height:92px;
  border-radius:28px;
  font-size:38px;
}
.bsr-profile-placeholder--single .bsr-profile-placeholder-copy strong{
  font-size:18px;
}
.bsr-profile-placeholder--single .bsr-profile-placeholder-copy small{
  font-size:11px;
}
.bsr-video-thumb-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  min-height:70px;
  color:#fff;
  background:linear-gradient(145deg,#111827,#32180d);
  font-size:24px;
}
@media (max-width:767px){
  .bsr-profile-placeholder--single .bsr-profile-placeholder-mark{
    width:78px;
    height:78px;
    border-radius:24px;
    font-size:32px;
  }
  .bsr-profile-placeholder--single .bsr-profile-placeholder-copy strong{font-size:16px;}
}

/* Do not leak profile contact controls to logged-out visitors even if a legacy template renders one. */
body:not(.logged-in) .sd-cta-bar,
body:not(.logged-in) .sd-contact-card,
body:not(.logged-in) .bsr-contact-action-profile{
  display:none !important;
}

/* ---------- Desktop header alignment ---------- */
@media (min-width:992px){
  .site-header.premium-header .premium-header-inner{
    min-height:120px !important;
    display:grid !important;
    grid-template-columns:226px minmax(0,1fr) !important;
    align-items:stretch !important;
    padding:0 16px 0 0 !important;
  }
  .site-header.premium-header .header-logo{
    width:226px !important;
    min-width:226px !important;
    height:120px !important;
    align-self:stretch !important;
    padding:8px 10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .site-header.premium-header .site-logo-link{
    display:flex !important;
    width:100% !important;
    height:100% !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }
  .site-header.premium-header .site-logo{
    width:205px !important;
    max-width:205px !important;
    max-height:92px !important;
    object-fit:contain !important;
  }
  .site-header.premium-header .premium-header-main{
    min-width:0 !important;
    display:grid !important;
    grid-template-rows:60px 60px !important;
    align-content:stretch !important;
  }
  .site-header.premium-header .premium-header-top{
    min-width:0 !important;
    width:100% !important;
    height:60px !important;
    padding:8px 0 8px 18px !important;
    display:grid !important;
    grid-template-columns:minmax(260px,1fr) auto auto !important;
    gap:10px !important;
    align-items:center !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
  }
  .site-header.premium-header .header-search{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }
  .site-header.premium-header .header-search .bsr-header-search-form{
    width:100% !important;
    margin:0 !important;
  }
  .site-header.premium-header .header-search .bsr-header-search-input{
    width:100% !important;
    height:42px !important;
    margin:0 !important;
  }
  .site-header.premium-header .header-auth{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    white-space:nowrap !important;
  }
  .site-header.premium-header .header-auth .btn-auth{
    min-height:42px !important;
    padding:0 18px !important;
  }
  .site-header.premium-header .nav-lang-switch{
    align-self:center !important;
    margin:0 !important;
  }
  .site-header.premium-header .premium-header-bottom{
    width:100% !important;
    height:60px !important;
    min-width:0 !important;
    padding-left:18px !important;
    gap:10px !important;
    display:flex !important;
    align-items:center !important;
  }
  .site-header.premium-header .header-ad:not(:has(a)){
    display:none !important;
    flex:0 0 0 !important;
    width:0 !important;
  }
  .site-header.premium-header .header-nav{
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  .site-header.premium-header .nav-menu{
    justify-content:flex-end !important;
    gap:0 !important;
  }
}
@media (min-width:1600px){
  .site-header.premium-header .premium-header-inner{
    grid-template-columns:246px minmax(0,1fr) !important;
  }
  .site-header.premium-header .header-logo{
    width:246px !important;
    min-width:246px !important;
  }
  .site-header.premium-header .site-logo{
    width:225px !important;
    max-width:225px !important;
  }
}
@media (min-width:992px) and (max-width:1320px){
  .site-header.premium-header .premium-header-inner{
    grid-template-columns:204px minmax(0,1fr) !important;
  }
  .site-header.premium-header .header-logo{
    width:204px !important;
    min-width:204px !important;
  }
  .site-header.premium-header .site-logo{
    width:188px !important;
    max-width:188px !important;
  }
  .site-header.premium-header .header-auth .btn-auth{padding:0 13px !important;}
  .site-header.premium-header .nav-menu li a{padding:0 8px !important;}
}

/* ---------- Unified premium location hero ---------- */
.location-directory .location-head{
  margin-bottom:12px !important;
}
.location-directory .location-hero,
.city-directory-page .city-hero.location-hero,
.country-directory-page .country-hero.location-hero,
.region-directory-page .region-hero.location-hero{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  box-sizing:border-box !important;
  min-height:0 !important;
  margin:0 0 10px !important;
  padding:22px 26px !important;
  border:1px solid rgba(212,175,55,.42) !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 91% 8%,rgba(245,185,66,.20),transparent 30%),
    linear-gradient(125deg,#111827 0%,#1c2534 52%,#6a301c 100%) !important;
  box-shadow:0 18px 44px rgba(15,23,42,.14) !important;
}
.location-directory .location-hero::after{
  content:"";
  position:absolute;
  right:-8%;
  bottom:-85%;
  width:46%;
  height:190%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(250,204,21,.16),transparent 65%);
  pointer-events:none;
}
.location-directory .location-kicker{
  position:relative !important;
  z-index:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  max-width:100% !important;
  margin:0 0 10px !important;
  padding:6px 12px !important;
  border:1px solid rgba(248,216,119,.28) !important;
  border-radius:999px !important;
  color:#ffd85c !important;
  background:rgba(248,216,119,.08) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
}
.location-directory .location-hero h1,
.city-directory-page .city-hero.location-hero h1,
.country-directory-page .country-hero.location-hero h1,
.region-directory-page .region-hero.location-hero h1{
  position:relative !important;
  z-index:1 !important;
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:clamp(30px,3vw,46px) !important;
  line-height:1.04 !important;
  letter-spacing:-.035em !important;
  text-shadow:0 2px 14px rgba(0,0,0,.14) !important;
}
.location-directory .location-hero p,
.city-directory-page .city-hero.location-hero p,
.country-directory-page .country-hero.location-hero p,
.region-directory-page .region-hero.location-hero p{
  position:relative !important;
  z-index:1 !important;
  max-width:900px !important;
  margin:0 !important;
  color:#e5edf8 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
.location-directory .location-hero .local-area-parent-note{
  margin-top:8px !important;
  color:#f8d877 !important;
  font-size:12px !important;
}

/* Location stats: premium and compact, never three giant vertical cards. */
.location-directory .bsr-location-stats{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 0 14px !important;
}
.location-directory .bsr-location-stats > div{
  min-height:72px !important;
  padding:12px 14px !important;
  border:1px solid rgba(146,96,18,.14) !important;
  border-radius:16px !important;
  background:linear-gradient(145deg,#fff 0%,#fffaf1 100%) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.055) !important;
}
.location-directory .bsr-location-stats strong{
  display:block !important;
  color:#111827 !important;
  font-size:22px !important;
  line-height:1 !important;
}
.location-directory .bsr-location-stats span{
  display:block !important;
  margin-top:7px !important;
  color:#64748b !important;
  font-size:11px !important;
  line-height:1.2 !important;
}

/* ---------- Floating location Call + WhatsApp: no overlap ---------- */
.bsr-lw-widget{
  max-width:calc(100vw - 24px) !important;
}
.bsr-lw-launcher-row{
  max-width:calc(100vw - 24px) !important;
  flex-wrap:nowrap !important;
}
.bsr-lw-call-launcher,
.bsr-lw-launcher{
  box-sizing:border-box !important;
  flex:0 0 auto !important;
}

/* ---------- Mobile premium layout ---------- */
@media (max-width:991px){
  body{overflow-x:hidden !important;}
  .site-header.premium-header .mobile-premium-header{
    box-shadow:0 10px 26px rgba(2,6,23,.16) !important;
  }
  .mobile-top-row,
  .mobile-bottom-row{
    box-sizing:border-box !important;
    width:100% !important;
  }
  .mobile-bottom-row{
    min-height:68px !important;
    align-items:center !important;
  }

  .home-main,
  body.home .home-main,
  body.front-page .home-main,
  body.page-template-front-page .home-main,
  .location-directory.home-main{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding:12px 10px 108px !important;
    box-sizing:border-box !important;
  }
  .home-grid,
  .location-grid.home-grid{
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
  }
  .home-left,
  .home-left-top,
  .home-left-content,
  .location-left,
  .home-right,
  .main-right,
  .location-sidebar{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .location-sidebar,
  .home-right.main-right{
    margin-top:0 !important;
  }

  /* Front page hero becomes a deliberate single-column card. */
  .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{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
    margin:0 0 10px !important;
    padding:18px !important;
    border-radius:22px !important;
    overflow:hidden !important;
  }
  .home-main .fp-hero.fp-hero-destination-layout h1{
    font-size:clamp(29px,8.5vw,38px) !important;
    line-height:1.03 !important;
    margin-bottom:10px !important;
  }
  .home-main .fp-hero.fp-hero-destination-layout p{
    font-size:14px !important;
    line-height:1.5 !important;
  }
  .home-main .fp-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .home-main .fp-hero-actions .fp-primary-btn,
  .home-main .fp-hero-actions .fp-secondary-btn{
    width:100% !important;
    box-sizing:border-box !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .fp-hero-destinations{
    padding:13px !important;
    border-radius:18px !important;
  }
  .fp-hero-destination-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .fp-hero-destination-card{
    min-height:54px !important;
    padding:9px !important;
  }

  /* Country/city controls and content sections stay inside viewport. */
  .cc-strip,
  .country-cities,
  .listing-block,
  .location-content,
  .content-card,
  .fp-register-cta,
  .banner-wrap{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .cc-country-wrap,
  .cc-country-select,
  .cc-country-dropdown{
    max-width:100% !important;
  }

  /* Location hero matches the attached country treatment on city/region too. */
  .location-directory .location-hero,
  .city-directory-page .city-hero.location-hero,
  .country-directory-page .country-hero.location-hero,
  .region-directory-page .region-hero.location-hero{
    padding:18px 16px !important;
    border-radius:20px !important;
    margin-bottom:10px !important;
  }
  .location-directory .location-kicker{
    margin-bottom:9px !important;
    padding:6px 10px !important;
    font-size:10px !important;
  }
  .location-directory .location-hero h1,
  .city-directory-page .city-hero.location-hero h1,
  .country-directory-page .country-hero.location-hero h1,
  .region-directory-page .region-hero.location-hero h1{
    font-size:clamp(27px,8vw,36px) !important;
  }
  .location-directory .location-hero p{
    font-size:13px !important;
    line-height:1.5 !important;
  }
  .city-hero-ad-row,
  .city-hero-ad-row.has-city-banner-ads,
  .city-hero-ad-row.no-city-banner-ads{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
  }
  .city-banner-inline-wrap{
    width:100% !important;
    min-width:0 !important;
  }

  .location-directory .bsr-location-stats{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  .location-directory .bsr-location-stats > div{
    min-height:64px !important;
    padding:10px 8px !important;
    border-radius:14px !important;
  }
  .location-directory .bsr-location-stats strong{
    font-size:19px !important;
  }
  .location-directory .bsr-location-stats span{
    margin-top:5px !important;
    font-size:10px !important;
    line-height:1.15 !important;
  }

  /* Profile grids remain readable and premium on mobile. */
  .location-listing-block .card-row,
  .home-main .card-row,
  .bsr-related-profile-grid{
    gap:10px !important;
  }
  .location-listing-block .escort-card,
  .escort-card,
  .bsr-related-profile-card{
    border-radius:16px !important;
    overflow:hidden !important;
    box-shadow:0 9px 24px rgba(15,23,42,.09) !important;
  }
  .escort-card .escort-meta-block{
    padding:10px !important;
  }
  .escort-card .meta-header .name{
    font-size:13px !important;
  }

  /* Floating buttons stack, rather than competing for the same horizontal space. */
  .bsr-lw-widget{
    left:auto !important;
    right:10px !important;
    bottom:12px !important;
    width:auto !important;
    max-width:calc(100vw - 20px) !important;
    align-items:flex-end !important;
  }
  .bsr-lw-launcher-row{
    width:auto !important;
    max-width:calc(100vw - 20px) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;
    gap:8px !important;
  }
  .bsr-lw-call-launcher,
  .bsr-lw-launcher{
    width:auto !important;
    min-width:170px !important;
    max-width:calc(100vw - 20px) !important;
    min-height:52px !important;
    padding:6px 12px 6px 6px !important;
    justify-content:flex-start !important;
  }
  .bsr-lw-call-launcher-copy small,
  .bsr-lw-launcher-copy small{
    max-width:150px !important;
  }
  .bsr-lw-panel{
    width:min(390px,calc(100vw - 20px)) !important;
  }
}

@media (max-width:640px){
  .mobile-bottom-row{
    grid-template-columns:112px 34px minmax(0,1fr) 64px !important;
    gap:6px !important;
    padding:6px 8px !important;
  }
  .mobile-logo-link{
    width:112px !important;
    max-width:112px !important;
    height:56px !important;
  }
  .mobile-site-logo{
    width:108px !important;
    max-width:108px !important;
    height:auto !important;
  }
  .mobile-cc-toggle{
    min-width:0 !important;
    width:100% !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .mobile-cc-toggle #mobileCcLabel,
  #mobileCcLabel{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .mobile-menu-btn{
    min-width:60px !important;
    padding-left:7px !important;
    padding-right:7px !important;
  }

  .location-directory .bsr-location-stats{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .location-directory .bsr-location-stats > div{
    min-width:0 !important;
    padding:9px 6px !important;
  }
  .location-directory .bsr-location-stats strong{font-size:18px !important;}
  .location-directory .bsr-location-stats span{font-size:9px !important;}

  .fp-hero-destinations-head{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:4px !important;
  }
  .fp-hero-destination-copy em{
    font-size:10px !important;
  }
  .bsr-profile-placeholder-mark{
    width:58px;
    height:58px;
    border-radius:18px;
    font-size:24px;
  }
  .bsr-profile-placeholder-copy strong{font-size:12px;}
  .bsr-profile-placeholder-copy small{font-size:9px;}
}

@media (max-width:390px){
  .fp-hero-destination-grid{grid-template-columns:1fr !important;}
  .location-directory .bsr-location-stats{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:4px !important;
  }
  .location-directory .bsr-location-stats > div{padding:8px 4px !important;}
  .location-directory .bsr-location-stats span{font-size:8px !important;}
  .bsr-lw-call-launcher-copy small,
  .bsr-lw-launcher-copy small{display:none !important;}
  .bsr-lw-call-launcher,
  .bsr-lw-launcher{min-width:150px !important;}
}

/* Legacy taxonomy route fallbacks receive the same location hero treatment. */
.city-page .taxonomy-city-hero,
.country-page .country-hero{
  position:relative !important;
  overflow:hidden !important;
  margin:12px auto !important;
  padding:22px 26px !important;
  border:1px solid rgba(212,175,55,.42) !important;
  border-radius:22px !important;
  background:radial-gradient(circle at 91% 8%,rgba(245,185,66,.20),transparent 30%),linear-gradient(125deg,#111827 0%,#1c2534 52%,#6a301c 100%) !important;
  box-shadow:0 18px 44px rgba(15,23,42,.14) !important;
}
.city-page .taxonomy-city-hero h1,
.country-page .country-hero h1{color:#fff !important;font-size:clamp(30px,3vw,46px) !important;line-height:1.04 !important;margin:0 0 8px !important;}
.city-page .taxonomy-city-hero p,
.country-page .country-hero p{color:#e5edf8 !important;font-size:15px !important;line-height:1.55 !important;margin:0 !important;}
.city-page .taxonomy-city-hero .location-kicker,
.country-page .country-hero .location-kicker{display:inline-flex !important;margin:0 0 10px !important;padding:6px 12px !important;border:1px solid rgba(248,216,119,.28) !important;border-radius:999px !important;color:#ffd85c !important;background:rgba(248,216,119,.08) !important;font-size:11px !important;font-weight:800 !important;letter-spacing:.055em !important;text-transform:uppercase !important;}
@media(max-width:991px){.city-page .taxonomy-city-hero,.country-page .country-hero{margin:10px !important;padding:18px 16px !important;border-radius:20px !important}.city-page .taxonomy-city-hero h1,.country-page .country-hero h1{font-size:clamp(27px,8vw,36px) !important}.city-page .taxonomy-city-hero p,.country-page .country-hero p{font-size:13px !important}}

/* ============================================================
   HEADER LANGUAGE ALIGNMENT FIX 1.3.9
   Keep language selector anchored to the far right after moving
   the banner left of the search field.
============================================================ */
@media (min-width:1181px){
  .site-header.premium-header .premium-header-top{
    display:grid !important;
    grid-template-columns:minmax(180px,300px) minmax(230px,390px) max-content 96px !important;
    column-gap:10px !important;
    align-items:center !important;
    justify-content:stretch !important;
    overflow:visible !important;
  }
  .site-header.premium-header .premium-header-top .header-ad{
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:300px !important;
    justify-self:stretch !important;
  }
  .site-header.premium-header .premium-header-top .header-search{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:390px !important;
    justify-self:stretch !important;
  }
  .site-header.premium-header .premium-header-top .header-auth{
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:end !important;
    min-width:max-content !important;
  }
  .site-header.premium-header .premium-header-top .nav-lang-switch{
    grid-column:4 !important;
    grid-row:1 !important;
    width:96px !important;
    min-width:96px !important;
    justify-self:end !important;
    margin-left:0 !important;
  }
  .site-header.premium-header .premium-header-top .nav-lang-switch .lang-current{
    width:96px !important;
    min-width:96px !important;
  }

  .site-header.premium-header .premium-header-bottom,
  .site-header.premium-header .header-nav{
    justify-content:center !important;
  }
  .site-header.premium-header .nav-menu,
  .site-header.premium-header .wx-primary-menu{
    width:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
  }
}

@media (min-width:1181px) and (max-width:1450px){
  .site-header.premium-header .premium-header-top{
    grid-template-columns:minmax(160px,230px) minmax(210px,320px) max-content 96px !important;
    column-gap:8px !important;
  }
  .site-header.premium-header .premium-header-top .header-ad{
    max-width:230px !important;
  }
  .site-header.premium-header .premium-header-top .header-search{
    max-width:320px !important;
  }
}

@media (min-width:1600px){
  .site-header.premium-header .premium-header-top{
    grid-template-columns:minmax(240px,340px) minmax(300px,430px) max-content 96px !important;
    column-gap:12px !important;
  }
  .site-header.premium-header .premium-header-top .header-ad{
    max-width:340px !important;
  }
  .site-header.premium-header .premium-header-top .header-search{
    max-width:430px !important;
  }
}

/* Compact desktop: hide only the banner, never the language selector. */
@media (min-width:992px) and (max-width:1180px){
  .site-header.premium-header .premium-header-top{
    display:grid !important;
    grid-template-columns:minmax(210px,1fr) max-content 96px !important;
    column-gap:8px !important;
    align-items:center !important;
    overflow:visible !important;
  }
  .site-header.premium-header .premium-header-top .header-ad{
    display:none !important;
  }
  .site-header.premium-header .premium-header-top .header-search{
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:320px !important;
    justify-self:stretch !important;
  }
  .site-header.premium-header .premium-header-top .header-auth{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    min-width:max-content !important;
  }
  .site-header.premium-header .premium-header-top .nav-lang-switch{
    grid-column:3 !important;
    grid-row:1 !important;
    width:96px !important;
    min-width:96px !important;
    justify-self:end !important;
  }
  .site-header.premium-header .premium-header-top .nav-lang-switch .lang-current{
    width:96px !important;
    min-width:96px !important;
  }
  .site-header.premium-header .premium-header-bottom,
  .site-header.premium-header .header-nav,
  .site-header.premium-header .nav-menu,
  .site-header.premium-header .wx-primary-menu{
    justify-content:center !important;
  }
}

/* ============================================================
   MOBILE TOP BANNER 1.4.1
   Keep the managed top-banner visible on mobile in its own
   full-width header row. The creative always preserves its
   native aspect ratio and scales down to the available viewport.
============================================================ */
@media (max-width:991px){
  .site-header.premium-header{
    min-height:0 !important;
  }
  .site-header.premium-header .mobile-header-ad{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    padding:5px 10px 8px !important;
    margin:0 !important;
    background:#111827 !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    overflow:hidden !important;
  }
  .site-header.premium-header .mobile-header-ad a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:min(100%,470px) !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    line-height:0 !important;
    overflow:hidden !important;
    text-decoration:none !important;
  }
  .site-header.premium-header .mobile-header-ad img{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    max-height:64px !important;
    object-fit:contain !important;
    object-position:center center !important;
    border:0 !important;
    border-radius:6px !important;
  }
}

@media (max-width:480px){
  .site-header.premium-header .mobile-header-ad{
    padding:4px 8px 7px !important;
  }
  .site-header.premium-header .mobile-header-ad a{
    width:100% !important;
  }
  .site-header.premium-header .mobile-header-ad img{
    max-height:58px !important;
  }
}

/* ============================================================
   MOBILE TRUE EDGE-TO-EDGE CONTENT 1.4.2
   Use the full viewport on phones while retaining small readable
   internal padding inside premium cards. Desktop is unchanged.
============================================================ */
@media (max-width:768px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow-x:hidden !important;
  }

  /* Front page: remove inherited desktop/mobile gutters. */
  body.home .home-main,
  body.front-page .home-main,
  body.page-template-front-page .home-main,
  body.home .home-grid,
  body.front-page .home-grid,
  body.page-template-front-page .home-grid,
  body.home .home-left,
  body.front-page .home-left,
  body.page-template-front-page .home-left,
  body.home .home-left-top,
  body.front-page .home-left-top,
  body.page-template-front-page .home-left-top,
  body.home .home-left-content,
  body.front-page .home-left-content,
  body.page-template-front-page .home-left-content{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* Major front-page blocks touch the screen edges. */
  body.home .fp-hero,
  body.front-page .fp-hero,
  body.page-template-front-page .fp-hero,
  body.home .fp-geo-message,
  body.front-page .fp-geo-message,
  body.page-template-front-page .fp-geo-message,
  body.home .fp-top-countries,
  body.front-page .fp-top-countries,
  body.page-template-front-page .fp-top-countries,
  body.home .fp-trust-strip,
  body.front-page .fp-trust-strip,
  body.page-template-front-page .fp-trust-strip,
  body.home .fp-register-cta,
  body.front-page .fp-register-cta,
  body.page-template-front-page .fp-register-cta,
  body.home .banner-wrap,
  body.front-page .banner-wrap,
  body.page-template-front-page .banner-wrap,
  body.home .listing-block,
  body.front-page .listing-block,
  body.page-template-front-page .listing-block,
  body.home .fp-seo-content,
  body.front-page .fp-seo-content,
  body.page-template-front-page .fp-seo-content{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  /* Long home-page information section from the supplied screenshot. */
  body.home .fp-seo-content,
  body.front-page .fp-seo-content,
  body.page-template-front-page .fp-seo-content{
    padding:10px 6px 12px !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .fp-seo-hero-copy,
  .fp-seo-highlight-grid,
  .fp-seo-two-col,
  .fp-seo-card-grid,
  .fp-seo-benefits,
  .fp-seo-wide-card,
  .fp-seo-final-cta{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .fp-seo-highlight-grid,
  .fp-seo-two-col,
  .fp-seo-card-grid,
  .fp-seo-benefits{
    gap:8px !important;
  }
  .fp-seo-two-col article,
  .fp-seo-card-grid article,
  .fp-seo-benefits article,
  .fp-seo-wide-card{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:12px !important;
    border-radius:13px !important;
    box-sizing:border-box !important;
  }
  .fp-seo-final-cta{
    margin-left:0 !important;
    margin-right:0 !important;
    padding:13px 12px !important;
    border-radius:14px !important;
  }

  /* Keep profile cards close to the screen edge without touching text. */
  body.home .listing-block,
  body.front-page .listing-block,
  body.page-template-front-page .listing-block{
    padding-left:5px !important;
    padding-right:5px !important;
    border-radius:0 !important;
  }
  body.home .card-row,
  body.front-page .card-row,
  body.page-template-front-page .card-row{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* Country/city/region pages: use the full phone viewport too. */
  .location-directory,
  .location-directory.location-template,
  .location-directory .location-grid.home-grid,
  .location-directory .location-left.home-left,
  .country-page,
  .city-page{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
  .location-directory .location-grid.home-grid{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .location-directory .location-left.home-left{
    padding:5px 5px 12px !important;
  }
  .location-directory .location-hero,
  .location-directory .city-hero,
  .location-directory .country-hero,
  .location-directory .location-content,
  .location-directory .content-card,
  .location-directory .location-city-pills,
  .location-directory .location-listing-block{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
  .location-directory .location-hero,
  .location-directory .city-hero,
  .location-directory .country-hero{
    border-radius:14px !important;
  }
  .location-directory .location-content.content-card,
  .location-directory .location-content{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  /* Legacy taxonomy pages also lose the large side gutters. */
  .city-page .taxonomy-city-hero,
  .country-page .country-hero{
    width:calc(100% - 10px) !important;
    max-width:calc(100% - 10px) !important;
    margin-left:5px !important;
    margin-right:5px !important;
    box-sizing:border-box !important;
  }
}

@media (max-width:420px){
  body.home .fp-seo-content,
  body.front-page .fp-seo-content,
  body.page-template-front-page .fp-seo-content{
    padding-left:4px !important;
    padding-right:4px !important;
  }
  .location-directory .location-left.home-left{
    padding-left:4px !important;
    padding-right:4px !important;
  }
}

/* v1.4.3 shared location contact safety net */
@media (max-width:900px){
  [data-bsr-location-whatsapp] .bsr-lw-launcher-row{display:flex!important;grid-template-columns:none!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important;width:auto!important;max-width:calc(100vw - 20px)!important;}
  [data-bsr-location-whatsapp] .bsr-lw-call-launcher,
  [data-bsr-location-whatsapp] .bsr-lw-launcher{position:relative!important;inset:auto!important;float:none!important;width:min(190px,calc(100vw - 20px))!important;min-width:0!important;max-width:calc(100vw - 20px)!important;margin:0!important;}
}

/* v1.4.4 final location-contact layout override. Keep this last. */
[data-bsr-location-whatsapp] .bsr-lw-launcher-row{
  position:relative!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-columns:max-content max-content!important;
  align-items:center!important;
  justify-content:end!important;
  gap:0 12px!important;
  width:max-content!important;
  max-width:calc(100vw - 40px)!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
[data-bsr-location-whatsapp] .bsr-lw-call-launcher,
[data-bsr-location-whatsapp] .bsr-lw-launcher{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  flex:none!important;
  z-index:1!important;
}
@media (min-width:901px){
  [data-bsr-location-whatsapp] .bsr-lw-call-launcher{min-width:150px!important;max-width:210px!important;}
  [data-bsr-location-whatsapp] .bsr-lw-launcher{min-width:190px!important;max-width:245px!important;}
}
@media (max-width:900px){
  [data-bsr-location-whatsapp].bsr-lw-widget{left:auto!important;right:10px!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-width:calc(100vw - 20px)!important;align-items:flex-end!important;}
  [data-bsr-location-whatsapp] .bsr-lw-launcher-row{grid-auto-flow:row!important;grid-template-columns:minmax(0,190px)!important;grid-template-rows:auto auto!important;justify-items:stretch!important;align-items:stretch!important;gap:8px!important;width:min(190px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important;}
  [data-bsr-location-whatsapp] .bsr-lw-call-launcher,
  [data-bsr-location-whatsapp] .bsr-lw-launcher{width:100%!important;min-width:0!important;max-width:100%!important;min-height:52px!important;justify-content:flex-start!important;}
}
