/* ============================================================
   JaipurEscortsX v3.0.6
   SITEWIDE EDGE-TO-EDGE + COMPACT PREMIUM LAYOUT
   Final front-end override loaded after all other theme CSS.
============================================================ */

:root{
  --jpx-edge-gutter:clamp(10px,1.15vw,20px);
  --jpx-edge-gap:clamp(10px,1vw,16px);
  --jpx-edge-radius:14px;
  --jpx-edge-line:#eadde3;
  --jpx-edge-pink:#be125b;
  --jpx-edge-pink-bright:#f23d68;
  --jpx-edge-gold:#e1b94f;
  --jpx-edge-ink:#17131a;
  --jpx-edge-soft:#fff8fb;
  --jpx-edge-shadow:0 8px 24px rgba(31,18,24,.075);
}

html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body.jpx-edge-layout,
body.jpx-edge-layout #page,
body.jpx-edge-layout .site,
body.jpx-edge-layout .site-content{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* ---------- Shared page shells ---------- */
body.jpx-edge-layout :is(
  main,
  .home-main,
  .blog-main,
  .wx-page,
  .city-page,
  .country-page,
  .location-directory,
  .loc-page,
  .bsr-reviews-page,
  .wx-info-page,
  .single-profile,
  .sd-wrap,
  .sx-packages,
  .sx-checkout,
  .registration-page,
  .tour-directory-main,
  .agency-directory-main,
  .normal-account-page,
  .verification-page,
  .wizard-page,
  .page-wrap
){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Direct content containers should use almost the full viewport. */
body.jpx-edge-layout :is(
  .wx-info-container,
  .loc-compact-hero,
  .loc-popular-strip,
  .loc-directory-shell,
  .loc-no-results,
  .bsr-reviews-hero__inner,
  .bsr-reviews-toolbar,
  .bsr-reviews-grid,
  .bsr-reviews-empty,
  .sx-packages > *,
  .sx-packages-section,
  .sx-checkout-inner,
  .nu-shell,
  .blog-hero-inner,
  .wx-single-post-grid,
  .taxonomy-city-hero .city-hero-ad-row
){
  width:calc(100% - (var(--jpx-edge-gutter) * 2))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Common Bootstrap/theme-style containers, only inside primary front-end content. */
body.jpx-edge-layout main .container,
body.jpx-edge-layout main .wrap,
body.jpx-edge-layout main .page-wrap,
body.jpx-edge-layout .site-content > .container,
body.jpx-edge-layout .site-content > .wrap{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:var(--jpx-edge-gutter)!important;
  padding-right:var(--jpx-edge-gutter)!important;
}

/* ---------- Header + footer use full screen width ---------- */
body.jpx-edge-layout .site-header.premium-header .premium-header-inner.wx-reference-desktop-header,
body.jpx-edge-layout .site-header.premium-header .wx-header-topline,
body.jpx-edge-layout .site-header.premium-header .header-nav{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.jpx-edge-layout .site-header.premium-header .wx-header-topline{
  padding-left:var(--jpx-edge-gutter)!important;
  padding-right:var(--jpx-edge-gutter)!important;
}
body.jpx-edge-layout .site-header.premium-header .header-nav{
  padding-left:var(--jpx-edge-gutter)!important;
  padding-right:var(--jpx-edge-gutter)!important;
}
body.jpx-edge-layout .compact-premium-footer .footer-inner{
  width:calc(100% - (var(--jpx-edge-gutter) * 2))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding-top:18px!important;
}
body.jpx-edge-layout .compact-premium-footer .compact-footer-grid{
  gap:clamp(14px,1.8vw,26px)!important;
}
body.jpx-edge-layout .compact-premium-footer .compact-footer-bottom{
  margin-top:14px!important;
}

/* ---------- Homepage and directory pages ---------- */
body.jpx-edge-layout .home-grid,
body.jpx-edge-layout .location-grid.home-grid,
body.jpx-edge-layout .agency-directory-grid,
body.jpx-edge-layout .tour-directory-grid{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  gap:0!important;
}
body.jpx-edge-layout .home-left,
body.jpx-edge-layout .location-left.home-left,
body.jpx-edge-layout .agency-directory-left,
body.jpx-edge-layout .tour-directory-left{
  padding:10px var(--jpx-edge-gutter) 16px!important;
}
body.jpx-edge-layout .home-right.main-right,
body.jpx-edge-layout aside.main-right{
  padding:10px!important;
}
body.jpx-edge-layout :is(.listing-block,.wx-listing-block,.banner-wrap,.wx-banner-wrap){
  border-radius:var(--jpx-edge-radius)!important;
  padding:10px!important;
  margin-bottom:10px!important;
  box-shadow:var(--jpx-edge-shadow)!important;
}
body.jpx-edge-layout :is(.fp-hero,.location-hero,.city-hero,.country-hero,.wx-page-hero){
  border-radius:var(--jpx-edge-radius)!important;
  margin-bottom:10px!important;
  padding:clamp(16px,2vw,24px)!important;
}
body.jpx-edge-layout .block-head{
  margin-bottom:8px!important;
  padding-bottom:7px!important;
}
body.jpx-edge-layout .card-row,
body.jpx-edge-layout .wx-card-grid.card-row,
body.jpx-edge-layout .agency-card-row{
  gap:12px!important;
}

/* City/taxonomy pages had a secondary narrow max-width. */
body.jpx-edge-layout .taxonomy-city-hero,
body.jpx-edge-layout .city-grid-wrap,
body.jpx-edge-layout .city-grid,
body.jpx-edge-layout .city-directory-page .location-normal-banner-wrap,
body.jpx-edge-layout .city-page .location-normal-banner-wrap{
  width:100%!important;
  max-width:none!important;
}
body.jpx-edge-layout .taxonomy-city-hero .city-hero-ad-row{
  margin-top:8px!important;
  margin-bottom:8px!important;
}
body.jpx-edge-layout .city-content,
body.jpx-edge-layout .country-content,
body.jpx-edge-layout .location-content{
  padding:14px!important;
}

/* ---------- Browse by Location ---------- */
body.jpx-edge-layout .loc-page{
  padding:16px var(--jpx-edge-gutter) 28px!important;
}
body.jpx-edge-layout .loc-compact-hero,
body.jpx-edge-layout .loc-popular-strip,
body.jpx-edge-layout .loc-directory-shell{
  width:100%!important;
  max-width:none!important;
}
body.jpx-edge-layout .loc-compact-hero{
  margin-top:6px!important;
  margin-bottom:12px!important;
  padding:clamp(20px,2.5vw,32px)!important;
  border-radius:18px!important;
  gap:18px!important;
}
body.jpx-edge-layout .loc-popular-strip,
body.jpx-edge-layout .loc-directory-shell{
  margin-bottom:12px!important;
  border-radius:16px!important;
}
body.jpx-edge-layout .loc-city-card-grid{
  gap:10px!important;
}

/* ---------- Static pages: Contact / FAQ / Terms / Privacy / Safety ---------- */
body.jpx-edge-layout .wx-info-container{
  width:calc(100% - (var(--jpx-edge-gutter) * 2))!important;
  max-width:none!important;
}
body.jpx-edge-layout .wx-info-hero{
  padding:22px 0 18px!important;
}
body.jpx-edge-layout .wx-info-hero-grid{
  gap:16px!important;
}
body.jpx-edge-layout .wx-info-layout,
body.jpx-edge-layout .wx-contact-layout{
  gap:14px!important;
  padding-top:14px!important;
  padding-bottom:20px!important;
}
body.jpx-edge-layout .wx-info-card,
body.jpx-edge-layout .wx-contact-card,
body.jpx-edge-layout .wx-contact-form-card,
body.jpx-edge-layout .wx-contact-direct-card{
  border-radius:14px!important;
  box-shadow:var(--jpx-edge-shadow)!important;
}

/* ---------- Reviews ---------- */
body.jpx-edge-layout .bsr-reviews-page{
  overflow:visible!important;
}
body.jpx-edge-layout .bsr-reviews-hero{
  padding:12px var(--jpx-edge-gutter) 10px!important;
}
body.jpx-edge-layout .bsr-reviews-hero__inner,
body.jpx-edge-layout .bsr-reviews-toolbar,
body.jpx-edge-layout .bsr-reviews-grid,
body.jpx-edge-layout .bsr-reviews-empty{
  width:100%!important;
  max-width:none!important;
}
body.jpx-edge-layout .bsr-reviews-toolbar{
  padding:10px var(--jpx-edge-gutter)!important;
}
body.jpx-edge-layout .bsr-reviews-grid{
  padding-left:var(--jpx-edge-gutter)!important;
  padding-right:var(--jpx-edge-gutter)!important;
  gap:12px!important;
}

/* ---------- Blog archive + single post ---------- */
body.jpx-edge-layout .blog-hero{
  margin:8px var(--jpx-edge-gutter) 10px!important;
  padding:18px!important;
  border-radius:14px!important;
}
body.jpx-edge-layout .blog-grid{
  gap:12px!important;
}
body.jpx-edge-layout.single-post .blog-hero-inner{
  width:100%!important;
  max-width:none!important;
}
body.jpx-edge-layout.single-post .wx-single-post-grid{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:10px var(--jpx-edge-gutter) 24px!important;
  gap:14px!important;
}
body.jpx-edge-layout.single-post .wx-single-post-content{
  padding:16px!important;
  border-radius:14px!important;
  box-shadow:var(--jpx-edge-shadow)!important;
}

/* ---------- Single public profile pages ---------- */
body.jpx-edge-layout .single-profile,
body.jpx-edge-layout .sd-wrap,
body.jpx-edge-layout .sd-page-grid{
  width:100%!important;
  max-width:none!important;
}
body.jpx-edge-layout .sd-page-grid{
  margin-left:0!important;
  margin-right:0!important;
}
body.jpx-edge-layout .sd-left{
  padding:12px 0 12px var(--jpx-edge-gutter)!important;
}
body.jpx-edge-layout .sd-middle{
  padding:0 0 0 10px!important;
  gap:10px!important;
}
body.jpx-edge-layout .sd-about-wide{
  padding:0 var(--jpx-edge-gutter) 14px!important;
}
body.jpx-edge-layout .sd-card{
  border-radius:12px!important;
  padding:12px!important;
  box-shadow:var(--jpx-edge-shadow)!important;
}
body.jpx-edge-layout .sp-title-bar{
  padding-left:var(--jpx-edge-gutter)!important;
  padding-right:var(--jpx-edge-gutter)!important;
}

/* Other public single entity templates */
body.jpx-edge-layout :is(.agency-public,.strip-club-public,.mt-profile-page,.sd-premium-page){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.jpx-edge-layout :is(.agency-public .sd-page-grid,.strip-club-public .sd-page-grid){
  width:100%!important;
  max-width:none!important;
}

/* ---------- Packages + checkout ---------- */
body.jpx-edge-layout .sx-packages{
  padding:10px var(--jpx-edge-gutter) 24px!important;
}
body.jpx-edge-layout .sx-packages > *,
body.jpx-edge-layout .sx-packages-section{
  width:100%!important;
  max-width:none!important;
}
body.jpx-edge-layout .sx-packages-hero{
  padding:22px!important;
  border-radius:16px!important;
}
body.jpx-edge-layout .sx-packages-grid{
  gap:12px!important;
}
body.jpx-edge-layout .sx-checkout{
  padding:10px var(--jpx-edge-gutter) 24px!important;
}
body.jpx-edge-layout .sx-checkout-inner{
  width:100%!important;
  max-width:none!important;
}
body.jpx-edge-layout .sx-checkout-grid{
  gap:14px!important;
}

/* ---------- Registration, login and account ---------- */
body.jpx-edge-layout .registration-page{
  padding:10px var(--jpx-edge-gutter) 24px!important;
}
body.jpx-edge-layout .registration-page > .main-layout,
body.jpx-edge-layout .registration-page .reg-wrapper,
body.jpx-edge-layout .registration-page .reg-wrapper > .container{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.jpx-edge-layout .registration-page > .main-layout{
  gap:14px!important;
}
body.jpx-edge-layout .premium-login-wrap{
  width:100%!important;
  max-width:none!important;
  padding-left:var(--jpx-edge-gutter)!important;
  padding-right:var(--jpx-edge-gutter)!important;
}
body.jpx-edge-layout .nu-shell,
body.jpx-edge-layout .nu-edge-shell{
  width:100%!important;
  max-width:none!important;
  padding:14px var(--jpx-edge-gutter) 24px!important;
}
body.jpx-edge-layout .nu-dashboard-layout{
  gap:14px!important;
}

/* ---------- Dashboards / editors ---------- */
body.jpx-edge-layout .dash-layout,
body.jpx-edge-layout .ds-root,
body.jpx-edge-layout .ds-main,
body.jpx-edge-layout .ds-content,
body.jpx-edge-layout .ep-content,
body.jpx-edge-layout .ae-main{
  max-width:none!important;
}
body.jpx-edge-layout .dash-layout .dash-header-inner{
  width:100%!important;
  max-width:none!important;
  padding-left:var(--jpx-edge-gutter)!important;
  padding-right:var(--jpx-edge-gutter)!important;
}
body.jpx-edge-layout .dash-layout .dash-main,
body.jpx-edge-layout .ds-content{
  padding:18px!important;
}
body.jpx-edge-layout .ae-main,
body.jpx-edge-layout .ep-content{
  width:100%!important;
  max-width:none!important;
  padding:18px!important;
}
body.jpx-edge-layout .ds-content-grid,
body.jpx-edge-layout .dash-layout .form-grid{
  gap:14px!important;
}

/* ---------- Universal compact premium card polish ---------- */
body.jpx-edge-layout :is(
  .panel,
  .side-panel,
  .mini-section,
  .nu-card,
  .ds-card,
  .stat-box,
  .account-card,
  .agency-card,
  .blog-card,
  .sx-package-card
){
  border-radius:var(--jpx-edge-radius)!important;
}
body.jpx-edge-layout :is(.panel,.nu-card,.ds-card){
  box-shadow:var(--jpx-edge-shadow)!important;
}

/* ---------- Desktop: maximize useful horizontal real estate ---------- */
@media (min-width:1200px){
  body.jpx-edge-layout .main-layout{
    grid-template-columns:minmax(0,1fr) 320px!important;
    gap:14px!important;
  }
  body.jpx-edge-layout .home-grid,
  body.jpx-edge-layout .location-grid.home-grid,
  body.jpx-edge-layout .agency-directory-grid,
  body.jpx-edge-layout .tour-directory-grid{
    grid-template-columns:minmax(0,1fr) 320px!important;
  }
  body.jpx-edge-layout.single-post .wx-single-post-grid{
    grid-template-columns:minmax(0,1fr) 320px!important;
  }
}

/* ---------- Tablet ---------- */
@media (max-width:1199px){
  :root{--jpx-edge-gutter:12px;}
  body.jpx-edge-layout .home-grid,
  body.jpx-edge-layout .location-grid.home-grid,
  body.jpx-edge-layout .agency-directory-grid,
  body.jpx-edge-layout .tour-directory-grid{
    grid-template-columns:minmax(0,1fr) 300px!important;
  }
}

@media (max-width:991px){
  body.jpx-edge-layout .home-grid,
  body.jpx-edge-layout .location-grid.home-grid,
  body.jpx-edge-layout .agency-directory-grid,
  body.jpx-edge-layout .tour-directory-grid,
  body.jpx-edge-layout.single-post .wx-single-post-grid,
  body.jpx-edge-layout .main-layout{
    grid-template-columns:1fr!important;
  }
  body.jpx-edge-layout .home-left,
  body.jpx-edge-layout .location-left.home-left,
  body.jpx-edge-layout .agency-directory-left,
  body.jpx-edge-layout .tour-directory-left{
    padding:8px var(--jpx-edge-gutter) 12px!important;
  }
  body.jpx-edge-layout aside.main-right,
  body.jpx-edge-layout .home-right.main-right{
    padding:8px var(--jpx-edge-gutter) 18px!important;
  }
  body.jpx-edge-layout .loc-compact-hero{
    grid-template-columns:1fr!important;
  }
  body.jpx-edge-layout .wx-info-hero-grid{
    grid-template-columns:1fr!important;
  }
}

/* ---------- Mobile: edge-to-edge but never cramped ---------- */
@media (max-width:640px){
  :root{--jpx-edge-gutter:8px;--jpx-edge-gap:8px;--jpx-edge-radius:11px;}
  body.jpx-edge-layout :is(.listing-block,.wx-listing-block,.banner-wrap,.wx-banner-wrap){
    padding:8px!important;
    margin-bottom:8px!important;
    border-radius:11px!important;
  }
  body.jpx-edge-layout :is(.fp-hero,.location-hero,.city-hero,.country-hero,.wx-page-hero){
    padding:14px!important;
    border-radius:11px!important;
  }
  body.jpx-edge-layout .wx-info-container{
    width:calc(100% - 16px)!important;
  }
  body.jpx-edge-layout .loc-page{
    padding:10px 8px 20px!important;
  }
  body.jpx-edge-layout .loc-compact-hero{
    padding:16px!important;
    border-radius:13px!important;
  }
  body.jpx-edge-layout.single-post .wx-single-post-grid{
    padding:8px 8px 18px!important;
  }
  body.jpx-edge-layout.single-post .wx-single-post-content{
    padding:13px!important;
  }
  body.jpx-edge-layout .sd-left,
  body.jpx-edge-layout .sd-middle,
  body.jpx-edge-layout .sd-about-wide{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.jpx-edge-layout .sx-packages,
  body.jpx-edge-layout .sx-checkout,
  body.jpx-edge-layout .registration-page{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.jpx-edge-layout .compact-premium-footer .footer-inner{
    width:calc(100% - 16px)!important;
  }
}
