/* ==========================================================================
   JustReused property/ad page — navy visual system (per PROPERTY-PAGE-VISUAL-MATCH-SPEC)
   Replaces the charcoal layer (#101010/#121212/#0B1924/#101A23) with one
   continuous deep-navy canvas + navy surface hierarchy. Loaded last; wins.
   ========================================================================== */
html[data-jr-theme="spotify"] body.jr-listing-v2-page,
body.jr-listing-v2-page{
  /* Page / navigation */
  --jr-page:#06111A; --jr-page-glow:#0D2333; --jr-page-mid:#07131D; --jr-page-edge:#050B10;
  --jr-global-nav:#030709; --jr-context-nav:#0A1017;
  /* Surface hierarchy */
  --jr-panel:#0E1821; --jr-panel-raised:#101A23; --jr-panel-strong:#182633;
  --jr-control:#1E2730; --jr-control-soft:#1C262E;
  /* Lines + type */
  --jr-line:#20333F; --jr-line-strong:#2B414E; --jr-nav-line:#17232B;
  --jr-text:#F3F5F6; --jr-muted:#AAB4BA;
  /* Brand */
  --jr-orange:#FF9709; --jr-orange-light:#FFAE23; --jr-green:#22C578;
  /* Remap the theme's charcoal tokens to navy so var-driven surfaces follow */
  --jr2-page:#06111A; --jr2-surface:#0E1821; --jr2-surface-solid:#0E1821;
  --jr2-surface-soft:#101A23; --jr2-line:#20333F; --jr2-line-strong:#2B414E;
  --jr2-green:#22C578; --jr2-green-dark:#159a5c;
  --jr-bg-base:#06111A; --jr-bg-elevated:#0E1821; --jr-bg-highlight:#101A23;
  --jr-bg-input:#1C262E; --jr-border:#20333F; --jr-bg-header:#030709;
  --jr-text-primary:#F3F5F6; --jr-text-secondary:#AAB4BA; --jr-text-muted:#AAB4BA;
  --primary:#FF9709; --secondary:#FF9709; --jr-accent:#FF9709; --jr-link:#FFAE23;
}

/* ---- One continuous navy canvas (no charcoal centre, no side gutters) ---- */
html{ background:#050B10 !important; }
body.jr-listing-v2-page{
  background:radial-gradient(circle at 48% 0, #0D2333 0, #07131D 38%, #050B10 100%) !important;
  color:#F3F5F6;
}
body.jr-listing-v2-page .page-wrapper,
body.jr-listing-v2-page .jr2-root,
body.jr-listing-v2-page .jr2-page,
body.jr-listing-v2-page .jr2-listing-shell,
body.jr-listing-v2-page .site-content,
body.jr-listing-v2-page #app{ background:transparent !important; }

/* ---- Wider desktop shell (~1536px) ---- */
body.jr-listing-v2-page .jr2-root.jr2-page{
  width:min(calc(100% - 32px), 1536px) !important;
  max-width:min(calc(100% - 32px), 1536px) !important;
  margin-inline:auto !important;
}
body.jr-listing-v2-page .jr2-listing-grid{
  grid-template-columns:minmax(0,1fr) minmax(390px,475px) !important;
  gap:30px !important;
}
@media (max-width:980px){
  body.jr-listing-v2-page .jr2-listing-grid{ grid-template-columns:1fr !important; }
}

/* ---- Surface hierarchy ---- */
/* Standard panels */
body.jr-listing-v2-page .jr2-glass,
body.jr-listing-v2-page .jr2-gallery-card,
body.jr-listing-v2-page .jr2-tab-card,
body.jr-listing-v2-page .jr2-section-card,
body.jr-listing-v2-page .jr2-similar-grid > *,
body.jr-listing-v2-page .jr2-process-card{
  background:#0E1821 !important; border:1px solid #20333F !important;
}
/* Raised sidebar cards (seller / location / people-saved wrapper) */
body.jr-listing-v2-page .jr2-primary-card{ background:#182633 !important; border:1px solid #2B414E !important; }
body.jr-listing-v2-page .jr2-seller-card,
body.jr-listing-v2-page .jr2-seller-shell,
body.jr-listing-v2-page .jr-location-card,
body.jr-listing-v2-page .jr2-location-card,
body.jr-listing-v2-page [class*="seller-card"],
body.jr-listing-v2-page [class*="location-card"]{
  background:#101A23 !important; border:1px solid #20333F !important;
}
/* Secondary controls / buttons */
body.jr-listing-v2-page .jr2-outline-button,
body.jr-listing-v2-page .jr2-secondary,
body.jr-listing-v2-page .jr2-report-btn,
body.jr-listing-v2-page .jr2-media-arrow,
body.jr-listing-v2-page .jr2-intel-pill{
  background:#1E2730 !important; border:1px solid #2B414E !important; color:#F3F5F6 !important;
}
/* Inputs / location row */
body.jr-listing-v2-page .jr2-location input,
body.jr-listing-v2-page .jr-location-input,
body.jr-listing-v2-page input[type=text],
body.jr-listing-v2-page .jr2-detail-table{ background:#1C262E; border-color:#2B414E; }

/* Kill any remaining neutral-charcoal panel backgrounds -> navy panel */
body.jr-listing-v2-page [style*="#121212"],
body.jr-listing-v2-page [style*="#0B1924"],
body.jr-listing-v2-page [style*="#0B1720"],
body.jr-listing-v2-page [style*="#101A23"]{ background:#0E1821 !important; }

/* ---- Header / context bar (headernewhome) ---- */
body.jr-listing-v2-page header,
body.jr-listing-v2-page .main-header,
body.jr-listing-v2-page .jr-site-chrome{
  background:#030709 !important; border-bottom:1px solid #17232B !important;
}
body.jr-listing-v2-page .jr-header-search,
body.jr-listing-v2-page header input[type="search"],
body.jr-listing-v2-page header input[type="text"]{ background:#101A22 !important; border-color:#24343F !important; }
body.jr-listing-v2-page .jr-header-search-dropdown{ background:#101A22 !important; border-color:#24343F !important; }
/* breadcrumb / mode row */
body.jr-listing-v2-page .jr2-mode-row,
body.jr-listing-v2-page .jr2-route-line,
body.jr-listing-v2-page .jr2-top-intel{ background:transparent !important; }

/* ---- Orange + green exact ---- */
body.jr-listing-v2-page .jr2-price,
body.jr-listing-v2-page .text-primary,
body.jr-listing-v2-page .jr2-tab.is-active,
body.jr-listing-v2-page .jr2-tabs .is-active{ color:#FF9709 !important; }
body.jr-listing-v2-page .jr2-buy-now-button{ background:linear-gradient(180deg,#22C578 0%,#159a5c 100%) !important; border-color:rgba(34,197,120,.55) !important; }

/* ---- Text ---- */
body.jr-listing-v2-page{ color:#F3F5F6; }
body.jr-listing-v2-page .jr2-muted,
body.jr-listing-v2-page .text-muted,
body.jr-listing-v2-page small{ color:#AAB4BA; }

/* ---- Footer merges into navy (footernewhome) ---- */
body.jr-listing-v2-page footer,
body.jr-listing-v2-page .jr-site-footer,
body.jr-listing-v2-page .footer-wrapper{ background:#030709 !important; border-top:1px solid #17232B !important; }
body.jr-listing-v2-page .jr-footer-faq,
body.jr-listing-v2-page .jr-footer-faq__inner{ background:transparent !important; }

/* ---- Keep the deliberate light 'People also saved' callout ---- */
body.jr-listing-v2-page .jr2-social-proof,
body.jr-listing-v2-page .jr-social-proof,
body.jr-listing-v2-page .jr-glass-card{ background:#EEF2F5 !important; border:1px solid #d6dee4 !important; color:#07131D !important; }
body.jr-listing-v2-page .jr2-social-proof *,
body.jr-listing-v2-page .jr-glass-card .jr-social-proof-title{ color:#07131D !important; }

/* ---- Mobile fixed bottom nav ---- */
body.jr-listing-v2-page .jr-mobile-nav,
body.jr-listing-v2-page .jr-bottom-nav,
body.jr-listing-v2-page .mobile-bottom-nav{ background:#030709 !important; border-top:1px solid #17232B !important; }

/* ---- Bulletproof canvas overrides (max specificity, explicit colours) ---- */
html[data-jr-theme="spotify"]{ background:#050B10 !important; }
html[data-jr-theme="spotify"] body.jr-listing-v2-page{
  background:radial-gradient(circle at 48% 0,#0D2333 0,#07131D 38%,#050B10 100%) !important;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page .page-wrapper,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-root,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-page,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-listing-shell{
  background:transparent !important; border:0 !important;
}

/* ---- Footer: force navy with light text (footernewhome is a light bg-white footer) ---- */
html[data-jr-theme="spotify"] body.jr-listing-v2-page footer.jr-site-footer{
  background:#030709 !important; border-top:1px solid #17232B !important;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page footer.jr-site-footer,
html[data-jr-theme="spotify"] body.jr-listing-v2-page footer.jr-site-footer a,
html[data-jr-theme="spotify"] body.jr-listing-v2-page footer.jr-site-footer span,
html[data-jr-theme="spotify"] body.jr-listing-v2-page footer.jr-site-footer p{ color:#AAB4BA !important; }
html[data-jr-theme="spotify"] body.jr-listing-v2-page footer.jr-site-footer a:hover{ color:#FF9709 !important; }
html[data-jr-theme="spotify"] body.jr-listing-v2-page .home-footer-seo,
html[data-jr-theme="spotify"] body.jr-listing-v2-page [class*=footer-seo]{ background:transparent !important; }

/* ================= JOB 2 corrections (exact palette + controls) ================= */
/* Primary ORANGE actions = exact #FF9709 (Chat, Start navigation, active Item details) */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-primary-button,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-emerald-btn,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-location-primary-btn,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-switcher a.is-active,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-switcher .is-active{
  background:#FF9709 !important; border:1px solid #FF9709 !important; color:#07131D !important; box-shadow:none !important;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-primary-button *,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-emerald-btn *,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-location-primary-btn *,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-switcher a.is-active *{ color:#07131D !important; }
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-primary-button:hover,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-emerald-btn:hover,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-location-primary-btn:hover{ background:#FFAE23 !important; }

/* Buy now = exact #22C578 */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-buy-now-button{
  background:#22C578 !important; border:1px solid #22C578 !important; color:#07131D !important;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-buy-now-button *{ color:#07131D !important; }

/* Secondary controls -> navy #1E2730 (kill forbidden #101A23) */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-soft-button,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-outline-button,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-location-secondary-btn,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-report-btn,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-save-tools button,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-switcher a:not(.is-active){
  background:#1E2730 !important; border:1px solid #2B414E !important; color:#F3F5F6 !important;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-soft-button:hover,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-outline-button:hover,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-location-secondary-btn:hover,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-save-tools button:hover{ background:#26343E !important; border-color:#3A5260 !important; }

/* Item details / Browse category switcher: remove pale grey outer capsule */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-switcher{
  background:transparent !important; border:0 !important; padding:0 !important; box-shadow:none !important; gap:8px !important;
}

/* Location line row -> #1C262E, no light outline, light text */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-location-line{
  background:#1C262E !important; border:1px solid #2B414E !important; color:#F3F5F6 !important;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-location-line *{ color:#F3F5F6 !important; }

/* Privacy chips -> navy with green icons */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-location-chip{
  background:#1E2730 !important; border:1px solid #2B414E !important; color:#F3F5F6 !important;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-location-chip svg,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-location-chip i,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr-location-chip [class*=icon]{ color:#22C578 !important; fill:#22C578 !important; }

/* Similar-item titles readable */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-similar-grid a,
html[data-jr-theme="spotify"] body.jr-listing-v2-page [class*=similar] [class*=title],
html[data-jr-theme="spotify"] body.jr-listing-v2-page [class*=similar] h3{ color:#F3F5F6 !important; }

/* Keyboard focus ring */
html[data-jr-theme="spotify"] body.jr-listing-v2-page button:focus-visible,
html[data-jr-theme="spotify"] body.jr-listing-v2-page a:focus-visible{ outline:2px solid rgba(255,151,9,.70) !important; outline-offset:2px; }

/* Similar-item titles readable (were dark-blue #26384d on navy) */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-similar-card strong,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-similar-body strong,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-similar-card .jr2-similar-title{ color:#F3F5F6 !important; }

/* Full-width property context bar (#0A1017) behind the breadcrumb/mode row */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-mode-row{ position:relative; padding-top:12px !important; padding-bottom:12px !important; }
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-mode-row::before{
  content:''; position:absolute; top:0; bottom:0; left:50%; margin-left:-50vw; width:100vw;
  background:#0A1017; border-bottom:1px solid #17232B; z-index:-1;
}

/* ---- Gallery: image fills the whole stage (was capped 420px / 672px wide, #0f1113) ---- */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-hero-shell{
  max-height:none !important; width:100% !important; aspect-ratio:16/10 !important; background:#0E1821 !important;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-hero-track,
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-hero-slide{ width:100% !important; height:100% !important; }
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-hero-slide img{ width:100% !important; height:100% !important; object-fit:cover !important; }

/* ---- Full-width property context bar (#0A1017) with Back to results ---- */
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-mode-row{
  position:relative; display:flex; align-items:center; gap:16px; padding:12px 0 !important;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-mode-row::before{
  content:''; position:absolute; top:0; bottom:0; left:50%; margin-left:-50vw; width:100vw;
  background:#0A1017 !important; border-bottom:1px solid #17232B !important; z-index:0;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-mode-row > *{ position:relative; z-index:1; }
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-back-results{
  display:inline-flex; align-items:center; gap:6px; color:#F3F5F6; font-weight:700; font-size:14px;
  background:#1E2730; border:1px solid #2B414E; border-radius:10px; padding:7px 13px; text-decoration:none; white-space:nowrap;
}
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-back-results:hover{ background:#26343E; border-color:#3A5260; }
html[data-jr-theme="spotify"] body.jr-listing-v2-page .jr2-route-line{ flex:1; }
body.jr-listing-v2-page .jr2-mobile-detail-brand{ display:none; }

/* ============ Detail page mobile: remove redundant top header (bottom nav covers it) + full width ============ */
@media(max-width:700px){
  body.jr-listing-v2-page header#siteHeader,
  body.jr-listing-v2-page header.header,
  body.jr-listing-v2-page #siteHeader{ display:none !important; }
  /* content occupies the whole screen width */
  html[data-jr-theme] body.jr-listing-v2-page .jr2-root.jr2-page,
  html[data-jr-theme] body.jr-listing-v2-page .jr2-page,
  html[data-jr-theme] body.jr-listing-v2-page .jr2-root{
    max-width:100% !important; width:100% !important; margin-left:0 !important; margin-right:0 !important;
    padding-left:8px !important; padding-right:8px !important;
  }
  body.jr-listing-v2-page .jr2-gallery-card{ padding-left:4px !important; padding-right:4px !important; }
  /* ensure body top starts clean now header is gone */
  body.jr-listing-v2-page .page-wrapper{ padding-top:0 !important; }
}

/* ============================================================
   MOBILE DETAIL — robust header removal (overflow-proof)
   Uses max-device-width so it fires even when horizontal
   overflow expands the layout viewport past 700px, which was
   letting the legacy desktop header/nav spill on real phones.
   Also clamps horizontal overflow so the phone respects
   device-width and renders the clean layout (like the browse
   in-page detail).
   ============================================================ */
@media (max-device-width: 820px), (max-width: 700px){
  /* kill the whole legacy header wrapper + drawer on mobile detail */
  body.jr-listing-v2-page header#siteHeader,
  body.jr-listing-v2-page header.header,
  body.jr-listing-v2-page #siteHeader,
  body.jr-listing-v2-page .jr-mobile-menu,
  body.jr-listing-v2-page .jr-mobile-header-actions{ display:none !important; }

  /* no horizontal scrolling -> browser honours device-width */
  html, body.jr-listing-v2-page{
    overflow-x:hidden !important;
    max-width:100vw !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  body.jr-listing-v2-page .jr2-listing-shell,
  body.jr-listing-v2-page .page-wrapper{
    overflow-x:hidden !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* content edge-to-edge, starts clean at the top */
  html[data-jr-theme] body.jr-listing-v2-page .jr2-root.jr2-page,
  html[data-jr-theme] body.jr-listing-v2-page .jr2-page,
  html[data-jr-theme] body.jr-listing-v2-page .jr2-root{
    max-width:100% !important; width:100% !important;
    margin-left:0 !important; margin-right:0 !important;
    padding-left:8px !important; padding-right:8px !important;
  }
  body.jr-listing-v2-page .page-wrapper{ padding-top:0 !important; }
  /* the full-bleed context bar uses 100vw; clamp it so it can't cause overflow */
  body.jr-listing-v2-page .jr2-mode-row::before{ width:100vw !important; margin-left:-50vw !important; }

  /* Mobile listing header: back + centred brand only. The bottom nav owns messages/menu. */
  html[data-jr-theme] body.jr-listing-v2-page .jr2-context-row{
    min-height:78px !important;
    justify-content:center !important;
    gap:0 !important;
    padding:7px 0 !important;
  }
  html[data-jr-theme] body.jr-listing-v2-page .jr2-context-row::before{
    background:#050B10 !important;
    border-bottom:1px solid rgba(43,65,78,.72) !important;
    box-shadow:none !important;
  }
  html[data-jr-theme] body.jr-listing-v2-page .jr2-switcher-row::before{
    background:transparent !important;
    border-bottom:0 !important;
    box-shadow:none !important;
  }
  body.jr-listing-v2-page .jr2-context-row .jr2-route-line,
  body.jr-listing-v2-page .jr2-context-row .jr2-top-intel{
    display:none !important;
  }
  html[data-jr-theme] body.jr-listing-v2-page .jr2-context-row .jr2-back-results{
    position:absolute !important;
    left:0 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    min-height:38px !important;
    padding:7px 11px !important;
    font-size:13px !important;
  }
  html[data-jr-theme] body.jr-listing-v2-page .jr2-mobile-detail-brand{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:63px !important;
    height:63px !important;
    border-radius:20px !important;
    background:radial-gradient(circle,rgba(255,151,9,.14) 0,rgba(34,197,120,.07) 52%,transparent 72%) !important;
    box-shadow:0 0 0 1px rgba(255,151,9,.14),0 8px 24px rgba(0,0,0,.28) !important;
    text-decoration:none !important;
  }
  body.jr-listing-v2-page .jr2-mobile-detail-brand img{
    display:block !important;
    width:63px !important;
    height:63px !important;
    object-fit:contain !important;
    filter:drop-shadow(0 4px 9px rgba(0,0,0,.25)) !important;
  }

  /* Stable edge-to-edge mobile canvas while listings and images stream in. */
  html[data-jr-theme] body.jr-listing-v2-page .jr2-root.jr2-page,
  html[data-jr-theme] body.jr-listing-v2-page .jr2-listing-shell,
  html[data-jr-theme] body.jr-listing-v2-page .jr2-listing-grid{
    box-sizing:border-box !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  body.jr-listing-v2-page img,
  body.jr-listing-v2-page video,
  body.jr-listing-v2-page iframe{
    max-width:100% !important;
  }

  /* Larger mobile map; one finger scrolls the page, two fingers operate the map. */
  body.jr-listing-v2-page .jr-location-card{
    padding:14px !important;
  }
  body.jr-listing-v2-page .jr-location-map-wrap{
    height:clamp(340px,54vh,460px) !important;
    width:100% !important;
    border-radius:14px !important;
  }
  body.jr-listing-v2-page .jr-location-map,
  body.jr-listing-v2-page .jr-listing-map-modal__canvas{
    touch-action:auto !important;
  }
}

/* Carbon savings badge (detail page) */
.jr-carbon-badge{ display:flex; align-items:flex-start; gap:12px; margin:14px 0; padding:13px 14px; border:1px solid rgba(255,151,9,.34); background:linear-gradient(135deg,rgba(255,151,9,.11),rgba(255,151,9,.045)); border-radius:14px; box-shadow:inset 3px 0 0 rgba(255,151,9,.82); }
.jr-carbon-ic{ flex:0 0 auto; display:inline-flex; color:#ffad32; margin-top:1px; }
.jr-carbon-txt strong{ display:block; color:#ffd08a; font-size:14px; font-weight:800; line-height:1.3; }
.jr-carbon-txt span{ display:block; color:#B8C2C8; font-size:12px; line-height:1.45; margin-top:4px; }
