   .hp-preview, .hp-preview *, .hp-preview *::before, .hp-preview *::after { box-sizing: border-box; }
   .hp-preview { margin: 0; font-family: var(--lr-font); color: #23262B; background: #fff; -webkit-font-smoothing: antialiased; }
   .hp-preview a { color: #FC4A0A; text-decoration: none; }
   .hp-preview a:hover { color: #d63e08; }
   .hp-preview button { font-family: inherit; }
   .hp-preview img { max-width: 100%; }
   .hp-preview ::selection { background: #FFD9C7; }
   /* Design shows a thin visible scrollbar on desktop horizontal-scroll
      rows (not hidden) and only hides it on mobile, where swipe is used
      instead - see the mobile-only override further down. */
   .hp-preview .hp-scroll { scrollbar-width: thin; scrollbar-color: #e6ddd4 transparent; }
   .hp-preview .hp-scroll::-webkit-scrollbar { height: 6px; }
   .hp-preview .hp-scroll::-webkit-scrollbar-track { background: transparent; }
   .hp-preview .hp-scroll::-webkit-scrollbar-thumb { background: #e6ddd4; border-radius: 6px; }

   /* ---------- Layout shell ---------- */
   .hp-preview .hp-shell { max-width: 1280px; margin: 0 auto; overflow: hidden; }

   /* ---------- Header ---------- */
   .hp-preview .hp-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.92); backdrop-filter: blur(10px); border-bottom: 1px solid #f0eae3; }
   .hp-preview .hp-header-inner { display: flex; align-items: center; gap: 36px; padding: 14px 40px; }
   .hp-preview .hp-logo-link { display: flex; align-items: center; text-decoration: none; }
   .hp-preview .hp-logo-img { height: 38px; width: auto; display: block; }
   .hp-preview .hp-nav { display: flex; align-items: center; gap: 26px; font-size: 14.5px; font-weight: 600; color: #3a3f47; }
   .hp-preview .hp-nav a.active { color: #FC4A0A; }
   .hp-preview .hp-header-actions { margin-left: auto; display: flex; align-items: center; gap: 14px; }
   .hp-preview .hp-post-btn { position: relative; overflow: hidden; border: 1.5px solid #D9420A; color: #D9420A; background: #fff; font-weight: 700; font-size: 14px; padding: 10px 18px; border-radius: 10px; cursor: pointer; display: inline-flex; align-items: center; animation: hpBtnPulseOutline 2.4s ease-in-out infinite; }
   .hp-preview .hp-post-btn:hover { color: #D9420A; background: #FFF2EC; }
   .hp-preview .hp-post-btn .hp-free-badge { background: #FC4A0A; color: #fff; font-size: 10px; padding: 2px 6px; border-radius: 5px; margin-left: 4px; }
   .hp-preview .hp-post-btn::after { content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(120deg, transparent, rgba(252,74,10,.2), transparent); transform: skewX(-20deg); animation: hpBtnShimmer 3.4s ease-in-out infinite; }
   @keyframes hpBtnPulseOutline { 0%, 100% { box-shadow: 0 0 0 0 rgba(252,74,10,.35); } 50% { box-shadow: 0 0 0 7px rgba(252,74,10,0); } }
   .hp-preview .hp-avatar { width: 38px; height: 38px; border-radius: 50%; background: #FFF2EC; color: #FC4A0A; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 19px; overflow: hidden; border: 1px solid #f6dccb; cursor: pointer; padding: 0; transition: .2s ease; }
   .hp-preview .hp-avatar:hover { background: #FC4A0A; color: #fff; border-color: #FC4A0A; }
   .hp-preview .hp-avatar img { width: 100%; height: 100%; object-fit: cover; }
   .hp-preview .hp-profile-trigger { position: relative; display: flex; align-items: center; }

   /* Header notification bell - persistent way to (re-)enable web push
      once the soft-ask banner has been snoozed/dismissed. States driven
      by JS from Notification.permission. */
   .hp-preview .hp-notif-bell { width: 38px; height: 38px; border-radius: 50%; background: #FFF2EC; color: #FC4A0A; display: flex; align-items: center; justify-content: center; font-size: 17px; border: 1px solid #f6dccb; cursor: pointer; padding: 0; transition: .2s ease; flex-shrink: 0; }
   .hp-preview .hp-notif-bell:hover { background: #FC4A0A; color: #fff; border-color: #FC4A0A; }
   .hp-preview .hp-notif-bell.is-on { background: #FC4A0A; color: #fff; border-color: #FC4A0A; cursor: default; }
   .hp-preview .hp-notif-bell.is-denied { background: #F2F2F5; color: #9a9089; border-color: #ece3d9; }
   .hp-preview .hp-notif-bell-mobile { width: 34px; height: 34px; font-size: 15px; }
   /* Logged-in header trigger as a bordered chip/card (avatar + name +
      account-type label) instead of a bare button, matching the real
      site's .user-account-chip in header.blade.php. */
   .hp-preview .hp-profile-chip { display: inline-flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #ece3d9; border-radius: 999px; padding: 6px 16px 6px 6px; cursor: pointer; font-family: inherit; box-shadow: 0 6px 16px -10px rgba(58,40,20,.35); transition: .2s ease; }
   .hp-preview .hp-profile-chip:hover { border-color: #f6dccb; box-shadow: 0 8px 20px -10px rgba(58,40,20,.45); }
   .hp-preview .hp-profile-chip-avatar { width: 40px; height: 40px; border-radius: 50%; background: #FFF2EC; color: #FC4A0A; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; overflow: hidden; flex-shrink: 0; }
   .hp-preview .hp-profile-chip-avatar img { width: 100%; height: 100%; object-fit: cover; }
   .hp-preview .hp-profile-chip-copy { display: flex; flex-direction: column; gap: 1px; line-height: 1.2; text-align: left; }
   .hp-preview .hp-profile-chip-name { font-size: 14px; font-weight: 700; color: #23262B; max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
   .hp-preview .hp-profile-chip-type { font-size: 11.5px; font-weight: 600; color: #9a9089; max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

   /* Profile dropdown (shown when logged in) */
   .hp-preview .hp-profile-menu { display: none; position: absolute; top: calc(100% + 10px); right: 0; background: #fff; border: 1px solid #eee3d9; border-radius: 12px; box-shadow: 0 18px 40px -18px rgba(0,0,0,.3); min-width: 200px; padding: 8px; z-index: 60; }
   .hp-preview .hp-profile-menu.open { display: block; }
   .hp-preview .hp-profile-menu a, .hp-preview .hp-profile-menu button { display: block; width: 100%; text-align: left; padding: 10px 12px; font-size: 14px; font-weight: 600; color: #3a3f47; border-radius: 8px; background: none; border: none; cursor: pointer; font-family: inherit; }
   .hp-preview .hp-profile-menu a:hover, .hp-preview .hp-profile-menu button:hover { background: #FFF2EC; color: #c0410a; }
   .hp-preview .hp-profile-menu .hp-profile-logout { color: #c0410a; border-top: 1px solid #f5efe8; margin-top: 4px; padding-top: 12px; display: flex; align-items: center; gap: 8px; }
   .hp-preview .hp-profile-logout:disabled { color: #b3a99f; cursor: default; }
   .hp-preview .hp-btn-spinner { width: 13px; height: 13px; border: 2px solid #f0dfd3; border-top-color: #c0410a; border-radius: 50%; animation: hpSpin .7s linear infinite; flex-shrink: 0; }
   .hp-preview .hp-profile-logout:disabled .hp-btn-spinner { border-top-color: #b3a99f; }
   @keyframes hpSpin { to { transform: rotate(360deg); } }

   /* Bottom-nav account sheet - same link list/styling language as
      .hp-profile-menu above, laid out for a full-width bottom sheet
      instead of a small anchored dropdown. */
   .hp-preview .hp-account-sheet-links { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; }
   .hp-preview .hp-account-sheet-links a, .hp-preview .hp-account-sheet-links button { display: block; width: 100%; text-align: left; padding: 13px 14px; font-size: 15px; font-weight: 600; color: #3a3f47; border-radius: 10px; background: none; border: none; cursor: pointer; font-family: inherit; }
   .hp-preview .hp-account-sheet-links a:hover, .hp-preview .hp-account-sheet-links button:hover { background: #FFF2EC; color: #c0410a; }
   .hp-preview .hp-account-sheet-links .hp-profile-logout { color: #c0410a; border-top: 1px solid #f5efe8; margin-top: 6px; padding-top: 16px; display: flex; align-items: center; gap: 8px; }

   /* ==========================================================
      REAL AUTH MODAL SYSTEM - the markup/classes/ids and the JS behavior
      ported from the live site's template.blade.php + custom.css stay
      exactly as-is (that's the proven, business-critical registration
      flow), but the visual styling below is this page's own design
      language - Plus Jakarta Sans (inherited from .hp-preview, no
      font-family override needed here) and the same warm cream/orange
      palette used everywhere else on this page, instead of the old
      site's Konnect font and #ff5a00 styling. ========================== */

   .property-selector-overlay { position: fixed; inset: 0; background: rgba(35,38,43,.6); display: flex; justify-content: center; align-items: center; z-index: 99999; opacity: 0; visibility: hidden; transition: .3s ease; }
   /* Google's .pac-container defaults to z-index:1000, which renders behind
      the modal overlay (z-index:99999) above - the suggestions still work,
      they're just invisible without this. */
   .pac-container { z-index: 999999 !important; }
   .property-selector-overlay.show { opacity: 1; visibility: visible; }
   .property-selector { width: 460px; max-width: 92vw; background: #fff; border-radius: 22px; padding: 36px 32px; position: relative; border: 1px solid #f2ebe3; box-shadow: 0 24px 60px -28px rgba(58,40,20,.35); }
   .property-close-btn { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border: none; background: none; cursor: pointer; font-size: 28px; color: #9a9089; z-index: 5; }
   .property-selector-overlay .mobile-header { display: none; }
   .mobile-card { background: transparent; padding: 0; }
   .mobile-card h5.mobile-card-title { font-family: var(--lr-font); font-size: 24px; line-height: 1.3; font-weight: 600; color: #23262B; margin-bottom: 22px;letter-spacing:-.02em;}
   .property-options { display: flex; flex-direction: column; gap: 12px; }
   .property-item input { display: none; }
   .property-item label { height: 56px; border: 1px solid #ece3d9; border-radius: 11px; display: flex; align-items: center; padding: 0 16px; cursor: pointer; font-size: 15.5px; font-weight: 600; color: #23262B; background: #faf7f3; transition: .25s; }
   .property-item label:before { content: ""; width: 18px; height: 18px; border: 1px solid #cfc3b6; border-radius: 50%; margin-right: 12px; flex-shrink: 0; }
   .property-item input:checked + label { background: #FC4A0A; border-color: #FC4A0A; color: #fff; box-shadow: 0 10px 22px -10px rgba(252,74,10,.6); }
   .property-item input:checked + label:before { background: #fff; border-color: #fff; }
   .continue-btn { width: 100%; height: 52px; margin-top: 18px; border: none; border-radius: 11px; background: #FC4A0A; color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 10px 22px -10px rgba(252,74,10,.7); }
   .onboarding-terms { margin-top: 12px; margin-bottom: 0; text-align: center; font-size: 12px; line-height: 18px; color: #7b8089; }
   .onboarding-link { color: #FC4A0A; text-decoration: none; font-weight: 600; }
   .onboarding-link:hover { text-decoration: underline; }
   .name-input-wrapper { margin-top: 10px; }
   /* font-size held at 16px (not the design's 15px) - anything smaller
      makes iOS Safari auto-zoom the whole page on focus, which is what
      throws this bottom-sheet modal wildly out of position against the
      keyboard. Same fix on .login-phone-input/.location-search-input
      below. */
   .name-input { width: 100%; height: 52px; padding: 0 16px; border: 1px solid #ece3d9; border-radius: 11px; background: #faf7f3; font-size: 16px; font-weight: 600; color: #23262B; outline: none; }
   .name-input:focus { border-color: #FC4A0A; }
   .login-error-name-message { margin-top: 8px; font-size: 12px; color: #e53935; }
   .otp-subtitle { font-size: 14px; color: #7b8089; margin-bottom: 24px; line-height: 1.5; }
   .otp-edit-number-btn { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-left: 2px; border: none; background: #FFF1E9; color: #FC4A0A; border-radius: 50%; font-size: 11px; cursor: pointer; vertical-align: middle; padding: 0; }
   .otp-edit-number-btn:hover { background: #FC4A0A; color: #fff; }
   .otp-input-wrapper { display: flex; gap: 12px; margin-bottom: 24px; }
   .otp-input { width: 56px; height: 56px; border: 1px solid #ece3d9; border-radius: 11px; text-align: center; font-size: 22px; font-weight: 700; background: #faf7f3; color: #23262B; }
   .otp-input:focus { border-color: #FC4A0A; outline: none; }
   .otp-resend-section { margin-bottom: 20px; font-size: 14px; color: #5f6570; }
   .otp-resend-btn { color: #FC4A0A; font-weight: 700; text-decoration: none; cursor: pointer; }
   .popup-terms-text { margin-top: 12px; text-align: center; font-size: 12px; line-height: 1.5; color: #7b8089; }
   .popup-terms-text a { color: #FC4A0A; text-decoration: none; }
   .login-phone-wrapper { display: flex; align-items: center; width: 100%; border: 1px solid #ece3d9; border-radius: 11px; overflow: hidden; background: #faf7f3; margin-top: 10px; }
   .country-code { min-width: 70px; height: 52px; display: flex; align-items: center; justify-content: center; border-right: 1px solid #ece3d9; font-weight: 700; color: #23262B; }
   .login-phone-input { flex: 1; border: none; outline: none; height: 52px; padding: 0 15px; font-size: 16px; font-weight: 600; background: transparent; color: #23262B; }
   .mobile-terms-text { margin-top: 16px; text-align: center; font-size: 12px; line-height: 18px; color: #7b8089; }
   .mobile-terms-text a { color: #FC4A0A; text-decoration: none; font-weight: 700; }
   .login-phone-error { display: none; margin-top: 8px; padding: 10px 14px; border-radius: 10px; background: #FDEBEC; color: #FF2D55; font-size: 13px; font-weight: 500; }
   .login-phone-wrapper.error { border: 1px solid #FF2D55; box-shadow: 0 0 0 1px rgba(255,45,85,.15); }
   #otpModalOverlay .otp-success-message { width: 280px; display: flex; align-items: center; gap: 8px; margin-bottom: 24px; padding: 5px; background: linear-gradient(to right, rgba(212,247,234,1), rgba(255,255,255,0)); border-radius: 30px; }
   .otp-success-icon { flex: 0 0 auto; }
   .location-search-wrapper { display: flex; align-items: center; gap: 10px; border: 1px solid #ece3d9; border-radius: 11px; padding: 0 14px; margin-top: 10px; background: #faf7f3; }
   .location-search-icon { position: static; flex: 0 0 auto; transform: none; color: #666; }
   .location-search-input { flex: 1; min-width: 0; border: none; outline: none; height: 52px; padding: 0; font-size: 16px; font-weight: 600; color: #23262B; background: transparent; box-shadow: none; }
   .location-search-input:focus { border: none; outline: none; box-shadow: none; }
   .login-modal-title { font-family: var(--lr-font); font-size: 24px; font-weight: 600; color: #23262B; margin: 0 0 12px;letter-spacing:-.02em;}
   .location-modal-description { font-size: 14px; color: #5f6570; line-height: 1.5; margin: 0 0 6px; }
   .login-continue-btn-a { width: 100%; height: 52px; margin-top: 18px; border: none; border-radius: 11px; background: #FC4A0A; color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 10px 22px -10px rgba(252,74,10,.7); }
   .login-modal-form { margin: 0; }
   .toast { position: fixed; left: 50%; bottom: 30px; transform: translateX(-50%) translateY(20px); background: #23262B; color: #fff; padding: 12px 20px; border-radius: 10px; font-size: 14px; opacity: 0; transition: .3s ease; z-index: 999999; max-width: 90vw; text-align: center; }
   .toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }


   .hp-preview .hp-header-mobile { display: none; }
   .hp-preview .hp-header-mobile-inner { display: flex; align-items: center; gap: 12px; padding: 12px 16px; }
   .hp-preview .hp-logo-img-mobile { height: 30px; width: auto; display: block; }
   .hp-preview .hp-header-actions-mobile { margin-left: auto; display: flex; align-items: center; gap: 10px; }
   /* Search by PID on the mobile header — icon-only, matched to the
      notification bell's 34px so the row stays even. Same destination as the
      desktop header's labelled pill. */
   .hp-preview .hp-pid-btn-mobile { height: 34px; padding: 0 11px; gap: 6px; border-radius: 999px; background: #FFF2EC; color: #FC4A0A; border: 1px solid #f6dccb; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; line-height: 1; white-space: nowrap; text-decoration: none; flex-shrink: 0; transition: .2s ease; }
   .hp-preview .hp-pid-btn-mobile i { font-size: 14px; }
   /* The label is the first thing to go if the row runs out of room — a
      logged-in tenant also carries the notification bell, which is the
      tightest case on a 360px device. */
   @media (max-width: 359px) {
      .hp-preview .hp-pid-btn-mobile span { display: none; }
      .hp-preview .hp-pid-btn-mobile { width: 34px; padding: 0; border-radius: 50%; }
   }
   .hp-preview .hp-pid-btn-mobile:hover { background: #FC4A0A; color: #fff; border-color: #FC4A0A; }

   .hp-preview .hp-avatar-mobile { width: 38px; height: 38px; border-radius: 50%; background: #FC4A0A; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; overflow: hidden; }
   .hp-preview .hp-avatar-mobile.hp-avatar-mobile-guest { background: #FFF2EC; color: #FC4A0A; border: 1px solid #f6dccb; }
   .hp-preview .hp-avatar-mobile .bi-person-fill { font-size: 19px; }

   /* ---------- App download banner (mobile only) ---------- */
   .hp-preview .hp-app-banner { display: none; position: sticky; top: 0; z-index: 70; background: #fff; border-bottom: 1px solid #f0eae3; }
   .hp-preview .hp-app-banner.hp-app-banner-hide { display: none !important; }
   .hp-preview .hp-app-banner-inner { display: flex; align-items: center; gap: 10px; padding: 9px 12px; }
   .hp-preview .hp-app-banner-icon { flex-shrink: 0; width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(135deg, #FC4A0A, #FF8A3D); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 16px; box-shadow: 0 4px 10px -4px rgba(252,74,10,.55); }
   .hp-preview .hp-app-banner-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
   .hp-preview .hp-app-banner-title { font-size: 12.5px; font-weight: 700; color: #23262B; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
   .hp-preview .hp-app-banner-sub { font-size: 11px; color: #8a8f98; display: flex; align-items: center; gap: 4px; }
   .hp-preview .hp-app-banner-rating { color: #c0410a; font-weight: 600; display: inline-flex; align-items: center; gap: 2px; }
   .hp-preview .hp-app-banner-rating .bi-star-fill { font-size: 9px; }
   .hp-preview .hp-app-banner-dot { color: #d8d5d0; }
   .hp-preview .hp-app-banner-cta { flex-shrink: 0; background: linear-gradient(135deg, #FC4A0A, #FF8A3D); color: #fff; font-size: 12.5px; font-weight: 700; padding: 7px 16px; border-radius: 100px; box-shadow: 0 6px 14px -6px rgba(252,74,10,.55); }
   .hp-preview .hp-app-banner-cta:hover { color: #fff; }
   .hp-preview .hp-app-banner-close { flex-shrink: 0; width: 22px; height: 22px; border: none; background: transparent; color: #b5b0a9; font-size: 18px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
   .hp-preview .hp-app-banner-close:hover { color: #8a8f98; }

   /* ---------- Hero ---------- */
   .hp-preview .hp-hero { position: relative; padding: 0; background: linear-gradient(120deg,#FFF4EE 0%,#FFEDE3 40%,#fff 100%); }
   .hp-preview .hp-hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; align-items: stretch; }
   .hp-preview .hp-hero-copy { padding: 64px 48px 120px; }
   .hp-preview .hp-hero-badge { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #f2e4d8; border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 600; color: #c0410a; }
   .hp-preview .hp-hero-badge-dot { width: 7px; height: 7px; border-radius: 50%; background: #2ea44f; }
   .hp-preview .hp-hero-title { font-family: var(--lr-font); font-weight: 600; font-size: 58px; line-height: 1.04; letter-spacing: -0.5px; margin: 22px 0 0; color: #23262B; }
   .hp-preview .hp-hero-accent { color: #FC4A0A; font-style: italic; }
   .hp-preview .hp-hero-sub { font-size: 17px; line-height: 1.6; color: #5f6570; max-width: 460px; margin: 20px 0 0; }
   .hp-preview .hp-hero-stats { display: flex; gap: 30px; margin-top: 34px; }
   .hp-preview .hp-hero-stat-num { font-family: var(--lr-font); font-size: 30px; font-weight: 700; color: #23262B;letter-spacing:-.02em;}
   .hp-preview .hp-hero-stat-label { font-size: 13px; color: #7b8089; font-weight: 500; }
   .hp-preview .hp-hero-stat-divider { width: 1px; background: #ecdfd3; }
   .hp-preview .hp-hero-visual { position: relative; min-height: 440px; background: url('/front/assets/images/hp-preview/hero-image.webp') center / cover no-repeat; display: flex; align-items: center; justify-content: center; }

   /* Search card - the hero above bleeds full width, but the search card
      itself still lines up with the same 1280px container every section
      below it uses, so it doesn't stretch edge-to-edge on wide screens. */
   .hp-preview .hp-hero-search-wrap { max-width: 1280px; margin: 0 auto; position: relative; }
   .hp-preview .hp-search-card { position: relative; margin: -72px 48px 0; background: #fff; border-radius: 18px; box-shadow: 0 24px 60px -28px rgba(58,40,20,.35); border: 1px solid #f2ebe3; padding: 8px 8px 22px; z-index: 5; }
   .hp-preview .hp-search-tabs-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px 0; flex-wrap: wrap; gap: 10px; }
   .hp-preview .hp-search-tabs { display: flex; gap: 4px; flex-wrap: wrap; }
   .hp-preview .hp-tab-btn { font-family: inherit; font-weight: 600; font-size: 14.5px; padding: 10px 18px; border: none; border-radius: 10px; background: transparent; color: #6f757e; cursor: pointer; }
   .hp-preview .hp-tab-btn.active { font-weight: 700; background: #FFF2EC; color: #c0410a; }
   .hp-preview .hp-search-right { display: flex; align-items: center; gap: 14px; }
   .hp-preview .hp-pid-btn { display: inline-flex; align-items: center; gap: 6px; background: #FFF2EC; color: #c0410a; border: 1px solid #f6dccb; font-weight: 700; font-size: 12.5px; padding: 7px 12px; border-radius: 999px; cursor: pointer; }
   .hp-preview .hp-verified-toggle { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #5f6570; cursor: pointer; }
   .hp-preview .hp-search-fields { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 14px; padding: 16px 18px 0; }
   .hp-preview .hp-field-label { font-size: 11px; font-weight: 700; letter-spacing: .04em; color: #9a9089; text-transform: uppercase; margin-bottom: 6px; }
   .hp-preview .hp-custom-select { position: relative; }
   .hp-preview .hp-field-select-btn { width: 100%; text-align: left; display: flex; align-items: center; justify-content: space-between; background: #faf7f3; border: 1px solid #ece3d9; border-radius: 11px; padding: 13px 15px; font-family: inherit; font-size: 15px; font-weight: 600; color: #23262B; cursor: pointer; gap: 8px; }
   .hp-preview .hp-select-arrow { color: #b3a99f; flex: 0 0 auto; }
   .hp-preview .hp-select-dropdown { display: none; position: absolute; top: calc(100% + 6px); left: 0; right: 0; margin-top: 0; background: #fff; border: 1px solid #eee3d9; border-radius: 12px; box-shadow: 0 18px 40px -18px rgba(0,0,0,.25); overflow: hidden; z-index: 20; max-height: 260px; overflow-y: auto; }
   .hp-preview .hp-select-dropdown.open { display: block; }
   .hp-preview .hp-select-option { padding: 12px 16px; font-size: 14px; font-weight: 600; color: #3a3f47; cursor: pointer; border-bottom: 1px solid #f5efe8; }
   .hp-preview .hp-select-option:last-child { border-bottom: none; }
   .hp-preview .hp-select-option:hover { background: #faf7f3; }
   .hp-preview .hp-field-location { display: flex; align-items: center; gap: 10px; background: #faf7f3; border: 1px solid #ece3d9; border-radius: 11px; padding: 13px 15px; }
   .hp-preview .hp-field-location input { border: none; background: transparent; outline: none; font-family: inherit; font-size: 15px; font-weight: 600; color: #23262B; width: 100%; }
   /* Location pin with a radar-style pulse behind it, like a "your
      location" marker on a map, instead of a plain radio-button dot. */
   .hp-preview .hp-location-pin { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; flex-shrink: 0; }
   .hp-preview .hp-location-pin i { position: relative; z-index: 2; color: #FC4A0A; font-size: 16px; line-height: 1; }
   .hp-preview .hp-location-pin::before { content: ''; position: absolute; width: 100%; height: 100%; border-radius: 50%; background: rgba(252,74,10,.4); animation: hpLocationPulse 1.8s ease-out infinite; }
   @keyframes hpLocationPulse {
      0% { transform: scale(.6); opacity: .8; }
      70%, 100% { transform: scale(2.4); opacity: 0; }
   }
   .hp-preview .hp-search-btn { height: 48px; width: 100%; background: #FC4A0A; color: #fff; border: none; font-family: inherit; font-weight: 700; font-size: 15px; padding: 0 30px; border-radius: 11px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 10px 22px -10px rgba(252,74,10,.7); }
   .hp-preview .hp-search-btn:hover { background: #e04409; }
   .hp-preview .hp-search-btn:disabled { opacity: .7; cursor: default; }
   .hp-preview .hp-recent-row { display: flex; align-items: center; gap: 10px; padding: 16px 18px 0; font-size: 13px; color: #8a8079; flex-wrap: wrap; }
   .hp-preview .hp-recent-row-label { font-weight: 600; }
   .hp-preview .hp-recent-chip { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid #eee3d9; border-radius: 999px; padding: 5px 12px; font-weight: 600; color: #5f6570; cursor: pointer; text-decoration: none; flex: 0 0 auto; max-width: 260px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

   /* ---------- Where do you want to live? ---------- */
   .hp-preview .hp-cities-section { padding: 40px 48px 0; }
   .hp-preview .hp-section-head-center { text-align: center; margin-bottom: 34px; }
   .hp-preview .hp-section-title { font-family: var(--lr-font); font-weight: 600; font-size: 32px; margin: 0; letter-spacing: 0px; }
   .hp-preview .hp-section-sub { color: #7b8089; font-size: 15.5px; margin: 10px 0 0; }
   .hp-preview .hp-cities-track { display: flex; gap: 18px; overflow-x: auto; padding-bottom: 14px; }
   .hp-preview .hp-city-card { flex: 0 0 220px; border-radius: 16px; overflow: hidden; cursor: pointer; position: relative; box-shadow: 0 12px 30px -22px rgba(0,0,0,.4); display: block; }
   .hp-preview .hp-city-card-img { height: 150px; width: 100%; object-fit: cover; display: block; }
   .hp-preview .hp-city-card-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 26px 16px 14px; background: linear-gradient(transparent, rgba(20,12,6,.82)); }
   .hp-preview .hp-city-card-name { color: #fff; font-weight: 700; font-size: 15px; }
   .hp-preview .hp-city-card-count { color: #f3d9c8; font-size: 12px; font-weight: 500; margin-top: 2px; min-height: 15px; }

   /* ---------- My current requirement ---------- */
   .hp-preview .hp-requirement-section { padding: 30px 40px 0; }
   .hp-preview .hp-requirement-card { position: relative; border: 1.5px solid #FC4A0A; border-radius: 16px; background: linear-gradient(120deg,#fff 55%,#FFF4EE 100%); padding: 22px 26px; display: flex; align-items: center; gap: 20px; box-shadow: 0 14px 34px -26px rgba(252,74,10,.35); }
   .hp-preview .hp-requirement-icon { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 14px; background: #FFF1E9; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #FC4A0A; }
   .hp-preview .hp-requirement-body { flex: 1; min-width: 0; }
   .hp-preview .hp-requirement-kicker { font-size: 12.5px; font-weight: 700; letter-spacing: .03em; color: #c0410a; text-transform: uppercase; }
   .hp-preview .hp-requirement-title { font-size: 19px; font-weight: 800; color: #23262B; margin-top: 4px; }
   .hp-preview .hp-requirement-meta { display: flex; gap: 18px; margin-top: 10px; flex-wrap: wrap; font-size: 13px; color: #6f757e; font-weight: 600; }
   .hp-preview .hp-requirement-edit-btn { flex: 0 0 auto; background: #fff; color: #FC4A0A; border: 1.5px solid #FC4A0A; font-weight: 700; font-size: 14px; padding: 11px 22px; border-radius: 11px; cursor: pointer; text-decoration: none; white-space: nowrap; }
   .hp-preview .hp-requirement-edit-btn:hover { background: #FFF4EE; color: #FC4A0A; }

   /* ---------- Exclusive rental properties ---------- */
   .hp-preview .hp-listings-section { padding: 30px 48px 0; }
   .hp-preview .hp-section-head-row { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 24px; gap: 12px; }
   .hp-preview .hp-see-all { font-weight: 700; font-size: 14px; }
   /* The head row has three children on a rows homepage - title block, "See all"
      and the scroll arrows - where it had two. Grouping the last two keeps
      space-between putting the title at one end and the controls at the other,
      instead of spreading three items evenly across the width. */
   .hp-preview .hp-row-head-actions { display: flex; align-items: center; gap: 16px; flex: none; }
   .hp-preview .hp-see-all { color: #FF5403; text-decoration: none; white-space: nowrap; }
   .hp-preview .hp-see-all:hover { text-decoration: underline; }
   /* Consecutive rows would otherwise carry the section's full 56px top padding
      each, leaving a gap between rows far larger than the gap inside one. */
   .hp-preview .hp-listings-row + .hp-listings-row { padding-top: 8px; }
   .hp-preview .hp-listings-track { display: flex; gap: 20px; overflow-x: auto; padding-bottom: 16px; }
   .hp-preview .hp-prop-card { flex: 0 0 300px; border: 1px solid #f0eae3; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 14px 34px -26px rgba(0,0,0,.4); }
   .hp-preview .hp-prop-img-wrap { position: relative; height: 190px; }
   .hp-preview .hp-prop-img { width: 100%; height: 100%; object-fit: cover; display: block; }
   .hp-preview .hp-prop-tag { position: absolute; top: 12px; left: 12px; background: #fff; color: #c0410a; font-size: 11px; font-weight: 700; padding: 5px 10px; border-radius: 999px; }
   .hp-preview .hp-prop-save { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border-radius: 50%; border: none; background: rgba(255,255,255,.92); cursor: pointer; font-size: 15px; color: #c9bfb4; display: flex; align-items: center; justify-content: center; }
   .hp-preview .hp-prop-save.active { color: #FC4A0A; }
   .hp-preview .hp-prop-photos { position: absolute; bottom: 12px; right: 12px; background: rgba(0,0,0,.6); color: #fff; font-size: 11px; font-weight: 600; padding: 4px 9px; border-radius: 999px; }
   .hp-preview .hp-prop-body { padding: 15px 16px 18px; }
   .hp-preview .hp-prop-price-row { display: flex; align-items: center; justify-content: space-between; }
   .hp-preview .hp-prop-price { font-size: 20px; font-weight: 800; color: #23262B; }
   .hp-preview .hp-prop-price-suffix { font-size: 12px; font-weight: 600; color: #8a8079; }
   .hp-preview .hp-prop-verified { display: inline-flex; align-items: center; gap: 4px; background: #e9f7ee; color: #1f9d55; font-size: 11px; font-weight: 700; padding: 4px 9px; border-radius: 999px; white-space: nowrap; }
   .hp-preview .hp-prop-pid { font-size: 11px; color: #a59a8f; font-weight: 600; margin-top: 4px; }
   .hp-preview .hp-prop-title { font-size: 15px; font-weight: 700; margin-top: 8px; color: #23262B; }
   .hp-preview .hp-prop-location { font-size: 13px; color: #7b8089; margin-top: 3px; }
   .hp-preview .hp-prop-specs { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
   .hp-preview .hp-prop-spec { font-size: 11.5px; font-weight: 600; color: #5f6570; background: #f8f4ef; border: 1px solid #eee3d9; padding: 4px 9px; border-radius: 7px; }
   .hp-preview .hp-prop-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding-top: 13px; border-top: 1px solid #f2ece5; gap: 10px; }
   .hp-preview .hp-prop-listed { font-size: 12px; color: #8a8079; font-weight: 600; white-space: nowrap; }
   .hp-preview .hp-prop-contact { background: #23262B; color: #fff; border: none; font-weight: 700; font-size: 12.5px; padding: 8px 16px; border-radius: 9px; text-decoration: none; white-space: nowrap; }
   .hp-preview .hp-prop-contact:hover { color: #fff; background: #34383f; }
   .hp-preview .hp-scroll-nav { display: flex; align-items: center; gap: 10px; }
   .hp-preview .hp-scroll-btn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #ece3d9; background: #fff; color: #23262B; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 16px; }
   .hp-preview .hp-prop-actions { display: flex; align-items: center; gap: 8px; }
   .hp-preview .hp-prop-call { background: #FFF1E9; color: #c0410a; border: none; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; cursor: pointer; }
   .hp-preview .hp-prop-whatsapp { width: 34px; height: 34px; border-radius: 50%; border: none; background: #25D366; color: #fff; font-size: 15px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
   /* Owner-facing "My Properties" cards reuse the .hp-prop-* card shell but
      add a management action row (View Insights / Availability etc.) the
      public homepage card doesn't need. */
   .hp-preview .hp-prop-actions-row { display: flex; gap: 8px; margin-top: 14px; }
   .hp-preview .hp-prop-action-btn { flex: 1; text-align: center; font-family: inherit; font-weight: 700; font-size: 12.5px; padding: 9px 10px; border-radius: 9px; cursor: pointer; white-space: nowrap; border: 1.5px solid #FC4A0A; background: #fff; color: #FC4A0A; text-decoration: none; display: inline-block; }
   .hp-preview .hp-prop-action-btn:hover { background: #FFF4EE; color: #FC4A0A; }
   .hp-preview .hp-prop-action-btn.primary { background: #FC4A0A; color: #fff; border-color: #FC4A0A; }
   .hp-preview .hp-prop-action-btn.primary:hover { background: #e04409; color: #fff; }

   /* My Properties: four cards per row on desktop. This page-specific
      selector overrides the legacy full-width .property-listings rule. */
   @media (min-width: 992px) {
      .hp-preview .my-properties-grid > [class*="col-"] {
         display: flex;
         flex: 0 0 25%;
         width: 25%;
         max-width: 25%;
      }

      .hp-preview .my-properties-grid .hp-prop-card {
         height: 100%;
         width: 100%;
      }

      .hp-preview .my-properties-grid .hp-prop-title {
         display: block;
         overflow: hidden;
         text-overflow: ellipsis;
         white-space: nowrap;
      }
   }

   /* ---------- Explore by property type / What's your budget? ---------- */
   .hp-preview .hp-browse-section { padding: 40px 48px 0; }
   .hp-preview .hp-browse-title { font-family: var(--lr-font); font-weight: 600; font-size: 32px; margin: 0 0 8px; letter-spacing: -0.3px; }
   .hp-preview .hp-browse-sub { color: #7b8089; font-size: 15px; margin: 0 0 16px; }
   .hp-preview .hp-city-chips { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
   .hp-preview .hp-city-chip { font-family: inherit; font-weight: 600; font-size: 13px; padding: 8px 16px; border-radius: 999px; border: 1px solid #ece3d9; background: #fff; color: #5f6570; cursor: pointer; white-space: nowrap; }
   .hp-preview .hp-city-chip.active { font-weight: 700; border-color: #FC4A0A; background: #FC4A0A; color: #fff; }
   .hp-preview .hp-type-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
   .hp-preview .hp-type-tile { border-radius: 16px; overflow: hidden; cursor: pointer; position: relative; height: 200px; display: flex; flex-direction: column; justify-content: space-between; padding: 20px; box-shadow: 0 12px 30px -24px rgba(0,0,0,.4); text-decoration: none; }
   .hp-preview .hp-type-tile-title { font-weight: 700; font-size: 17px; color: #23262B; max-width: 70%; }
   .hp-preview .hp-type-tile-ph { align-self: flex-end; background: url('/front/assets/images/hp-preview/flats-apartments.png') center / cover no-repeat; border-radius: 12px; width: 88px; height: 88px; }

   /* Services (Rent Agreement / Police Verification / Explore Locality) */
   .hp-preview .hp-services-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 18px; }
   .hp-preview .hp-service-card { position: relative; height: 170px; border-radius: 16px; overflow: hidden; border: 1px solid #f2ece5; cursor: pointer; box-shadow: 0 12px 30px -26px rgba(0,0,0,.35); text-decoration: none; display: block; }
   .hp-preview .hp-service-card-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .9; }
   .hp-preview .hp-service-card-fade { position: absolute; inset: 0; background: linear-gradient(100deg,#fff 22%,rgba(255,255,255,0) 62%); }
   .hp-preview .hp-service-card-title { position: relative; padding: 24px 0 0 26px; font-weight: 800; font-size: 18px; line-height: 1.3; color: #23262B; max-width: 130px; }
   .hp-preview .hp-budget-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 16px; }
   .hp-preview .hp-budget-tile { border-radius: 16px; padding: 20px 20px; cursor: pointer; text-decoration: none; display: block; }
   .hp-preview .hp-budget-label { font-size: 12px; font-weight: 700; letter-spacing: .05em; color: #6b6157; text-transform: uppercase; }
   .hp-preview .hp-budget-amt { font-family: var(--lr-font); font-size: 32px; font-weight: 700; color: #23262B; margin-top: -6px; letter-spacing: -.02em; }
   .hp-preview .hp-budget-count { font-size: 12.5px; color: #6b6157; font-weight: 600; margin-top: 4px; }

   /* ---------- Personal assistance ---------- */
   .hp-preview .hp-assist-section { padding: 40px 48px 0; }
   .hp-preview .hp-assist-card { background: #221f1c; border-radius: 22px; padding: 36px 36px; color: #fff; position: relative; overflow: hidden; }
   .hp-preview .hp-assist-glow { position: absolute; right: -80px; top: -80px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle,rgba(252,74,10,.35),transparent 70%); pointer-events: none; }
   .hp-preview .hp-assist-top { position: relative; }
   .hp-preview .hp-assist-label { font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #FC7A46; }
   .hp-preview .hp-assist-heading { font-family: var(--lr-font); font-weight: 600; font-size: 34px; margin: 12px 0 0; max-width: 520px; line-height: 1.15; }
   .hp-preview .hp-assist-accent { color: #FC7A46; font-style: italic; }
   /* Sits top-right next to the heading on desktop (card has its own
      48px/44px padding, so this aligns flush with it); on mobile it drops
      below the steps as a full-width button, matching the design's own
      two different layouts for this button rather than one compromise. */
   .hp-preview .hp-assist-btn { position: absolute; top: 0; right: 0; background: #FC4A0A; color: #fff; border: none; font-weight: 700; font-size: 15px; padding: 14px 26px; border-radius: 12px; cursor: pointer; white-space: nowrap; text-decoration: none; display: inline-block; }
   .hp-preview .hp-assist-btn:hover { color: #fff; background: #e04409; }
   .hp-preview .hp-assist-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 38px; position: relative; }
   .hp-preview .hp-assist-step { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09); border-radius: 15px; padding: 22px 20px; }
   .hp-preview .hp-assist-num { width: 40px; height: 40px; border-radius: 11px; background: #FC4A0A; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 16px; }
   .hp-preview .hp-assist-step-title { font-weight: 700; font-size: 17px; margin: 16px 0 8px; }
   .hp-preview .hp-assist-step-body { font-size: 13.5px; line-height: 1.55; color: #b9b3ac; margin: 0; }
   .hp-preview .hp-assist-step-body span { color: #FC7A46; font-weight: 600; }

   /* ---------- Post property CTA ---------- */
   .hp-preview .hp-postcta-section { padding: 40px 48px 0; }
   .hp-preview .hp-postcta-card { background: linear-gradient(110deg,#FFEDE3,#FFF6F0); border: 1px solid #f6dccb; border-radius: 22px; padding: 40px 44px; display: flex; align-items: center; gap: 40px; }
   .hp-preview .hp-postcta-photo { width: 180px; height: 130px; flex: 0 0 180px; border-radius: 14px; object-fit: cover; }
   .hp-preview .hp-postcta-copy { flex: 1; }
   .hp-preview .hp-postcta-title { font-family: var(--lr-font); font-weight: 600; font-size: 32px; margin: 0; letter-spacing: -0.3px; line-height: 1.15; }
   .hp-preview .hp-postcta-sub { color: #5f6570; font-size: 16px; margin: 10px 0 8px; max-width: 560px; }
   .hp-preview .hp-postcta-actions { display: flex; gap: 12px; }
   .hp-preview .hp-postcta-btn { position: relative; overflow: hidden; background: #FC4A0A; color: #fff; border: none; font-weight: 700; font-size: 15px; padding: 14px 24px; border-radius: 12px; cursor: pointer; white-space: nowrap; text-decoration: none; display: inline-block; animation: hpBtnPulse 2.4s ease-in-out infinite; }
   .hp-preview .hp-postcta-btn:hover { color: #fff; background: #e04409; }
   .hp-preview .hp-postcta-btn::after { content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(120deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-20deg); animation: hpBtnShimmer 3.4s ease-in-out infinite; }
   @keyframes hpBtnPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(252,74,10,.45); } 50% { box-shadow: 0 0 0 9px rgba(252,74,10,0); } }
   @keyframes hpBtnShimmer { 0% { left: -60%; } 45%, 100% { left: 130%; } }
   .hp-preview .hp-postcta-whatsapp { position: relative; overflow: hidden; background: #fff; color: #23262B; border: 1.5px solid #e6d8cc; font-weight: 700; font-size: 15px; padding: 14px 22px; border-radius: 12px; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; text-decoration: none; animation: hpWhatsappPulse 2.4s ease-in-out infinite; }
   .hp-preview .hp-postcta-whatsapp i { color: #25D366; font-size: 18px; }
   .hp-preview .hp-postcta-whatsapp::after { content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(120deg, transparent, rgba(37,211,102,.3), transparent); transform: skewX(-20deg); animation: hpBtnShimmer 3.4s ease-in-out infinite; animation-delay: 1.7s; }
   @keyframes hpWhatsappPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(37,211,102,.35); } 50% { box-shadow: 0 0 0 8px rgba(37,211,102,0); } }
   .hp-preview .hp-postcta-mobile-title, .hp-preview .hp-postcta-mobile-sub { display: none; }

   /* ---------- Tools & calculators ---------- */
   .hp-preview .hp-tools-section { padding: 40px 48px 0; }
   .hp-preview .hp-tools-title { font-family: var(--lr-font); font-weight: 600; font-size: 34px; margin: 0 0 8px; letter-spacing: -0.3px; }
   .hp-preview .hp-tools-sub { color: #7b8089; font-size: 15px; margin: 0 0 20px; }
   .hp-preview .hp-tools-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
   .hp-preview .hp-tool-card { border: 1px solid #f0eae3; border-radius: 16px; padding: 26px 24px; cursor: pointer; background: #fff; box-shadow: 0 12px 30px -26px rgba(0,0,0,.4); text-decoration: none; display: block; }
   .hp-preview .hp-tool-icon { width: 48px; height: 48px; border-radius: 13px; background: #FFF2EC; display: flex; align-items: center; justify-content: center; font-size: 22px; }
   .hp-preview .hp-tool-title { font-weight: 700; font-size: 18px; margin: 16px 0 6px; color: #c0410a; }
   .hp-preview .hp-tool-body { font-size: 14px; color: #6f757e; line-height: 1.5; }
   .hp-preview .hp-tool-cta { font-weight: 700; font-size: 13.5px; color: #FC4A0A; margin-top: 14px; }
   .hp-preview .hp-tool-arrow { display: none; }

   /* ---------- App download ---------- */
   .hp-preview .hp-app-section { padding: 40px 48px 0; }
   .hp-preview .hp-app-card { background: #221f1c; border-radius: 22px; padding: 26px 40px; display: flex; align-items: center; gap: 30px; position: relative; overflow: hidden; color: #fff; }
   .hp-preview .hp-app-glow { position: absolute; left: -60px; bottom: -90px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle,rgba(252,74,10,.3),transparent 70%); pointer-events: none; }
   .hp-preview .hp-app-copy { flex: 1; position: relative; }
   .hp-preview .hp-app-badge { display: inline-block; background: #FC4A0A; font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 999px; letter-spacing: .04em; }
   .hp-preview .hp-app-title { font-family: var(--lr-font); font-weight: 600; font-size: 32px; margin: 16px 0 0; }
   .hp-preview .hp-app-sub { color: #b9b3ac; font-size: 15px; margin: 10px 0 0; max-width: 520px; line-height: 1.6; }
   .hp-preview .hp-app-stores { display: flex; gap: 12px; margin-top: 22px; }
   .hp-preview .hp-app-store-btn { background: #000; border: 1px solid #3a3631; border-radius: 11px; padding: 10px 18px; font-size: 13px; font-weight: 600; cursor: pointer; color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
   .hp-preview .hp-app-store-btn i { font-size: 17px; }
   .hp-preview .hp-app-mockup { width: 240px; height: 200px; flex: 0 0 240px; border-radius: 16px; object-fit: contain; position: relative; z-index: 1; }

   /* ---------- Popular cities / SEO links ---------- */
   .hp-preview .hp-seo-section { padding: 40px 48px 0; }
   .hp-preview .hp-seo-title { font-family: var(--lr-font); font-weight: 600; font-size: 34px; margin: 0 0 8px; letter-spacing: -0.3px; }
   .hp-preview .hp-seo-sub { color: #7b8089; font-size: 14px; margin: 0 0 16px; }
   /* touch-action:pan-x + user-select:none so a horizontal swipe is
      unambiguously a scroll gesture - without user-select:none, a
      touch-drag starting on a tab's text triggers native text selection
      instead of scrolling the row (confirmed via window.getSelection()
      picking up the tab labels instead of the row moving). */
   .hp-preview .hp-seo-tabs { display: flex; gap: 26px; border-bottom: 1px solid #f0eae3; margin-bottom: 26px; overflow-x: auto; -webkit-overflow-scrolling: touch; touch-action: pan-x; user-select: none; -webkit-user-select: none; }
   .hp-preview .hp-seo-tab { font-family: inherit; font-weight: 600; font-size: 14.5px; padding: 0 2px 12px; border: none; background: transparent; color: #6f757e; border-bottom: 2.5px solid transparent; cursor: pointer; white-space: nowrap; }
   .hp-preview .hp-seo-tab.active { font-weight: 700; color: #FC4A0A; border-bottom-color: #FC4A0A; }
   .hp-preview .hp-seo-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
   .hp-preview .hp-seo-col-head { font-weight: 700; font-size: 15px; margin-bottom: 12px; }
   /* All real links for the city/category show here (no cap), so the
      column scrolls internally instead of blowing out the section height. */
   .hp-preview .hp-seo-links { display: flex; flex-direction: column; gap: 9px; max-height: 320px; overflow-y: auto; padding-right: 6px; }
   .hp-preview .hp-seo-links::-webkit-scrollbar { width: 6px; }
   .hp-preview .hp-seo-links::-webkit-scrollbar-thumb { background: #e6ddd4; border-radius: 6px; }
   .hp-preview .hp-seo-links a { font-size: 13.5px; color: #6f757e; }

   /* ---------- Tenant videos (decorative - no real video source) ---------- */
   .hp-preview .hp-video-section { padding: 40px 48px 0; text-align: center; }
   .hp-preview .hp-video-title { font-family: var(--lr-font); font-weight: 600; font-size: 34px; margin: 0 0 8px; letter-spacing: -0.3px; }
   .hp-preview .hp-video-title span { color: #FC4A0A; font-style: italic; }
   .hp-preview .hp-video-sub { color: #7b8089; font-size: 15px; margin: 0 0 26px; }
   .hp-preview .hp-video-frame { position: relative; max-width: 820px; margin: 0 auto; height: 420px; border-radius: 18px; overflow: hidden; background: repeating-linear-gradient(135deg,#2a2622,#2a2622 10px,#332f2a 10px,#332f2a 20px); display: flex; align-items: center; justify-content: center; }
   .hp-preview .hp-video-play { width: 76px; height: 76px; border-radius: 50%; background: #FC4A0A; display: flex; align-items: center; justify-content: center; font-size: 28px; color: #fff; box-shadow: 0 14px 30px -10px rgba(252,74,10,.7); }

   /* ---------- Testimonials ---------- */
   .hp-preview .hp-testi-section { padding: 40px 48px 40px; }
   .hp-preview .hp-testi-head { text-align: center; margin-bottom: 32px; }
   .hp-preview .hp-testi-title { font-family: var(--lr-font); font-weight: 600; font-size: 34px; margin: 0; letter-spacing: -0.3px; }
   .hp-preview .hp-testi-title span { color: #FC4A0A; font-style: italic; }
   .hp-preview .hp-testi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
   .hp-preview .hp-testi-card { border: 1px solid #f0eae3; border-radius: 16px; padding: 26px 24px; background: #fff; box-shadow: 0 14px 34px -28px rgba(0,0,0,.4); }
   .hp-preview .hp-testi-stars { color: #FFB020; font-size: 16px; letter-spacing: 2px; }
   .hp-preview .hp-testi-quote { font-size: 15px; line-height: 1.65; color: #3a3f47; margin: 16px 0 20px; }
   .hp-preview .hp-testi-person { display: flex; align-items: center; gap: 12px; }
   .hp-preview .hp-testi-avatar { width: 44px; height: 44px; border-radius: 50%; background: repeating-linear-gradient(135deg,#e6ddd2,#e6ddd2 6px,#eee5da 6px,#eee5da 12px); flex: 0 0 44px; }
   .hp-preview .hp-testi-name { font-weight: 700; font-size: 14.5px; }
   .hp-preview .hp-testi-role { font-size: 12.5px; color: #8a8079; }

   /* ---------- Footer ---------- */
   .hp-preview .hp-footer { margin-top: 0px; background: #1b1917; color: #c7c1ba; padding: 56px 48px 30px; }
   .hp-preview .hp-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr; gap: 40px; }
   /* The real footer.png asset is white-on-transparent, made to sit
      directly on this dark footer - no white background pill needed
      (that was inherited from the design's own inline style, which
      assumed a different, dark-on-white logo asset). */
   .hp-preview .hp-footer-logo-link { display: inline-block; }
   .hp-preview .hp-footer-logo { height: 40px; width: auto; }
   .hp-preview .hp-footer-tagline { font-size: 14px; line-height: 1.6; margin: 18px 0 0; color: #9a938c; max-width: 280px; }
   .hp-preview .hp-footer-socials { display: flex; gap: 10px; margin-top: 18px; }
   .hp-preview .hp-footer-social { width: 36px; height: 36px; border-radius: 9px; background: #2c2926; display: flex; align-items: center; justify-content: center; font-size: 15px; cursor: pointer; color: #c7c1ba; }
   .hp-preview .hp-footer-col-head { font-weight: 700; font-size: 14px; color: #fff; margin-bottom: 16px; }
   .hp-preview .hp-footer-links { display: flex; flex-direction: column; gap: 11px; }
   .hp-preview .hp-footer-links a { font-size: 13.5px; color: #9a938c; }
   /* On desktop these three columns need to act as direct items of the
      outer 5-column .hp-footer-grid (matching its grid-template-columns);
      display:contents lets the wrapper disappear from layout while still
      existing in the DOM for the mobile 2-column grid below. */
   .hp-preview .hp-footer-cols-wrap { display: contents; }
   .hp-preview .hp-footer-contact { font-size: 13.5px; line-height: 1.9; color: #9a938c; }
   .hp-preview .hp-footer-contact i { width: 15px; margin-right: 6px; color: #c7856a; }
   .hp-preview .hp-footer-apps { display: flex; gap: 10px; margin-top: 16px; }
   .hp-preview .hp-footer-app-btn { background: #2c2926; border-radius: 9px; padding: 8px 14px; font-size: 12px; font-weight: 600; cursor: pointer; color: #c7c1ba; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
   .hp-preview .hp-footer-app-btn i { font-size: 14px; }
   .hp-preview .hp-footer-bottom { border-top: 1px solid #2c2926; margin-top: 40px; padding-top: 22px; text-align: center; font-size: 12.5px; color: #7d766f; }

   /* ---------- Mobile bottom nav ---------- */
   .hp-preview .hp-bottom-nav { display: none; }

   /* ================= MOBILE (≤767px), values from the design's
      mobile mockup rather than scaled-down desktop values ================= */

   /* ================= LISTING PAGE (.lp-preview) =================
      Full pixel-match rebuild of Lets Rentz Listings.dc.html, scoped
      under .lp-preview so none of this leaks onto any other page -
      only front/property/listing.blade.php ever gets this class or
      any of these markup changes. Real data/filtering underneath is
      unchanged. Mobile-only (max-width:767.98px) overrides for this
      page are in responsive1.css instead. */
   /* White page (not flat grey) on purpose - matches buy-sell-listing-v2.html's
      body/.searchband split, where only the search bar band is grey and
      everything else (filters, results, cards) sits on white so the
      bordered-not-filled .lcard cards actually stand out. Was #F7F7F8
      everywhere here, which flattened that contrast - see .lp-desktop-search-wrap
      below for the grey band this page was missing. */
   .lp-preview { font-family: var(--lr-font); background: #FFFFFF; }
   .lp-preview .main-content { background: #FFFFFF; }
   .lp-preview a { color: #FC4A0A; }

   /* ---------- Breadcrumb / heading ---------- */
   .lp-preview .filter-title,
   .lp-preview .lp-locality-title,
   .lp-preview .lp-card-title,
   .lp-preview .lp-card-stat-price {
      font-family: var(--lr-font);
      font-weight: 600;
   }
   /* results-count (the "989 House/Flat for rent in Mohali" heading) is
      deliberately NOT in the Newsreader-serif group above - per past
      direction, a prototype port should use the prototype's own exact
      styling rather than blending with the live site's existing tokens.
      buy-sell-listing-v2.html's .results-head h1: sans-serif (inherits
      .lp-preview's Plus Jakarta Sans), 24px/800/-0.015em. */
   .lp-preview .results-count {
      font-family: inherit;
      font-size: 24px; font-weight: 800; letter-spacing: -0.015em;
   }
   .lp-preview .results-count .property-count { color: #FC4A0A; }
   .lp-preview .lp-breadcrumb { font-size: 12px; color: #9a948e; padding: 14px 0 6px; }
   .lp-preview .lp-breadcrumb a { color: #5f6570; text-decoration: none; }
   .lp-preview .lp-breadcrumb span.sep { color: #c4beb8; margin: 0 4px; }

   /* .results-head in buy-sell-listing-v2.html - heading + sort dropdown
      sharing one row instead of two stacked rows. */
   .lp-preview .lp-results-head {
      display: flex; align-items: center; justify-content: space-between;
      gap: 12px; flex-wrap: wrap; margin: 4px 0 18px;
   }

   /* ---------- Sort row / active-filter summary ---------- */
   .lp-preview .lp-sort-row { display: flex; align-items: center; gap: 10px; }
   .lp-preview .lp-sort-label { font-size: 14px; font-weight: 500; color: var(--ink, #333); white-space: nowrap; }
   .lp-preview .lp-sort-btn {
      display: flex; align-items: center; gap: 7px; border: 1px solid #ddd; background: #fff;
      border-radius: 10px; padding: 10px 13px; font-weight: 600; font-size: 13.5px; color: #3a3f47;
      cursor: pointer; white-space: nowrap;
   }
   .lp-preview .lp-sort-btn span.lbl { color: #9a948e; }
   .lp-preview .lp-sort-wrap { position: relative; }
   /* Matches buy-sell-listing-v2.html's .sort-select exactly (border/radius/
      padding/chevron), replacing the old pill-style sort button look. */
   .lp-preview .lp-sort-select {
      appearance: none; -webkit-appearance: none; -moz-appearance: none;
      border: 1px solid #E5E5E5; background: #fff; border-radius: 8px;
      padding: 11px 34px 11px 16px; font-family: inherit; font-weight: 500;
      font-size: 14px; color: var(--ink, #333); cursor: pointer;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat; background-position: right 13px center;
   }
   .lp-preview .lp-sort-wrap::after { content: none; }
   .lp-preview .lp-active-filters {
      display: none; align-items: center; gap: 10px; margin: 12px 0 4px;
      font-size: 13.5px; color: #6f757e;
   }
   .lp-preview .lp-active-filters.show { display: flex; }
   .lp-preview .lp-active-filters .lp-count { color: #23262B; }
   .lp-preview .lp-active-filters button { border: none; background: transparent; color: #FC4A0A; font-weight: 700; font-size: 13.5px; cursor: pointer; padding: 0; }
   .lp-preview .lp-sort-chevron-sm { font-size: 10px; }
   .lp-preview .lp-results-row { margin-top: 20px; }

   /* ---------- 3-column layout at wide desktop (sidebar / results / quick
      links). buy-sell-listing-v2.html's own .layout is 376px 1fr 264px;
      sidebar trimmed to 350px per explicit feedback that 376px read too
      wide. Narrower than this breakpoint, .lp-results-row keeps the
      existing Bootstrap col-lg-3/col-md-4 flex behavior (see the
      768-1100px patches above) and quick links just stacks in normal
      flow - not worth replicating the reference's own two more
      breakpoints for this. */
   @media (min-width: 1200px) {
      /* .row.g-3 selector (3 classes) beats a plain .lp-preview .lp-results-row
         (2 classes) - styles.css's ".main-content .row.g-3{display:flex}" was
         winning over this. Match its specificity with .row.g-3 here too. */
      .lp-preview .lp-results-row.row.g-3 {
         display: grid;
         grid-template-columns: 350px 1fr 264px;
         gap: 24px;
      }
      /* Bootstrap's col-lg-3/col-md-4/col-lg-9/col-md-8 still carry their own
         width:25%/75% (etc.) even once the parent is display:grid - that's a
         percentage OF the grid track the item was placed in, not of the row,
         so each item was shrinking to a fraction of its own already-correct
         track width instead of filling it. Reset them back to fill their
         track, same as any normal grid item does by default. */
      .lp-preview .lp-results-row.row.g-3 > .lp-sidebar-col,
      .lp-preview .lp-results-row.row.g-3 > .col-lg-9.col-md-8,
      .lp-preview .lp-results-row.row.g-3 > .lp-quick-links {
         width: 100%;
         max-width: 100%;
         flex: none;
      }
   }

   /* ---------- Mobile header (search pill + sort/filter row) ---------- */
   .lp-preview .lp-mobile-header { background: #fff; border-bottom: 1px solid #ececec; padding: 12px 14px; }
   .lp-preview .lp-mobile-toprow { display: flex; align-items: center; gap: 8px; }
   .lp-preview .lp-mobile-back { flex: 0 0 auto; border: none; background: transparent; font-size: 20px; color: #23262B; padding: 0; }
   .lp-preview .lp-mobile-search-pill {
      flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; border: 1px solid #ddd;
      border-radius: 999px; padding: 9px 14px; background: #F7F7F8;
   }
   .lp-preview .lp-mobile-search-pill i { color: #FC4A0A; font-size: 15px; flex: 0 0 auto; }
   .lp-preview .lp-mobile-search-pill input {
      flex: 1; min-width: 0; border: none; background: transparent; outline: none;
      font-size: 13px; font-weight: 600; color: #3a3f47; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
   }
   .lp-preview .lp-mobile-icon-btn {
      flex: 0 0 auto; position: relative; width: 38px; height: 38px; border-radius: 50%;
      border: 1px solid #ddd; background: #fff; display: flex; align-items: center; justify-content: center;
      font-size: 15px; color: #3a3f47; cursor: pointer;
   }
   .lp-preview .lp-mobile-icon-btn.save { color: #FC4A0A; }
   .lp-preview .lp-mobile-icon-btn .lp-badge {
      position: absolute; top: -3px; right: -3px; background: #FC4A0A; color: #fff; font-size: 9px; font-weight: 800;
      border-radius: 50%; width: 16px; height: 16px; display: flex; align-items: center; justify-content: center;
   }
   .lp-preview .lp-mobile-secondrow { display: flex; align-items: center; gap: 8px; padding-top: 12px; }
   .lp-preview .lp-mobile-sort-btn {
      flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #ddd;
      background: #fff; border-radius: 10px; padding: 9px 10px; font-weight: 600; font-size: 13px; color: #3a3f47; cursor: pointer;
   }
   .lp-preview .lp-mobile-premium-btn {
      flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #FC4A0A;
      background: #FFF1E9; color: #c0410a; border-radius: 10px; padding: 9px 10px; font-weight: 700; font-size: 13px; cursor: pointer;
   }

   /* ---------- Desktop search bar ---------- */
   /* The grey band buy-sell-listing-v2.html calls .searchband - white-to-
      #F3F3F3 gradient, same values as that file's --grey-50 token, full
      width edge-to-edge. .lp-desktop-search-wrap now sits outside
      .container (see listing.blade.php) specifically so this background
      can reach the true viewport edges instead of stopping at the
      container's own padding - .lp-desktop-search-inner is a second
      .container nested inside it that re-centers the actual search bar
      to line up with the breadcrumb/results below. */
   .lp-preview .lp-desktop-search-wrap {
      background: linear-gradient(180deg, #FFFFFF 0%, #F3F3F3 100%);
   }
   .lp-preview .lp-desktop-search-inner {
      display: flex; justify-content: center; align-items: center; gap: 12px;
      padding-top: 18px; padding-bottom: 18px;
   }
   .lp-preview .lp-desktop-search-bar {
      width: 100%; max-width: 640px; display: flex; align-items: center; gap: 8px; border: 1px solid #DDD;
      border-radius: 999px; padding: 6px 6px 6px 8px; background: #fff;
   }
   .lp-preview .lp-mode-wrap { position: relative; flex: 0 0 auto; }
   .lp-preview .lp-mode-btn {
      display: flex; align-items: center; gap: 6px; border: none; background: #F4F4F5; border-radius: 999px;
      padding: 9px 14px; font-weight: 700; font-size: 13.5px; color: #23262B; cursor: pointer; white-space: nowrap;
   }
   .lp-preview .lp-mode-chevron { font-size: 11px; color: #a09a94; }
   .lp-preview .lp-mode-menu {
      position: absolute; top: 110%; left: 0; background: #fff; border: 1px solid #eee; border-radius: 12px;
      box-shadow: 0 18px 40px -18px rgba(0,0,0,.25); overflow: hidden; z-index: 30; min-width: 150px; display: none;
   }
   .lp-preview .lp-mode-menu.show { display: block; }
   .lp-preview .lp-mode-menu a {
      display: block; padding: 11px 15px; font-size: 13.5px; font-weight: 600; color: #3a3f47;
      border-bottom: 1px solid #f5efe8; white-space: nowrap; text-decoration: none;
   }
   .lp-preview .lp-mode-menu a.active { color: #FC4A0A; }
   .lp-preview .lp-loc-chip {
      display: inline-flex; align-items: center; gap: 6px; background: #FFF1E9; border: 1px solid #f7d3bf;
      color: #c0410a; border-radius: 999px; padding: 7px 10px 7px 12px; font-size: 13px; font-weight: 600; white-space: nowrap; flex: 0 1 auto; min-width: 0;
   }
   .lp-preview .lp-loc-chip span.txt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
   .lp-preview .lp-desktop-search-input { flex: 1; min-width: 70px; border: none; background: transparent; outline: none; font-size: 14px; color: #23262B; padding: 8px 6px; }
   .lp-preview .lp-search-submit-btn {
      flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; border: none; background: #FC4A0A; color: #fff;
      font-size: 17px; cursor: pointer; box-shadow: 0 8px 18px -8px rgba(252,74,10,.7); display: flex; align-items: center; justify-content: center;
   }
   .lp-preview .lp-pid-btn {
      flex: 0 0 auto; display: flex; align-items: center; gap: 6px; border: 1px solid #FC4A0A; background: #FFF1E9;
      color: #23262B; font-weight: 700; font-size: 14px; padding: 12px 18px; border-radius: 999px; cursor: pointer; white-space: nowrap; text-decoration: none;
   }
   .lp-preview .lp-pid-btn span { color: #FC4A0A; font-size: 15px; }

   /* ---------- Sidebar ---------- */
   /* Matches buy-sell-listing-v2.html's .filter-card/.fsection spacing:
      padding lives once on the card itself (20px) instead of on every
      child, and sections are separated by a light 16px+2px gap instead of
      an 18px-padding-plus-divider-line box each - the old per-section
      border-bottom read as more boxed/cluttered than the reference. */
   .lp-preview .filter-card { border: 1px solid #ececec; border-radius: 15px; background: #fff; box-shadow: none; padding: 20px; }
   .lp-preview .filter-title-row { padding: 0; margin-bottom: 4px; }
   .lp-preview .filter-title { font-size: 20px; }
   .lp-preview .btn-reset-all { color: #FC4A0A; font-weight: 700; font-size: 13px; border: none; background: transparent; }
   .lp-preview .filter-section { padding: 16px 0 0; margin-top: 2px; border-bottom: none; }
   .lp-preview .filter-section-header { font-weight: 700; font-size: 15px; color: #23262B; }
   .lp-preview .lp-pill-row { display: flex; gap: 8px; flex-wrap: wrap; }
   .lp-preview .lp-pill {
      font-family: inherit; font-weight: 600; font-size: 13px; padding: 9px 15px; border-radius: 999px;
      cursor: pointer; white-space: nowrap; background: #fff; border: 1px solid #e2ddd7; color: #5f6570;
   }
   .lp-preview .lp-pill.active,
   .lp-preview .lp-pill input:checked + span {
      background: #FFF1E9; border-color: #FC4A0A; color: #c0410a;
   }
   .lp-preview .lp-pill input { display: none; }
   .lp-preview .lp-checklist { display: flex; flex-direction: column; gap: 11px; }
   /* padding: 0 - Bootstrap's .form-check keeps padding-left:1.5em for its
      floated checkbox; here the box is a flex item, so that padding just
      indented every checkbox row 21px past the section headings and chips. */
   .lp-preview .lp-checklist .form-check { display: flex; align-items: center; gap: 11px; font-size: 14px; color: #3a3f47; margin: 0; padding: 0; }
   .lp-preview .lp-checklist .form-check-input { width: 20px; height: 20px; border-radius: 6px; margin: 0; }
   .lp-preview .lp-checklist .form-check-input:checked { background-color: #FC4A0A; border-color: #FC4A0A; }
   .lp-preview .lp-checklist .form-check-label { margin: 0; }

   /* Category / Preferred Tenant / Furnished / Food / Property Type /
      Listed By all render as JS-populated or static .form-check lists -
      style every one of them as the mockup's pill row instead of a
      checkbox list, without touching the JS that populates them. */
   .lp-preview .filter-options-list,
   .lp-preview .filter-options { display: flex; flex-wrap: wrap; gap: 8px; }
   .lp-preview .filter-options-list .form-check,
   .lp-preview .filter-options .form-check {
      /* styles.css:42779 (@media min-width:768px) bordered-pill-wrapper
         rule fights our own border-on-<label> pill styling below,
         producing a border-inside-a-border look - neutralize it here. */
      margin: 0; padding: 0; border: none; border-radius: 0; display: contents;
   }
   /* "Listed By" wraps its two chips in Bootstrap's .row.g-4 > .col-6, whose
      gutters indented them ~12px past every other chip row (Property Type,
      Category...). Make the grid wrapper transparent so they join the same
      flex pill row. */
   .lp-preview .filter-options > .row,
   .lp-preview .filter-options > .row > [class*="col-"] { display: contents; }
   .lp-preview .filter-options-list .form-check-input,
   .lp-preview .filter-options .form-check-input { display: none; }
   .lp-preview .filter-options-list .form-check-label,
   .lp-preview .filter-options .form-check-label {
      /* Matches the mockup's seg() chip (Category/Furnished/etc use
         this, not pill() - pill() is 999px/peach-active and is only
         for things like the mode switcher and quick-filter chips). */
      display: inline-flex; align-items: center; margin: 0; font-weight: 600; font-size: 12.5px; padding: 8px 13px;
      border-radius: 8px; cursor: pointer; white-space: nowrap; background: #fff; border: 1px solid #e2ddd7; color: #5f6570;
   }
   .lp-preview .filter-options-list .form-check-input:checked + .form-check-label,
   .lp-preview .filter-options .form-check-input:checked + .form-check-label {
      background: #FC4A0A; border-color: #FC4A0A; color: #fff;
   }
   .lp-preview .lp-budget-inputs { display: flex; align-items: center; gap: 10px; }
   .lp-preview .lp-budget-box { flex: 1; border: 1px solid #ddd; border-radius: 9px; padding: 8px 10px; }
   .lp-preview .lp-budget-box .lbl { font-size: 10.5px; color: #9a948e; font-weight: 600; }
   .lp-preview .lp-budget-box .val { font-size: 14px; font-weight: 700; }

   /* noUiSlider theme (Price Range) - matches buy-sell-listing-v2.html's
      .range-wrap/input[type=range] look: solid-orange 22px handle with a
      white checkmark icon (same SVG the reference uses) instead of a
      plain white-with-orange-ring dot, and the whole thing sits much
      closer to the track (was margin:20px 4px 28px - the reference's
      native slider only needs 6px 2px 2px since it doesn't reserve space
      for a floating tooltip above the handle). */
   .lp-preview .price-slider-container { padding-top: 4px; }
   /* Top margin can't go quite as tight as the reference's own 6px - unlike
      its static range-caps (always below the track), our value tooltip
      floats above the handle and needs enough clearance not to overlap the
      "Price Range" header text; measured against the actual rendered
      tooltip/header boxes rather than guessed. */
   .lp-preview .lp-noui-slider { margin: 26px 4px 24px; }
   .lp-preview .lp-noui-slider.noUi-target { background: #eee; border: none; box-shadow: none; height: 4px; }
   .lp-preview .lp-noui-slider .noUi-connect { background: #FC4A0A; }
   .lp-preview .lp-noui-slider .noUi-handle {
      width: 22px; height: 22px; border-radius: 50%; background: #FC4A0A
         url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
      border: 2px solid #fff;
      box-shadow: 0 1px 5px rgba(18,18,26,.28); top: -9px; right: -11px; cursor: pointer;
   }
   .lp-preview .lp-noui-slider .noUi-handle::before,
   .lp-preview .lp-noui-slider .noUi-handle::after { display: none; }
   /* Matches buy-sell-listing-v2.html's .range-caps exactly (plain text,
      no dark pill background) - was a solid #23262B tooltip chip, which
      looked heavier/darker than the reference's understated look. */
   .lp-preview .lp-noui-slider .noUi-tooltip {
      border: none; background: none; color: var(--ink-soft, #676767);
      font-size: 12px; font-weight: 700; padding: 0; border-radius: 0; bottom: 22px;
   }
   .lp-preview .lp-radius-value { font-size: 14px; font-weight: 700; color: #23262B; margin-bottom: 6px; }

   /* Matches buy-sell-listing-v2.html's .quicklinks - own card, own sticky
      (no longer sharing the sidebar's scroll stack now that it's a separate
      column, see .lp-sidebar-col below). */
   .lp-preview .lp-quick-links {
      background: #fff; border: 1px solid #E5E5E5; border-radius: 14px; padding: 18px;
   }
   .lp-preview .lp-quick-links-title { font-size: 15px; font-weight: 700; color: var(--ink, #333); margin: 0 0 12px; }
   .lp-preview .lp-quick-links hr { border: none; border-top: 1px solid #E5E5E5; margin: 0 0 12px; }
   .lp-preview .lp-quick-links-list { list-style: disc; padding-left: 18px; margin: 0; }
   .lp-preview .lp-quick-links-list li { font-size: 12.5px; line-height: 1.5; margin-bottom: 12px; }
   .lp-preview .lp-quick-links-list li:last-child { margin-bottom: 0; }
   .lp-preview .lp-quick-links-list a { color: var(--ink, #333); text-decoration: none; }
   .lp-preview .lp-quick-links-list a:hover { color: #FC4A0A; }
   @media (min-width: 1200px) {
      .lp-preview .lp-quick-links { position: sticky; top: 88px; }
   }

   /* ---------- Property card ---------- */
   .lp-preview .lp-card-link { display: block; color: inherit; text-decoration: none; margin-bottom: 16px; }
   .lp-preview .lp-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #ececec; border-radius: 14px; overflow: hidden; box-shadow: 0 12px 30px -26px rgba(0,0,0,.4); }
   .lp-preview .lp-card-media { position: relative; flex: 0 0 auto; height: 230px; background-color: #eee5da; overflow: hidden; }
   .lp-preview .lp-card-media-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
   .lp-preview .lp-card-ribbon { position: absolute; top: 12px; left: 12px; background: rgba(0,0,0,.6); color: #fff; font-size: 11px; font-weight: 700; padding: 5px 12px; border-radius: 8px; }
   .lp-preview .lp-card-save { position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 50%; border: none; background: rgba(0,0,0,.5); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
   .lp-preview .lp-card-save.active { color: #FC4A0A; }
   .lp-preview .lp-card-video-badge { position: absolute; bottom: 10px; left: 10px; background: rgba(0,0,0,.62); color: #fff; font-size: 11px; font-weight: 600; padding: 4px 9px; border-radius: 6px; }
   /* Sits over the cover image (which stays as the poster underneath) and
      only gets an iframe once it scrolls into view - see the
      IntersectionObserver in template.blade.php. pointer-events:none so
      clicks fall through to the card link except on the mute button. */
   .lp-preview .lp-card-video { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
   /* Base fallback fill - lpInitVideoCards() overrides width/height/top/left
      with exact "cover" math (like object-fit:cover, which iframes can't use
      natively) so the YouTube player's own letterboxing lands outside the
      visible box instead of showing as black bars on the sides. */
   .lp-preview .lp-card-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: none; }
   .lp-preview .lp-card-video-mute { position: absolute; bottom: 10px; right: 10px; width: 32px; height: 32px; border-radius: 50%; border: none; background: rgba(0,0,0,.62); color: #fff; display: none; align-items: center; justify-content: center; cursor: pointer; pointer-events: auto; font-size: 13px; z-index: 2; }
   .lp-preview .lp-card-video.is-playing .lp-card-video-mute { display: flex; }
   .lp-preview .lp-card-body { flex: 1; padding: 14px 16px; display: flex; flex-direction: column; min-width: 0; }
   .lp-preview .lp-card-toprow { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
   /* flex:1 + min-width:0 so this claims its full share of .lp-card-toprow
      against the fixed-size .lp-card-tags sibling - without min-width:0 a
      flex item's default min-width:auto keeps it pinned to its content's
      natural width, which both wastes the space .lp-card-tags doesn't use
      and is required for the subtitle's text-overflow:ellipsis below to
      actually kick in instead of just wrapping. */
   .lp-preview .lp-card-titlewrap { flex: 1; min-width: 0; }
   /* Explicit color instead of inheriting .lp-card-link's color:inherit -
      reported rendering orange on Android instead of this dark color. */
   .lp-preview .lp-card-title { font-size: 15px; font-weight: 800; letter-spacing: .01em; text-transform: uppercase; color: #23262B; }
   .lp-preview .lp-card-subtitle {
      font-size: 13px; color: #5f6570; margin-top: 3px;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
   }
   .lp-preview .lp-card-pid { font-size: 11px; color: #9a948e; font-weight: 600; letter-spacing: .02em; margin-top: 4px; }
   .lp-preview .lp-card-tags { display: flex; gap: 6px; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; }
   .lp-preview .lp-card-fortag { background: #fff; color: #23262B; font-size: 11px; font-weight: 700; padding: 6px 13px; border-radius: 999px; box-shadow: 0 4px 10px rgba(0,0,0,.12); white-space: nowrap; }
   .lp-preview .lp-card-verified { background: #e9f7ee; color: #1f9d55; font-size: 10.5px; font-weight: 700; padding: 4px 9px; border-radius: 999px; white-space: nowrap; }
   .lp-preview .lp-card-stats { display: flex; gap: 18px; margin-top: 14px; flex-wrap: wrap; }
   .lp-preview .lp-card-stat-price { font-size: 18px; font-weight: 800; color: #23262B; }
   .lp-preview .lp-card-stat-price span { font-size: 12px; font-weight: 600; color: #8a8079; margin-left: 2px; }
   .lp-preview .lp-card-stat-main { font-size: 15px; font-weight: 800; color: #23262B; }
   .lp-preview .lp-card-stat-sub-inline { font-size: 11.5px; font-weight: 600; color: #9a948e; }
   .lp-preview .lp-card-stat-sub { font-size: 11.5px; color: #9a948e; font-weight: 600; margin-top: 2px; }
   .lp-preview .lp-card-divider { width: 1px; background: #eee; }
   .lp-preview .lp-card-highlights { display: flex; align-items: center; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
   .lp-preview .lp-card-highlights-label { font-size: 12.5px; color: #6f757e; font-weight: 700; }
   .lp-preview .lp-card-highlight-chip { font-size: 11.5px; font-weight: 600; color: #5f6570; background: #f5f5f6; border: 1px solid #ececec; padding: 4px 9px; border-radius: 7px; }
   .lp-preview .lp-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #f2ece5; flex-wrap: wrap; }
   .lp-preview .lp-card-dealer { font-size: 13px; font-weight: 700; color: #3a3f47; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
   .lp-preview .lp-card-actions { display: flex; gap: 8px; flex: 0 0 auto; }
   .lp-preview .lp-card-btn-outline { border: 1.5px solid #FC4A0A; background: #fff; color: #c0410a; font-weight: 700; font-size: 12.5px; padding: 9px 15px; border-radius: 9px; cursor: pointer; white-space: nowrap; }
   .lp-preview .lp-card-btn-solid { border: none; background: #FC4A0A; color: #fff; font-weight: 700; font-size: 12.5px; padding: 9px 15px; border-radius: 9px; cursor: pointer; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
   .lp-preview .lp-no-results { color: #6f757e; }
   .lp-preview .lp-no-results-card {
      text-align: center; padding: 56px 20px 44px; background: #fff;
      border: 1px solid #ececec; border-radius: 16px;
      box-shadow: 0 12px 30px -26px rgba(0,0,0,.4);
   }
   .lp-preview .lp-no-results h2 { color: #1a1a1a; font-size: 22px; margin-bottom: 6px; }
   .lp-preview .lp-empty-chips {
      display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
      margin: 20px 0 8px;
   }
   .lp-preview .lp-chip {
      display: inline-flex; align-items: center; gap: 8px;
      background: #f4f4f4; border: 1px solid #eaeaea; border-radius: 999px;
      padding: 8px 10px 8px 16px; font-size: 14px; color: #1a1a1a;
   }
   .lp-preview .lp-chip-remove {
      border: none; background: transparent; color: #6f757e; font-size: 18px;
      line-height: 1; cursor: pointer; padding: 2px 4px;
   }
   .lp-preview .lp-chip-remove:hover { color: #FC4A0A; }
   .lp-preview .lp-similar-heading {
      text-align: left; font-weight: 600; font-size: 16px; color: #1a1a1a;
      margin: 32px 0 16px;
   }
   .lp-preview .lp-similar-cards { text-align: left; }

   /* Same "no results" chips/similar-properties styling as above, unscoped
      so it also applies on pages without the .lp-preview wrapper (FlatMate's
      listing page, and the non-preview property listing fallback template). */
   .listingNotFound { text-align: center; padding: 60px 20px 40px; color: #6f757e; }
   .listingNotFound h2 { color: #1a1a1a; font-size: 22px; margin-bottom: 6px; }
   .lp-empty-chips {
      display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
      margin: 20px 0 8px;
   }
   .lp-chip {
      display: inline-flex; align-items: center; gap: 8px;
      background: #f4f4f4; border: 1px solid #eaeaea; border-radius: 999px;
      padding: 8px 10px 8px 16px; font-size: 14px; color: #1a1a1a;
   }
   .lp-chip-remove {
      border: none; background: transparent; color: #6f757e; font-size: 18px;
      line-height: 1; cursor: pointer; padding: 2px 4px;
   }
   .lp-chip-remove:hover { color: #FC4A0A; }
   .lp-similar-heading {
      text-align: left; font-weight: 600; font-size: 16px; color: #1a1a1a;
      margin: 32px 0 16px;
   }
   .lp-similar-cards { text-align: left; }
   .lp-preview .property-listings {
      display: flex; flex-direction: column;
      /* .property-listings is emptied and rebuilt on every filter
         change (filteredProperties()) - without this, the browser's
         scroll-anchoring can pick a node that's about to be removed
         as its anchor and jump the page to a wrong position once the
         new cards land. */
      overflow-anchor: none;
      /* Lets the card CSS (property-card-v2.css) react to this column's
         actual rendered width via @container - the card column here
         isn't a fixed fraction of the viewport (it's whatever's left
         after the filter sidebar, which itself changes width across
         Bootstrap's md/lg breakpoints), so a plain @media viewport query
         can't reliably tell when the column itself has gotten too narrow
         for the card's specs row/footer to fit without wrapping. */
      container-type: inline-size;
   }
   .lp-preview { overflow-anchor: none; }
   .lp-preview .btn-show-more {
      border: 1.5px solid #FC4A0A; background: #fff; color: #FC4A0A; font-weight: 700; font-size: 15px;
      padding: 12px 28px; border-radius: 999px; cursor: pointer;
   }

   /* .main-content's overflow-x:hidden (global styles.css) forces its
      overflow-y to compute as auto per the CSS spec's "one axis
      visible" rule, turning <main> into its own tiny scroll box and
      breaking position:sticky entirely - it was sticking to that box,
      not the page. Let the page itself scroll here instead. */
   .lp-preview .main-content { overflow: visible; min-height: auto; }

   .lp-preview .lp-sheet-backdrop {
      display: none; position: fixed; inset: 0; background: rgba(20,12,6,.45); z-index: 88;
      /* .lp-sheet-backdrop is a direct child of .row.g-3 (needed so the
         fixed-position mobile sheets aren't nested inside a display:contents
         wrapper) and picks up a phantom 16px margin-top from Bootstrap's
         row-gutter mechanics as a result - left a plain white stripe
         uncovered at the very top of the screen since the backdrop no
         longer reached top:0. Force it back to 0 explicitly. */
      margin: 0 !important;
   }
   .lp-preview .lp-sheet-backdrop.show { display: block; }
   .lp-preview .lp-sheet-reset-btn {
      flex: 0 0 auto; min-width: 96px; border: 1.5px solid #ddd; background: #fff; color: #3a3f47;
      font-weight: 700; font-size: 15px; padding: 14px; border-radius: 12px; cursor: pointer;
   }
   .lp-preview .lp-sheet-show-btn {
      flex: 1; border: none; background: #FC4A0A; color: #fff; font-weight: 700; font-size: 15px;
      padding: 14px; border-radius: 12px; cursor: pointer; box-shadow: 0 8px 18px -8px rgba(252,74,10,.7);
   }
   .lp-preview .lp-sheet-close-btn {
      position: absolute; top: 14px; right: 14px; z-index: 5; width: 32px; height: 32px;
      border-radius: 50%; border: 1px solid #ddd; background: #fff; color: #3a3f47;
      font-size: 15px; display: flex; align-items: center; justify-content: center;
      cursor: pointer; padding: 0;
   }
   /* Logged-out / not-paid / trial states show the real Premium Filter
      markup but non-interactive, as a locked preview behind the upsell
      CTA below it - three branches (no user / free user / trial user)
      render the identical locked card, so this is shared across all of
      them rather than repeated inline. */
   .lp-preview .lp-premium-locked { pointer-events: none; }
   .lp-preview .lp-premium-lock-icon { color: #FC4A0A; }
   /* buy-sell-listing-v2.html's .premium-card uses a tinted background
      (--primary-tint:#FEF8F6) to set it apart from the plain-white Filter
      card above it - ours was inheriting .filter-card's flat white. */
   .lp-preview .premium-filter-card { background: #FEF8F6; }
   /* This page's own upgrade CTA sits directly under the locked preview
      card above, so the global .contact-limit-upgrade-btn's 10px
      margin-top (meant for its original standalone-modal context) just
      adds an unwanted gap here. */
   .lp-preview .contact-limit-upgrade-btn { margin-top: 0; }

   @media (min-width: 992px) {
      /* Sticky sidebar with its own internal scroll, capped to the viewport
         below the header (top offset here matches the sticky top below).
         Previously this was plain sticky with no height cap, matching
         buy-sell-listing-v2.html's reference exactly - but on any viewport
         shorter than the combined Filter + Premium Filter stack, that left
         Premium Filter reachable only by scrolling the whole page past the
         sidebar's bottom, not by scrolling the sidebar itself. The
         max-height/overflow-y here trades that pixel-match for Premium
         Filter actually being reachable without leaving the sidebar - the
         sidebar's own width/spacing/card styling are unchanged, and nothing
         below 992px (the off-canvas mobile sheet) is touched. */
      .lp-preview .lp-sidebar-col {
         position: sticky;
         top: 88px;
         align-self: flex-start;
         max-height: calc(100vh - 88px - 24px);
         overflow-y: auto;
         overflow-x: hidden;
         scroll-behavior: smooth;
         /* Stops a scroll that bottoms/tops out inside the sidebar from
            chaining into the page behind it - without this, flicking past
            the end of Premium Filter also nudges the whole page, which
            reads as the mouse "fighting" the sidebar. */
         overscroll-behavior: contain;
         /* Thin, brand-tinted scrollbar instead of the OS default (Firefox
            via scrollbar-width/-color, Chrome/Edge/Safari via the
            ::-webkit-scrollbar rules below) - visible only on hover so the
            sidebar reads as plain content until there's something to
            scroll. 4px right padding keeps the scrollbar off the filter
            card's own content instead of overlapping it. */
         padding-right: 4px;
         scrollbar-width: thin;
         scrollbar-color: transparent transparent;
      }
      .lp-preview .lp-sidebar-col:hover {
         scrollbar-color: rgba(252, 74, 10, .35) transparent;
      }
      .lp-preview .lp-sidebar-col::-webkit-scrollbar { width: 5px; }
      .lp-preview .lp-sidebar-col::-webkit-scrollbar-track { background: transparent; }
      .lp-preview .lp-sidebar-col::-webkit-scrollbar-thumb { background: transparent; border-radius: 10px; }
      .lp-preview .lp-sidebar-col:hover::-webkit-scrollbar-thumb { background: rgba(252, 74, 10, .35); }
      .lp-preview .lp-sidebar-col::-webkit-scrollbar-thumb:hover { background: rgba(252, 74, 10, .55); }
      /* styles.css applies sticky positioning to .filter-sidebar globally -
         .lp-sidebar-col (above) is the one scroll/sticky container now;
         both .filter-sidebar asides (Filter, Premium Filter) are its plain
         in-flow children. */
      .lp-preview .filter-sidebar {
         position: static;
         align-self: flex-start;
         overflow: visible;
      }
      .lp-preview .lp-card { flex-direction: row; }
      .lp-preview .lp-card-media { flex: 0 0 300px; height: auto; min-height: 220px; }
      .lp-preview .lp-card-title { text-transform: none; font-size: 16.5px; }
      .lp-preview .lp-card-body { padding: 16px 18px; }
   }

   /* responsive.css has an unscoped ".col-lg-3 { flex: 0 0 50%; max-width:
      50% }" meant only for the plans/pricing page's tablet card grid, but
      with no page scope it applies across the whole site in the
      768-1100px range regardless of which Bootstrap breakpoint (md vs
      lg) should actually be controlling the element at a given width -
      forces this page's sidebar (also a col-lg-3 col-md-4) to 50% width
      the entire time, which combined with the 75%-wide main column
      overflows the row and wraps the sidebar onto its own line above the
      cards instead of beside them. Restore Bootstrap's real per-breakpoint
      split (33.33% at 768-991 via col-md-4, 25% at 992+ via col-lg-3)
      here; compound selectors beat that bare single-class rule regardless
      of which stylesheet loads later. Real fix belongs in responsive.css
      (scope the pricing rule to its own page) - this is a local patch. */
   @media (min-width: 768px) and (max-width: 1100px) {
      .lp-preview .lp-sidebar-col.col-md-4 {
         flex: 0 0 33.3333%;
         max-width: 33.3333%;
         display: block;
         justify-content: normal;
      }
   }
   @media (min-width: 992px) and (max-width: 1100px) {
      .lp-preview .lp-sidebar-col.col-lg-3 {
         flex: 0 0 25%;
         max-width: 25%;
      }
   }

   /* Second leak, same root cause: styles.css has
      ".main-content .row.g-3>.col-lg-9.col-md-8 { display:flex !important;
      flex:0 0 100% !important; max-width:100% !important; }" at
      max-width:991.98px, written for a different page's markup (one
      where the sidebar and ".filter-sidebar" are the same element, so
      its matching hide-the-sidebar rule can't ever apply here - our
      sidebar is a plain div wrapping a nested <aside class="filter-sidebar">,
      so only the "make main content 100%" half of that pair takes effect
      on this page). That forces the card column to full width while the
      sidebar (fixed above) still claims its 25-33%, so the row overflows
      and wraps instead of sitting side by side. Needs !important to beat
      !important; the extra .lp-preview class keeps this more specific
      than the leaking rule so it wins regardless of file order. Scoped to
      768-991.98 only - below 768 the sidebar collapses into its own
      off-canvas sheet and full-width cards there is correct (matches
      what the leaking rule already does), so that part is left alone. */
   @media (min-width: 768px) and (max-width: 991.98px) {
      .lp-preview .main-content .row.g-3 > .col-lg-9.col-md-8 {
         display: block !important;
         flex: 0 0 66.6667% !important;
         max-width: 66.6667% !important;
      }
   }

   /* ---------- Locality guide (bottom) ---------- */
   .lp-preview .lp-locality-guide { background: #FFF7F2; border: 1px solid #f6e6da; border-radius: 15px; padding: 26px; margin-top: 32px; }
   .lp-preview .lp-locality-title-row { display: flex; align-items: center; gap: 10px; }
   .lp-preview .lp-locality-pin-emoji { font-size: 18px; }
   .lp-preview .lp-locality-guide .lp-locality-title { font-size: 24px; font-weight: 600; }
   .lp-preview .lp-locality-guide p { font-size: 14.5px; color: #6f5f54; margin: 8px 0 0; line-height: 1.55; max-width: 640px; }
   .lp-preview .lp-locality-guide a { display: inline-block; font-weight: 700; font-size: 14px; margin-top: 18px; }

   /* ---------- FAQ (real listingPartials/faq.blade.php content, restyled) ---------- */
   .lp-preview .faq-section { background: #fff; }
   .lp-preview .faq-label { color: #FC4A0A; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0; }
   .lp-preview .section-title-faq,
   .lp-preview .section-title-mobile { font-family: var(--lr-font); font-weight: 600; font-size: 30px; letter-spacing: -.3px; color: #23262B; }
   .lp-preview .faq-listing .accordion-item { border: 1px solid #ececec; border-radius: 12px !important; margin-bottom: 12px; overflow: hidden; }
   .lp-preview .faq-listing .accordion-button {
      font-family: var(--lr-font); font-weight: 700; font-size: 15px; color: #23262B;
      padding: 16px 18px; background: #fff; box-shadow: none !important;
   }
   .lp-preview .faq-listing .accordion-button:not(.collapsed) { color: #FC4A0A; background: #FFF7F2; }
   .lp-preview .faq-listing .accordion-button::after { filter: none; }
   .lp-preview .faq-listing .accordion-body { font-size: 14px; line-height: 1.6; color: #5f6570; padding: 4px 18px 18px; }
   .lp-preview .lp-locality-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-top: 20px; }
   @media (min-width: 768px) {
      .lp-preview .lp-locality-stats { grid-template-columns: repeat(4,1fr); }
   }
   .lp-preview .lp-locality-stat { background: #fff; border: 1px solid #f2e4d8; border-radius: 12px; padding: 15px 16px; }
   .lp-preview .lp-locality-stat .lbl { font-size: 12px; color: #9a8a7c; font-weight: 600; }
   .lp-preview .lp-locality-stat .val { font-size: 18px; font-weight: 800; color: #23262B; margin-top: 3px; }

   /* Google AdSense - the .adsbygoogle <ins> itself keeps Google's own
      required style="display:block" inline (their official embed
      snippet); only the wrapper div around it is this page's own markup. */
   .lp-preview .lp-google-ad-item { margin: 20px 0; text-align: center; }

   /* ================= PROPERTY DETAIL PAGE (.pd-preview) =================
      Full pixel-match rebuild of Property Detail.dc.html, scoped under
      .pd-preview so none of this leaks onto any other page - only
      front/property/detail.blade.php ever gets this class or any of
      these markup changes. Real data/paywall logic underneath is
      unchanged. Mobile-only (max-width:860px) overrides for this page
      are in responsive1.css instead. Colors below are this page's own
      fixed palette (accent #FF5403 / accentDeep #B33D00 / accentSoft
      #FFE4D1 / ink oklch(0.22 0.02 80) / line oklch(0.9 0.01 80) /
      dark #FFEEE3 / darkBorder #FFC9A3) - written as literals since
      they never vary per request, same as .lp-preview's hex colors. */
   .pd-preview { position: relative; min-height: 100vh; font-family: var(--lr-font); }

   /* ---------- Mobile top bar / sticky bottom bar ---------- */
   .pd-preview .pd-mobile-topbar { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid oklch(0.9 0.01 80); padding: 12px 16px; display: flex; align-items: center; gap: 12px; }
   .pd-preview .pd-mobile-back { flex: 0 0 auto; border: none; background: transparent; font-size: 20px; color: oklch(0.22 0.02 80); padding: 0; line-height: 1; cursor: pointer; }
   .pd-preview .pd-mobile-title { font-size: 15px; font-weight: 600; color: oklch(0.22 0.02 80); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
   .pd-preview .pd-sticky-mobile { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 50; background: #fff; padding: 12px 16px; gap: 12px; box-shadow: 0 -8px 20px rgba(0,0,0,0.1); border-top: 1px solid oklch(0.9 0.01 80); }
   .pd-preview .pd-btn-contact-sticky { flex: 1; background: #FF5403; border: none; color: #fff; padding: 14px; border-radius: 8px; font-weight: 700; font-size: 15px; cursor: pointer; }
   .pd-preview .pd-btn-whatsapp-sticky { flex: 0 0 48px; width: 48px; height: auto; padding: 0; display: flex; align-items: center; justify-content: center; background: #25D366; border: none; border-radius: 8px; color: #fff; cursor: pointer; }
   .pd-preview .pd-btn-shortlist-sticky { flex: 1; background: #fff; border: 1.5px solid oklch(0.9 0.01 80); border-radius: 8px; font-weight: 700; font-size: 15px; cursor: pointer; padding: 14px; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-btn-shortlist-sticky.pd-fav-active { color: oklch(0.22 0.02 80); }

   /* ---------- Breadcrumb / hero (price/title/actions) ---------- */
   .pd-preview .pd-container { max-width: 1240px; margin: 0 auto; padding-left: 32px; padding-right: 32px; }
   .pd-preview .pd-breadcrumb { padding-top: 14px; padding-bottom: 14px; font-size: 13px; color: oklch(0.55 0.01 80); }
   .pd-preview .pd-breadcrumb-sep { margin: 0 6px; }
   .pd-preview .pd-breadcrumb-current { color: oklch(0.22 0.02 80); }
   .pd-preview .pd-main { padding-top: 14px; padding-bottom: 0; }
   .pd-preview .pd-hero-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 14px; flex-wrap: wrap; }
   .pd-preview .pd-title-price { font-family: var(--lr-font); font-size: 34px; font-weight: 800; color: oklch(0.22 0.02 80);letter-spacing:-.02em;}
   .pd-preview .pd-hero-permonth { font-size: 15px; font-weight: 500; color: oklch(0.5 0.01 80); }
   .pd-preview .pd-hero-title { font-size: 16px; font-weight: 600; color: oklch(0.22 0.02 80); margin-top: 6px; }
   .pd-preview .pd-hero-address { font-size: 14px; color: oklch(0.5 0.01 80); margin-top: 2px; }
   .pd-preview .pd-hero-badges { display: flex; align-items: center; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
   .pd-preview .pd-pid-badge { background: oklch(0.94 0.01 80); color: oklch(0.4 0.01 80); font-size: 12.5px; font-weight: 700; padding: 5px 12px; border-radius: 20px; }
   .pd-preview .pd-verified-badge { display: flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 700; color: #1a9c4c; }
   .pd-preview .pd-hero-actions { display: flex; align-items: flex-start; gap: 10px; }
   .pd-preview .pd-btn-contact-hero { background: #FF5403; border: none; color: #fff; padding: 13px 24px; border-radius: 8px; font-weight: 700; font-size: 14.5px; cursor: pointer; box-shadow: 0 8px 18px rgba(255,84,3,0.28); white-space: nowrap; }
   .pd-preview .pd-btn-whatsapp-hero { display: inline-flex; align-items: center; gap: 8px; background: #25D366; border: none; color: #fff; padding: 13px 20px; border-radius: 8px; font-weight: 700; font-size: 14.5px; cursor: pointer; white-space: nowrap; }
   .pd-preview .pd-btn-shortlist-hero { background: #fff; border: 1.5px solid oklch(0.9 0.01 80); border-radius: 8px; font-weight: 700; font-size: 14.5px; cursor: pointer; padding: 13px 22px; white-space: nowrap; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-btn-shortlist-hero.pd-fav-active { color: oklch(0.22 0.02 80); }

   /* ---------- Tabs ---------- */
   .pd-preview .pd-tabs { display: flex; gap: 28px; border-bottom: 1.5px solid oklch(0.9 0.01 80); margin-bottom: 24px; }
   .pd-preview .pd-tab-btn { background: none; border: none; padding: 10px 2px 14px; font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit; color: oklch(0.5 0.01 80); border-bottom: 2.5px solid transparent; }
   .pd-preview .pd-tab-btn.pd-tab-active { color: #B33D00; border-bottom-color: #FF5403; }

   /* ---------- Gallery + overlay facts ---------- */
   .pd-preview .pd-gallery-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 20px; margin-bottom: 32px; border: 1px solid oklch(0.9 0.01 80); border-radius: 14px; padding: 14px; background: #fff; }
   .pd-preview .detailBanner { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 16/10; background: oklch(0.95 0.005 85); cursor: pointer; }
   .pd-preview .pd-gallery-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; }
   .pd-preview .pd-gallery-img.active { display: block; }
   /* Video Tour slide - same overflow:hidden + oversized/centered iframe
      cover trick as .lp-card-video on the listing cards (see
      lpSizeVideoIframe() in template.blade.php), just reused here since
      this slide also carries .pd-gallery-img so the existing
      showGalleryImg() active/inactive toggle already shows/hides it. */
   .pd-preview .pd-gallery-video { overflow: hidden; }
   .pd-preview .pd-gallery-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: none; }
   .pd-preview .pd-gallery-video-badge { position: absolute; bottom: 14px; left: 14px; background: rgba(20,10,0,0.7); color: #fff; font-size: 12px; font-weight: 600; padding: 5px 11px; border-radius: 6px; z-index: 2; }
   .pd-preview .pd-gallery-video-mute { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; border: none; background: rgba(20,10,0,0.7); color: #fff; display: none; align-items: center; justify-content: center; cursor: pointer; font-size: 14px; z-index: 2; }
   .pd-preview .pd-gallery-video.is-playing .pd-gallery-video-mute { display: flex; }
   .pd-preview .pd-gallery-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 50%; border: none; background: #fff; color: oklch(0.22 0.02 80); font-size: 18px; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,0.2); display: flex; align-items: center; justify-content: center; }
   .pd-preview .pd-gallery-nav-prev { left: 14px; }
   .pd-preview .pd-gallery-nav-next { right: 14px; }
   .pd-preview .pd-photo-counter { position: absolute; bottom: 14px; right: 14px; background: rgba(20,10,0,0.7); color: #fff; font-size: 13px; font-weight: 600; padding: 5px 12px; border-radius: 6px; }
   .pd-preview .pd-overlay-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-content: start; }
   .pd-preview .pd-overlay-fact-card { border: 1px solid oklch(0.9 0.01 80); border-radius: 10px; padding: 14px; }
   .pd-preview .pd-overlay-fact-label { font-size: 11.5px; color: oklch(0.55 0.01 80); }
   .pd-preview .pd-overlay-fact-value { font-size: 14.5px; font-weight: 700; color: oklch(0.22 0.02 80); margin-top: 3px; }

   /* ---------- Why-consider tags / quick facts ---------- */
   .pd-preview .pd-why-section { margin-bottom: 28px; }
   .pd-preview .pd-why-heading { font-size: 14px; font-weight: 600; color: oklch(0.22 0.02 80); margin-bottom: 12px; }
   .pd-preview .pd-why-tags { display: flex; flex-wrap: wrap; gap: 10px; }
   .pd-preview .pd-why-tag { background: #FFE4D1; color: #B33D00; font-size: 13px; font-weight: 600; padding: 7px 14px; border-radius: 100px; }
   .pd-preview .pd-quickfacts-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px 16px; padding: 20px 0; border-top: 1px solid oklch(0.9 0.01 80); border-bottom: 1px solid oklch(0.9 0.01 80); margin-bottom: 32px; }
   .pd-preview .pd-quickfact-label { font-size: 12px; color: oklch(0.5 0.01 80); }
   .pd-preview .pd-quickfact-value { font-size: 14.5px; font-weight: 700; color: oklch(0.22 0.02 80); margin-top: 4px; }

   /* ---------- About / Furnishing / Amenities ---------- */
   .pd-preview .pd-section { margin-bottom: 36px; }
   .pd-preview .pd-about-heading { font-family: var(--lr-font); font-size: 21px; margin: 0 0 14px; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-section-heading { font-family: var(--lr-font); font-size: 21px; margin: 0 0 16px; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-description-text { font-size: 15px; line-height: 1.8; color: oklch(0.4 0.01 80); margin: 0; }
   .pd-preview .pd-desc-toggle { background: none; border: none; color: #B33D00; font-size: 14px; font-weight: 700; padding: 10px 0 0; cursor: pointer; }
   .pd-preview .pd-desc-hidden-card { border: 1px dashed oklch(0.9 0.01 80); border-radius: 10px; padding: 18px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
   .pd-preview .pd-desc-hidden-icon { font-size: 20px; }
   .pd-preview .pd-desc-hidden-copy { flex: 1; min-width: 200px; }
   .pd-preview .pd-desc-hidden-title { font-size: 14px; font-weight: 600; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-desc-hidden-subtitle { font-size: 13px; color: oklch(0.5 0.01 80); margin-top: 2px; }
   .pd-preview .pd-btn-upgrade-small { background: #FF5403; border: none; color: #fff; padding: 10px 18px; border-radius: 8px; font-weight: 700; font-size: 13.5px; cursor: pointer; white-space: nowrap; }
   .pd-preview .pd-locked-state { text-align: center; padding: 48px 36px; max-width: 420px; margin: 40px auto; background: #fff; border: 1px solid oklch(0.9 0.01 80); border-radius: 18px; box-shadow: 0 10px 34px rgba(20,10,0,0.07); }
   .pd-preview .pd-locked-icon { font-size: 40px; display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; margin-bottom: 20px; background: #FFEEE3; border-radius: 50%; }
   .pd-preview .pd-locked-heading { font-family: var(--lr-font); font-size: 22px; margin: 0 0 10px; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-locked-text { font-size: 14.5px; line-height: 1.7; color: oklch(0.5 0.01 80); margin: 0 0 26px; }
   .pd-preview .pd-btn-locked-upgrade .spinner-border { width: 1rem; height: 1rem; border-width: 0.15em; vertical-align: -2px; margin-right: 6px; }
   .pd-preview .pd-btn-locked-upgrade { display: block; width: 100%; background: #FF5403; border: none; color: #fff; padding: 13px 26px; border-radius: 8px; font-weight: 700; font-size: 15px; cursor: pointer; box-shadow: 0 8px 18px rgba(255,84,3,0.28); }
   .pd-preview .pd-btn-locked-upgrade:disabled { background: oklch(0.85 0.01 80); box-shadow: none; cursor: default; }
   .pd-preview .pd-btn-locked-continue { display: block; width: 100%; background: none; border: none; color: oklch(0.5 0.01 80); padding: 14px 0 0; font-weight: 600; font-size: 15px; cursor: pointer; }

   /* ---------- Locked-state plan cards (matches Android/iOS paywall redesign) ----------
      Deliberately much tighter than the plain single-CTA .pd-locked-state above - with 3
      cards plus a refund callout plus Buy Now, the original spacing (48px padding, 76px
      icon, 26px text margin) pushed Buy Now below the fold on both mobile and desktop. */
   .pd-preview .pd-locked-state-plans { max-width: 480px; text-align: left; padding: 24px 22px; margin: 20px auto; }
   .pd-preview .pd-locked-state-plans .pd-locked-icon,
   .pd-preview .pd-locked-state-plans .pd-locked-heading,
   .pd-preview .pd-locked-state-plans .pd-locked-text { text-align: center; }
   .pd-preview .pd-locked-state-plans .pd-locked-icon { display: flex; margin-left: auto; margin-right: auto; width: 52px; height: 52px; font-size: 26px; margin-bottom: 10px; }
   .pd-preview .pd-locked-state-plans .pd-locked-heading { font-size: 18px; margin-bottom: 6px; }
   .pd-preview .pd-locked-state-plans .pd-locked-text { font-size: 13px; line-height: 1.5; margin-bottom: 14px; }
   .pd-preview .pd-plan-cards { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
   .pd-preview .pd-plan-card { position: relative; padding: 10px 14px; border: 1px solid oklch(0.9 0.01 80); border-radius: 12px; background: #fff; cursor: pointer; transition: border-color 0.15s, background 0.15s; }
   .pd-preview .pd-plan-card-top { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
   .pd-preview .pd-plan-name { font-weight: 600; font-size: 14px; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-plan-badge-popular { display: inline-block; background: #FF5403; color: #fff; font-size: 9px; font-weight: 700; letter-spacing: 0.02em; padding: 3px 9px; border-radius: 100px; }
   .pd-preview .pd-plan-price-row { display: flex; align-items: baseline; gap: 4px; }
   .pd-preview .pd-plan-price { font-weight: 700; font-size: 17px; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-plan-duration { font-size: 11.5px; color: oklch(0.5 0.01 80); }
   .pd-preview .pd-plan-blurb { margin: 2px 0 0; font-size: 12px; color: oklch(0.5 0.01 80); }
   .pd-preview .pd-plan-check { position: absolute; top: 6px; right: 6px; width: 20px; height: 20px; border-radius: 50%; background: #FF5403; color: #fff; display: none; align-items: center; justify-content: center; font-size: 11px; }
   .pd-preview .pd-plan-card--premium.selected { background: #FFF1E6; }
   .pd-preview .pd-plan-card--serious.selected { background: #FFE6D0; }
   .pd-preview .pd-plan-card--relax.selected { background: #FFEBDD; }
   .pd-preview .pd-plan-card.selected { border: 2px solid #FF5403; padding: 9px 13px; }
   .pd-preview .pd-plan-card.selected .pd-plan-check { display: flex; }
   .pd-preview .pd-refund-highlight { display: flex; align-items: center; gap: 8px; background: #E6F4EA; color: #1E8E3E; font-weight: 600; font-size: 12.5px; padding: 8px 12px; border-radius: 10px; margin-bottom: 10px; animation: pdRefundGlow 2.4s ease-in-out infinite; }
   .pd-preview .pd-refund-highlight i { font-size: 15px; }
   @keyframes pdRefundGlow {
      0%, 100% { box-shadow: 0 0 0 0 rgba(30,142,62,0.35); }
      50% { box-shadow: 0 0 0 6px transparent, 0 0 14px 2px rgba(30,142,62,0.35); }
   }
   @media (prefers-reduced-motion: reduce) {
      .pd-preview .pd-refund-highlight { animation: none; }
   }
   .pd-preview .pd-refund-policy-link { display: block; text-align: center; margin-top: 8px; font-size: 12.5px; color: oklch(0.5 0.01 80); text-decoration: underline; }
   .pd-preview .pd-locked-state-plans .pd-btn-locked-continue { padding-top: 8px; }
   .pd-preview .pd-furnishing-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px 12px; }
   .pd-preview .pd-furnishing-item { display: flex; align-items: center; gap: 10px; }
   .pd-preview .pd-furnish-dot { width: 7px; height: 7px; border-radius: 2px; background: #FF5403; flex-shrink: 0; }
   .pd-preview .pd-furnish-label { font-size: 14px; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-amenities-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
   .pd-preview .pd-amenity-item { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid oklch(0.9 0.01 80); border-radius: 10px; padding: 14px 16px; }
   .pd-preview .pd-amenity-dot { width: 8px; height: 8px; border-radius: 2px; background: #FF5403; flex-shrink: 0; }
   .pd-preview .pd-amenity-label { font-size: 14px; color: oklch(0.22 0.02 80); font-weight: 500; }

   /* ---------- Owner Details tab ---------- */
   .pd-preview .pd-owner-grid { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 24px; margin-bottom: 40px; align-items: start; }
   .pd-preview .pd-owner-card { background: #fff; border: 1px solid oklch(0.9 0.01 80); border-radius: 14px; padding: 26px; }
   .pd-preview .pd-owner-card-label { font-size: 13px; font-weight: 700; color: oklch(0.5 0.01 80); margin-bottom: 16px; letter-spacing: 0.4px; }
   .pd-preview .pd-owner-profile-row { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
   .pd-preview .pd-owner-avatar { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
   .pd-preview .pd-owner-name { font-size: 16px; font-weight: 700; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-owner-type { font-size: 12.5px; color: oklch(0.55 0.01 80); }
   .pd-preview .pd-btn-contact-ownertab { width: 100%; padding: 14px; border: none; background: #FF5403; color: #fff; border-radius: 8px; font-size: 15px; font-weight: 700; cursor: pointer; margin-bottom: 14px; box-shadow: 0 8px 18px rgba(255,84,3,0.28); }
   .pd-preview .pd-btn-whatsapp-ownertab { width: 100%; padding: 14px; border: none; background: #25D366; color: #fff; border-radius: 8px; font-size: 15px; font-weight: 700; cursor: pointer; margin-bottom: 14px; display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 8px 18px rgba(37,211,102,0.28); }
   .pd-preview .pd-owner-meta-listed { font-size: 13.5px; color: oklch(0.5 0.01 80); }
   .pd-preview .pd-owner-meta-locality { font-size: 13.5px; color: oklch(0.5 0.01 80); margin-top: 4px; }
   .pd-preview .pd-owner-meta-strong { color: oklch(0.22 0.02 80); font-weight: 600; }

   /* ---------- Send Enquiry ---------- */
   .pd-preview .pd-enquiry-card { background: #fff; border: 1px solid oklch(0.9 0.01 80); border-radius: 14px; padding: 26px; }
   .pd-preview .pd-enquiry-label { font-size: 13px; font-weight: 700; color: oklch(0.5 0.01 80); margin-bottom: 18px; letter-spacing: 0.4px; }
   .pd-preview .pd-enquiry-form { display: flex; flex-direction: column; gap: 14px; }
   .pd-preview .pd-enquiry-input { width: 100%; padding: 12px 14px; border-radius: 6px; border: 1.5px solid oklch(0.9 0.01 80); font-size: 14px; font-family: inherit; }
   .pd-preview .pd-enquiry-phone-row { display: flex; gap: 10px; }
   .pd-preview .pd-enquiry-code { padding: 12px 14px; border-radius: 6px; border: 1.5px solid oklch(0.9 0.01 80); font-size: 14px; color: oklch(0.5 0.01 80); }
   .pd-preview .pd-enquiry-input-phone { flex: 1; width: auto; }
   .pd-preview .pd-enquiry-textarea { width: 100%; padding: 12px 14px; border-radius: 6px; border: 1.5px solid oklch(0.9 0.01 80); font-size: 14px; font-family: inherit; resize: vertical; }
   .pd-preview .pd-btn-send-enquiry { width: 100%; padding: 14px; border: none; background: #FF5403; color: #fff; border-radius: 8px; font-size: 15px; font-weight: 700; cursor: pointer; box-shadow: 0 8px 18px rgba(255,84,3,0.28); }

   /* ---------- Report this property ---------- */
   .pd-preview .pd-report-card { background: #fff; border: 1px solid oklch(0.9 0.01 80); border-radius: 14px; padding: 24px; }
   .pd-preview .pd-report-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
   .pd-preview .pd-report-heading { font-family: var(--lr-font); font-size: 17px; margin: 0; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-report-copy { font-size: 14px; color: #B33D00; line-height: 1.5; margin: 0 0 16px; }
   .pd-preview .pd-report-actions { display: flex; flex-wrap: wrap; gap: 8px; }
   .pd-preview .pd-report-btn { background: oklch(0.96 0.005 85); border: none; color: oklch(0.22 0.02 80); font-size: 13px; font-weight: 500; padding: 8px 14px; border-radius: 100px; cursor: pointer; }

   /* ---------- Locality guide banner ---------- */
   .pd-preview .pd-locality-banner { background: #FFEEE3; border: 1px solid #FFC9A3; border-radius: 10px; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 36px; flex-wrap: wrap; }
   .pd-preview .pd-locality-text { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-locality-icon { color: #FF5403; font-size: 16px; flex-shrink: 0; }
   .pd-preview .pd-locality-link { color: #B33D00; font-size: 14px; font-weight: 700; white-space: nowrap; }

   /* ---------- Similar properties ---------- */
   .pd-preview .pd-similar-section { margin-bottom: 40px; }
   .pd-preview .pd-similar-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
   .pd-preview .pd-similar-heading { font-family: var(--lr-font); font-size: 21px; margin: 0; color: oklch(0.22 0.02 80); }
   .pd-preview .pd-similar-nav { display: flex; gap: 8px; }
   .pd-preview .pd-similar-nav-btn { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid oklch(0.9 0.01 80); background: #fff; color: oklch(0.22 0.02 80); font-size: 16px; cursor: pointer; }
   .pd-preview .pd-similar-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; scroll-behavior: smooth; scrollbar-width: none; }
   .pd-preview .pd-similar-track::-webkit-scrollbar { display: none; }

/* ================= BUY PROPERTY DETAIL PAGE (.pdv2-page) =================
   Redesigned buy/sell property detail page (resources/views/front/buysell/
   detail.blade.php), scoped under .pdv2-page so none of this leaks onto any
   other page - same isolation pattern as .pd-preview/.lp-preview above.
   Real data/paywall logic underneath is unchanged. Mobile-only overrides for
   this page (several breakpoints, matching its own design mockup grid
   collapses rather than the site's usual 767.98px) are in responsive1.css
   instead. Reuses the site-wide --ink/--ink-soft/--line/--surface/--card/
   --brand-1/--brand-2/--pink/--navy/--navy-2 custom properties already
   defined in this file's :root; only defines the handful this design needs
   that don't exist yet. */
.pdv2-page{
  --green:#1CA65E;
  --blue:#3A6FF7;
  --purple:#8A4FFF;
  --yellow:#FFC13D;
  font-family:var(--lr-font);
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
.pdv2-page *{box-sizing:border-box;}
.pdv2-page h1,.pdv2-page h2{font-family:var(--lr-font);}
.pdv2-page img{max-width:100%;display:block;}
.pdv2-page a{text-decoration:none;color:inherit;}
.pdv2-page ul{list-style:none;margin:0;padding:0;}
.pdv2-page button,.pdv2-page select{font-family:inherit;}
.pdv2-page .container{max-width:1240px;margin:0 auto;padding:0 24px;}
.pdv2-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-weight:700;font-size:14.5px;line-height:1.2;width:auto;height:auto;border-radius:10px;padding:13px 22px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap;}
.pdv2-page .btn-primary{background:var(--brand-1);color:#fff;}
.pdv2-page .btn-primary:hover{background:#F04A27;box-shadow:0 10px 22px -10px rgba(255,90,54,.6);}
.pdv2-page .btn-outline{background:#fff;color:var(--ink);border:1px solid var(--line);}
.pdv2-page .btn-outline:hover{border-color:#D8D8E2;background:var(--surface);}
.pdv2-page .btn-sm{padding:10px 16px;font-size:13px;}
.pdv2-page .btn:disabled{opacity:.6;cursor:not-allowed;}

.pdv2-page .mobile-subheader{display:none;}
.pdv2-page .back-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;flex:none;}
.pdv2-page .back-btn:hover{background:var(--surface);}

.pdv2-page .price-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-top:22px;}
.pdv2-page .price-row .amt{font-size:clamp(28px,4vw,38px);font-weight:800;letter-spacing:-.01em;}
.pdv2-page .price-row .amt .unit{font-size:15px;font-weight:600;color:var(--ink-soft);}
.pdv2-page .price-row .persqft{font-size:13.5px;color:var(--ink-soft);margin-top:2px;}
.pdv2-page .price-actions{display:flex;gap:12px;}

.pdv2-page .title-block{margin-top:18px;}
.pdv2-page .title-block h1{font-size:clamp(19px,2.4vw,23px);font-weight:700;letter-spacing:-.01em;}
.pdv2-page .title-block .loc{font-size:14px;color:var(--ink-soft);margin-top:6px;}
.pdv2-page .id-row{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap;}
.pdv2-page .pid-pill{font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--surface);padding:6px 14px;border-radius:100px;}
.pdv2-page .verified-tag{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--green);}
.pdv2-page .verified-tag svg{flex:none;}
.pdv2-page .zero-brokerage-tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--brand-1);}

.pdv2-page .tabs{display:flex;gap:32px;border-bottom:1px solid var(--line);margin-top:22px;}
.pdv2-page .tabs button{background:none;border:none;padding:14px 2px;font-size:14.5px;font-weight:700;color:var(--ink-soft);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;}
.pdv2-page .tabs button.active{color:var(--brand-1);border-color:var(--brand-1);}
.pdv2-page .tab-panel{display:none;}
.pdv2-page .tab-panel.active{display:block;}

.pdv2-page .ov-card{border:1px solid var(--line);border-radius:16px;margin-top:24px;padding:20px;display:grid;grid-template-columns:1.4fr 1fr;gap:20px;}
.pdv2-page .ov-photo{position:relative;border-radius:12px;overflow:hidden;height:420px;background:var(--surface);}
.pdv2-page .ov-photo img{width:100%;height:100%;object-fit:cover;}
.pdv2-page .ov-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;border:none;transition:background .18s ease;}
.pdv2-page .ov-arrow:hover{background:#fff;}
.pdv2-page .ov-arrow.prev{left:14px;}
.pdv2-page .ov-arrow.next{right:14px;}
.pdv2-page .spec-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start;}
.pdv2-page .spec-box{border:1px solid var(--line);border-radius:12px;padding:14px 16px;}
.pdv2-page .spec-box label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:4px;}
.pdv2-page .spec-box strong{font-size:15px;font-weight:700;}

.pdv2-page .chip-scroll{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 6px;margin-top:26px;}
.pdv2-page .chip-scroll::-webkit-scrollbar{display:none;}
.pdv2-page .chip-scroll span{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-soft);border:1px solid var(--line);padding:9px 15px;border-radius:100px;}

.pdv2-page .desc-box{border:1px solid var(--line);border-radius:14px;padding:22px;}
.pdv2-page .desc-box p{font-size:14px;color:var(--ink-soft);line-height:1.8;}
.pdv2-page .desc-box .more-link{color:var(--brand-1);font-weight:700;cursor:pointer;}
.pdv2-page .desc-box.desc-locked{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-style:dashed;}
.pdv2-page .desc-locked .desc-locked-icon{font-size:20px;flex:none;}
.pdv2-page .desc-locked .desc-locked-copy{flex:1;min-width:200px;}
.pdv2-page .desc-locked .desc-locked-title{font-size:14px;font-weight:700;color:var(--ink);}
.pdv2-page .desc-locked .desc-locked-subtitle{font-size:13px;color:var(--ink-soft);margin-top:2px;}

.pdv2-page .icon-strip{display:flex;flex-wrap:wrap;gap:34px;border:1px solid var(--line);border-radius:14px;padding:22px;}
.pdv2-page .icon-strip .it{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;width:90px;}
.pdv2-page .icon-strip .ic{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;}
.pdv2-page .icon-strip span{font-size:12px;font-weight:600;color:var(--ink-soft);}

.pdv2-page .amen-box{border:1px solid var(--line);border-radius:14px;padding:22px;}
.pdv2-page .amen-box .amen-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.pdv2-page .amen-grid2{display:flex;flex-wrap:wrap;gap:34px;}
.pdv2-page .amen-grid2 .it{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;width:80px;}
.pdv2-page .amen-grid2 .ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;}
.pdv2-page .amen-grid2 span{font-size:12px;font-weight:600;}

.pdv2-page .loc-adv-box{border:1px solid var(--line);border-radius:14px;padding:22px;}
.pdv2-page .loc-adv-cols{display:grid;grid-template-columns:1fr 1fr 240px;gap:20px;margin-top:16px;}
.pdv2-page .loc-adv-cols ul li{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:var(--ink-soft);margin-bottom:12px;}
.pdv2-page .loc-adv-cols ul li .tick{width:18px;height:18px;border-radius:50%;background:#E4F7ED;color:var(--green);display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px;}
.pdv2-page .mini-map2{border-radius:12px;overflow:hidden;position:relative;min-height:150px;}
.pdv2-page .mini-map2 svg{width:100%;height:100%;display:block;}
.pdv2-page .mini-map2 .mp1{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);font-size:11px;font-weight:700;padding:6px 10px;border-radius:100px;}
.pdv2-page .mini-map2 .mp2{position:absolute;bottom:10px;left:10px;background:rgba(14,18,36,.72);color:#fff;font-size:11px;font-weight:700;padding:6px 10px;border-radius:100px;white-space:nowrap;display:flex;align-items:center;gap:4px;cursor:pointer;border:none;}

.pdv2-page .about-loc-box{background:#FFF8F3;border:1px solid #FFD9C9;border-radius:14px;padding:22px;}
.pdv2-page .about-loc-box p{font-size:14px;color:var(--ink-soft);line-height:1.8;margin:10px 0 16px;}

.pdv2-page .reviews-box{border:1px solid var(--line);border-radius:14px;padding:22px;}
.pdv2-page .rate-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px;}
.pdv2-page .rate-chips .rc{border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;}
.pdv2-page .rate-chips .rc strong{display:block;font-size:13.5px;font-weight:700;}
.pdv2-page .rate-chips .rc span{font-size:11px;color:var(--ink-soft);}
.pdv2-page .rev-scroll{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 8px;}
.pdv2-page .rev-scroll::-webkit-scrollbar{height:6px;}
.pdv2-page .rev-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.pdv2-page .rev-card{flex:0 0 280px;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface);}
.pdv2-page .rev-card p{font-size:12.5px;color:var(--ink-soft);line-height:1.7;margin-bottom:14px;min-height:66px;}
.pdv2-page .rev-person{display:flex;align-items:center;gap:10px;}
.pdv2-page .rev-person .av{width:34px;height:34px;border-radius:50%;background:var(--brand-1);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;flex:none;}
.pdv2-page .rev-person .name{font-size:13px;font-weight:700;}
.pdv2-page .rev-person .role{font-size:11px;color:var(--ink-soft);}
.pdv2-page .rev-person .score{margin-left:auto;font-size:12px;font-weight:700;color:var(--yellow);}

.pdv2-page .why-block{margin-top:28px;}
.pdv2-page .why-block h4{font-size:15px;font-weight:700;margin-bottom:14px;}
.pdv2-page .pill-row{display:flex;flex-wrap:wrap;gap:10px;}
.pdv2-page .pill-row span{background:#FFF0EA;color:var(--brand-1);font-weight:700;font-size:13px;padding:9px 16px;border-radius:100px;}

.pdv2-page .quickfacts-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);margin-top:26px;padding-top:20px;gap:16px;}
.pdv2-page .quickfacts-row div label{display:block;font-size:12.5px;color:var(--ink-soft);margin-bottom:4px;}
.pdv2-page .quickfacts-row div strong{font-size:14.5px;font-weight:700;}

.pdv2-page .about-head{font-size:19px;font-weight:700;margin:36px 0 16px;}

.pdv2-page .similar-head{display:flex;justify-content:space-between;align-items:center;margin-top:44px;margin-bottom:18px;}
.pdv2-page .similar-head h2{font-size:clamp(20px,2.6vw,26px);font-weight:700;letter-spacing:-.01em;}
.pdv2-page .arrow-btns{display:flex;gap:8px;}
.pdv2-page .arrow-circ{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft);}
.pdv2-page .arrow-circ:hover{border-color:#D8D8E2;color:var(--ink);}
.pdv2-page .sim-carousel{display:flex;gap:18px;overflow-x:auto;padding:4px 4px 14px;scroll-behavior:smooth;}
.pdv2-page .sim-carousel::-webkit-scrollbar{height:6px;}
.pdv2-page .sim-carousel::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.pdv2-page .sim-card{flex:0 0 230px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:box-shadow .18s ease,transform .18s ease;}
.pdv2-page .sim-card:hover{box-shadow:var(--shadow-sm,0 10px 28px -14px rgba(18,18,26,.18));transform:translateY(-3px);}
.pdv2-page .sim-card .ph{height:150px;background:var(--surface);}
.pdv2-page .sim-card .ph img{width:100%;height:100%;object-fit:cover;}
.pdv2-page .sim-card .body{padding:14px;}
.pdv2-page .sim-card .pid{font-size:11.5px;color:var(--ink-soft);}
.pdv2-page .sim-card .price{font-size:16px;font-weight:800;margin-top:4px;}
.pdv2-page .sim-card .type{font-size:13px;font-weight:600;margin-top:6px;}
.pdv2-page .sim-card .loc{font-size:12px;color:var(--ink-soft);margin-top:2px;}

.pdv2-page .broker-panel{border:1px solid var(--line);border-radius:16px;margin-top:24px;padding:26px;display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;}
.pdv2-page .broker-panel .av{width:66px;height:66px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;flex:none;object-fit:cover;overflow:hidden;}
.pdv2-page .broker-panel .name{font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px;}
.pdv2-page .broker-panel .sub{font-size:13px;color:var(--ink-soft);margin-top:2px;}
.pdv2-page .broker-stats{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.pdv2-page .broker-stats li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft);}
.pdv2-page .broker-stats li svg{color:var(--green);flex:none;}
.pdv2-page .broker-panel .actions{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap;}
.pdv2-page .report-inline{border:1px solid #FFD9C9;background:#FFF8F3;border-radius:14px;padding:18px 22px;margin-top:20px;}
.pdv2-page .report-inline .head{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;margin-bottom:8px;}
.pdv2-page .report-inline .head svg{color:var(--brand-1);}
.pdv2-page .report-inline p{font-size:13px;color:var(--ink-soft);margin-bottom:14px;}
.pdv2-page .report-inline .actions{display:flex;gap:10px;flex-wrap:wrap;}
.pdv2-page .btn-report-active{background:var(--brand-1);color:#fff;border-color:var(--brand-1);}

.pdv2-page .pdv2-lightbox{display:none;position:fixed;inset:0;z-index:9999;background:#000;align-items:center;justify-content:center;}
.pdv2-page .pdv2-lightbox.show{display:flex;}
.pdv2-page .pdv2-lightbox img{max-width:92%;max-height:92%;object-fit:contain;}
.pdv2-page .pdv2-lightbox-close{position:fixed;top:20px;right:20px;width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:22px;line-height:1;cursor:pointer;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:0;}
.pdv2-page .pdv2-lightbox-close:hover{background:rgba(255,255,255,.3);}
.pdv2-page .pdv2-lightbox-arrow{position:fixed;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.pdv2-page .pdv2-lightbox-arrow:hover{background:rgba(255,255,255,.3);}
.pdv2-page .pdv2-lightbox-arrow.prev{left:20px;}
.pdv2-page .pdv2-lightbox-arrow.next{right:20px;}

.pdv2-page .mobile-cta{display:none;}

/* ================= BROKER/OWNER CONTACT DETAILS PAGE (.bcp-page) =================
   Redesigned contact-details page (resources/views/front/brokers/detail.blade.php,
   opened from "Contact Broker/Owner" on any property detail page), scoped
   under .bcp-page so none of this leaks onto any other page - same
   isolation pattern as .pdv2-page/.pd-preview above. Real data/call-reveal
   logic underneath is unchanged. Mobile-only overrides for this page are
   in responsive1.css instead. Reuses the site-wide --ink/--ink-soft/
   --line/--surface/--card/--brand-1/--brand-2 custom properties already
   defined in this file's :root; only defines the handful this design
   needs that don't exist yet.
   Every reusable class here (.btn/.card/.badge) explicitly sets
   line-height/width/height/display rather than leaving them unset -
   legacy styles.css has a bare .btn-primary/.btn-outline/.badge rule and
   Bootstrap's own bare .card rule (display:flex;flex-direction:column)
   that would otherwise leak those specific properties through despite
   this page's selectors being more specific overall (cascade is resolved
   per property, not per rule block). */
.bcp-page{
  --green:#1CA65E;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
  font-family:var(--lr-font);
  color:var(--ink);
  background:var(--surface);
  -webkit-font-smoothing:antialiased;
}
.bcp-page *{box-sizing:border-box;}
.bcp-page h1,.bcp-page h2{font-family:var(--lr-font);}
.bcp-page img{max-width:100%;display:block;}
.bcp-page a{text-decoration:none;color:inherit;}
.bcp-page ul{list-style:none;margin:0;padding:0;}
.bcp-page button{font-family:inherit;}
.bcp-page .container{max-width:1240px;margin:0 auto;padding:0 24px;}
.bcp-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-weight:600;font-size:14.5px;line-height:1.2;width:auto;height:auto;border-radius:100px;padding:13px 26px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.bcp-page .btn-primary{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.5);}
.bcp-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}
.bcp-page .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.bcp-page .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;}
.bcp-page .btn-outline{background:#FFF0EA;color:var(--brand-1);border:1px solid #FFD9C9;}
.bcp-page .btn-outline:hover{background:#FFE4D8;}
.bcp-page .btn-outline.wa-btn{border-color:#CFF3DE;background:#E9FBF1;color:var(--green);}
.bcp-page .btn-outline.wa-btn:hover{background:#DFF6E8;}
.bcp-page .btn:disabled{opacity:.6;cursor:not-allowed;}
.bcp-page .card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);}

.bcp-page .bcp-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:0;padding-top:16px;padding-bottom:6px;font-size:13px;line-height:1.4;color:var(--ink-soft);}
.bcp-page .bcp-breadcrumb a:hover{color:var(--brand-1);}
.bcp-page .bcp-breadcrumb .sep{margin:0 8px;color:#C7C8D3;}
.bcp-page .bcp-breadcrumb .current{color:var(--ink);font-weight:600;}

.bcp-page .back-row{display:flex;align-items:center;gap:14px;padding:10px 0 22px;}
.bcp-page .back-btn{width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;flex:none;}
.bcp-page .back-btn:hover{border-color:#D8D8E2;background:var(--surface);}
.bcp-page .back-row h1{font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:-.01em;}

.bcp-page .perm-banner{display:flex;flex-direction:row;align-items:center;min-height:0;gap:16px;background:linear-gradient(120deg,#FFF0EA,#FFF6EE);border:1px solid #FFD9C9;padding:20px 24px;margin-bottom:24px;}
.bcp-page .perm-banner .icon-badge{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #FFD9C9;display:flex;align-items:center;justify-content:center;flex:none;color:var(--brand-1);}
.bcp-page .perm-banner p{font-size:14.5px;line-height:1.5;margin:0;}
.bcp-page .perm-banner p strong{color:var(--ink);}
.bcp-page .perm-banner .chat-ic{margin-left:auto;width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid #FFD9C9;display:flex;align-items:center;justify-content:center;flex:none;color:var(--brand-1);}

.bcp-page .detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:start;}
.bcp-page .detail-grid.no-summary{grid-template-columns:1fr;}

.bcp-page .owner-card{padding:26px 28px;}
.bcp-page .owner-card h2{font-size:17px;font-weight:700;margin-bottom:20px;}
.bcp-page .owner-top{display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px;}
.bcp-page .owner-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:22px;flex:none;overflow:hidden;object-fit:cover;}
.bcp-page .owner-avatar img{width:100%;height:100%;object-fit:cover;}
.bcp-page .owner-name{font-size:17px;font-weight:700;}
.bcp-page .owner-meta{font-size:13.5px;color:var(--ink-soft);margin-top:3px;}
.bcp-page .verified-pill{display:inline-flex;align-items:center;gap:5px;margin-left:10px;background:#E9FBF1;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.02em;padding:4px 9px;border-radius:100px;text-transform:uppercase;vertical-align:middle;line-height:1;}
.bcp-page .rating-row{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;color:var(--ink-soft);}
.bcp-page .rating-row .stars{color:#FFC13D;}

.bcp-page .contact-methods{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.bcp-page .contact-method{border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;align-items:center;gap:14px;}
.bcp-page .contact-method .m-ic{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;}
.bcp-page .contact-method.call .m-ic{background:#FFF0EA;color:var(--brand-1);}
.bcp-page .contact-method.wa .m-ic{background:#E9FBF1;color:var(--green);}
.bcp-page .contact-method .m-label{font-size:12px;color:var(--ink-soft);font-weight:600;}
.bcp-page .contact-method .m-value{font-size:15.5px;font-weight:700;margin-top:2px;}
.bcp-page .contact-method .m-copy{margin-left:auto;width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);cursor:pointer;flex:none;}
.bcp-page .contact-method .m-copy:hover{color:var(--ink);border-color:#D8D8E2;}
.bcp-page .contact-method .m-copy:disabled{opacity:.4;cursor:not-allowed;}

.bcp-page .contact-cta{display:flex;gap:12px;margin-top:22px;}
.bcp-page .contact-cta .btn{flex:1;}

.bcp-page .safety-card{padding:24px 28px;margin-top:22px;}
.bcp-page .safety-card h3{font-size:15px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.bcp-page .safety-card h3 svg{color:var(--brand-1);}
.bcp-page .safety-card ul{display:flex;flex-direction:column;gap:10px;}
.bcp-page .safety-card li{display:flex;gap:10px;font-size:13.5px;color:var(--ink-soft);line-height:1.5;}
.bcp-page .safety-card li svg{flex:none;margin-top:2px;color:var(--green);}

.bcp-page .prop-summary{overflow:hidden;position:sticky;top:88px;}
.bcp-page .prop-photo{position:relative;height:200px;background:var(--surface);}
.bcp-page .prop-photo img{width:100%;height:100%;object-fit:cover;}
.bcp-page .prop-photo svg{width:100%;height:100%;}
.bcp-page .prop-photo .status-tag{position:absolute;left:14px;bottom:14px;background:rgba(18,18,26,.78);color:#fff;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:100px;line-height:1;}
.bcp-page .prop-photo .badge-verified{position:absolute;top:14px;left:14px;background:#E9FBF1;color:var(--green);font-size:10.5px;font-weight:800;letter-spacing:.03em;padding:5px 9px;border-radius:6px;text-transform:uppercase;line-height:1;}
.bcp-page .prop-body{padding:20px 22px 22px;}
.bcp-page .prop-price{font-size:20px;font-weight:800;margin-bottom:4px;}
.bcp-page .prop-price span{font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.bcp-page .prop-title{font-size:15px;font-weight:700;margin-bottom:8px;}
.bcp-page .prop-loc{font-size:13px;color:var(--ink-soft);display:flex;align-items:flex-start;gap:6px;margin-bottom:16px;line-height:1.4;}
.bcp-page .prop-loc svg{flex:none;margin-top:2px;}
.bcp-page .prop-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.bcp-page .prop-tags span{font-size:11.5px;font-weight:700;color:var(--brand-1);background:#FFF0EA;border:1px solid #FFD9C9;border-radius:100px;padding:5px 12px;line-height:1;}
.bcp-page .report-link{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--ink-soft);margin-top:14px;cursor:pointer;background:none;border:none;width:100%;padding:6px 0;}
.bcp-page .report-link:hover{color:var(--brand-1);}
.bcp-page .report-link:disabled{opacity:.5;cursor:not-allowed;}

.bcp-page .section-head{display:flex;align-items:center;justify-content:space-between;margin:44px 0 18px;}
.bcp-page .section-head h2{font-size:clamp(19px,2.2vw,24px);font-weight:700;}
.bcp-page .arrow-btns{display:flex;gap:8px;}
.bcp-page .arrow-circ{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft);flex:none;}
.bcp-page .arrow-circ:hover{border-color:#D8D8E2;color:var(--ink);}
.bcp-page .listing-grid{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding:4px 4px 14px;}
.bcp-page .listing-grid::-webkit-scrollbar{height:6px;}
.bcp-page .listing-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.bcp-page .listing-card{flex:0 0 270px;overflow:hidden;position:relative;transition:transform .18s ease,box-shadow .18s ease;display:block;}
.bcp-page .listing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.bcp-page .listing-photo{position:relative;height:170px;background:var(--surface);}
.bcp-page .listing-photo img{width:100%;height:100%;object-fit:cover;}
.bcp-page .listing-photo .status-tag{position:absolute;left:12px;bottom:12px;background:rgba(18,18,26,.78);color:#fff;font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:100px;line-height:1;}
.bcp-page .listing-badges{position:absolute;top:12px;left:12px;display:flex;gap:6px;}
.bcp-page .badge{font-size:10.5px;font-weight:800;letter-spacing:.03em;padding:5px 9px;border-radius:6px;text-transform:uppercase;line-height:1;}
.bcp-page .badge-verified{background:#E9FBF1;color:var(--green);}
.bcp-page .listing-body{padding:16px 16px 18px;}
.bcp-page .listing-title{font-size:15px;font-weight:700;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bcp-page .listing-config{display:inline-flex;gap:8px;background:var(--surface);border-radius:8px;padding:4px 9px;font-size:12px;font-weight:700;margin-bottom:8px;line-height:1.4;}
.bcp-page .listing-price{font-size:18px;font-weight:800;color:var(--ink);margin-bottom:4px;}
.bcp-page .listing-price span{font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.bcp-page .listing-loc{font-size:13px;color:var(--ink-soft);display:flex;align-items:flex-start;gap:6px;margin-bottom:14px;line-height:1.4;}
.bcp-page .listing-loc svg{flex:none;margin-top:2px;}
.bcp-page .listing-actions{display:flex;gap:8px;width:100%;}
.bcp-page .wa-outline{flex:none;width:38px;height:38px;border-radius:50%;background:#E9FBF1;color:var(--green);border:1px solid #CFF3DE;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.bcp-page .view-number-btn{flex:1;font-size:13px;font-weight:700;color:var(--brand-1);border:1px solid #FFD9C9;background:#FFF0EA;border-radius:100px;padding:9px 12px;cursor:pointer;text-align:center;line-height:1.3;}
.bcp-page .view-number-btn:hover{background:#FFE4D8;}

/* post-your-property-preview — all rules namespaced under .ppv-page so nothing here leaks onto other pages. */

.ppv-page {
    --ppv-accent: #FF5403;
    --ppv-accent-dark: #C23D0A;
    --ppv-accent-light: #FFB08A;
    --ppv-accent-tint: #FFF1E9;
    --ppv-ink: #221F1B;
    --ppv-ink-muted: #6B6560;
    --ppv-bg: #fcf8f1;
    --ppv-bg-header: #FEFDFB;
    --ppv-card: #FFFFFF;
    --ppv-border: #E7E2DA;
    --ppv-section-alt: #F3EFE8;
    --ppv-stripe-a: #EFEAE1;
    --ppv-stripe-b: #F6F3ED;
    --ppv-error: #D93636;
    --ppv-stat-label: #B8B2A8;
    --ppv-footer-border: #3A3530;

    font-family: var(--lr-font);
    background: var(--ppv-bg);
    color: var(--ppv-ink);
    line-height: 1.45;
    padding-bottom: 0;
    overflow-x: hidden;
    max-width: 100vw;
}

.ppv-page * { box-sizing: border-box; }
.ppv-page a { color: var(--ppv-accent); text-decoration: none; }
.ppv-page a:hover { color: var(--ppv-accent-dark); text-decoration: underline; }
.ppv-page ul { list-style: none; margin: 0; padding: 0; }
.ppv-page button { font-family: inherit; }
.ppv-page img { max-width: 100%; display: block; }

.ppv-wrap { max-width: 1200px; margin: 0 auto; padding: 0 6vw; }
.ppv-wrap-wide { max-width: 1360px; margin: 0 auto; padding: 0 6vw; }

@keyframes ppvFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.ppv-copy-swap { animation: ppvFade .25s ease; }

/* ---------- Hero ---------- */
.ppv-hero {
    padding: 56px 6vw 64px;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 56px;
    align-items: start;
    max-width: 1360px;
    margin: 0 auto;
}

.ppv-hero > div { min-width: 0; }

.ppv-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--ppv-accent-tint);
    color: var(--ppv-accent-dark);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.02em;
    margin-bottom: 22px;
}

.ppv-hero-title {
    font-family: var(--lr-font);
    font-size: 54px;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin: 0 0 18px;
    max-width: 560px;
}

.ppv-hero-sub {
    font-size: 19px;
    color: var(--ppv-ink-muted);
    max-width: 520px;
    margin: 0 0 30px;
}

.ppv-hero-bullets {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 28px;
    margin-bottom: 34px;
}

.ppv-hero-bullet {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: var(--ppv-ink);
}

.ppv-hero-bullet .ppv-check {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: var(--ppv-accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}

.ppv-hero-call {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    background: var(--ppv-card);
    border: 1px solid var(--ppv-border);
    border-radius: 16px;
    max-width: 440px;
}

.ppv-hero-call-icon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: var(--ppv-accent-tint);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ppv-hero-call-icon svg { width: 20px; height: 20px; }

.ppv-hero-call-label { font-size: 13px; color: var(--ppv-ink-muted); font-weight: 600; }
.ppv-hero-call-number { font-size: 18px; font-weight: 800; color: var(--ppv-ink); }

/* ---------- Quick post card ---------- */
.ppv-quickpost-wrap { position: sticky; top: 96px; min-width: 0; }

.ppv-quickpost-blob {
    position: absolute;
    top: -20px;
    left: -20px;
    width: 62%;
    height: 46%;
    background: linear-gradient(135deg, var(--ppv-accent-tint), var(--ppv-accent-light));
    border-radius: 0 90px 0 0;
    z-index: 0;
}

.ppv-quickpost-card {
    position: relative;
    z-index: 1;
    background: var(--ppv-card);
    border: 1px solid var(--ppv-border);
    border-top: 4px solid var(--ppv-accent);
    border-radius: 24px;
    box-shadow: 0 24px 60px -30px rgba(20, 20, 20, 0.25);
    padding: 28px;
    animation: ppvFade 0.25s ease;
}

.ppv-quickpost-title {
    font-family: var(--lr-font);
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0 0 6px;
    line-height: 1.15;
}
.ppv-quickpost-title-accent { color: var(--ppv-accent); }

.ppv-quickpost-hint { font-size: 13px; color: var(--ppv-ink-muted); margin: 0 0 18px; }

.ppv-step { margin-bottom: 16px; }
.ppv-step-last { margin-bottom: 18px; }

.ppv-step-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.ppv-step-num {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: var(--ppv-accent);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ppv-step-label { font-size: 14px; font-weight: 800; color: var(--ppv-ink); }

.ppv-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-left: 30px;
}

/* Radios are visually hidden; their <label> becomes the pill button. Native
   input stays in the DOM (unchanged name/id/value) so the site-wide OTP/register
   JS in front/template.blade.php keeps working without modification. */
.ppv-chip-row input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.ppv-chip-row label {
    padding: 9px 16px;
    border-radius: 10px;
    border: 1.5px solid var(--ppv-border);
    background: #fff;
    color: var(--ppv-ink);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.ppv-chip-row input[type="radio"]:checked + label {
    border-color: var(--ppv-accent);
    background: var(--ppv-accent);
    color: #fff;
    font-weight: 700;
    box-shadow: 0 6px 14px -8px var(--ppv-accent);
}

.ppv-chip-row input[type="radio"]:focus-visible + label {
    outline: 2px solid var(--ppv-accent-dark);
    outline-offset: 2px;
}

.ppv-phone-row { display: flex; padding-left: 30px; }

.ppv-phone-prefix {
    display: flex;
    align-items: center;
    padding: 0 12px;
    border: 1.5px solid var(--ppv-border);
    border-right: none;
    border-radius: 12px 0 0 12px;
    background: var(--ppv-section-alt);
    font-size: 15px;
    font-weight: 700;
    color: var(--ppv-ink);
}

.ppv-phone-input {
    flex: 1;
    min-width: 0;
    border: 1.5px solid var(--ppv-border);
    border-radius: 0 12px 12px 0;
    padding: 12px 14px;
    font-size: 15px;
    font-family: inherit;
    color: var(--ppv-ink);
    background: var(--ppv-bg);
    outline: none;
}
.ppv-phone-input.error { border-color: var(--ppv-error); }

.ppv-phone-hint { font-size: 12px; color: var(--ppv-ink-muted); margin-top: 6px; padding-left: 30px; }

.ppv-error-banner {
    border-radius: 8px;
    background: rgba(217, 54, 54, 0.12);
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
    margin-bottom: 16px;
    font-size: 13px;
    color: var(--ppv-error);
    font-weight: 600;
}

.ppv-submit-btn {
    width: 100%;
    padding: 15px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--ppv-accent), var(--ppv-accent-dark));
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 24px -10px var(--ppv-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.ppv-submit-btn:hover { filter: brightness(1.03); }
.ppv-submit-btn:disabled {
    cursor: not-allowed;
    filter: grayscale(0.15) brightness(0.95);
    box-shadow: none;
}

.ppv-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #fff;
    border-radius: 999px;
    animation: ppvSpin 0.7s linear infinite;
    flex-shrink: 0;
}
@keyframes ppvSpin { to { transform: rotate(360deg); } }

/* ---------- Stats bar ---------- */
.ppv-stats {
    background: var(--ppv-ink);
    padding: 40px 6vw;
}
.ppv-stats-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 24px;
    text-align: center;
}
.ppv-stat-value { font-size: 36px; font-weight: 800; color: var(--ppv-bg); }
.ppv-stat-label { font-size: 14px; color: var(--ppv-stat-label); font-weight: 600; margin-top: 4px; }

/* ---------- Generic section heading ---------- */
.ppv-section { padding: 80px 6vw; max-width: 1200px; margin: 0 auto; }
section.ppv-section + section.ppv-section { padding-top: 0; }
.ppv-section-alt { background: var(--ppv-section-alt); }
.ppv-section-alt .ppv-section { background: transparent; }
.ppv-heading { font-family: var(--lr-font); font-size: 36px; font-weight: 700; text-align: center; margin: 0 0 12px; letter-spacing: -0.01em; }
.ppv-subheading { text-align: center; color: var(--ppv-ink-muted); font-size: 17px; max-width: 560px; margin: 0 auto 52px; }

/* ---------- 3 steps ---------- */
.ppv-steps3-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 32px;
}
.ppv-step3-item { text-align: center; padding: 28px 20px; }
.ppv-step3-icon {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    background: var(--ppv-accent-tint);
    color: var(--ppv-accent-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 800;
    margin: 0 auto 20px;
}
.ppv-step3-title { font-size: 18px; font-weight: 800; margin: 0 0 8px; }
.ppv-step3-body { font-size: 15px; color: var(--ppv-ink-muted); margin: 0; }

/* ---------- How it works ---------- */
.ppv-how-list { display: flex; flex-direction: column; gap: 36px; }
.ppv-how-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
    align-items: center;
}
.ppv-how-row > * { min-width: 0; }
.ppv-how-row.ppv-how-reverse .ppv-how-media { order: 2; }
.ppv-how-media {
    aspect-ratio: 4 / 3;
    border-radius: 20px;
    overflow: hidden;
    background: repeating-linear-gradient(135deg, var(--ppv-stripe-a), var(--ppv-stripe-a) 14px, var(--ppv-stripe-b) 14px, var(--ppv-stripe-b) 28px);
}
.ppv-how-media img { width: 100%; height: 100%; object-fit: cover; }
.ppv-how-step { font-size: 13px; font-weight: 800; color: var(--ppv-accent-dark); margin-bottom: 8px; }
.ppv-how-title { font-size: 22px; font-weight: 800; margin: 0 0 12px; }
.ppv-how-body { font-size: 16px; color: var(--ppv-ink-muted); margin: 0; }

/* ---------- FAQ ---------- */
.ppv-faq-list { display: flex; flex-direction: column; gap: 12px; max-width: 840px; margin: 0 auto; }
.ppv-faq-item { border: 1px solid var(--ppv-border); border-radius: 14px; background: var(--ppv-card); overflow: hidden; }
.ppv-faq-q {
    width: 100%;
    text-align: left;
    padding: 20px 24px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 16px;
    font-weight: 700;
    color: var(--ppv-ink);
}
.ppv-faq-icon { font-size: 20px; color: var(--ppv-ink-muted); flex-shrink: 0; transition: transform 0.15s ease; }
.ppv-faq-item.is-open .ppv-faq-icon { transform: rotate(45deg); }
.ppv-faq-a {
    max-height: 0;
    overflow: hidden;
    padding: 0 24px;
    font-size: 15px;
    color: var(--ppv-ink-muted);
    transition: max-height 0.2s ease, padding 0.2s ease;
}
.ppv-faq-item.is-open .ppv-faq-a { max-height: 300px; padding: 0 24px 22px; }

/* ---------- Testimonials ---------- */
.ppv-testimonials-row {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
}
.ppv-testimonial-card {
    background: var(--ppv-card);
    border: 1px solid var(--ppv-border);
    border-radius: 16px;
    padding: 26px;
    flex-shrink: 0;
    width: 340px;
    scroll-snap-align: start;
}
.ppv-testimonial-quote { font-size: 15px; color: var(--ppv-ink); margin: 0 0 18px; }
.ppv-testimonial-person { display: flex; align-items: center; gap: 12px; }
.ppv-testimonial-avatar {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: var(--ppv-accent-tint);
    color: var(--ppv-accent-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
    flex-shrink: 0;
}
.ppv-testimonial-name { font-size: 14px; font-weight: 700; }
.ppv-testimonial-tag { font-size: 12px; color: var(--ppv-ink-muted); }

/* App download now reuses the site-wide .hp-app-section/.hp-app-card
   component (same markup as the homepage) instead of this page's own
   lighter-weight version, to match the redesigned reference page. */

/* ---------- Popular locations ---------- */
.ppv-locations-section {
    padding: 64px 6vw;
    max-width: 1200px;
    margin: 0 auto;
    border-top: 1px solid var(--ppv-border);
}
.ppv-locations-title { font-size: 20px; font-weight: 800; margin: 0 0 28px; }
.ppv-locations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 32px;
}
.ppv-location-name { font-size: 14px; font-weight: 800; color: var(--ppv-ink); margin-bottom: 12px; }
.ppv-location-links { display: flex; flex-direction: column; gap: 6px; }
.ppv-location-links a { font-size: 13px; color: var(--ppv-ink-muted); }
.ppv-location-links a:hover { color: var(--ppv-accent); }

/* ---------- Mobile sticky CTA ---------- */
.ppv-mobile-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 14px 16px;
    background: var(--ppv-card);
    border-top: 1px solid var(--ppv-border);
    display: none;
    z-index: 50;
}
.ppv-mobile-cta a {
    display: block;
    text-align: center;
    padding: 14px;
    border-radius: 12px;
    background: var(--ppv-accent);
    color: #fff;
    font-weight: 800;
    font-size: 16px;
}
.ppv-mobile-cta a:hover { color: #fff; text-decoration: none; }

/* .hp-footer's site-wide margin-top stacks on top of this page's own
   last-section bottom padding, leaving a large gap before the footer.
   Was scoped to ".ppv-mobile-cta + .hp-footer", but the inline <script>
   block that follows .ppv-mobile-cta in the page's markup sits between them
   in the DOM, so that adjacent-sibling selector never actually matched -
   body:has() reaches the footer regardless of what's in between, same
   pattern already used for .bl-preview/.ac-preview/.mpl-preview/etc below. */
body:has(.ppv-page) .hp-footer { margin-top: 0; }

/* ==================================================================
   Account pages (Profile / Billing History / Wishlist) - redesign
   Scoped under .pf-page so these rules never affect any other page.
   ================================================================== */

/* ---- Profile / Billing / Wishlist account pages - shared ---- */
/* Lets Rentz - Profile/Billing/Wishlist test pages - shared/common styles */
:root{
  --ink:#12121A;
  --ink-soft:#5B5D6B;
  --line:#E9E9EF;
  --surface:#F6F6F9;
  --card:#FFFFFF;
  --brand-1:#FF5A36;
  --brand-2:#FF8A3D;
  --pink:#FF3D7F;
  --violet:#7C5CFF;
  --mint:#12D6A3;
  --navy:#0E1224;
  --navy-2:#171B33;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
}

.pf-page *{box-sizing:border-box;margin:0;padding:0;}

.pf-page{
  font-family:var(--lr-font);
  color:var(--ink);
  background:var(--surface);
  -webkit-font-smoothing:antialiased;
}

.pf-page h1, .pf-page h2, .pf-page .brand-word{font-family:var(--lr-font);}

.pf-page img{max-width:100%;display:block;}

.pf-page a{text-decoration:none;color:inherit;}

.pf-page ul{list-style:none;}

.pf-page button{font-family:inherit;}

.pf-page input, .pf-page select, .pf-page textarea{font-family:inherit;}

.pf-page .container{max-width:1240px;margin:0 auto;padding:0 24px;}

.pf-page .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:600;font-size:15px;
  border-radius:100px;padding:15px 28px;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.pf-page .btn-primary{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
}

.pf-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}

.pf-page .btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}

.pf-page .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}

.pf-page .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;}


/* ---------- Page head banner (profile + billing) ---------- */
.pf-page .pf-hero{
  position:relative;overflow:hidden;
  padding:44px 0 0;
  background:
    radial-gradient(500px 220px at 12% -10%, rgba(124,92,255,.14), transparent 60%),
    radial-gradient(460px 220px at 92% -20%, rgba(255,90,54,.12), transparent 60%);
}

.pf-page .pf-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--violet);background:#F1ECFF;padding:7px 14px;border-radius:100px;margin-bottom:14px;
}

.pf-page .pf-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--violet);}

.pf-page .pf-hero h1{font-size:clamp(28px,3.6vw,40px);font-weight:600;letter-spacing:-.01em;color:var(--navy);}

.pf-page .pf-sub{color:var(--ink-soft);margin-top:8px;font-size:15px;max-width:560px;line-height:1.6;}


/* ---------- Layout (profile + billing) ---------- */
.pf-page .pf-wrap{padding:32px 0 90px;}

.pf-page .pf-grid{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start;}

.pf-page .pf-content{display:flex;flex-direction:column;gap:24px;min-width:0;}


/* ---------- Sidebar (profile + billing) ---------- */
.pf-page .pf-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:88px;}


.pf-page .pf-card-user{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:26px 22px;text-align:center;
}

.pf-page .pf-avatar-wrap{position:relative;width:88px;height:88px;margin:0 auto 14px;}

.pf-page .pf-avatar{
  width:88px;height:88px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  display:flex;align-items:center;justify-content:center;color:#fff;
  font-family:var(--lr-font);font-size:32px;font-weight:700;
  box-shadow:0 10px 24px -8px rgba(255,90,54,.5);
  overflow:hidden;letter-spacing:-.02em;}

.pf-page .pf-avatar img{width:100%;height:100%;object-fit:cover;}

.pf-page .pf-avatar-edit{
  position:absolute;bottom:0;right:0;width:30px;height:30px;border-radius:50%;
  background:var(--navy);color:#fff;border:3px solid #fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}

.pf-page .pf-user-name{font-size:17px;font-weight:700;}

.pf-page .pf-user-role{font-size:12.5px;color:var(--ink-soft);margin-top:2px;}

.pf-page .pf-verified-row{display:flex;justify-content:center;gap:8px;margin-top:12px;flex-wrap:wrap;}

.pf-page .pf-verified-pill{
  display:flex;align-items:center;gap:5px;font-size:11px;font-weight:800;
  padding:5px 11px;border-radius:100px;
}

.pf-page .pf-verified-pill.ok{background:#E7FBF4;color:var(--mint);}

.pf-page .pf-verified-pill.pending{background:#FFF3E3;color:#D97E0A;}


.pf-page .pf-progress-wrap{margin-top:18px;text-align:left;}

.pf-page .pf-progress-label{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-bottom:8px;}

.pf-page .pf-progress-label strong{color:var(--ink);}

.pf-page .pf-progress-bar{height:8px;background:var(--surface);border-radius:100px;overflow:hidden;}

.pf-page .pf-progress-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,var(--brand-1),var(--brand-2));}

.pf-page .pf-progress-hint{font-size:11.5px;color:var(--ink-soft);margin-top:8px;}


.pf-page .pf-nav{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:10px;
}

.pf-page .pf-nav a{
  display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;
  font-size:14px;font-weight:600;color:var(--ink-soft);transition:.18s;
}

.pf-page .pf-nav a svg{flex:none;color:var(--ink-soft);transition:.18s;}

.pf-page .pf-nav a:hover{background:var(--surface);color:var(--ink);}

.pf-page .pf-nav a.active{background:var(--navy);color:#fff;}

.pf-page .pf-nav a.active svg{color:#fff;}

.pf-page .pf-nav a.danger{color:var(--brand-1);}

.pf-page .pf-nav a.danger svg{color:var(--brand-1);}

.pf-page .pf-nav a.danger:hover{background:#FFF0EA;}

.pf-page .pf-nav hr{border:none;border-top:1px solid var(--line);margin:8px 6px;}


/* ---------- Main card shell (profile + billing) ---------- */
.pf-page .pf-main{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);overflow:hidden;
}

.pf-page .pf-main-head{padding:28px 30px 22px;border-bottom:1px solid var(--line);}

.pf-page .pf-main-head h2{font-size:20px;font-weight:700;font-family:var(--lr-font);}

.pf-page .pf-main-head p{font-size:13.5px;color:var(--ink-soft);margin-top:6px;}


/* ---------- Toast / to-top (all pages) ---------- */
.pf-page .toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);
  background:var(--navy);color:#fff;padding:14px 24px;border-radius:100px;font-size:13.5px;font-weight:700;
  display:flex;align-items:center;gap:10px;box-shadow:0 20px 40px -12px rgba(0,0,0,.4);
  opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;z-index:200;
}

.pf-page .toast.show{opacity:1;transform:translate(-50%,0);}

.pf-page .toast svg{color:var(--mint);flex:none;}


.pf-page .to-top{
  position:fixed;bottom:24px;right:24px;width:46px;height:46px;border-radius:50%;
  background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;z-index:90;
}

.pf-page .to-top.show{opacity:1;pointer-events:auto;}

/* ---- Profile page ---- */
/* Lets Rentz - Profile test page only */
.pf-page .pf-form{padding:28px 30px 30px;}

.pf-page .pf-photo-row{display:flex;align-items:center;gap:18px;margin-bottom:28px;padding-bottom:26px;border-bottom:1px solid var(--line);}

.pf-page .pf-photo{
  position:relative;width:76px;height:76px;flex:none;
}

.pf-page .pf-photo .circle{
  width:76px;height:76px;border-radius:50%;background:var(--surface);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:#B7B9C8;overflow:hidden;
}

.pf-page .pf-photo .circle img{width:100%;height:100%;object-fit:cover;}

.pf-page .pf-photo .cam{
  position:absolute;bottom:-2px;right:-2px;width:26px;height:26px;border-radius:50%;
  background:var(--navy);color:#fff;border:2.5px solid #fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}

.pf-page .pf-photo-text strong{display:block;font-size:14.5px;font-weight:700;}

.pf-page .pf-photo-text span{font-size:12.5px;color:var(--ink-soft);}


.pf-page .field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;}

.pf-page .field{display:flex;flex-direction:column;gap:8px;}

.pf-page .field label{font-size:12.5px;font-weight:700;color:var(--ink-soft);}

.pf-page .field label .opt{font-weight:600;color:#B0B2C0;text-transform:none;}

.pf-page .field-input{
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--line);border-radius:12px;padding:12px 14px;
  background:#fff;transition:border-color .18s ease, box-shadow .18s ease;
}

.pf-page .field-input:focus-within{border-color:var(--brand-1);box-shadow:0 0 0 3px rgba(255,90,54,.12);}

.pf-page .field-input svg{flex:none;color:#B0B2C0;}

.pf-page .field-input input, .pf-page .field-input select{
  border:none;outline:none;flex:1;font-size:14px;color:var(--ink);background:transparent;width:100%;
}

.pf-page .field-input input:disabled{color:var(--ink-soft);cursor:not-allowed;}

.pf-page .field-input select.code{flex:none;width:60px;font-weight:700;padding-right:2px;}

.pf-page .field-input .sep{width:1px;height:18px;background:var(--line);}

.pf-page .field-verified{font-size:11px;font-weight:800;color:var(--mint);display:flex;align-items:center;gap:4px;flex:none;white-space:nowrap;}


.pf-page .gender-row{display:flex;gap:20px;align-items:center;height:100%;padding-top:6px;flex-wrap:wrap;}

.pf-page .gender-opt{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;cursor:pointer;}

.pf-page .gender-opt input{accent-color:var(--brand-1);width:16px;height:16px;cursor:pointer;}


.pf-page .field.full{grid-column:1 / -1;}

.pf-page textarea.about{
  border:1px solid var(--line);border-radius:12px;padding:14px;font-size:14px;color:var(--ink);
  resize:vertical;min-height:100px;outline:none;line-height:1.6;transition:border-color .18s ease, box-shadow .18s ease;
  width:100%;
}

.pf-page textarea.about:focus{border-color:var(--brand-1);box-shadow:0 0 0 3px rgba(255,90,54,.12);}

.pf-page .char-count{font-size:11.5px;color:#B0B2C0;text-align:right;}


.pf-page .consent-row{
  display:flex;align-items:flex-start;gap:10px;margin:22px 0 26px;font-size:13px;color:var(--ink-soft);
}

.pf-page .consent-row input{margin-top:2px;accent-color:var(--brand-1);width:16px;height:16px;flex:none;cursor:pointer;}

.pf-page .consent-row a{color:var(--brand-1);font-weight:700;}


.pf-page .pf-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}

.pf-page .pf-delete{font-size:12.5px;color:var(--ink-soft);}

.pf-page .pf-delete a{color:var(--brand-1);font-weight:700;}


/* ---------- Logout modal ---------- */
.pf-page .modal-overlay{
  position:fixed;inset:0;z-index:300;
  background:rgba(14,18,36,.55);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;pointer-events:none;transition:opacity .22s ease;
}

.pf-page .modal-overlay.show{opacity:1;pointer-events:auto;}

.pf-page .modal-card{
  background:var(--card);border-radius:24px;max-width:380px;width:100%;
  padding:32px 28px 26px;text-align:center;box-shadow:0 30px 70px -20px rgba(14,18,36,.45);
  transform:translateY(14px) scale(.97);opacity:0;transition:transform .25s ease, opacity .25s ease;
}

.pf-page .modal-overlay.show .modal-card{transform:translateY(0) scale(1);opacity:1;}

.pf-page .modal-icon{
  width:64px;height:64px;border-radius:50%;margin:0 auto 18px;
  background:#FFF0EA;color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;
}

.pf-page .modal-card h3{font-size:19px;font-weight:700;color:var(--ink);margin-bottom:8px;}

.pf-page .modal-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:24px;}

.pf-page .modal-actions{display:flex;gap:10px;}

.pf-page .modal-actions .btn{flex:1;padding:13px 18px;font-size:14px;}

.pf-page .btn-danger{
  background:linear-gradient(135deg,var(--brand-1),#FF3D3D);color:#fff;
  box-shadow:0 14px 30px -10px rgba(255,61,61,.5);
}

.pf-page .btn-danger:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,61,61,.55);}

.pf-page .btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none;}

/* ---------- Site-wide logout modal (header, appears on every page) ---------- */
.hp-modal-overlay{
  position:fixed;inset:0;z-index:99999;
  background:rgba(14,18,36,.55);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;pointer-events:none;transition:opacity .22s ease;
}

.hp-modal-overlay.show{opacity:1;pointer-events:auto;}

.hp-modal-card{
  background:var(--card);border-radius:24px;max-width:380px;width:100%;
  padding:32px 28px 26px;text-align:center;box-shadow:0 30px 70px -20px rgba(14,18,36,.45);
  transform:translateY(14px) scale(.97);opacity:0;transition:transform .25s ease, opacity .25s ease;
}

.hp-modal-overlay.show .hp-modal-card{transform:translateY(0) scale(1);opacity:1;}

.hp-modal-icon{
  width:64px;height:64px;border-radius:50%;margin:0 auto 18px;
  background:#FFF0EA;color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;
}

.hp-modal-card h3{font-size:19px;font-weight:700;color:var(--ink);margin-bottom:8px;}

.hp-modal-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:24px;}

.hp-modal-actions{display:flex;gap:10px;}

.hp-modal-actions .hp-modal-btn{
  flex:1;padding:13px 18px;font-size:14px;border-radius:12px;border:none;
  cursor:pointer;font-weight:700;transition:opacity .15s ease,transform .15s ease;
}

.hp-modal-actions .hp-modal-btn:hover{opacity:.92;}

.hp-modal-btn-ghost{background:#F2F2F5;color:var(--ink);}

.hp-modal-btn-danger{
  background:linear-gradient(135deg,var(--brand-1),#FF3D3D);color:#fff;
  box-shadow:0 14px 30px -10px rgba(255,61,61,.5);
}

.hp-modal-btn-danger:disabled{opacity:.6;cursor:not-allowed;}

/* ---- Billing History page ---- */
/* Lets Rentz - Billing History test page only */
/* ---------- Current plan hero ---------- */
.pf-page .plan-hero{
  position:relative;overflow:hidden;
  display:flex;align-items:center;gap:36px;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 60%,#241b4d 130%);
  border-radius:24px;padding:32px 36px;
  box-shadow:0 24px 50px -18px rgba(14,18,36,.5);
}

.pf-page .plan-hero-glow{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(420px 220px at 8% 0%, rgba(255,90,54,.30), transparent 65%),
    radial-gradient(380px 220px at 96% 100%, rgba(124,92,255,.35), transparent 65%);
}

.pf-page .plan-hero-main{position:relative;flex:1.4;min-width:0;}

.pf-page .plan-hero-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;}

.pf-page .plan-hero-badge{
  display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--mint);background:rgba(18,214,163,.14);padding:6px 13px;border-radius:100px;
}

.pf-page .plan-hero-auto{font-size:12.5px;color:#9EA1C4;}

.pf-page .plan-hero-name{font-size:clamp(24px,2.6vw,30px);font-weight:600;color:#fff;letter-spacing:-.01em;}

.pf-page .plan-hero-desc{font-size:13.5px;color:#B8BAD0;line-height:1.65;margin-top:10px;max-width:480px;}

.pf-page .plan-hero-features{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;}

.pf-page .plan-hero-features li{
  display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:#EDEEFA;
}

.pf-page .plan-hero-features li svg{color:var(--mint);flex:none;}

.pf-page .plan-hero-divider{position:relative;width:1px;align-self:stretch;background:rgba(255,255,255,.12);}

.pf-page .plan-hero-side{position:relative;flex:1;min-width:220px;display:flex;flex-direction:column;gap:18px;}

.pf-page .plan-hero-price{font-family:var(--lr-font);font-size:36px;font-weight:700;color:#fff;letter-spacing:-.02em;}

.pf-page .plan-hero-price span{font-size:20px;vertical-align:top;}

.pf-page .plan-hero-price small{font-size:13px;font-weight:500;color:#9EA1C4;}

.pf-page .renewal-label{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#9EA1C4;margin-bottom:8px;}

.pf-page .renewal-label strong{color:#fff;}

.pf-page .renewal-bar{height:7px;background:rgba(255,255,255,.12);border-radius:100px;overflow:hidden;}

.pf-page .renewal-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,var(--brand-1),var(--brand-2));}

.pf-page .plan-hero-actions{display:flex;gap:10px;flex-wrap:wrap;}

.pf-page .plan-btn{flex:1;padding:12px 18px;font-size:13.5px;white-space:nowrap;}

.pf-page .plan-hero .btn-ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff;}

.pf-page .plan-hero .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);}

.pf-page .no-plan-hero{
  background:var(--card);border:1px dashed var(--line);border-radius:24px;padding:32px;text-align:center;
}

.pf-page .no-plan-hero h2{font-size:20px;font-weight:700;margin-bottom:8px;}

.pf-page .no-plan-hero p{color:var(--ink-soft);font-size:13.5px;margin-bottom:18px;}


/* ---------- Main billing card ---------- */
.pf-page .pf-main-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}

.pf-page .filter-group{display:flex;gap:10px;flex-wrap:wrap;}

.pf-page .filter-select{
  border:1px solid var(--line);border-radius:100px;padding:9px 16px;font-size:13px;font-weight:600;
  color:var(--ink-soft);background:#fff;cursor:pointer;outline:none;
}

.pf-page .filter-select:focus{border-color:var(--brand-1);box-shadow:0 0 0 3px rgba(255,90,54,.12);}


/* Table header row (desktop) */
.pf-page .bh-table-head{
  display:grid;grid-template-columns:1fr 1fr .85fr 1.15fr .8fr 1.15fr .85fr;
  padding:14px 28px;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink-soft);background:var(--surface);border-bottom:1px solid var(--line);
}


.pf-page .bh-list{display:flex;flex-direction:column;}

.pf-page .bh-row{
  display:grid;grid-template-columns:1fr 1fr .85fr 1.15fr .8fr 1.15fr .85fr;
  align-items:center;padding:20px 28px;border-bottom:1px solid var(--line);
  transition:background .15s ease;
}

.pf-page .bh-row:last-child{border-bottom:none;}

.pf-page .bh-row:hover{background:#FCFCFD;}

.pf-page .bh-cell-label{display:none;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#B0B2C0;margin-bottom:4px;}


.pf-page .bh-date{font-size:14px;font-weight:700;color:var(--ink);}

.pf-page .bh-year{font-size:12px;color:var(--ink-soft);}

.pf-page .bh-amount{font-size:15px;font-weight:600;font-family:var(--lr-font);color:var(--navy);font-variant-numeric:tabular-nums;}


.pf-page .plan-pill{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
  padding:6px 12px;border-radius:100px;white-space:nowrap;
}

.pf-page .plan-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;}

.pf-page .bh-category{margin-top:5px;font-size:11px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;}

.pf-page .plan-premium{background:#F1ECFF;color:var(--violet);}

.pf-page .plan-standard{background:#E9F1FF;color:#2E7BFF;}

.pf-page .plan-intro{background:#FFF3E3;color:#D97E0A;}

.pf-page .plan-moneyback{background:#FFEBF2;color:var(--pink);}

.pf-page .plan-other{background:var(--surface);color:var(--ink-soft);}


.pf-page .status-pill{
  display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;
}

.pf-page .status-pill.paid{color:var(--mint);}

.pf-page .status-pill.paid svg{color:var(--mint);}

.pf-page .status-pill.active{color:#2E7BFF;}

.pf-page .status-pill.refunded{color:#D97E0A;}


/* ---------- Refund status ---------- */
.pf-page .refund-cell{display:flex;flex-direction:column;gap:8px;min-width:0;padding-right:18px;}

.pf-page .refund-top{display:flex;align-items:center;gap:8px;}

.pf-page .refund-pill{
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start;
  font-size:11.5px;font-weight:800;letter-spacing:.02em;
  padding:5px 11px;border-radius:100px;white-space:nowrap;
}

.pf-page .refund-pill svg{flex:none;}

.pf-page .refund-info{
  width:20px;height:20px;flex:none;border-radius:50%;
  border:1px solid var(--line);background:#fff;color:var(--ink-soft);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.18s;padding:0;
}

.pf-page .refund-info:hover{border-color:var(--violet);color:var(--violet);background:#F6F3FF;}

.pf-page .refund-info:focus-visible{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(124,92,255,.18);}

.pf-page .refund-none{background:#F2F2F6;color:#8A8CA0;}

.pf-page .refund-processing{background:#FFF3E3;color:#D97E0A;}

.pf-page .refund-refunded{background:#E4FBF3;color:#0FA37B;}

.pf-page .refund-bar{
  height:5px;border-radius:100px;background:#EDEDF3;overflow:hidden;
  max-width:140px;width:100%;margin-right:16px;
}

.pf-page .refund-bar span{display:block;height:100%;border-radius:100px;}

.pf-page .refund-bar.is-processing span{
  background:linear-gradient(90deg,#FFB347,#D97E0A);
  background-size:200% 100%;
  animation:pfRefundPulse 1.8s ease-in-out infinite;
}

.pf-page .refund-bar.is-refunded span{background:linear-gradient(90deg,#12D6A3,#0FA37B);}

@keyframes pfRefundPulse{
  0%,100%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
}

@media (prefers-reduced-motion:reduce){
  .pf-page .refund-bar.is-processing span{animation:none;}
}

/* ---------- Refund detail modal ---------- */
.pf-page .rd-overlay{
  position:fixed;inset:0;z-index:180;
  background:rgba(14,18,36,.55);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:24px;
  opacity:0;pointer-events:none;transition:opacity .22s ease;
}

.pf-page .rd-overlay.show{opacity:1;pointer-events:auto;}

.pf-page .rd-modal{
  background:var(--card);border-radius:24px;width:100%;max-width:430px;
  box-shadow:0 30px 70px -20px rgba(14,18,36,.55);overflow:hidden;
  transform:translateY(16px) scale(.98);transition:transform .22s ease;
}

.pf-page .rd-overlay.show .rd-modal{transform:translateY(0) scale(1);}

.pf-page .rd-head{
  position:relative;overflow:hidden;padding:24px 26px;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 70%,#241b4d 130%);
}

.pf-page .rd-head::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(320px 160px at 90% 0%, rgba(124,92,255,.4), transparent 65%);
}

.pf-page .rd-head h3{
  position:relative;z-index:1;color:#fff;font-size:18px;font-weight:700;
  font-family:var(--lr-font);
}

.pf-page .rd-head p{position:relative;z-index:1;font-size:12.5px;color:#9EA1C4;margin-top:4px;}

.pf-page .rd-close{
  position:absolute;top:18px;right:18px;z-index:2;
  width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s;
}

.pf-page .rd-close:hover{background:rgba(255,255,255,.18);}

.pf-page .rd-body{padding:8px 26px 22px;}

.pf-page .rd-item{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:15px 0;border-bottom:1px solid var(--line);
}

.pf-page .rd-item:last-child{border-bottom:none;}

.pf-page .rd-label{
  display:flex;align-items:center;gap:9px;
  font-size:12.5px;font-weight:700;color:var(--ink-soft);
}

.pf-page .rd-label svg{color:#B0B2C0;flex:none;}

.pf-page .rd-value{font-size:13.5px;font-weight:700;color:var(--ink);text-align:right;}

.pf-page .rd-value.mono{font-family:var(--lr-font);font-weight:600;font-variant-numeric:tabular-nums;}

.pf-page .rd-foot{padding:0 26px 24px;}

.pf-page .rd-foot .btn{width:100%;}

/* ---------- Billing pagination ---------- */
.pf-page .bh-pagination{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:26px 28px;
}

.pf-page .page-btn{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;
  color:var(--ink-soft);cursor:pointer;transition:.18s;
}

.pf-page .page-btn:hover{border-color:#D8D8E2;background:var(--surface);}

.pf-page .page-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);}

.pf-page .page-btn.nav-arrow svg{display:block;}

.pf-page .page-btn:disabled{opacity:.4;cursor:not-allowed;}


.pf-page .invoice-btn{
  display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--brand-1);
  border:1px solid #FFD9C9;background:#FFF6F2;padding:9px 16px;border-radius:100px;
  cursor:pointer;transition:.18s;
}

.pf-page .invoice-btn:hover{background:#FFEDE4;border-color:var(--brand-1);}

.pf-page .invoice-btn:disabled{opacity:.45;cursor:not-allowed;}


.pf-page .bh-empty{padding:60px 28px;text-align:center;color:var(--ink-soft);font-size:14px;}

/* ---- Wishlist page ---- */
/* Lets Rentz - Wishlist test page only */
/* ---------- Page head ---------- */
.pf-page .wl-hero{
  position:relative;overflow:hidden;
  padding:44px 0 30px;
  background:
    radial-gradient(500px 220px at 12% -10%, rgba(255,61,127,.14), transparent 60%),
    radial-gradient(460px 220px at 92% -20%, rgba(124,92,255,.14), transparent 60%);
}

.pf-page .wl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;}

.pf-page .wl-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--pink);background:#FFEBF2;padding:7px 14px;border-radius:100px;margin-bottom:14px;
}

.pf-page .wl-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--pink);}

.pf-page .wl-head h1{font-size:clamp(30px,4vw,44px);font-weight:600;letter-spacing:-.01em;color:var(--navy);}

.pf-page .wl-head h1 .accent{color:var(--ink);}

.pf-page .wl-sub{color:var(--ink-soft);margin-top:8px;font-size:15px;}

.pf-page .wl-sub strong{color:var(--ink);font-weight:700;}


.pf-page .wl-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}

.pf-page .seg{
  display:flex;background:#fff;border:1px solid var(--line);border-radius:100px;padding:4px;gap:2px;
}

.pf-page .seg button{
  border:none;background:transparent;padding:9px 16px;border-radius:100px;font-size:13px;font-weight:700;
  color:var(--ink-soft);cursor:pointer;transition:.18s;white-space:nowrap;
}

.pf-page .seg button.active{background:var(--navy);color:#fff;}

.pf-page .sort-select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><path d="M1 1l5 5 5-5" stroke="%235B5D6B" stroke-width="1.6" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 16px center;
  border:1px solid var(--line);border-radius:100px;padding:11px 38px 11px 18px;
  font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;
}


/* ---------- Grid ---------- */
.pf-page .wl-grid-wrap{padding:36px 0 90px;}

.pf-page .wl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}

.pf-page .wl-loading{display:none;align-items:center;justify-content:center;padding:90px 20px;}
.pf-page .wl-loading.show{display:flex;}
.pf-page .wl-spinner{
  width:34px;height:34px;border-radius:50%;
  border:3px solid #FFE1EB;border-top-color:var(--pink);
  animation:wlSpin .7s linear infinite;
}
@keyframes wlSpin{ to { transform:rotate(360deg); } }

.pf-page .wl-pagination{display:flex;justify-content:center;margin-top:32px;}
.pf-page .wl-pagination .pagination{display:flex;align-items:center;gap:6px;list-style:none;padding:0;margin:0;flex-wrap:wrap;justify-content:center;}
.pf-page .wl-pagination .page-item .page-link{
  display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;
  border-radius:100px;border:1px solid var(--line);color:var(--ink);font-size:13.5px;font-weight:700;
  background:#fff;transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.pf-page .wl-pagination .page-item .page-link:hover{background:#F7F7FA;}
.pf-page .wl-pagination .page-item.active .page-link{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));border-color:transparent;color:#fff;
}
.pf-page .wl-pagination .page-item.disabled .page-link{opacity:.4;cursor:not-allowed;}


.pf-page .p-card{
  background:var(--card);border-radius:24px;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);transition:transform .22s ease, box-shadow .22s ease;
  display:flex;flex-direction:column;overflow:hidden;
}

.pf-page .p-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}

.pf-page .p-card.p-hidden{display:none;}


.pf-page .p-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface);}

.pf-page .p-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}

.pf-page .p-card:hover .p-media img{transform:scale(1.06);}

.pf-page .p-tags-left{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;z-index:2;}

.pf-page .p-tag{
  background:#fff;border:1px solid #FFD9D9;
  color:var(--brand-1);font-size:11.5px;font-weight:800;letter-spacing:.01em;
  padding:6px 13px;border-radius:100px;display:flex;align-items:center;gap:6px;
}

.pf-page .p-heart{
  position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;
  background:#fff;box-shadow:0 4px 14px -4px rgba(18,18,26,.25);
  display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;
  transition:transform .18s ease, background .18s ease;color:var(--ink);
}

.pf-page .p-heart svg{transition:transform .25s cubic-bezier(.34,1.56,.64,1), stroke .18s ease, fill .18s ease;}

.pf-page .p-heart:hover{transform:scale(1.08);}

.pf-page .p-heart:disabled{opacity:.5;cursor:not-allowed;}

.pf-page .p-heart.active{color:var(--pink);}


.pf-page .p-photos{
  position:absolute;bottom:12px;right:12px;
  background:rgba(18,18,26,.62);backdrop-filter:blur(6px);color:#fff;
  font-size:11px;font-weight:700;padding:6px 11px;border-radius:100px;
  display:flex;align-items:center;gap:5px;
}


.pf-page .p-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:9px;flex:1;}

.pf-page .p-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}

.pf-page .p-id{font-size:12px;color:#333333;font-weight:600;}

.pf-page .p-verified{
  display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;color:var(--mint);
  background:#E7FBF4;padding:4px 9px;border-radius:100px;flex:none;
}

.pf-page .p-price{display:flex;align-items:baseline;gap:6px;}

.pf-page .p-price strong{font-size:23px;font-weight:800;color:var(--navy);}

.pf-page .p-price span{font-size:12.5px;color:var(--ink-soft);font-weight:600;}


.pf-page .p-title{font-size:14.5px;font-weight:700;line-height:1.4;color:var(--ink);}

.pf-page .p-loc{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);}

.pf-page .p-loc svg{flex:none;color:var(--ink-soft);}


.pf-page .p-meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px;}

.pf-page .p-chip{
  font-size:11.5px;font-weight:700;color:var(--ink);background:#fff;border:1px solid var(--line);
  padding:6px 12px;border-radius:8px;display:flex;align-items:center;gap:5px;
}


.pf-page .p-divider{height:1px;background:var(--line);margin-top:6px;}

.pf-page .p-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;}

.pf-page .p-footer .owner-label{font-size:12.5px;font-weight:600;color:var(--ink-soft);}

.pf-page .btn-contact{
  background:var(--navy);color:#fff;padding:11px 22px;font-size:13.5px;border-radius:100px;
}

.pf-page .btn-contact:hover{transform:translateY(-2px);}


/* ---------- Empty state ---------- */
.pf-page .empty-state{
  display:none;text-align:center;padding:70px 20px;background:#fff;border-radius:26px;
  border:1px dashed var(--line);
}

.pf-page .empty-state.show{display:block;}

.pf-page .empty-illustration{
  width:96px;height:96px;margin:0 auto 22px;border-radius:50%;
  background:linear-gradient(135deg,#FFEBF2,#F1ECFF);
  display:flex;align-items:center;justify-content:center;color:var(--pink);
}

.pf-page .empty-state h3{font-size:22px;font-weight:700;margin-bottom:8px;font-family:var(--lr-font);}

.pf-page .empty-state p{color:var(--ink-soft);font-size:14.5px;max-width:360px;margin:0 auto 22px;}

/* ==================================================================
   Locality pages (Home / City / Detail) - redesign
   Scoped under .locality-page so these rules never affect any other page.
   ================================================================== */

/* ---- from common.css ---- */
/* Lets Rentz — Locality pages (test design) — shared/common styles */
.locality-page{
  --ink:#12121A;
  --ink-soft:#5B5D6B;
  --line:#E9E9EF;
  --surface:#F6F6F9;
  --card:#FFFFFF;
  --brand-1:#FF5A36;
  --brand-2:#FF8A3D;
  --navy:#0E1224;
  --navy-2:#171B33;
  --green:#1CA65E;
  --blue:#3A6FF7;
  --purple:#8A4FFF;
  --pink:#F0508B;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
}
.locality-page *{box-sizing:border-box;margin:0;padding:0;}
.locality-page{
  font-family:var(--lr-font);
  color:var(--ink);
  background:var(--surface);
  -webkit-font-smoothing:antialiased;
}
.locality-page h1, .locality-page h2, .locality-page .brand-word{font-family:var(--lr-font);}
.locality-page h3{font-family:var(--lr-font);}
.locality-page img{max-width:100%;display:block;}
.locality-page a{text-decoration:none;color:inherit;}
.locality-page ul{list-style:none;}
.locality-page button, .locality-page select{font-family:inherit;}
.locality-page .container{max-width:1240px;margin:0 auto;padding:0 24px;}
.locality-page .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brand-1);background:#FFF0EA;padding:7px 14px;border-radius:100px;margin-bottom:16px;
}
.locality-page .eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand-1);}
.locality-page .section{padding:52px 0;}
.locality-page .section-head{margin-bottom:30px;}
.locality-page .section-head h2{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.02em;}
.locality-page .section-head p{color:var(--ink-soft);margin-top:8px;font-size:14.5px;}
.locality-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-weight:600;font-size:14.5px;white-space:nowrap;border-radius:100px;padding:13px 26px;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
.locality-page .btn-primary{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.5);}
/* Bootstrap's global .btn-primary:hover (loaded ahead of this file) sets its own
   background-color; this rule never touched that property, so on hover the button
   fell through to Bootstrap's blue instead of staying on-brand. Re-declaring the
   same gradient here (not !important - specificity alone is enough) keeps it pinned. */
.locality-page .btn-primary:hover{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}
.locality-page .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.locality-page .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;}
.locality-page .btn-outline{background:#FFF0EA;color:var(--brand-1);border:1px solid #FFD9C9;}
.locality-page .btn-outline:hover{background:#FFE4D8;}
.locality-page .btn-sm{padding:13px 18px;font-size:13px;}
.locality-page .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);}
/* ---------- Header ---------- */
.locality-page header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.locality-page .nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.locality-page .nav-right{display:flex;align-items:center;gap:14px;}
.locality-page .icon-btn{width:42px;height:42px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;}
.locality-page .logo img{height:36px;}
/* ---------- Breadcrumb ---------- */
.locality-page .breadcrumb{padding:16px 23px;font-size:13px;color:var(--ink-soft);}
.locality-page .breadcrumb a:hover{color:var(--brand-1);}
.locality-page .breadcrumb .sep{margin:0 8px;color:#C7C8D3;}
.locality-page .breadcrumb .current{color:var(--ink);font-weight:600;}
/* ---------- FAQ ---------- */
.locality-page .faq-wrap{display:grid;grid-template-columns:300px minmax(0,1fr);gap:36px;}
.locality-page .faq-side h2{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.02em;margin-bottom:12px;}
.locality-page .faq-side p{color:var(--ink-soft);font-size:14px;line-height:1.7;margin-bottom:20px;}
.locality-page .faq-item{border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden;background:var(--card);}
.locality-page .faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;font-weight:600;font-size:14.5px;cursor:pointer;}
.locality-page .faq-q .plus{flex:none;position:relative;width:26px;height:26px;border-radius:50%;background:var(--surface);color:var(--ink);font-size:0;transition:transform .25s ease, background .25s ease;}
.locality-page .faq-q .plus::before,
.locality-page .faq-q .plus::after{content:'';position:absolute;top:50%;left:50%;background:currentColor;transform:translate(-50%,-50%);}
.locality-page .faq-q .plus::before{width:10px;height:2px;}
.locality-page .faq-q .plus::after{width:2px;height:10px;}
.locality-page .faq-item.open .faq-q .plus{background:var(--brand-1);color:#fff;transform:rotate(45deg);}
.locality-page .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.locality-page .faq-a p{padding:0 22px 20px;color:var(--ink-soft);font-size:13.5px;line-height:1.75;}
.locality-page .faq-item.open .faq-a{max-height:220px;}
/* ---------- CTA ---------- */
.locality-page .cta{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(135deg,var(--navy),var(--navy-2));padding:48px 40px;text-align:center;color:#fff;}
.locality-page .cta::before{content:'';position:absolute;inset:0;background:radial-gradient(420px 220px at 15% 20%, rgba(255,90,54,.35), transparent 60%),radial-gradient(420px 220px at 85% 90%, rgba(255,138,61,.25), transparent 60%);}
.locality-page .cta-inner{position:relative;z-index:2;}
.locality-page .cta h2{font-size:clamp(22px,3.2vw,32px);font-weight:700;max-width:560px;margin:0 auto 12px;letter-spacing:-.02em;}
.locality-page .cta p{color:#B9BBCB;max-width:480px;margin:0 auto 26px;font-size:14.5px;}
.locality-page .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.locality-page .cta .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.25);}
.locality-page .cta .btn-ghost:hover{background:rgba(255,255,255,.08);}
/* ---------- Footer ---------- */
.locality-page footer{background:var(--navy);color:#9A9CB0;padding-top:52px;}
.locality-page .footer-grid{display:grid;grid-template-columns:1.5fr minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 1.3fr;gap:24px;padding-bottom:44px;}
.locality-page .footer-brand img.mark{height:38px;margin-bottom:16px;}
.locality-page .footer-brand .word{font-size:22px;font-weight:700;color:#fff;}
.locality-page .footer-brand .tagline{color:#fff;font-style:italic;font-size:14px;margin:2px 0 16px;}
.locality-page .footer-brand .tagline span{color:var(--brand-1);}
.locality-page .footer-brand p{font-size:13.5px;line-height:1.7;max-width:260px;margin-bottom:22px;}
.locality-page .social-row{display:flex;gap:10px;}
.locality-page .social-row a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;transition:.18s;}
.locality-page .social-row a:hover{background:var(--brand-1);border-color:var(--brand-1);}
.locality-page footer h4{color:#fff;font-size:14.5px;margin-bottom:20px;letter-spacing:.02em;}
.locality-page footer li{margin-bottom:13px;font-size:13.5px;}
.locality-page footer li a:hover{color:#fff;}
.locality-page .contact-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13.5px;}
.locality-page .contact-row svg{color:var(--brand-1);flex:none;}
.locality-page .app-badges{display:flex;gap:10px;margin-top:18px;}
.locality-page .app-badges a{width:40px;height:40px;border:1px solid rgba(255,255,255,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;transition:.18s;}
.locality-page .app-badges a:hover{background:rgba(255,255,255,.08);}
.locality-page .footer-bottom{border-top:1px solid rgba(255,255,255,.08);text-align:center;padding:22px 0;font-size:12.5px;}
/* ---------- Back to top / reveal ---------- */
.locality-page .to-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 26px -8px rgba(0,0,0,.4);opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:80;}
.locality-page .to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}
.locality-page .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.locality-page .reveal.in{opacity:1;transform:translateY(0);}
/* ---------- Market Insights (shared table, used by home + city pages) ---------- */
.locality-page .insights-panel{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:30px;}
.locality-page .tabs{display:inline-flex;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:100px;margin-bottom:24px;}
.locality-page .tabs-wrap{display:flex;justify-content:center;}
.locality-page .tab{padding:11px 26px;font-weight:600;font-size:14px;cursor:pointer;border-radius:100px;color:var(--ink-soft);transition:.2s;}
.locality-page .tab.active{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;}
.locality-page .insights-table-wrap{overflow-x:auto;}
.locality-page table.insights{width:100%;border-collapse:separate;border-spacing:0 10px;min-width:640px;}
.locality-page table.insights th{font-size:12px;font-weight:700;text-align:center;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;padding:0 14px 10px;}
.locality-page table.insights th:first-child{text-align:left;padding-left:20px;}
.locality-page table.insights td{background:var(--surface);padding:16px 14px;font-size:13.5px;text-align:center;font-weight:600;}
.locality-page table.insights td:first-child{border-radius:14px 0 0 14px;text-align:left;padding-left:20px;font-weight:700;}
.locality-page table.insights td:last-child{border-radius:0 14px 14px 0;}
.locality-page table.insights tr:hover td{background:#FFF3EE;}
.locality-page .insights-note{font-size:12px;color:var(--ink-soft);margin-top:22px;line-height:1.7;}
/* ---------- Amenity / carousel (shared by city + detail pages) ---------- */
.locality-page .amenity-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;gap:16px;flex-wrap:wrap;}
.locality-page .amenity-tabs{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap;}
.locality-page .amenity-tabs div{padding:11px 22px;border-radius:100px;font-weight:600;font-size:13.5px;cursor:pointer;border:1px solid var(--line);color:var(--ink-soft);background:var(--card);}
.locality-page .amenity-tabs div.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.locality-page .carousel-wrap{position:relative;}
.locality-page .carousel{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;padding:4px 4px 10px;}
.locality-page .carousel::-webkit-scrollbar{height:6px;}
.locality-page .carousel::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.locality-page .amenity-card{flex:0 0 220px;border-radius:18px;overflow:hidden;background:var(--card);border:1px solid var(--line);transition:transform .2s ease, box-shadow .2s ease;}
.locality-page .amenity-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);}
.locality-page .amenity-media{height:120px;display:flex;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden;}
.locality-page .amenity-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.locality-page .amenity-media svg{position:relative;z-index:1;}
.locality-page .amenity-body{padding:14px 16px;}
.locality-page .amenity-body .name{font-size:14px;font-weight:700;margin-bottom:4px;}
.locality-page .amenity-body .meta{font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:5px;}
.locality-page .amenity-body .meta .stars{color:#FFC13D;font-weight:700;}
.locality-page .carousel-arrows{display:flex;gap:8px;}
.locality-page .carousel-arrows .arrow-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);}
.locality-page .carousel-arrows .arrow-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
/* ---------- Around The Locality (underline tabs + card rail) ---------- */
.locality-page .am-panel{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--card);}
.locality-page .am-tabbar{display:flex;background:var(--surface);border-bottom:1px solid var(--line);overflow-x:auto;}
.locality-page .am-tabbar::-webkit-scrollbar{display:none;}
.locality-page .am-tab{
  position:relative;flex:none;padding:16px 26px;cursor:pointer;white-space:nowrap;
  font-family:inherit;font-size:14px;font-weight:600;color:var(--ink-soft);background:transparent;
  transition:color .2s ease, background .2s ease;
}
.locality-page .am-tab::after{
  content:'';position:absolute;left:22px;right:22px;bottom:0;height:2.5px;border-radius:3px 3px 0 0;
  background:var(--brand-1);transform:scaleX(0);transition:transform .22s ease;
}
.locality-page .am-tab:hover{color:var(--ink);}
.locality-page .am-tab.active{color:var(--brand-1);font-weight:700;background:var(--card);}
.locality-page .am-tab.active::after{transform:scaleX(1);}
.locality-page .am-panel-body{padding:22px 24px 12px;}
.locality-page .am-panel-head{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:14px;}
.locality-page .am-rail{
  display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;
  padding:4px 0 12px;transition:opacity .22s ease, transform .22s ease;
}
.locality-page .am-rail.is-swapping{opacity:0;transform:translateY(10px);}
.locality-page .am-rail::-webkit-scrollbar{height:6px;}
.locality-page .am-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.locality-page .am-card{
  --accent:var(--brand-1);--accent-soft:#FFF0EA;
  flex:0 0 244px;scroll-snap-align:start;
  background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.locality-page .am-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:#DCDCE6;}
.locality-page .am-media{
  position:relative;height:150px;overflow:hidden;flex:none;
  display:flex;align-items:center;justify-content:center;background:var(--accent-soft);
}
.locality-page .am-media img{width:100%;height:100%;object-fit:cover;}
.locality-page .am-media .am-glyph{display:none;color:var(--accent);opacity:.38;}
.locality-page .am-media.is-empty img{display:none;}
.locality-page .am-media.is-empty .am-glyph{display:block;}
.locality-page .am-body{padding:14px 16px 15px;display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;}
.locality-page .am-name{font-size:15px;font-weight:700;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.locality-page .card-school{--accent:#3A5BD9;--accent-soft:#EDF1FF;}
.locality-page .card-college{--accent:#6B3FD4;--accent-soft:#F1ECFF;}
.locality-page .card-hospital{--accent:#0E9F6E;--accent-soft:#E6F7F0;}
.locality-page .card-restaurant{--accent:#E4572E;--accent-soft:#FFEFE9;}
/* palette rotation for amenity media */
.locality-page .grad-1{background:linear-gradient(135deg,#FF5A36,#FF8A3D);}
.locality-page .grad-2{background:linear-gradient(135deg,#3A6FF7,#5FA0FF);}
.locality-page .grad-3{background:linear-gradient(135deg,#1CA65E,#5BD98A);}
.locality-page .grad-4{background:linear-gradient(135deg,#8A4FFF,#B98CFF);}
.locality-page .grad-5{background:linear-gradient(135deg,#171B33,#3A4066);}
/* ---------- Nearby cities (shared by city + detail pages) ---------- */
.locality-page .nearby-city-card{flex:0 0 200px;border-radius:18px;overflow:hidden;background:var(--card);border:1px solid var(--line);}
.locality-page .nearby-city-card .nc-media{height:120px;overflow:hidden;position:relative;}
.locality-page .nearby-city-card .nc-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.locality-page .nearby-city-card:hover .nc-media img{transform:scale(1.08);}
.locality-page .nearby-city-card .nc-body{padding:13px 15px;}
.locality-page .nearby-city-card .nc-body .name{font-size:14px;font-weight:700;margin-bottom:4px;}
.locality-page .nearby-city-card .nc-body .meta{font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:5px;}
.locality-page .nearby-city-card .nc-body .meta .stars{color:#FFC13D;font-weight:700;}
/* ---------- Sidebar (shared by city + detail pages) ---------- */
.locality-page .side-stack{display:flex;flex-direction:column;gap:16px;position:sticky;top:86px;}
.locality-page .side-panel{padding:20px;}
.locality-page .side-panel h4{font-size:14.5px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:8px;justify-content:space-between;}
.locality-page .side-panel h4 .htitle{display:flex;align-items:center;gap:8px;}
.locality-page .side-panel h4 svg{color:var(--brand-1);}
.locality-page .side-link-list a{
  display:flex;justify-content:space-between;align-items:center;
  padding:11px 4px;font-size:13.5px;font-weight:600;color:var(--ink);
  border-top:1px solid var(--line);
}
.locality-page .side-link-list a:first-child{border-top:none;}
.locality-page .side-link-list a .count{font-size:11.5px;font-weight:700;color:var(--brand-1);background:#FFF0EA;padding:3px 9px;border-radius:100px;}
.locality-page .side-link-list a:hover{color:var(--brand-1);}

/* ---- from home.css ---- */
/* Lets Rentz — Locality pages (test design) — home/landing page only */
.locality-page{background:var(--card);}
/* ---------- Hero ---------- */
.locality-page .hero{position:relative;overflow:hidden;padding:56px 0 0;}
.locality-page .hero-glow{
  position:absolute;inset:-10% -10% auto -10%;height:640px;
  background:
    radial-gradient(600px 320px at 15% 10%, rgba(255,90,54,.16), transparent 60%),
    radial-gradient(560px 300px at 85% 0%, rgba(23,27,51,.10), transparent 60%);
  z-index:0;
}
.locality-page .hero-content{position:relative;z-index:2;text-align:center;max-width:820px;margin:0 auto;}
.locality-page .hero h1{
  font-size:clamp(34px,5.2vw,58px);
  font-weight:600;letter-spacing:-.01em;line-height:1.1;
  color:var(--navy);
}
.locality-page .hero h1 .accent{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.locality-page .hero p{color:var(--ink-soft);font-size:17px;line-height:1.7;margin:20px auto 0;max-width:620px;}
.locality-page .search-bar{
  position:relative;z-index:5;
  background:#fff;max-width:900px;margin:32px auto 0;
  border-radius:100px;box-shadow:var(--shadow);
  display:flex;align-items:stretch;padding:8px;
  border:1px solid var(--line);
}
.locality-page .search-field{flex:1;padding:10px 22px;text-align:left;display:flex;align-items:center;gap:12px;}
.locality-page .search-field svg{flex:none;color:var(--brand-1);}
.locality-page .search-field label{display:block;font-size:12px;color:#9A9CAB;font-weight:600;margin-bottom:2px;}
.locality-page .search-field select, .locality-page .search-field input{
  font-size:13px;font-weight:600;color:var(--ink);border:none;background:transparent;
  padding:0;width:100%;
}
.locality-page .search-field select:focus, .locality-page .search-field input:focus{outline:none;}
.locality-page .search-field input:disabled{cursor:not-allowed;color:var(--ink-soft);}
.locality-page .search-divider{width:1px;background:var(--line);margin:6px 0;}
.locality-page .locality-suggestions{
  display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:20;
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow);padding:6px;max-height:280px;overflow-y:auto;
}
.locality-page .locality-suggestions.show{display:block;}
.locality-page .locality-suggestion{
  padding:10px 14px;font-size:13.5px;font-weight:600;color:var(--ink);
  border-radius:10px;cursor:pointer;
}
.locality-page .locality-suggestion:hover{background:var(--bg-soft,#F7F7FA);}
.locality-page .search-btn{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  color:#fff;border:none;border-radius:100px;padding:0 34px;
  font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;
}
.locality-page .post-property{
  position:relative;z-index:2;margin-top:22px;font-size:14px;font-weight:600;color:var(--ink-soft);
}
.locality-page .post-property a{color:var(--brand-1);font-weight:700;}
.locality-page .stats-strip{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);
  max-width:920px;margin:36px auto 0;
  border-top:1px solid var(--line);
}
.locality-page .stats-strip div{padding:22px 10px;text-align:center;border-right:1px solid var(--line);}
.locality-page .stats-strip div:last-child{border-right:none;}
.locality-page .stats-strip strong{display:block;font-size:26px;font-weight:600;font-family:var(--lr-font);color:var(--navy);font-variant-numeric:tabular-nums;}
.locality-page .stats-strip span{font-size:12.5px;color:var(--ink-soft);font-weight:600;}
/* ---------- Cities ---------- */
.locality-page .cities-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px;gap:20px;}
.locality-page .cities-head h2{font-size:clamp(24px,3vw,32px);font-weight:600;letter-spacing:-.01em;}
.locality-page .cities-head p{color:var(--ink-soft);margin-top:8px;font-size:14.5px;}
.locality-page .arrow-group{display:flex;gap:10px;flex:none;}
.locality-page .arrow-btn{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);
}
.locality-page .arrow-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.locality-page .cities-row{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding:4px 4px 14px;}
.locality-page .cities-row::-webkit-scrollbar{height:6px;}
.locality-page .cities-row::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.locality-page .city-card{
  flex:0 0 250px;width:250px;min-width:250px;border-radius:var(--radius);overflow:hidden;background:var(--card);
  border:1px solid var(--line);box-shadow:var(--shadow-sm);
  transition:transform .25s ease, box-shadow .25s ease;
}
.locality-page .city-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.locality-page .city-media{position:relative;height:190px;overflow:hidden;}
.locality-page .city-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.locality-page .city-card:hover .city-media img{transform:scale(1.08);}
.locality-page .city-badge{
  position:absolute;top:12px;right:12px;background:rgba(18,18,26,.72);color:#fff;
  backdrop-filter:blur(6px);font-size:12px;font-weight:700;padding:6px 10px;border-radius:100px;
  display:flex;align-items:center;gap:4px;
}
.locality-page .city-badge .star{color:#FFC13D;}
.locality-page .city-info{padding:18px 18px 20px;}
.locality-page .city-info .name{font-weight:700;font-size:16.5px;margin-bottom:8px;}
.locality-page .city-info .meta{font-size:12.5px;color:var(--ink-soft);display:flex;flex-direction:column;gap:4px;}
.locality-page .city-info .meta span{display:flex;align-items:center;gap:6px;}
.locality-page .city-info .meta svg{color:var(--brand-1);flex:none;}
/* ---------- How it works ---------- */
.locality-page .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:step;}
.locality-page .step{
  position:relative;padding:34px 26px;border-radius:var(--radius);
  background:var(--surface);border:1px solid var(--line);
}
.locality-page .step-num{
  width:44px;height:44px;border-radius:14px;
  background:var(--navy);color:#fff;font-family:var(--lr-font);font-weight:600;
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:16px;font-variant-numeric:tabular-nums;}
.locality-page .step h3{font-size:17.5px;font-weight:700;margin-bottom:8px;}
.locality-page .step p{font-size:14px;color:var(--ink-soft);line-height:1.65;}
.locality-page .step-arrow{position:absolute;top:44px;right:-32px;color:#D6D8E2;z-index:2;}
/* ---------- Why choose ---------- */
.locality-page .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.locality-page .why-card{
  padding:28px 24px;border-radius:var(--radius);background:var(--card);
  border:1px solid var(--line);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.locality-page .why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:transparent;}
.locality-page .why-icon{
  width:52px;height:52px;border-radius:16px;
  background:linear-gradient(135deg,#FFEDE6,#FFF6EE);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--brand-1);
}
.locality-page .why-card h3{font-size:16px;font-weight:700;margin-bottom:8px;}
.locality-page .why-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.65;}
/* ---------- Searches / Localities ---------- */
.locality-page .two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.locality-page .panel{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);height:100%;}
.locality-page .panel-head{padding:24px 26px 0;}
.locality-page .panel-head h3{font-size:19px;font-weight:700;}
.locality-page .panel-tabs{display:flex;gap:8px;padding:18px 22px 0;}
.locality-page .panel-tabs div{
  padding:10px 20px;border-radius:100px;font-weight:600;font-size:13.5px;cursor:pointer;
  color:var(--ink-soft);border:1px solid var(--line);
}
.locality-page .panel-tabs div.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.locality-page .tag-cloud{display:flex;flex-wrap:wrap;gap:10px;padding:22px 22px 26px;}
.locality-page .tag-cloud a{
  display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;
  padding:10px 16px;border-radius:100px;border:1px solid var(--line);color:var(--ink);
  transition:.18s;
}
.locality-page .tag-cloud a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.locality-page .tag-cloud svg{color:var(--brand-1);flex:none;}
.locality-page .tag-cloud a:hover svg{color:#fff;}
.locality-page .locality-list{padding:16px 10px 10px;}
.locality-page .locality-list .item{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 16px;margin:0 12px;border-radius:14px;font-weight:600;font-size:14.5px;
  transition:.18s;
}
.locality-page .locality-list .item:hover{background:var(--surface);}
.locality-page .locality-list .item span{
  width:32px;height:32px;border-radius:50%;background:var(--surface);
  display:flex;align-items:center;justify-content:center;transition:.18s;
}
.locality-page .locality-list .item:hover span{background:var(--brand-1);color:#fff;}

/* ---- from city.css ---- */
/* Lets Rentz — Locality pages (test design) — city page only */
/* ---------- Hero banner ---------- */
.locality-page .locality-hero{display:grid;grid-template-columns:1.7fr 1fr;gap:18px;padding:0;background:none;overflow:visible;}
.locality-page .hero-photo{position:relative;border-radius:var(--radius);overflow:hidden;height:280px;box-shadow:var(--shadow-sm);}
.locality-page .hero-photo img{width:100%;height:100%;object-fit:cover;}
.locality-page .hero-photo .tag{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);color:var(--ink);font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:100px;display:flex;align-items:center;gap:6px;}
.locality-page .hero-photo .tag .dot{width:7px;height:7px;border-radius:50%;background:var(--green);}
.locality-page .hero-map{position:relative;border-radius:var(--radius);overflow:hidden;height:280px;box-shadow:var(--shadow-sm);}
.locality-page .hero-map svg{width:100%;height:100%;display:block;}
.locality-page .hero-map iframe{width:100%;height:100%;border:0;display:block;}
.locality-page .hero-map .map-btn{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;font-weight:700;font-size:13.5px;
  padding:13px 24px;border-radius:100px;display:flex;align-items:center;gap:8px;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
  white-space:nowrap;
}
/* ---------- Overview + sidebar layout ---------- */
.locality-page .page-layout{display:grid;grid-template-columns:1fr 320px;gap:26px;align-items:start;margin-top:26px;}
.locality-page .overview-card{padding:28px;}
.locality-page .overview-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:18px;}
.locality-page .overview-title h1{font-family:var(--lr-font);font-size:24px;font-weight:800;letter-spacing:-.01em;}
.locality-page .overview-title .rating{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13.5px;color:var(--ink-soft);}
.locality-page .overview-title .stars{color:#FFC13D;font-weight:700;}
.locality-page .overview-title .rating a{color:var(--brand-1);font-weight:600;}
.locality-page .overview-actions{display:flex;gap:10px;}
.locality-page .stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:20px;}
.locality-page .stat-strip div{background:var(--card);padding:16px 14px;}
.locality-page .stat-strip label{display:block;font-size:11.5px;color:var(--ink-soft);font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;}
.locality-page .stat-strip strong{font-size:15px;font-weight:700;}
.locality-page .overview-card p.desc{color:var(--ink-soft);font-size:14.5px;line-height:1.8;}
.locality-page .overview-card p.desc .more-link{color:var(--brand-1);font-weight:700;cursor:pointer;}
/* ---------- Localities ---------- */
.locality-page .locality-grid{display:flex;flex-direction:column;gap:16px;}
.locality-page .sector-card{padding:24px;}
.locality-page .sector-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:16px;}
.locality-page .sector-title{font-size:17px;font-weight:700;}
.locality-page .sector-title .pin{font-size:12.5px;color:var(--ink-soft);font-weight:500;margin-left:8px;}
.locality-page .sector-rating{font-size:12.5px;color:var(--ink-soft);margin-top:6px;display:flex;align-items:center;gap:6px;}
.locality-page .sector-rating .stars{color:#FFC13D;font-weight:700;}
.locality-page .sector-meta{display:flex;gap:26px;flex-wrap:wrap;}
.locality-page .sector-meta div{text-align:left;}
.locality-page .sector-meta label{display:block;font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;font-weight:600;margin-bottom:3px;}
.locality-page .sector-meta strong{font-size:15px;font-weight:700;}
.locality-page .sector-actions{display:flex;gap:10px;margin-top:16px;}
.locality-page .no-projects{font-size:13px;color:var(--ink-soft);background:var(--surface);border-radius:12px;padding:14px 16px;margin:14px 0;}
.locality-page .show-more-wrap{text-align:center;margin-top:8px;}

/* ---- from detail.css ---- */
/* Lets Rentz — Locality pages (test design) — locality detail page only */
/* ---------- Hero ---------- */
.locality-page .locality-hero{display:grid;grid-template-columns:1.7fr minmax(0,1fr);gap:18px;padding:0;background:none;overflow:visible;}
.locality-page .hero-photo{position:relative;border-radius:var(--radius);overflow:hidden;height:280px;box-shadow:var(--shadow-sm);}
.locality-page .hero-photo img{width:100%;height:100%;object-fit:cover;}
.locality-page .hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(14,18,36,.55) 0%, transparent 45%);}
.locality-page .hero-photo .tag{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);color:var(--ink);font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:100px;display:flex;align-items:center;gap:6px;}
.locality-page .hero-photo .tag .dot{width:7px;height:7px;border-radius:50%;background:var(--green);}
.locality-page .hero-map{position:relative;border-radius:var(--radius);overflow:hidden;height:280px;box-shadow:var(--shadow-sm);}
.locality-page .hero-map svg{width:100%;height:100%;display:block;}
.locality-page .hero-map iframe{width:100%;height:100%;border:0;display:block;}
.locality-page .hero-map .map-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;font-weight:700;font-size:13.5px;padding:13px 24px;border-radius:100px;display:flex;align-items:center;gap:8px;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);white-space:nowrap;}
/* ---------- Layout ---------- */
.locality-page .page-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start;margin-top:26px;}
.locality-page .overview-card{padding:28px;}
.locality-page .overview-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:20px;}
.locality-page .overview-title h1{font-size:24px;font-weight:700;letter-spacing:-.01em;}
.locality-page .overview-title .rating{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13.5px;color:var(--ink-soft);}
.locality-page .overview-title .stars{color:#FFC13D;font-weight:700;}
.locality-page .overview-title .rating a{color:var(--brand-1);font-weight:600;}
.locality-page .fact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:22px;}
.locality-page .fact-strip div{background:var(--card);padding:16px 14px;min-width:0;}
.locality-page .fact-strip label{display:block;font-size:11.5px;color:var(--ink-soft);font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;}
.locality-page .fact-strip strong{font-size:15px;font-weight:700;}
.locality-page .badge-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px;}
.locality-page .rate-badge{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);min-width:0;}
.locality-page .rate-badge .ic{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;color:#fff;}
.locality-page .rate-badge strong{display:block;font-size:14.5px;font-weight:700;}
.locality-page .rate-badge span{font-size:11.5px;color:var(--ink-soft);}
.locality-page .overview-card p.desc{color:var(--ink-soft);font-size:14.5px;line-height:1.8;}
.locality-page .overview-card p.desc .more-link{color:var(--brand-1);font-weight:700;cursor:pointer;}
/* ---------- Location review ---------- */
.locality-page .review-card-wrap{padding:28px;margin-top:20px;}
.locality-page .review-carousel{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;padding:4px 4px 8px;margin-top:20px;}
.locality-page .review-carousel::-webkit-scrollbar{height:6px;}
.locality-page .review-carousel::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.locality-page .review-card{display:flex;flex-direction:column;align-items:stretch;gap:0;flex:0 0 300px;height:auto;align-self:stretch;box-sizing:border-box;border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--surface);}
.locality-page .review-card p{font-size:13px;color:var(--ink-soft);line-height:1.7;margin-bottom:8px;min-height:96px;}
.locality-page .review-toggle{display:inline-block;align-self:flex-start;text-align:left;background:none;border:none;padding:0;margin:0 0 16px;color:var(--brand-1);font-size:12.5px;font-weight:700;line-height:1.2;cursor:pointer;}
.locality-page .review-person{display:flex;align-items:center;gap:10px;margin-top:auto;}
.locality-page .review-person .av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:none;overflow:hidden;}
.locality-page .review-person .av img{width:100%;height:100%;object-fit:cover;}
.locality-page .review-person .name{font-size:13.5px;font-weight:700;}
.locality-page .review-person .role{font-size:11.5px;color:var(--ink-soft);}
.locality-page .review-person .score{margin-left:auto;font-size:12.5px;font-weight:700;color:#FFC13D;}
.locality-page .review-empty{font-size:13px;color:var(--ink-soft);padding:16px 4px 4px;}
/* ---------- Gallery ---------- */
.locality-page .gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.locality-page .gallery-grid a{position:relative;border-radius:16px;overflow:hidden;height:150px;}
.locality-page .gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.locality-page .gallery-grid a:hover img{transform:scale(1.06);}
.locality-page .gallery-grid .more-overlay{position:absolute;inset:0;background:rgba(14,18,36,.68);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;gap:2px;}
.locality-page .gallery-grid .more-overlay span{font-size:20px;}
.locality-page .gallery-grid .more-overlay small{font-size:11.5px;font-weight:600;opacity:.85;}
/* ---------- CTA banner ---------- */
.locality-page .owner-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:26px 30px;border-radius:24px;background:linear-gradient(120deg,#FFF0EA,#FFF8F3);border:1px solid #FFD9C9;}
.locality-page .owner-cta h3{font-size:19px;font-weight:700;letter-spacing:-.01em;}
.locality-page .owner-cta .actions{display:flex;gap:12px;flex-wrap:wrap;}
/* ---------- Price trend ---------- */
.locality-page .trend-panel{padding:30px;}
.locality-page .trend-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;}
.locality-page .trend-select{position:relative;}
.locality-page .trend-select select{appearance:none;border:1px solid var(--line);background:#fff;border-radius:100px;padding:11px 38px 11px 20px;font-weight:600;font-size:16px;cursor:pointer;}
.locality-page .trend-select::after{content:'';position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:translateY(-65%) rotate(45deg);pointer-events:none;}
.locality-page .bhk-tabs{display:inline-flex;gap:8px;margin:18px 0 10px;flex-wrap:wrap;}
.locality-page .bhk-tabs div{padding:9px 18px;border-radius:100px;font-weight:600;font-size:13px;cursor:pointer;border:1px solid var(--line);color:var(--ink-soft);background:var(--surface);}
.locality-page .bhk-tabs div.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.locality-page .chart-wrap{margin-top:14px;}
.locality-page .chart-wrap svg{width:100%;height:auto;display:block;}
.locality-page .chart-legend{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--ink-soft);margin-bottom:8px;}
.locality-page .chart-legend .dot{width:8px;height:8px;border-radius:50%;background:var(--brand-1);}
/* ---------- Explore prop / Key Highlights ---------- */
.locality-page .explore-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;}
.locality-page .explore-card{padding:24px;}
.locality-page .explore-card h4{font-size:15px;font-weight:700;margin-bottom:14px;}
.locality-page .lk-list{margin:0;}
.locality-page .lk-list li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:12px;}
.locality-page .lk-list .dot-ic{width:18px;height:18px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.locality-page .lk-list.pos .dot-ic{background:#E4F7ED;color:var(--green);}
.locality-page .lk-list.neg .dot-ic{background:#FDEAEE;color:#E14B67;}
.locality-page .lk-empty{font-size:13px;color:var(--ink-soft);}
/* ---------- Explore Nearby Landmark (map + tabs) ---------- */
.locality-page .map-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:stretch;}
.locality-page .map-panel{padding:16px;display:flex;flex-direction:column;}
.locality-page .map-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.locality-page .map-panel-head h4{font-size:14.5px;font-weight:700;}
.locality-page .map-legend{display:flex;gap:7px;flex-wrap:wrap;}
.locality-page .map-legend span{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:6px 11px;border-radius:100px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);}
.locality-page .map-legend i{width:7px;height:7px;border-radius:50%;flex:none;}
.locality-page .map-canvas{position:relative;border-radius:14px;overflow:hidden;flex:1;min-height:300px;background:#EAF0EC;}
.locality-page .map-canvas svg,
.locality-page .map-canvas iframe{width:100%;height:100%;display:block;border:0;}
.locality-page .map-cta{position:absolute;right:14px;bottom:14px;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;font-weight:700;font-size:12.5px;line-height:1;white-space:nowrap;padding:9px 16px;border-radius:100px;display:inline-flex;align-items:center;gap:7px;box-shadow:0 12px 26px -10px rgba(255,90,54,.55);}
.locality-page .nearby-panel{padding:0;display:flex;flex-direction:column;overflow:hidden;}
.locality-page .np-tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--line);flex:none;}
.locality-page .np-tabs button{flex:1;padding:15px 8px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-size:13.5px;font-weight:700;color:var(--ink-soft);transition:color .18s ease, background .18s ease;}
.locality-page .np-tabs button:hover{color:var(--ink);}
.locality-page .np-tabs button.active{color:var(--brand-1);border-bottom-color:var(--brand-1);background:var(--card);}
.locality-page .np-body{flex:1;overflow-y:auto;padding:14px;min-height:0;max-height:380px;}
.locality-page .np-body::-webkit-scrollbar{width:6px;}
.locality-page .np-body::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;}
.locality-page .np-pane{display:none;}
.locality-page .np-pane.active{display:block;}
.locality-page .acc{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:10px;background:var(--card);}
.locality-page .acc:last-child{margin-bottom:0;}
.locality-page .acc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;cursor:pointer;}
.locality-page .acc-head .t{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:700;min-width:0;}
.locality-page .acc-head .ic{width:30px;height:30px;border-radius:9px;background:var(--surface);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;flex:none;transition:.2s;}
.locality-page .acc-head .chev{color:var(--ink-soft);flex:none;transition:transform .25s ease;}
.locality-page .acc.open .acc-head .t{color:var(--brand-1);}
.locality-page .acc.open .acc-head .ic{background:#FFF0EA;color:var(--brand-1);}
.locality-page .acc.open .acc-head .chev{transform:rotate(180deg);color:var(--brand-1);}
.locality-page .acc-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.locality-page .acc.open .acc-body{max-height:340px;}
.locality-page .acc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;font-size:13px;border-top:1px solid var(--line);}
.locality-page .acc-row .n{color:var(--ink);min-width:0;}
.locality-page .acc-row .d{color:var(--ink-soft);font-weight:600;white-space:nowrap;font-size:12.5px;}
.locality-page .acc-body .acc-row:last-child{padding-bottom:13px;}
/* ---------- Nearby + popular ---------- */
.locality-page .two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;}
.locality-page .info-card{padding:24px;}
.locality-page .info-card h4{font-size:15px;font-weight:700;margin-bottom:16px;}
.locality-page .nearby-row{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px;}
.locality-page .nearby-row:first-of-type{border-top:none;}
.locality-page .nearby-row span:last-child{color:var(--ink-soft);font-weight:600;}
.locality-page .chip-row{display:flex;flex-wrap:wrap;gap:10px;}
.locality-page .chip-row a{padding:10px 16px;border-radius:100px;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink);background:var(--surface);}
.locality-page .chip-row a:hover{background:#FFF0EA;color:var(--brand-1);border-color:#FFD9C9;}
.locality-page .all-localities-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--brand-1);margin-top:24px;}
/* ---------- Sidebar property list ---------- */
.locality-page .collapse-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft);transition:transform .25s ease;flex:none;}
.locality-page .collapse-btn.closed{transform:rotate(180deg);}
.locality-page .prop-list{display:flex;flex-direction:column;gap:12px;max-height:640px;overflow:hidden;transition:max-height .35s ease;}
.locality-page .prop-list.collapsed{max-height:0;}
.locality-page .prop-row{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:12px;}
.locality-page .prop-row:first-child{border-top:none;padding-top:0;}
.locality-page .prop-row .thumb{width:64px;height:52px;border-radius:10px;flex:none;overflow:hidden;background:var(--surface);}
.locality-page .prop-row .thumb img{width:100%;height:100%;object-fit:cover;}
.locality-page .prop-row .info .name{font-size:13px;font-weight:700;line-height:1.3;}
.locality-page .prop-row .info .price{font-size:13px;font-weight:700;color:var(--brand-1);margin-top:3px;}
.locality-page .prop-row .info .loc{font-size:11.5px;color:var(--ink-soft);display:flex;align-items:center;gap:4px;margin-top:2px;}
.locality-page .prop-empty{font-size:13px;color:var(--ink-soft);}
/* ---------- Lightweight gallery lightbox (no external JS lib) ---------- */
.locality-page .gallery-modal{position:fixed;inset:0;background:rgba(14,18,36,.82);z-index:200;display:none;align-items:center;justify-content:center;padding:40px 20px;}
.locality-page .gallery-modal.show{display:flex;}
.locality-page .gallery-modal-inner{max-width:960px;width:100%;max-height:85vh;overflow-y:auto;background:var(--card);border-radius:20px;padding:24px;}
.locality-page .gallery-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.locality-page .gallery-modal-head h3{font-size:17px;font-weight:700;}
.locality-page .gallery-modal-close{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);flex:none;}
.locality-page .gallery-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.locality-page .gallery-modal-grid img{width:100%;height:150px;object-fit:cover;border-radius:12px;}

/* ==================================================================
   Pricing / Plans page (/{role_slug}/plans) - redesign
   Scoped under .pln-page so these rules never affect any other page.
   Reuses the site-wide --ink/--ink-soft/--line/--surface/--card/
   --brand-1/--brand-2/--navy/--navy-2 custom properties already
   defined above; only defines the handful this design needs that
   don't already exist. The actual pricing cards/feature-inclusion
   grid come from the real, unmodified front.plans.planlisting/
   front.plans.features partials - this section does NOT restyle
   those, only the hero/dropdown/tabs/testimonials/FAQ chrome around
   them. Every reusable class here (.btn/.card) explicitly sets
   line-height/width/height/display rather than leaving them unset -
   legacy styles.css has a bare .btn-primary/.btn-outline rule and
   Bootstrap's own bare .card rule (display:flex;flex-direction:column)
   that would otherwise leak those specific properties through despite
   this page's selectors being more specific overall (cascade is
   resolved per property, not per rule block). Responsive/media-query
   rules for this page live in responsive1.css. ================== */
.pln-page{
  --violet:#7C5CFF;
  --mint:#12D6A3;
  --gold:#FFC13D;
  --ink-faint:#B7B9C8;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
  font-family:var(--lr-font);
  color:var(--ink);
  background:var(--card);
  -webkit-font-smoothing:antialiased;
}
.pln-page *{box-sizing:border-box;}
.pln-page h1,.pln-page h2{font-family:var(--lr-font);}
.pln-page img{max-width:100%;display:block;}
.pln-page a{text-decoration:none;color:inherit;}
.pln-page button,.pln-page select{font-family:inherit;}
.pln-page .container{max-width:1240px;margin:0 auto;padding:0 24px;}
.pln-page .section{padding:56px 0;}
.pln-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-weight:700;font-size:14.5px;line-height:1.2;width:auto;height:auto;border-radius:100px;padding:14px 26px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.pln-page .btn-primary{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);}
.pln-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}
.pln-page .card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);}

/* ---------- Back row ---------- */
.pln-page .back-row{display:flex;align-items:center;gap:14px;padding:10px 0 6px;}
.pln-page .back-btn{width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;flex:none;}
.pln-page .back-btn:hover{border-color:#D8D8E2;background:var(--surface);}

/* ---------- Hero ---------- */
.pln-page .pl-hero{padding:24px 0 0;text-align:center;}
.pln-page .pl-hero>.container{position:relative;}
.pln-page .rent-select-wrap{position:absolute;top:0;right:24px;text-align:left;}
.pln-page .rent-select{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:100px;padding:11px 20px;font-weight:700;font-size:14px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease;}
.pln-page .rent-select svg{color:var(--ink-soft);transition:transform .2s ease;flex:none;}
.pln-page .rent-select-wrap.open .rent-select{border-color:var(--brand-1);box-shadow:0 0 0 3px rgba(255,90,54,.12);}
.pln-page .rent-select-wrap.open .rent-select svg{transform:rotate(180deg);}
.pln-page .rent-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);padding:6px;z-index:20;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease;}
.pln-page .rent-select-wrap.open .rent-menu{opacity:1;pointer-events:auto;transform:translateY(0);}
.pln-page .rent-menu-item{padding:11px 14px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;}
.pln-page .rent-menu-item:hover{background:var(--surface);color:var(--ink);}
.pln-page .rent-menu-item.active{background:#FFF3EE;color:var(--brand-1);}
.pln-page .pl-hero h1{font-size:clamp(28px,3.6vw,40px);font-weight:600;letter-spacing:-.01em;color:var(--ink);}
.pln-page .pl-hero h1 .accent{color:var(--brand-1);}
.pln-page .pl-hero>.container>p{color:var(--ink-soft);font-size:15.5px;margin-top:12px;}
.pln-page .trust-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:26px;font-size:13.5px;font-weight:600;color:var(--ink-soft);}
.pln-page .trust-row span{display:flex;align-items:center;gap:7px;}
.pln-page .trust-row svg{color:var(--brand-1);flex:none;}
.pln-page .trust-row .sep{color:var(--line);}

/* ---------- Owner-only segment tabs (Residential/PG/Commercial) ---------- */
.pln-page .plan-segment{display:inline-flex;gap:2px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:100px;margin:26px auto 0;}
.pln-page .segment-btn{padding:12px 28px;font-weight:700;font-size:14px;cursor:pointer;border-radius:100px;color:var(--ink-soft);background:none;border:none;transition:.2s;white-space:nowrap;}
.pln-page .segment-btn.active{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 10px 24px -10px rgba(255,90,54,.5);}

/* ---------- Plan-loader (shown while getWebPlans AJAX is in flight) ---------- */
.pln-page .plan-loader{text-align:center;padding:40px 0;color:var(--ink-soft);font-size:13.5px;font-weight:600;}

/* ---------- Database-driven pricing cards ---------- */
.pln-page .plan-listing>.plan-listing{width:100%;}
.pln-page .plan-listing .row.g-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin:0;align-items:stretch;}
.pln-page .plan-listing .row.g-4>[class*="col-"]{width:100%;max-width:none;padding:0;display:block;}
.pln-page .pricing-card{position:relative;height:220px!important;min-height:0!important;padding:26px 22px 22px!important;background:var(--card);border:1px solid var(--line);border-radius:18px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;overflow:visible;display:flex;flex-direction:column;}
.pln-page .pricing-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.pln-page .pricing-card.active{border-color:var(--brand-1);background:repeating-linear-gradient(135deg,rgba(255,90,54,.05) 0 12px,rgba(255,90,54,0) 12px 24px),linear-gradient(180deg,#FFF3EC,#fff 75%);box-shadow:0 16px 40px -18px rgba(255,90,54,.4);}
.pln-page .pricing-card.active:after{content:"";position:absolute;left:50%;bottom:-9px;width:16px;height:16px;transform:translateX(-50%) rotate(45deg);background:var(--surface);}
.pln-page .badge-personal-assistance{display:inline-block !important;position:absolute;top:-13px;left:auto !important;right:14px;width:auto !important;z-index:2;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;font-size:9.5px;font-weight:800;line-height:1.2;padding:6px 11px;border-radius:100px;white-space:nowrap;box-shadow:0 8px 18px -8px rgba(255,90,54,.6);}
.pln-page .plan-name{font-size:16.5px;font-weight:700;line-height:1.35;margin:0;color:var(--ink);}
.pln-page .price{font-size:26px;font-weight:700;line-height:1.2;margin:14px 0 0;color:var(--ink);}
.pln-page .price .gst{font-size:10px;font-weight:600;color:var(--ink-soft);white-space:nowrap;}
.pln-page .desktop-plan-old-price{display:block;font-size:12px;color:var(--ink-faint);text-decoration:line-through;margin-top:3px;}
.pln-page .duration{font-size:12.5px;color:var(--ink-soft);margin:8px 0 18px;}
.pln-page .duration-label-mobile{display:none;}
/* Pay After Rent In: the move-in fee sits under the price, in the brand orange so it reads as
   part of the price and not as a footnote - the joining fee alone is not the whole cost. */
.pln-page .plan-pay-after-note{font-size:11.5px;line-height:1.4;font-weight:600;color:var(--brand-1);margin:-10px 0 16px;}
.pln-page .pricing-card .btn{width:100%;margin-top:auto;padding:11px 16px;border-radius:100px;font-size:13px;box-shadow:none;}
.pln-page .pricing-card .btn-buy{background:#fff;color:var(--brand-1);border:1px solid var(--brand-1);}
.pln-page .pricing-card.active .btn-buy{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;border-color:transparent;box-shadow:0 12px 24px -12px rgba(255,90,54,.55);}
.pln-page .pricing-card .btn-current{background:var(--surface);color:var(--ink-soft);border:1px solid var(--line);}

/* ---------- Selected-plan feature panel ---------- */
.pln-page .features-overlap{margin-top:26px;}
.pln-page .features-overlap>.container{max-width:none;padding:0;}
.pln-page .features-overlap>.container:first-of-type{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:34px 44px!important;}
.pln-page .feature-top,.pln-page .feature-bottom{display:none;}
.pln-page .feature-cta{display:none!important;margin:0!important;}
.pln-page .current-plan-btn{border:0;border-radius:100px;padding:12px 28px;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;font-size:13.5px;font-weight:700;cursor:pointer;}
.pln-page .feature-box .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 30px;margin:0;}
.pln-page .feature-box .row>[class*="col-"]{width:100%;max-width:none;padding:0;}
.pln-page .feature-box{width:100%!important;height:auto!important;min-height:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;}
.pln-page .feature-list{list-style:none;margin:0;padding:0;}
/* Desktop: the real partial's own inline checkmark <svg> per <li> (plain
   glyph, colored via a fill="#000/#999" attribute) - left exactly as the
   real page renders it, unrestyled. */
.pln-page .feature-list li{display:flex;align-items:flex-start;gap:10px;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;font-size:13.5px;font-weight:normal;line-height:1.45;color:var(--ink);}
.pln-page .feature-list li:not(.active){color:var(--ink-faint);}
.pln-page .feature-list svg{flex:none;margin-top:2px;}
.pln-page .feature-terms-link{text-align:center;margin-top:14px;}
.pln-page .feature-terms-link a{font-size:13.5px;font-weight:700;color:var(--brand-1);border-bottom:1px solid rgba(255,90,54,.35);padding-bottom:2px;}
.pln-page .feature-terms-link a:hover{border-color:var(--brand-1);}
.pln-page .plans-page__review-block{margin-top:56px;}
.pln-page .review-title{font-family:var(--lr-font);font-size:clamp(22px,3vw,30px);font-weight:700;letter-spacing:-.02em;}
.pln-page .review-title span{color:var(--brand-1);}
.pln-page .review-image-wrapper{max-width:900px;}

/* ---------- Mobile plan selector and checkout bar ---------- */
.pln-page .mobile-plan-list{display:flex;flex-direction:column;gap:10px;}
.pln-page .mobile-plan-row{position:relative;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;}
.pln-page .mobile-plan-row.active{background:#FFF7F4;border-color:var(--brand-1);box-shadow:0 10px 22px -14px rgba(255,90,54,.5);}
.pln-page .mobile-plan-radio{position:absolute;opacity:0;pointer-events:none;}
.pln-page .mobile-plan-radio-dot{width:18px;height:18px;border:2px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;}
.pln-page .mobile-plan-row.active .mobile-plan-radio-dot{border-color:var(--brand-1);}
.pln-page .mobile-plan-row.active .mobile-plan-radio-dot:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--brand-1);}
.pln-page .mobile-plan-row__info{flex:1;min-width:0;}
.pln-page .mobile-plan-row__name-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.pln-page .mobile-plan-row__name{font-size:14px;font-weight:700;}
.pln-page .mobile-plan-row__badge{font-size:9px;font-weight:700;color:var(--brand-1);border:1px solid #FFD9C7;border-radius:100px;padding:3px 8px;}
.pln-page .mobile-plan-row__duration{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:3px;}
.pln-page .mobile-plan-row__payafter{display:block;font-size:11px;line-height:1.35;font-weight:600;color:var(--brand-1);margin-top:3px;}
.pln-page .mobile-plan-row__price{display:flex;flex-direction:column;align-items:flex-end;flex:none;}
.pln-page .mobile-plan-row__price-old{font-size:10.5px;color:var(--ink-faint);text-decoration:line-through;}
.pln-page .mobile-plan-row__price-new{font-size:14.5px;font-weight:700;}
.pln-page .mobile-plan-help-bubble{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:24px;box-shadow:var(--shadow-sm);}
.pln-page .mobile-plan-help-bubble__text{flex:1;display:flex;flex-direction:column;}
.pln-page .mobile-plan-help-bubble__text strong{font-size:13px;}
.pln-page .mobile-plan-help-bubble__text small{font-size:11.5px;color:var(--ink-soft);}
.pln-page .mobile-plan-help-bubble__whatsapp img{width:38px;height:38px;object-fit:contain;}
.pln-page .mobile-plan-help-bubble__action{display:none;color:var(--brand-1);font-size:11.5px;font-weight:700;white-space:nowrap;}
.pln-page .mobile-plan-sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:120;max-width:480px;margin:0 auto;background:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-radius:18px 18px 0 0;box-shadow:0 -10px 30px -14px rgba(0,0,0,.2);}
.pln-page .mobile-plan-sticky-btn{width:100%;display:flex;flex-direction:column;border:0;border-radius:100px;padding:13px;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;font-weight:800;}
.pln-page .mobile-plan-sticky-btn__subtitle{font-size:10.5px;font-weight:600;margin-top:2px;}
.pln-page .mobile-plan-sticky-trust{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:10.5px;font-weight:600;color:var(--ink-soft);}

/* ---------- Testimonials ---------- */
.pln-page .t-section{background:var(--surface);}
.pln-page .t-head{text-align:center;max-width:640px;margin:0 auto 40px;}
.pln-page .t-head h2{font-size:clamp(24px,3vw,32px);font-weight:600;letter-spacing:-.01em;}
.pln-page .t-head h2 .accent{color:var(--brand-1);}
.pln-page .t-head p{color:var(--ink-soft);font-size:14.5px;line-height:1.7;margin-top:12px;}
.pln-page .t-heading-mobile,.pln-page .t-person-stars{display:none;}
.pln-page .t-track-wrap{overflow:hidden;}
.pln-page .t-track{display:flex;gap:22px;transition:transform .45s ease;}
.pln-page .t-card{flex:0 0 calc(33.333% - 15px);background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;}
.pln-page .t-stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:14px;}
.pln-page .t-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.75;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.pln-page .t-person{display:flex;align-items:center;gap:12px;}
.pln-page .t-avatar{width:40px;height:40px;border-radius:50%;flex:none;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--violet),var(--brand-1));}
.pln-page .t-name{font-weight:700;font-size:13.5px;}
.pln-page .t-role{font-size:11.5px;color:var(--ink-soft);}
.pln-page .t-dots{display:flex;justify-content:center;gap:8px;margin-top:30px;}
.pln-page .t-dots span{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--line);cursor:pointer;transition:.2s;display:block;}
.pln-page .t-dots span.active{background:var(--brand-1);border-color:var(--brand-1);width:22px;border-radius:4px;}

/* ---------- FAQ ---------- */
.pln-page .faq-wrap{display:grid;grid-template-columns:280px 1fr;gap:36px;}
.pln-page .faq-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;}
.pln-page .faq-side h2{font-size:clamp(24px,2.8vw,30px);font-weight:600;letter-spacing:-.01em;line-height:1.2;}
.pln-page .faq-list{border-top:1px solid var(--line);}
.pln-page .faq-item{border-bottom:1px solid var(--line);}
.pln-page .faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font-weight:700;font-size:15px;cursor:pointer;}
.pln-page .faq-q .plus{flex:none;width:26px;height:26px;border-radius:50%;background:var(--surface);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:400;transition:background .25s ease,color .25s ease;}
.pln-page .faq-item.open .faq-q .plus{background:var(--ink);color:#fff;}
.pln-page .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.pln-page .faq-a p{padding:0 30px 22px 4px;color:var(--ink-soft);font-size:13.5px;line-height:1.75;}
.pln-page .faq-item.open .faq-a{max-height:220px;}

/* ================= BUY/SELL LISTING PAGE (.bl-preview) =================
   rentz4.0 redesign of the buy/sell property search-results page
   (/buy/{address}/{property_type}/{lati}/{longi}), promoted from the
   /buy-preview design-review page - see listing-old.blade.php /
   listingLoad-old.blade.php for the previous version, same rollback
   pattern as .lp-preview/.pd-preview above. Every reusable class here
   (.btn/.card) explicitly sets display/width/padding/margin/background
   rather than leaving them unset, since legacy styles.css has bare
   .btn-primary/.card rules that would otherwise leak those specific
   properties through despite this page's selectors being more specific
   overall (cascade is resolved per property, not per rule block).
   Responsive/media-query rules for this page live in responsive1.css. ================= */
.bl-preview{
  --bl-ink:#12121A;
  --bl-ink-soft:#5B5D6B;
  --bl-line:#E9E9EF;
  --bl-surface:#F6F6F9;
  --bl-card:#FFFFFF;
  --bl-brand-1:#FF5A36;
  --bl-brand-2:#FF8A3D;
  --bl-navy:#0E1224;
  --bl-green:#1CA65E;
  --bl-gold:#B8860B;
  --bl-radius:16px;
  --bl-shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --bl-shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);

  font-family:var(--lr-font);
  color:var(--bl-ink);
  background:var(--bl-surface);
  -webkit-font-smoothing:antialiased;
}
.bl-preview *{box-sizing:border-box;}
.bl-preview h1,.bl-preview h2{font-family:var(--lr-font);}
.bl-preview input,.bl-preview select,.bl-preview textarea,.bl-preview button{font-family:var(--lr-font);}
.bl-preview a{text-decoration:none;color:inherit;}
.bl-preview ul{list-style:none;margin:0;padding:0;}
.bl-preview button{font-family:inherit;}
.bl-preview img{max-width:100%;display:block;}

.bl-preview .container{max-width:1320px;margin:0 auto;padding:0 24px;width:100%;}

.bl-preview .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-weight:600;font-size:14.5px;border-radius:100px;padding:13px 26px;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
.bl-preview .btn-primary{background:linear-gradient(135deg,var(--bl-brand-1),var(--bl-brand-2));color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.5);}
.bl-preview .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}
.bl-preview .btn-ghost{background:#fff;color:var(--bl-ink);border:1px solid var(--bl-line);}
.bl-preview .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;}
.bl-preview .btn-ghost:disabled{opacity:.6;cursor:not-allowed;}
.bl-preview .card{background:var(--bl-card);border:1px solid var(--bl-line);border-radius:var(--bl-radius);}

/* ---------- Page-specific pill search bar (desktop) ---------- */
.bl-preview .bl-pill-search-wrap{display:flex;justify-content:center;align-items:center;gap:12px;padding:22px 0 6px;flex-wrap:wrap;}
.bl-preview .bl-pill-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--bl-line);border-radius:100px;padding:6px 8px 6px 18px;box-shadow:var(--bl-shadow-sm);width:100%;max-width:640px;}
.bl-preview .bl-pill-search select{border:none;background:transparent;font-weight:700;font-size:16px;color:var(--bl-ink);cursor:pointer;padding-right:6px;border-right:1px solid var(--bl-line);}
.bl-preview .bl-pill-search input.bl-pill-loc{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--bl-ink-soft);font-family:inherit;min-width:80px;}
.bl-preview .bl-pill-search .bl-pill-search-btn{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--bl-brand-1),var(--bl-brand-2));color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;}
.bl-preview .bl-pill-pid{display:inline-flex;align-items:center;gap:6px;background:#FFF0EA;color:var(--bl-brand-1);border:1px solid #FFD9C9;border-radius:100px;padding:11px 20px;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;}

/* Breadcrumb */
.bl-preview .bl-breadcrumb{padding-top:16px;padding-bottom:16px;font-size:13px;color:var(--bl-ink-soft);}
.bl-preview .bl-breadcrumb a:hover{color:var(--bl-brand-1);}
.bl-preview .bl-breadcrumb .sep{margin:0 8px;color:#C7C8D3;}
.bl-preview .bl-breadcrumb .current{color:var(--bl-ink);font-weight:600;}

.bl-preview .bl-results-head{display:flex;flex-direction:column;gap:2px;margin-bottom:14px;}
.bl-preview .bl-results-head h1{font-size:19px;font-weight:800;font-family:var(--lr-font);}

.bl-preview .bl-insight-banner{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:0;height:auto;padding:13px 16px;font-size:13.5px;margin-bottom:16px;background:#FFF8EE;border-color:#FCE7C7;flex-wrap:nowrap;}
.bl-preview .bl-insight-copy{display:flex;align-items:center;gap:10px;min-width:0;}
.bl-preview .bl-insight-copy svg{flex:none;}
.bl-preview .bl-insight-banner a{color:#1567C7;font-weight:700;margin-left:auto;white-space:nowrap;}

.bl-preview .bl-pill-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
.bl-preview .bl-sort-select{margin-left:auto;border:1px solid var(--bl-line);border-radius:100px;padding:9px 28px 9px 16px;font-size:13px;font-family:inherit;background:#fff;color:var(--bl-ink);font-weight:600;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%235B5D6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;}
.bl-preview .bl-updated-select{border:1px solid var(--bl-line);border-radius:100px;padding:9px 16px;font-size:13px;font-family:inherit;background:#fff;color:var(--bl-ink);font-weight:600;cursor:pointer;}

/* ---------- Layout: sidebar + results ---------- */
.bl-preview .bl-layout{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start;padding-bottom:20px;}

.bl-preview .bl-sidebar{position:sticky;top:78px;display:flex;flex-direction:column;gap:14px;}
/* Filters not present in the new HTML design - hidden, not deleted, so the
   underlying inputs/JS still exist if these get re-enabled later. */
.bl-preview .bl-filter-not-in-design{display:none;}
body:has(.bl-preview) #mobileFiltersModal .bl-filter-not-in-design{display:none;}
.bl-preview .bl-filter-group{padding:0;overflow:hidden;}
.bl-preview .bl-filter-header{cursor:pointer;padding:16px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:space-between;user-select:none;}
.bl-preview .bl-filter-header .chev{color:var(--bl-ink-soft);transition:transform .18s ease;font-size:11px;}
.bl-preview .bl-filter-header[aria-expanded="true"] .chev{transform:rotate(180deg);}
.bl-preview .bl-filter-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:11px;}
.bl-preview .bl-filter-body .bl-row{display:flex;gap:10px;}
.bl-preview .bl-filter-body select,.bl-preview .bl-filter-body input[type="number"]{flex:1;border:1px solid var(--bl-line);border-radius:10px;padding:9px 10px;font-size:16px;font-family:inherit;background:#fff;min-width:0;}
.bl-preview .bl-check-line{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--bl-ink-soft);cursor:pointer;}
.bl-preview .bl-check-line input{accent-color:var(--bl-brand-1);width:15px;height:15px;flex:none;}
.bl-preview .bl-chip-grid{display:flex;flex-wrap:wrap;gap:8px;}
.bl-preview .bl-chip-mini{border:1px solid var(--bl-line);border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;color:var(--bl-ink-soft);cursor:pointer;background:#fff;}
.bl-preview .bl-chip-mini:hover{border-color:var(--bl-brand-1);color:var(--bl-brand-1);}
.bl-preview .bl-chip-mini.active{border-color:var(--bl-brand-1);color:var(--bl-brand-1);background:#FFF0EA;}
.bl-preview .bl-loc-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding:4px 0;color:var(--bl-ink-soft);}
.bl-preview .bl-loc-row:hover{color:var(--bl-brand-1);}
.bl-preview .more-link{display:block;font-size:13px;font-weight:700;color:var(--bl-brand-1);cursor:pointer;margin-top:2px;}

/* Hidden (not deleted) - present in the ported functionality but not part
   of the new HTML design. */
.bl-preview .bl-hidden-not-in-design{display:none;}

/* Amenities: shown for visual parity only, not yet wired to filtering */
.bl-preview .bl-amenities-note{font-size:11.5px;color:var(--bl-ink-soft);font-style:italic;}

/* Results column */
.bl-preview .bl-listing-list{display:flex;flex-direction:column;gap:18px;}
.bl-preview .bl-listing-card{display:flex;flex-direction:row;gap:0;min-height:245px;height:auto;overflow:hidden;color:var(--bl-ink);transition:box-shadow .18s ease;text-decoration:none;}
.bl-preview .bl-listing-card:hover{color:var(--bl-ink);box-shadow:var(--bl-shadow);}
.bl-preview .bl-listing-photo{position:relative;flex:0 0 290px;width:290px;min-height:245px;align-self:stretch;overflow:hidden;background:linear-gradient(135deg,#EDEDF3,#F6F6F9);}
.bl-preview .bl-listing-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.bl-preview .bl-badges-top{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap;z-index:2;}
.bl-preview .bl-badge{font-size:10.5px;font-weight:800;letter-spacing:.03em;padding:5px 9px;border-radius:6px;text-transform:uppercase;white-space:nowrap;}
.bl-preview .bl-badge-featured{background:#171B33;color:#fff;}
.bl-preview .bl-badge-verified{background:var(--bl-green);color:#fff;}
.bl-preview .bl-badge-rera{background:#E7F3FF;color:#1567C7;}
.bl-preview button.bl-save-btn{appearance:none;-webkit-appearance:none;-moz-appearance:none;margin:0;position:absolute;top:12px;right:12px;z-index:2;width:34px;height:34px;border:none;border-radius:50%;background:rgba(18,18,26,.4);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease;color:#fff;}
.bl-preview .bl-save-btn:hover{background:rgba(18,18,26,.55);}
.bl-preview .bl-save-btn.active{background:var(--bl-brand-1);}
.bl-preview .bl-photo-bar{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,0) 100%);color:#fff;padding:20px 12px 8px;font-size:11.5px;font-weight:600;}

.bl-preview .bl-listing-content{flex:1;padding:15px 20px;display:flex;flex-direction:column;min-width:0;overflow:hidden;}
.bl-preview .bl-listing-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.bl-preview .bl-listing-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bl-ink);font-size:16px;font-weight:700;}
.bl-preview .bl-listing-sub{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--bl-ink-soft);margin-top:2px;}
.bl-preview .bl-listing-pid{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--bl-ink-soft);margin-top:3px;white-space:nowrap;}
.bl-preview .bl-listing-price-row{display:flex;align-items:baseline;gap:12px;margin-top:7px;flex-wrap:wrap;}
.bl-preview .bl-listing-price{color:var(--bl-ink);font-size:20px;font-weight:800;}
.bl-preview .bl-listing-psf{font-size:12.5px;color:var(--bl-ink-soft);}
.bl-preview .bl-highlights{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px;}
.bl-preview .bl-highlight-chip{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--bl-surface);border-radius:7px;padding:5px 10px;font-size:12px;font-weight:600;color:var(--bl-ink-soft);}
.bl-preview .bl-prop-meta{display:flex;gap:0;margin-top:10px;flex-wrap:wrap;}
.bl-preview .bl-prop-meta .p-col{padding:0 18px;border-left:1px solid var(--bl-line);}
.bl-preview .bl-prop-meta .p-col:first-child{padding-left:0;border-left:none;}
.bl-preview .bl-prop-meta .p-col strong{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bl-ink);font-size:13.5px;font-weight:700;}
.bl-preview .bl-prop-meta .p-col span{font-size:12px;color:var(--bl-ink-soft);}
.bl-preview .bl-listing-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--bl-line);flex-wrap:wrap;}
.bl-preview .bl-foot-left{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--bl-ink-soft);}
.bl-preview .bl-foot-left .dealer-badge{background:#FFF3DA;color:var(--bl-gold);font-weight:800;font-size:10px;letter-spacing:.03em;padding:4px 8px;border-radius:6px;text-transform:uppercase;}
.bl-preview .bl-foot-left .dealer-badge.owner{background:#E9FBF1;color:var(--bl-green);}
.bl-preview .bl-foot-left strong{display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bl-ink);}
.bl-preview .bl-foot-actions{display:flex;gap:8px;flex:none;}
.bl-preview .bl-view-number{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--bl-green);border:1px solid #CFF3DE;background:#E9FBF1;border-radius:100px;padding:9px 16px;}
.bl-preview .bl-contact-solid{font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--bl-brand-1),var(--bl-brand-2));border:none;border-radius:100px;padding:9px 18px;}

.bl-preview .bl-mobile-topbar,.bl-preview .bl-mobile-filter-row{display:none;}

.bl-preview .bl-show-more-wrap{text-align:center;padding:10px 0 8px;}

/* Mobile filters/sort/updated-dates modals - reuse Bootstrap modal classes
   already loaded site-wide, restyled to match the new look. */
.bl-preview ~ .modal .mobile-filter-modal-header,
.bl-preview ~ .modal .mobile-sort-by-modal-header,
.bl-preview ~ .modal .mobile-updated-dates-modal-header{border-bottom:1px solid var(--bl-line);padding:16px 20px;}
.bl-preview ~ .modal .mobile-filter-section-card{border-bottom:1px solid var(--bl-line);padding:14px 20px;}
.bl-preview ~ .modal .mobile-filter-section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:700;font-size:14px;}
.bl-preview ~ .modal .btn-view-results{width:100%;background:linear-gradient(135deg,var(--bl-brand-1),var(--bl-brand-2));color:#fff;border:none;border-radius:100px;padding:13px;font-weight:700;font-size:14.5px;}
.bl-preview ~ .modal .btn-apply-sort,.bl-preview ~ .modal .btn-done-updated-dates{width:100%;background:linear-gradient(135deg,var(--bl-brand-1),var(--bl-brand-2));color:#fff;border:none;border-radius:100px;padding:13px;font-weight:700;font-size:14.5px;}

/* Since Bootstrap modals render as siblings appended near <body>, outside
   .bl-preview's own DOM subtree, scope those overrides via body:has()
   instead of a descendant selector (same technique used by .pdv2-page -
   only "body contains this page" matters, not DOM position). */
body:has(.bl-preview) #mobileFiltersModal .mobile-filter-modal-header,
body:has(.bl-preview) #sortByModal .mobile-sort-by-modal-header,
body:has(.bl-preview) #updatedDatesModal .mobile-updated-dates-modal-header{border-bottom:1px solid #E9E9EF;padding:16px 20px;}
body:has(.bl-preview) #mobileFiltersModal .mobile-filter-section-card{border-bottom:1px solid #E9E9EF;padding:14px 20px;}
body:has(.bl-preview) #mobileFiltersModal .mobile-filter-section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:700;font-size:14px;}
body:has(.bl-preview) #mobileFiltersModal .bl-filter-body{padding:12px 0 0;gap:12px;}
body:has(.bl-preview) #mobileFiltersModal .bl-row{display:flex;gap:10px;}
body:has(.bl-preview) #mobileFiltersModal .bl-row>input,
body:has(.bl-preview) #mobileFiltersModal .bl-row>select{flex:1;min-width:0;border:1px solid #E9E9EF;border-radius:10px;padding:10px;background:#fff;font:inherit;}
body:has(.bl-preview) #mobileFiltersModal .bl-mobile-localities .bl-loc-row{padding:5px 0;}
body:has(.bl-preview) #mobileFiltersModal .bl-mobile-amenities input:disabled{opacity:.55;}
body:has(.bl-preview) #mobileFiltersModal .btn-view-results,
body:has(.bl-preview) #sortByModal .btn-apply-sort,
body:has(.bl-preview) #updatedDatesModal .btn-done-updated-dates{width:100%;background:linear-gradient(135deg,#FF5A36,#FF8A3D);color:#fff;border:none;border-radius:100px;padding:13px;font-weight:700;font-size:14.5px;}
body:has(.bl-preview) #mobileFiltersModal .bl-chip-mini{display:inline-block;}

/* Match the rental listing's mobile Sort By bottom sheet. */
body:has(.bl-preview) #sortByModal .modal-dialog{margin:0;max-width:100%;position:fixed;inset:auto 0 0;width:100%;display:flex;align-items:flex-end;}
body:has(.bl-preview) #sortByModal .modal-content{border:0;border-radius:20px 20px 0 0;min-height:0;max-height:352px;width:100%;margin:0;background:#fff;}
body:has(.bl-preview) #sortByModal .mobile-sort-by-modal-header{padding:20px;border-bottom:1px solid #E0E0E0;border-radius:20px 20px 0 0;background:#fff;}
body:has(.bl-preview) #sortByModal .mobile-sort-by-modal-title{flex:1;margin:0;text-align:center;font-size:1.1rem;font-weight:600;color:#12121A;}
body:has(.bl-preview) #sortByModal .mobile-sort-by-modal-body{padding:0;overflow-y:auto;background:#fff;}
body:has(.bl-preview) #sortByModal .mobile-sort-options{padding:2px;}
body:has(.bl-preview) #sortByModal .mobile-sort-option-item{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;cursor:pointer;}
body:has(.bl-preview) #sortByModal .mobile-sort-option-item .form-check-input{order:2;flex:none;width:20px;height:20px;margin:0 0 0 15px;border:2px solid #ccc;cursor:pointer;}
body:has(.bl-preview) #sortByModal .mobile-sort-option-item .form-check-input:checked{background-color:#FF5A36;border-color:#FF5A36;}
body:has(.bl-preview) #sortByModal .mobile-sort-option-item .form-check-label{order:1;flex:1;margin:0;padding:0;font-size:1rem;color:#12121A;cursor:pointer;}
body:has(.bl-preview) #sortByModal .mobile-sort-by-footer{display:flex;align-items:center;justify-content:center;padding:17px;border:0;background:#fff;}
body:has(.bl-preview) #sortByModal .btn-apply-sort{width:100%;padding:15px 40px;border:0;border-radius:40px;background:#FF5A36;color:#fff;font-size:1rem;font-weight:600;}

/* ================= EDIT REQUIREMENT PAGE (.rq-page) =================
   Lets a tenant revisit/edit the PlanRequirements row created during
   the post-registration onboarding wizard (front/template.blade.php's
   saveRequirements()), served at /edit-requirement. Reuses the same
   --ink/--ink-soft/--line/--surface/--card/--brand-1/--brand-2/--pink/
   --violet/--navy/--radius/--shadow/--shadow-sm custom properties
   already defined at :root above - no new ones needed. Scoped under
   .rq-page so nothing here leaks onto any other page.
   Responsive/media-query rules for this page live in responsive1.css. ================= */
.rq-page{font-family:var(--lr-font);background: var(--surface) !important;}
.rq-page .rq-wrap{background:#F6F6F9;}
.rq-page a{text-decoration:none;color:inherit;}
.rq-page ul{list-style:none;}
.rq-page h1,.rq-page h3{font-family:var(--lr-font);}

.rq-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-weight:600;font-size:15px;border-radius:100px;padding:15px 28px;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
.rq-page .btn-primary{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);}
.rq-page .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}
.rq-page .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;}
.rq-page .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.rq-page .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;}

/* ---------- Page head ---------- */
.rq-page .rq-hero{position:relative;overflow:hidden;padding:16px 0 2px;background:radial-gradient(500px 220px at 12% -10%, rgba(255,61,127,.14), transparent 60%),radial-gradient(460px 220px at 92% -20%, rgba(124,92,255,.14), transparent 60%);}
.rq-page .rq-back-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between;}
.rq-page .rq-back-left{display:flex;align-items:center;gap:16px;}
.rq-page .back-btn{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;flex:none;transition:.18s;}
.rq-page .back-btn:hover{border-color:#D8D8E2;transform:translateX(-2px);}
.rq-page .rq-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pink);background:#FFEBF2;padding:7px 14px;border-radius:100px;margin-bottom:10px;}
.rq-page .rq-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--pink);}
.rq-page .rq-hero h1{font-size:clamp(28px,3.4vw,40px);font-weight:600;letter-spacing:-.01em;color:var(--navy);}
.rq-page .rq-sub{color:var(--ink-soft);margin-top:6px;font-size:14.5px;}

/* ---------- Layout ---------- */
.rq-page .rq-wrap{padding:0 0 40px;}
.rq-page .rq-grid{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start;}

.rq-page .rq-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:32px;}

.rq-page .field-group{margin-bottom:26px;}
.rq-page .field-group:last-child{margin-bottom:0;}
.rq-page .field-label{display:block;font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:10px;}
.rq-page .field-label .opt{font-weight:600;color:var(--ink-soft);font-size:12px;}

.rq-page .search-input{position:relative;}
.rq-page .search-input svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--ink-soft);}
/* font-size held at 16px, not the design's 14.5px - anything smaller
   makes iOS Safari auto-zoom the whole page on focus, and once
   triggered the zoom doesn't reliably reset even after the field loses
   focus (eg after picking a location suggestion), leaving the page
   stuck zoomed in. Same fix as the login modal's inputs. */
.rq-page .search-input input{width:100%;padding:15px 18px 15px 46px;border-radius:14px;border:1px solid var(--line);background:var(--surface);font-size:16px;color:var(--ink);font-family:inherit;transition:border-color .18s ease, background .18s ease;}
.rq-page .search-input input::placeholder{color:var(--ink-soft);}
.rq-page .search-input input:focus{outline:none;border-color:var(--brand-1);background:#fff;}

.rq-page .field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}

.rq-page .select-wrap{position:relative;}
.rq-page .select-wrap select{appearance:none;width:100%;background:var(--surface) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><path d="M1 1l5 5 5-5" stroke="%235B5D6B" stroke-width="1.6" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 18px center;border:1px solid var(--line);border-radius:14px;padding:15px 42px 15px 18px;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;font-family:inherit;transition:border-color .18s ease, background-color .18s ease;}
.rq-page .select-wrap select:focus{outline:none;border-color:var(--brand-1);}

/* Radius slider */
.rq-page .radius-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.rq-page .radius-val{font-family:var(--lr-font);font-size:13px;font-weight:600;color:#fff;background:var(--navy);padding:5px 12px;border-radius:100px;font-variant-numeric:tabular-nums;}
.rq-page .slider-wrap{padding:4px 2px;}
.rq-page input[type="range"]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:100px;background:linear-gradient(90deg,var(--brand-1) 0%, var(--brand-1) 25%, var(--line) 25%, var(--line) 100%);outline:none;cursor:pointer;}
.rq-page input[type="range"]::-webkit-slider-runnable-track{height:6px;border:0;border-radius:100px;background:transparent !important;}
.rq-page input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:var(--brand-1);border:4px solid #fff;box-shadow:0 4px 12px -2px rgba(255,90,54,.5);cursor:pointer;}
.rq-page input[type="range"]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--brand-1);border:4px solid #fff;box-shadow:0 4px 12px -2px rgba(255,90,54,.5);cursor:pointer;}
.rq-page .radius-marks{display:flex;justify-content:space-between;margin-top:10px;font-size:11.5px;color:var(--ink-soft);font-weight:600;}

/* Timeline cards */
.rq-page .timeline-list{display:flex;flex-direction:column;gap:12px;}
.rq-page .timeline-card{flex:1;display:flex;align-items:center;gap:14px;padding:5px 18px;border-radius:16px;border:1.5px solid var(--line);background:#fff;cursor:pointer;transition:.18s ease;}
.rq-page .timeline-card:hover{border-color:#D8D8E2;background:var(--surface);}
.rq-page .timeline-card.active{border-color:var(--brand-1);background:#FFF4F0;}
.rq-page .timeline-icon{width:40px;height:40px;border-radius:12px;background:var(--surface);flex:none;display:flex;align-items:center;justify-content:center;color:var(--ink);}
.rq-page .timeline-card.active .timeline-icon{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;}
.rq-page .timeline-text{flex:1;line-height:1.4;}
.rq-page .timeline-text .t-title{font-size:14px;font-weight:700;color:var(--ink);}
.rq-page .timeline-text .t-sub{font-size:12px;color:var(--ink-soft);margin-top:2px;}
.rq-page .radio-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex:none;display:flex;align-items:center;justify-content:center;transition:.18s;}
.rq-page .timeline-card.active .radio-dot{border-color:var(--brand-1);}
.rq-page .radio-dot::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--brand-1);opacity:0;transition:.18s;}
.rq-page .timeline-card.active .radio-dot::after{opacity:1;}

/* Compact choice pills (Moving From / Are You) */
.rq-page .choice-list{display:flex;gap:12px;flex-wrap:wrap;}
.rq-page .choice-card{flex:1;min-width:150px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1.5px solid var(--line);background:#fff;cursor:pointer;transition:.18s ease;}
.rq-page .choice-card:hover{border-color:#D8D8E2;background:var(--surface);}
.rq-page .choice-card.active{border-color:var(--brand-1);background:#FFF4F0;}
.rq-page .choice-icon{width:34px;height:34px;border-radius:10px;background:var(--surface);flex:none;display:flex;align-items:center;justify-content:center;color:var(--ink);}
.rq-page .choice-card.active .choice-icon{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;}
.rq-page .choice-card .c-title{flex:1;font-size:14px;font-weight:700;color:var(--ink);}
.rq-page .choice-card.active .radio-dot{border-color:var(--brand-1);}
.rq-page .choice-card.active .radio-dot::after{opacity:1;}

.rq-page .rq-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:26px;border-top:1px solid var(--line);}
.rq-page .rq-actions .btn{padding:15px 34px;font-size:14.5px;}

/* ---------- Summary sidebar ---------- */
.rq-page .summary-card{position:sticky;top:96px;}
.rq-page .summary-card h3{font-family:var(--lr-font);font-size:20px;font-weight:700;margin-bottom:4px;}
.rq-page .summary-sub{font-size:13px;color:var(--ink-soft);margin-bottom:20px;}
.rq-page .summary-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);}
.rq-page .summary-row:last-of-type{border-bottom:none;}
.rq-page .summary-icon{width:36px;height:36px;border-radius:10px;background:var(--surface);flex:none;display:flex;align-items:center;justify-content:center;color:var(--brand-1);}
.rq-page .summary-text .s-label{font-size:11.5px;color:var(--ink-soft);font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.rq-page .summary-text .s-value{font-size:14px;font-weight:700;color:var(--ink);margin-top:3px;}
.rq-page .summary-note{margin-top:20px;padding:16px;border-radius:14px;background:var(--surface);font-size:12.5px;color:var(--ink-soft);line-height:1.6;display:flex;gap:10px;align-items:flex-start;}
.rq-page .summary-note svg{flex:none;color:var(--violet);margin-top:1px;}

/* ================= EMI CALCULATOR PAGE (.emi-preview) =================
   Live at /emi-calculator - rentz4.0 redesign, rendered from the
   reclaimed front.knowyourrent.emiCalculater view. Ported from
   latest Html/emi-calculator.html. Reuses the --ink/--ink-soft/
   --line/--surface/--card/--brand-1/--brand-2/--pink/--violet/--mint/
   --navy/--navy-2/--radius/--shadow/--shadow-sm custom properties already
   defined at :root above - only --gold and --ink-faint are new, scoped to
   .emi-preview below. Everything here is scoped under .emi-preview so
   nothing leaks onto any other page (.container/.btn/.section/.field etc
   are all dangerously generic bare names elsewhere in the codebase).
   Responsive/media-query rules for this page live in responsive1.css. ================= */
.emi-preview{
  --gold:#FFC13D;
  --ink-faint:#B7B9C8;
  font-family:var(--lr-font);
  color:var(--ink);
}
.emi-preview h1,.emi-preview h2,.emi-preview h3{font-family:var(--lr-font);}
.emi-preview img{max-width:100%;display:block;}
.emi-preview a{text-decoration:none;color:inherit;}
.emi-preview ul{list-style:none;}
.emi-preview button,.emi-preview input,.emi-preview select{font-family:inherit;}
.emi-preview .container{max-width:1180px;margin:0 auto;padding:0 24px;}
.emi-preview .section{padding:64px 0;}
.emi-preview .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:700;font-size:14.5px;
  border-radius:100px;padding:14px 26px;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.emi-preview .btn-primary{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
}
.emi-preview .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}
.emi-preview .btn-outline{background:#fff;color:var(--brand-1);border:1.5px solid var(--brand-1);}
.emi-preview .btn-outline:hover{background:#FFF3EE;}
.emi-preview .btn-block{width:100%;}
.emi-preview .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brand-1);background:#FFF0EA;padding:7px 14px;border-radius:100px;margin-bottom:16px;
}
.emi-preview .eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand-1);}
.emi-preview .section-head{text-align:center;max-width:680px;margin:0 auto 36px;}
.emi-preview .section-head h2{font-size:clamp(24px,3.2vw,34px);font-weight:600;letter-spacing:-.01em;}
.emi-preview .section-head h2 .accent{color:var(--brand-1);}
.emi-preview .section-head p{color:var(--ink-soft);margin-top:12px;font-size:15px;line-height:1.7;}

/* ---------- Hero ---------- */
.emi-preview .emi-hero{padding:48px 0 6px;text-align:center;position:relative;overflow:hidden;}
.emi-preview .emi-hero-glow{
  position:absolute;inset:-15% -10% auto -10%;height:480px;
  background:radial-gradient(600px 300px at 20% 0%, rgba(255,90,54,.14), transparent 60%),
             radial-gradient(560px 280px at 85% 10%, rgba(124,92,255,.10), transparent 60%);
  z-index:0;
}
.emi-preview .emi-hero > .container{position:relative;z-index:1;}
.emi-preview .emi-hero h1{font-size:clamp(28px,3.8vw,42px);font-weight:600;letter-spacing:-.01em;line-height:1.15;}
.emi-preview .emi-hero h1 .accent{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.emi-preview .emi-hero p{color:var(--ink-soft);font-size:15.5px;margin-top:14px;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.7;}
.emi-preview .trust-row{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;
  margin-top:22px;font-size:13px;font-weight:600;color:var(--ink-soft);
}
.emi-preview .trust-row span{display:flex;align-items:center;gap:7px;}
.emi-preview .trust-row svg{color:var(--brand-1);flex:none;}
.emi-preview .trust-row .sep{color:var(--line);}

/* ---------- Calculator card ---------- */
.emi-preview .calc-wrap{padding:36px 0 0;}
.emi-preview .calc-card{
  position:relative;
  background:var(--card);border:1px solid var(--line);border-radius:28px;
  box-shadow:0 30px 70px -30px rgba(18,18,26,.28);overflow:hidden;
  display:grid;grid-template-columns:1.1fr 1fr;
}
.emi-preview .calc-inputs{padding:44px 42px;}

.emi-preview .field{margin-bottom:34px;}
.emi-preview .field:last-child{margin-bottom:0;}
.emi-preview .field-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;}
.emi-preview .field-label{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:800;color:var(--ink);}
.emi-preview .field-icon{
  width:30px;height:30px;border-radius:9px;background:#FFF0EA;color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.emi-preview .field-value{
  display:flex;align-items:center;gap:4px;background:var(--surface);border:1.5px solid transparent;
  border-radius:100px;padding:10px 18px;min-width:140px;justify-content:flex-end;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.emi-preview .field-value:focus-within{border-color:var(--brand-1);box-shadow:0 0 0 4px rgba(255,90,54,.12);background:#fff;}
.emi-preview .field-value .prefix{font-size:14px;color:var(--brand-1);font-weight:800;}
.emi-preview .field-value input{
  border:none;background:transparent;outline:none;text-align:right;font-weight:800;font-size:16px;
  color:var(--ink);width:100%;font-family:var(--lr-font);font-variant-numeric:tabular-nums;}
.emi-preview .field-value .suffix{font-size:12.5px;color:var(--brand-1);font-weight:800;white-space:nowrap;}

.emi-preview .slider{
  -webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:100px;
  outline:none;cursor:pointer;
}
.emi-preview .slider::-webkit-slider-runnable-track{
  -webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:100px;background:transparent;
}
.emi-preview .slider::-moz-range-track{
  width:100%;height:8px;border-radius:100px;background:transparent;border:none;
}
.emi-preview .slider::-moz-range-progress{
  height:8px;border-radius:100px;background:transparent;
}
.emi-preview .slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;
  background:#fff;
  box-shadow:0 6px 18px -4px rgba(255,90,54,.6), 0 0 0 5px rgba(255,90,54,.16);
  border:3px solid var(--brand-1);cursor:pointer;transition:transform .15s ease;
}
.emi-preview .slider::-webkit-slider-thumb:hover{transform:scale(1.12);}
.emi-preview .slider::-moz-range-thumb{
  width:24px;height:24px;border-radius:50%;
  background:#fff;
  box-shadow:0 6px 18px -4px rgba(255,90,54,.6), 0 0 0 5px rgba(255,90,54,.16);
  border:3px solid var(--brand-1);cursor:pointer;
}
.emi-preview .slider-scale{display:flex;justify-content:space-between;margin-top:10px;font-size:11px;color:var(--ink-faint);font-weight:700;}

.emi-preview .calc-results{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(420px 260px at 100% 0%, rgba(255,138,61,.55), transparent 60%),
    radial-gradient(420px 300px at 0% 100%, rgba(124,92,255,.35), transparent 55%),
    linear-gradient(160deg,#1A0E1F,var(--navy) 55%,#150C1A);
  padding:42px 36px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}

.emi-preview .live-badge{
  display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:#B8FFE0;background:rgba(18,214,163,.14);border:1px solid rgba(18,214,163,.35);
  padding:6px 14px;border-radius:100px;margin-bottom:22px;
}
.emi-preview .live-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(18,214,163,.6);animation:emiPulseDot 1.6s infinite;}
@keyframes emiPulseDot{
  0%{box-shadow:0 0 0 0 rgba(18,214,163,.55);}
  70%{box-shadow:0 0 0 8px rgba(18,214,163,0);}
  100%{box-shadow:0 0 0 0 rgba(18,214,163,0);}
}

.emi-preview .donut-wrap{position:relative;width:200px;height:200px;margin:0 0 24px;}
.emi-preview .donut-wrap svg{transform:rotate(-90deg);}
.emi-preview .donut-center{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.emi-preview .donut-center .lbl{font-size:11px;color:rgba(255,255,255,.6);font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.emi-preview .donut-center .val{font-size:28px;font-weight:800;color:#fff;margin-top:6px;font-family:var(--lr-font);font-variant-numeric:tabular-nums;}

.emi-preview .legend-row{display:flex;gap:22px;margin-bottom:26px;flex-wrap:wrap;justify-content:center;}
.emi-preview .legend-item{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.75);}
.emi-preview .legend-dot{width:10px;height:10px;border-radius:3px;flex:none;}

.emi-preview .summary-list{
  width:100%;display:flex;flex-direction:column;gap:0;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border-radius:18px;overflow:hidden;margin-bottom:22px;
}
.emi-preview .summary-row{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;font-size:13.5px;}
.emi-preview .summary-row + .summary-row{border-top:1px solid rgba(255,255,255,.1);}
.emi-preview .summary-row .k{color:rgba(255,255,255,.65);font-weight:600;}
.emi-preview .summary-row .v{font-weight:800;color:#fff;font-family:var(--lr-font);font-variant-numeric:tabular-nums;}
.emi-preview .summary-row.total{background:rgba(255,255,255,.05);}
.emi-preview .summary-row.total .v{color:var(--gold);font-size:14.5px;}

.emi-preview .calc-results .btn-primary{
  background:#fff;color:var(--ink);box-shadow:0 16px 32px -10px rgba(0,0,0,.4);
}
.emi-preview .calc-results .btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 38px -8px rgba(0,0,0,.5);}

/* ---------- Amortization ---------- */
.emi-preview .amort-wrap{padding:0 0 8px;}
.emi-preview .amort-toggle{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:28px auto 0;cursor:pointer;font-weight:700;font-size:13.5px;color:var(--brand-1);
  background:#FFF3EE;border:1px solid #FFD9C7;border-radius:100px;padding:12px 24px;width:max-content;
}
.emi-preview .amort-toggle svg{transition:transform .2s ease;}
.emi-preview .amort-toggle.open svg{transform:rotate(180deg);}
.emi-preview .amort-table-wrap{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.emi-preview .amort-table-wrap.open{max-height:2000px;}
.emi-preview .amort-scroll{overflow-x:auto;margin-top:22px;border:1px solid var(--line);border-radius:16px;}
.emi-preview table.amort{width:100%;border-collapse:collapse;min-width:520px;font-size:13px;}
.emi-preview table.amort th{
  background:var(--surface);text-align:right;padding:12px 16px;font-weight:700;color:var(--ink-soft);
  font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;
}
.emi-preview table.amort th:first-child, .emi-preview table.amort td:first-child{text-align:left;}
.emi-preview table.amort td{padding:12px 16px;text-align:right;border-top:1px solid var(--line);font-family:var(--lr-font);white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums;}
.emi-preview table.amort tr:nth-child(even) td{background:#FAFAFC;}

/* ---------- Factors / Types cards ---------- */
.emi-preview .card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.emi-preview .info-card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;
  transition:box-shadow .2s ease, border-color .2s ease;
}
.emi-preview .info-card:hover{box-shadow:var(--shadow-sm);}
.emi-preview .info-card .ic{
  width:44px;height:44px;border-radius:12px;background:#FFF3EE;color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.emi-preview .info-card h3{font-size:16.5px;font-weight:700;font-family:var(--lr-font);margin-bottom:8px;}
.emi-preview .info-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.7;}

.emi-preview .intro-text{max-width:820px;margin:0 auto;color:var(--ink-soft);font-size:14.5px;line-height:1.85;}
.emi-preview .intro-text p{margin-bottom:16px;}
.emi-preview .intro-text strong{color:var(--ink);}

.emi-preview .formula-box{
  max-width:640px;margin:0 auto;background:var(--navy);color:#fff;border-radius:20px;
  padding:32px 30px;text-align:center;box-shadow:var(--shadow);
}
.emi-preview .formula-box .eq{font-family:var(--lr-font);font-size:clamp(16px,2.6vw,20px);font-weight:600;color:var(--gold);margin-bottom:18px;font-variant-numeric:tabular-nums;}
.emi-preview .formula-box .keys{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 26px;font-size:12.5px;color:#B8BAD0;}
.emi-preview .formula-box .keys b{color:#fff;}

/* ---------- FAQ ---------- */
.emi-preview .faq-wrap{display:grid;grid-template-columns:280px 1fr;gap:40px;}
.emi-preview .faq-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;}
.emi-preview .faq-side h2{font-size:clamp(24px,2.8vw,30px);font-weight:600;letter-spacing:-.01em;line-height:1.2;}
.emi-preview .faq-item{border-bottom:1px solid var(--line);}
.emi-preview .faq-list{border-top:1px solid var(--line);}
.emi-preview .faq-q{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:22px 4px;font-weight:700;font-size:15px;cursor:pointer;
}
.emi-preview .faq-q .plus{
  flex:none;width:26px;height:26px;border-radius:50%;background:var(--surface);color:var(--ink-soft);
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:400;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.emi-preview .faq-item.open .faq-q .plus{background:var(--ink);color:#fff;transform:rotate(180deg);}
.emi-preview .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.emi-preview .faq-a p{padding:0 30px 22px 4px;color:var(--ink-soft);font-size:13.5px;line-height:1.75;}
.emi-preview .faq-item.open .faq-a{max-height:220px;}

/* ---------- Bottom CTA ---------- */
.emi-preview .bottom-cta{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));border-radius:24px;
  padding:44px 40px;text-align:center;color:#fff;box-shadow:var(--shadow);
}
.emi-preview .bottom-cta h2{font-size:clamp(22px,2.8vw,28px);font-weight:600;margin-bottom:10px;}
.emi-preview .bottom-cta p{font-size:14.5px;opacity:.92;margin-bottom:22px;}
.emi-preview .bottom-cta .btn{background:#fff;color:var(--brand-1);box-shadow:0 14px 30px -10px rgba(0,0,0,.3);}

/* ---------- Back to top ---------- */
.emi-preview .to-top{
  position:fixed;bottom:24px;right:24px;width:46px;height:46px;border-radius:50%;
  background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 12px 26px -8px rgba(0,0,0,.4);
  opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:90;
}
.emi-preview .to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}

.emi-preview .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease;}
.emi-preview .reveal.in{opacity:1;transform:translateY(0);}

/* ================= RENT CALCULATOR PAGE (.rc-preview) =================
   Live at /rent-calculator - rentz4.0 redesign, rendered from
   front.knowyourrent.rentCalculator. Ported from
   Latest Html/rent-calculator.html. Reuses the --ink/--ink-soft/--line/
   --surface/--card/--brand-1/--brand-2/--navy custom properties already
   defined at :root above - only --gold and --ink-faint are new, scoped to
   .rc-preview below. Everything here is scoped under .rc-preview so
   nothing leaks onto any other page (.container/.btn/.section/.field-block
   etc are all dangerously generic bare names elsewhere in the codebase).
   Responsive/media-query rules for this page live in responsive1.css. ================= */
.rc-preview *{box-sizing:border-box;margin:0;padding:0;}
.rc-preview{
  --gold:#FFC13D;
  --ink-faint:#B7B9C8;
  font-family:var(--lr-font);
  color:var(--ink);
  background:var(--card);
}
.rc-preview h1,.rc-preview h2,.rc-preview h3{font-family:var(--lr-font);}
.rc-preview img{max-width:100%;display:block;}
.rc-preview a{text-decoration:none;color:inherit;}
.rc-preview ul{list-style:none;}
.rc-preview button,.rc-preview input,.rc-preview select{font-family:inherit;}
.rc-preview .container{max-width:1180px;margin:0 auto;padding:0 24px;}
.rc-preview .section{padding:64px 0;}
.rc-preview .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:700;font-size:14.5px;
  border-radius:100px;padding:14px 26px;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.rc-preview .btn-primary{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
}
.rc-preview .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}
.rc-preview .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;}
.rc-preview .section-head{text-align:center;max-width:680px;margin:0 auto 36px;}
.rc-preview .section-head h2{font-size:clamp(24px,3.2vw,34px);font-weight:600;letter-spacing:-.01em;}
.rc-preview .section-head p{color:var(--ink-soft);margin-top:12px;font-size:15px;line-height:1.7;}

/* ---------- Calc hero split ---------- */
.rc-preview .calc-hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px;}

.rc-preview .calc-hero-left{
  position:relative;overflow:hidden;
  background:
    radial-gradient(480px 320px at 20% 15%, rgba(255,255,255,.5), transparent 60%),
    linear-gradient(135deg,#FFD9C2 0%,#FFB199 45%,#F4907A 100%);
  min-height:420px;
}
.rc-preview .calc-hero-left::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(3px 3px at 15% 25%, rgba(255,255,255,.7), transparent),
    radial-gradient(3px 3px at 70% 60%, rgba(255,255,255,.6), transparent),
    radial-gradient(2px 2px at 40% 80%, rgba(255,255,255,.5), transparent),
    radial-gradient(2px 2px at 85% 20%, rgba(255,255,255,.5), transparent);
}
.rc-preview .house-illustration{position:absolute;left:8%;bottom:10%;width:230px;filter:drop-shadow(0 20px 30px rgba(120,50,20,.25));}
.rc-preview .desk-shapes{position:absolute;right:6%;top:16%;width:220px;opacity:.9;}

.rc-preview .calc-card-float{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(420px, 84%);
  background:var(--card);border-radius:24px;box-shadow:var(--shadow);
  padding:28px 26px;z-index:3;
}
.rc-preview .calc-card-float h3{font-size:20px;font-weight:700;font-family:var(--lr-font);margin-bottom:18px;}
.rc-preview .mini-info{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px;}
.rc-preview .mini-info:last-child{margin-bottom:0;}
.rc-preview .mini-info h4{font-size:13.5px;color:var(--brand-1);font-weight:800;margin-bottom:6px;}
.rc-preview .mini-info p{font-size:12.5px;color:var(--ink-soft);line-height:1.6;}

.rc-preview .calc-hero-right{
  background:var(--surface);
  padding:56px 48px;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden;
}
.rc-preview .calc-hero-right::before{
  content:'';position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:
    linear-gradient(rgba(18,18,26,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,18,26,.035) 1px, transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
          mask-image:linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
}
.rc-preview .step-wrap{position:relative;z-index:1;max-width:560px;}

.rc-preview .step-progress{display:flex;align-items:center;gap:8px;margin-bottom:26px;}
.rc-preview .step-dot{width:34px;height:6px;border-radius:100px;background:var(--line);transition:background .3s ease, width .3s ease;}
.rc-preview .step-dot.active{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));width:48px;}
.rc-preview .step-dot.done{background:var(--brand-1);}

.rc-preview .step-panel{display:none;}
.rc-preview .step-panel.active{display:block;animation:rcStepIn .35s ease;}
@keyframes rcStepIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

.rc-preview .step-panel h2{font-size:clamp(22px,2.6vw,28px);font-weight:600;letter-spacing:-.01em;margin-bottom:22px;}

.rc-preview .field-block{margin-bottom:32px;}
.rc-preview .field-block:last-of-type{margin-bottom:0;}
.rc-preview .field-block-label{font-size:13.5px;font-weight:800;color:var(--ink);margin-bottom:18px;}

.rc-preview .pill-row{display:flex;flex-wrap:wrap;row-gap:22px;column-gap:28px;}
.rc-preview .pill-radio{position:relative;}
.rc-preview .pill-radio input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.rc-preview .pill-radio label{
  display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;color:var(--ink-soft);
  cursor:pointer;user-select:none;
}
.rc-preview .pill-radio .dot-outer{
  width:18px;height:18px;border-radius:50%;border:2px solid var(--ink-faint);
  display:flex;align-items:center;justify-content:center;flex:none;transition:border-color .18s ease;
}
.rc-preview .pill-radio .dot-inner{width:9px;height:9px;border-radius:50%;background:transparent;transition:background .18s ease;}
.rc-preview .pill-radio input:checked ~ label .dot-outer{border-color:var(--brand-1);}
.rc-preview .pill-radio input:checked ~ label .dot-inner{background:var(--brand-1);}
.rc-preview .pill-radio input:checked ~ label{color:var(--ink);}
.rc-preview .pill-radio input:focus-visible ~ label .dot-outer{box-shadow:0 0 0 4px rgba(255,90,54,.15);}

.rc-preview .locality-search{
  display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);
  border-radius:100px;padding:16px 22px;margin-bottom:26px;transition:border-color .18s ease, box-shadow .18s ease;
}
.rc-preview .locality-search:focus-within{border-color:var(--brand-1);box-shadow:0 0 0 4px rgba(255,90,54,.12);}
.rc-preview .locality-search svg{color:var(--brand-1);flex:none;}
.rc-preview .locality-search input{border:none;outline:none;background:transparent;width:100%;font-size:16px;color:var(--ink);}
.rc-preview .locality-search input::placeholder{color:var(--ink-faint);}

.rc-preview .step-actions{display:flex;align-items:center;gap:16px;margin-top:8px;}
.rc-preview .step-back{font-size:13.5px;font-weight:700;color:var(--ink-soft);cursor:pointer;}
.rc-preview .step-back:hover{color:var(--ink);}

/* ---------- Result step ---------- */
.rc-preview .result-panel{text-align:center;}
.rc-preview .gauge-wrap{position:relative;width:260px;margin:0 auto 20px;}
.rc-preview .gauge-wrap.pop{animation:rcGaugePop .6s cubic-bezier(.34,1.56,.64,1);}
@keyframes rcGaugePop{from{opacity:0;transform:scale(.75) translateY(10px);}to{opacity:1;transform:scale(1) translateY(0);}}
.rc-preview .gauge-glow{
  position:absolute;left:50%;top:86.6%;width:110px;height:110px;margin:-55px 0 0 -55px;
  border-radius:50%;background:radial-gradient(circle, rgba(255,90,54,.35), transparent 70%);
  pointer-events:none;opacity:0;
}
.rc-preview .gauge-glow.pulse{animation:rcRingPulse 2.2s ease-out .4s infinite;}
@keyframes rcRingPulse{0%{transform:scale(.7);opacity:.55;}70%{opacity:0;}100%{transform:scale(1.5);opacity:0;}}
.rc-preview .gauge-needle{transform-origin:130px 130px;}
.rc-preview .result-title{font-size:clamp(19px,2.4vw,23px);font-weight:600;line-height:1.5;margin-bottom:26px;}
.rc-preview .result-title span{color:var(--brand-1);font-weight:800;}
.rc-preview .result-empty{color:var(--ink-soft);font-size:15px;line-height:1.7;margin-bottom:26px;}
.rc-preview .result-actions{display:flex;flex-direction:column;align-items:center;gap:14px;}
.rc-preview .redo-link{font-size:13.5px;font-weight:700;color:var(--ink-soft);cursor:pointer;}
.rc-preview .redo-link:hover{color:var(--brand-1);}
.rc-preview .result-tag{
  display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:var(--mint);background:rgba(18,214,163,.1);border:1px solid rgba(18,214,163,.3);
  padding:6px 14px;border-radius:100px;margin-bottom:18px;
}
.rc-preview .result-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--mint);animation:rcPulseDot 1.6s infinite;}
@keyframes rcPulseDot{
  0%{box-shadow:0 0 0 0 rgba(18,214,163,.55);}
  70%{box-shadow:0 0 0 8px rgba(18,214,163,0);}
  100%{box-shadow:0 0 0 0 rgba(18,214,163,0);}
}
.rc-preview .result-fade{opacity:0;animation:rcFadeSlideUp .7s cubic-bezier(.16,1,.3,1) forwards;}
@keyframes rcFadeSlideUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

/* ---------- FAQ ---------- */
.rc-preview .faq-wrap{display:grid;grid-template-columns:280px 1fr;gap:40px;}
.rc-preview .faq-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;}
.rc-preview .faq-side h2{font-size:clamp(24px,2.8vw,30px);font-weight:600;letter-spacing:-.01em;line-height:1.2;}
.rc-preview .faq-item{border-bottom:1px solid var(--line);}
.rc-preview .faq-list{border-top:1px solid var(--line);}
.rc-preview .faq-q{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:22px 4px;font-weight:700;font-size:15px;cursor:pointer;
}
.rc-preview .faq-q .plus{
  flex:none;width:26px;height:26px;border-radius:50%;background:var(--surface);color:var(--ink-soft);
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:400;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.rc-preview .faq-item.open .faq-q .plus{background:var(--ink);color:#fff;transform:rotate(180deg);}
.rc-preview .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.rc-preview .faq-a p{padding:0 30px 22px 4px;color:var(--ink-soft);font-size:13.5px;line-height:1.75;}
.rc-preview .faq-item.open .faq-a{max-height:220px;}

/* ---------- Back to top ---------- */
.rc-preview .to-top{
  position:fixed;bottom:24px;right:24px;width:46px;height:46px;border-radius:50%;
  background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 12px 26px -8px rgba(0,0,0,.4);
  opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:90;
}
.rc-preview .to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}

.rc-preview .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease;}
.rc-preview .reveal.in{opacity:1;transform:translateY(0);}


/* ============================================================
   Rent Agreement v2 (.ra2-preview landing / .ra2d-preview details)
   merged from rent-agreement-v2.css
   ============================================================ */
/* ==================================================================
   RENT AGREEMENT — TEST/PREVIEW PAGES (new design, rentz4.0 port)
   Scoped under .ra2-preview (landing /rent-agreement-test) and
   .ra2d-preview (details /rent-agreement-details-test), following
   the same .rc-preview / .pd-preview scoping convention already
   used elsewhere in style1.css/responsive1.css. Loaded only on
   these two test views — not merged into the shared stylesheets.
   ================================================================== */

/* ---------------------------------------------------------------
   Landing page — .ra2-preview (ported from new design/rent-agreement.html)
   --------------------------------------------------------------- */
  .ra2-preview{
    --ink:#12121A;
    --ink-soft:#5B5D6B;
    --line:#E9E9EF;
    --surface:#F6F6F9;
    --card:#FFFFFF;
    --brand-1:#FF5A36;
    --brand-2:#FF8A3D;
    --navy:#0E1224;
    --navy-2:#171B33;
    --mint:#12D6A3;
    --gold:#FFB020;
    --radius:20px;
    --shadow:0 20px 50px -20px rgba(18,18,26,.18);
    --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
  }

  .ra2-preview, .ra2-preview *{box-sizing:border-box;margin:0;padding:0;}

  
  .ra2-preview{
    font-family:var(--lr-font);
    color:var(--ink);background:var(--card);
    -webkit-font-smoothing:antialiased;
  }

  .ra2-preview h1,.ra2-preview h2,.ra2-preview h3.serif{font-family:var(--lr-font);font-weight:700;letter-spacing:-.01em;}

  .ra2-preview img{max-width:100%;display:block;}

  .ra2-preview a{text-decoration:none;color:inherit;}

  .ra2-preview ul{list-style:none;}

  .ra2-preview button{font-family:inherit;}

  .ra2-preview .container{max-width:1240px;margin:0 auto;padding:0 24px;}

  .ra2-preview .section{padding:64px 0;}

  .ra2-preview .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
    color:var(--brand-1);background:#FFF0EA;
    padding:7px 14px;border-radius:100px;margin-bottom:16px;
  }

  .ra2-preview .eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand-1);}

  .ra2-preview .section-head{text-align:center;max-width:660px;margin:0 auto 40px;}

  .ra2-preview .section-head h2{font-size:clamp(26px,3.4vw,38px);}

  .ra2-preview .section-head p{color:var(--ink-soft);margin-top:12px;font-size:15.5px;line-height:1.7;}

  .ra2-preview .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    border:none;cursor:pointer;font-weight:700;font-size:15px;
    border-radius:100px;padding:15px 28px;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  }

  .ra2-preview .btn-primary{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);}

  .ra2-preview .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}

  .ra2-preview .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}

  .ra2-preview .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;}

  .ra2-preview .btn-block{width:100%;}


  /* Header: intentionally omitted — this page reuses the shared site header
     (front/header.blade.php) instead of porting the static design's own
     <header>, matching the .rc-preview/.pd-preview convention. */

  /* ---------- Hero ---------- */
  .ra2-preview .hero{position:relative;overflow:hidden;padding:52px 0 56px;}

  .ra2-preview .hero-glow{
    position:absolute;inset:-20% -10% auto -10%;height:720px;z-index:0;pointer-events:none;
    background:
      radial-gradient(620px 340px at 12% 8%, rgba(255,90,54,.16), transparent 62%),
      radial-gradient(560px 320px at 88% 4%, rgba(23,27,51,.10), transparent 62%);
  }

  .ra2-preview .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}

  .ra2-preview .hero h1{font-size:clamp(34px,4.6vw,54px);line-height:1.08;color:var(--navy);}

  .ra2-preview .hero h1 .accent{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent;}

  .ra2-preview .hero .lede{color:var(--ink-soft);font-size:16.5px;line-height:1.75;margin-top:18px;max-width:520px;}

  .ra2-preview .hero-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px;}

  .ra2-preview .price-inline{display:flex;flex-direction:column;line-height:1.3;}

  .ra2-preview .price-inline strong{font-family:var(--lr-font);font-size:22px;color:var(--navy);font-weight:600;font-variant-numeric:tabular-nums;}

  .ra2-preview .price-inline span{font-size:12.5px;color:var(--ink-soft);font-weight:600;}

  .ra2-preview .price-inline em{font-style:normal;text-decoration:line-through;color:#A5A7B5;margin-right:8px;font-size:15px;}


  .ra2-preview .trust-row{display:flex;align-items:center;gap:14px;margin-top:26px;flex-wrap:wrap;}

  .ra2-preview .avatars{display:flex;}

  .ra2-preview .avatars i{
    width:32px;height:32px;border-radius:50%;border:2px solid #fff;margin-left:-9px;
    display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:800;font-style:normal;
  }

  .ra2-preview .avatars i:first-child{margin-left:0;}

  .ra2-preview .trust-row .txt{font-size:13.5px;color:var(--ink-soft);font-weight:600;line-height:1.5;}

  .ra2-preview .trust-row .txt b{color:var(--ink);}

  .ra2-preview .stars{color:var(--gold);letter-spacing:1px;font-size:12px;}


  /* Hero document card */
  .ra2-preview .doc-stage{position:relative;display:flex;justify-content:center;}

  .ra2-preview .doc-card{
    position:relative;width:100%;max-width:400px;background:#fff;border:1px solid var(--line);
    border-radius:24px;box-shadow:var(--shadow);padding:26px;transform:rotate(-1.4deg);
  }

  .ra2-preview .doc-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px dashed var(--line);}

  .ra2-preview .doc-head .t{font-family:var(--lr-font);font-size:17px;font-weight:700;}

  .ra2-preview .doc-head .badge{font-size:10px;font-weight:800;letter-spacing:.08em;color:#0B9C77;background:#E8FBF4;padding:5px 10px;border-radius:100px;}

  .ra2-preview .doc-lines{margin-top:18px;display:grid;gap:9px;}

  .ra2-preview .doc-lines i{display:block;height:9px;border-radius:100px;background:var(--surface);}

  .ra2-preview .doc-lines i:nth-child(2){width:88%;}

  .ra2-preview .doc-lines i:nth-child(4){width:72%;}

  .ra2-preview .doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;}

  .ra2-preview .doc-meta div{background:var(--surface);border-radius:12px;padding:11px 13px;}

  .ra2-preview .doc-meta small{display:block;font-size:10.5px;color:#9A9CAB;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}

  .ra2-preview .doc-meta b{font-size:13.5px;}

  .ra2-preview .doc-sign{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:22px;padding-top:18px;border-top:1px dashed var(--line);}

  .ra2-preview .sign-slot{flex:1;}

  .ra2-preview .sign-slot .scribble{font-family:var(--lr-font);font-style:italic;font-size:19px;color:var(--navy);}

  .ra2-preview .sign-slot small{display:block;font-size:10.5px;color:#9A9CAB;font-weight:700;margin-top:4px;}

  .ra2-preview .stamp{
    width:74px;height:74px;border-radius:50%;border:2px dashed var(--brand-1);color:var(--brand-1);
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
    font-size:9px;font-weight:800;letter-spacing:.06em;line-height:1.35;transform:rotate(-10deg);flex:none;
  }

  .ra2-preview .stamp b{font-size:14px;font-family:var(--lr-font);font-weight:600;font-variant-numeric:tabular-nums;}

  .ra2-preview .doc-float{
    position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;
    box-shadow:var(--shadow);padding:11px 15px;display:flex;align-items:center;gap:10px;
    font-size:12.5px;font-weight:700;
  }

  .ra2-preview .doc-float small{display:block;font-size:10.5px;color:var(--ink-soft);font-weight:600;}

  .ra2-preview .doc-float .ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:none;}

  .ra2-preview .float-a{top:-26px;right:-34px;animation:ra2Bob 5s ease-in-out infinite;}

  .ra2-preview .float-b{bottom:-28px;left:-38px;animation:ra2Bob 5s ease-in-out infinite .8s;}

  @keyframes ra2Bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}


  /* ---------- Marquee trust strip ---------- */
  .ra2-preview .strip{background:var(--navy);color:#fff;overflow:hidden;padding:16px 0;}

  .ra2-preview .strip-track{display:flex;gap:44px;white-space:nowrap;animation:ra2Slide 26s linear infinite;width:max-content;}

  .ra2-preview .strip-track span{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:#D6D8E8;}

  .ra2-preview .strip-track span svg{color:var(--brand-2);flex:none;}

  @keyframes ra2Slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}


  /* ---------- Builder ---------- */
  .ra2-preview .builder{background:var(--surface);}

  .ra2-preview .builder-grid{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start;}

  .ra2-preview .panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;}

  .ra2-preview .panel + .panel{margin-top:20px;}

  .ra2-preview .panel-title{display:flex;align-items:center;gap:12px;margin-bottom:6px;}

  .ra2-preview .panel-title h3{font-size:18px;font-weight:700;}

  .ra2-preview .panel-sub{font-size:13.5px;color:var(--ink-soft);margin-bottom:20px;line-height:1.6;}


  .ra2-preview .base-plan{
    display:flex;align-items:center;gap:16px;border:2px solid var(--brand-1);background:#FFF7F4;
    border-radius:16px;padding:18px;
  }

  .ra2-preview .base-plan .tick{width:24px;height:24px;border-radius:50%;background:var(--brand-1);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;}

  .ra2-preview .base-plan .bp-body{flex:1;}

  .ra2-preview .base-plan h4{font-size:15.5px;font-weight:700;}

  .ra2-preview .base-plan p{font-size:13px;color:var(--ink-soft);margin-top:4px;line-height:1.6;}

  .ra2-preview .base-plan .bp-price{font-family:var(--lr-font);font-size:19px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;}

  .ra2-preview .incl-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin-top:20px;}

  .ra2-preview .incl-list li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--ink-soft);line-height:1.55;}

  .ra2-preview .incl-list svg{color:var(--mint);flex:none;margin-top:2px;}


  /* Summary */
  .ra2-preview .summary{position:sticky;top:92px;background:var(--navy);color:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);}

  .ra2-preview .summary h3{font-size:16px;font-weight:700;margin-bottom:4px;}

  .ra2-preview .summary .s-sub{font-size:12.5px;color:#9EA2C0;margin-bottom:20px;}

  .ra2-preview .s-row{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13.5px;padding:9px 0;color:#D6D8E8;}

  .ra2-preview .s-row .lbl{display:flex;align-items:center;gap:8px;}

  .ra2-preview .s-row b{font-family:var(--lr-font);font-weight:600;color:#fff;font-variant-numeric:tabular-nums;}

  .ra2-preview .s-div{height:1px;background:rgba(255,255,255,.1);margin:12px 0;}

  .ra2-preview .s-total{display:flex;align-items:flex-end;justify-content:space-between;margin-top:6px;}

  .ra2-preview .s-total span{font-size:13px;color:#9EA2C0;font-weight:600;}

  .ra2-preview .s-total strong{font-family:var(--lr-font);font-size:30px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;}

  .ra2-preview .s-gst{font-size:11.5px;color:#7B7DA0;margin-top:6px;}

  .ra2-preview .summary .btn{margin-top:20px;}

  .ra2-preview .s-note{display:flex;align-items:center;gap:8px;justify-content:center;font-size:11.5px;color:#9EA2C0;margin-top:14px;}

  .ra2-preview .s-note svg{color:var(--mint);flex:none;}


  /* ---------- Steps timeline ---------- */
  .ra2-preview .steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}

  .ra2-preview .steps::before{
    content:'';position:absolute;top:34px;left:14%;right:14%;height:2px;
    background:repeating-linear-gradient(90deg,var(--line) 0 8px,transparent 8px 16px);
  }

  .ra2-preview .step{position:relative;text-align:center;}

  .ra2-preview .step .ring{
    width:68px;height:68px;border-radius:50%;margin:0 auto 20px;background:#fff;
    border:1px solid var(--line);box-shadow:var(--shadow-sm);
    display:flex;align-items:center;justify-content:center;color:var(--brand-1);position:relative;z-index:2;
  }

  .ra2-preview .step .n{
    position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;
    background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;border:2px solid #fff;
  }

  .ra2-preview .step h4{font-size:16.5px;font-weight:700;}

  .ra2-preview .step p{font-size:14px;color:var(--ink-soft);line-height:1.7;margin-top:8px;max-width:290px;margin-inline:auto;}

  .ra2-preview .step .eta{display:inline-block;margin-top:12px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-1);background:#FFF0EA;padding:5px 12px;border-radius:100px;}


  /* ---------- Promise cards ---------- */
  .ra2-preview .promise{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

  .ra2-preview .promise-dots{display:none;}

  .ra2-preview .p-card{
    border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }

  .ra2-preview .p-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#DFE0EA;}

  .ra2-preview .p-card .ic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}

  .ra2-preview .p-card h4{font-size:17px;font-weight:700;}

  .ra2-preview .p-card p{font-size:14px;color:var(--ink-soft);line-height:1.7;margin-top:9px;}

  .ra2-preview .p-card .metric{margin-top:16px;font-family:var(--lr-font);font-size:13px;color:var(--brand-1);font-weight:600;font-variant-numeric:tabular-nums;}


  /* ---------- Documents ---------- */
  .ra2-preview .docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}

  .ra2-preview .doc-col{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff;}

  .ra2-preview .doc-col h4{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;margin-bottom:16px;}

  .ra2-preview .doc-col h4 .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;}

  .ra2-preview .doc-col li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--ink-soft);padding:10px 0;border-top:1px solid var(--line);line-height:1.6;}

  .ra2-preview .doc-col li:first-of-type{border-top:none;}

  .ra2-preview .doc-col li svg{color:var(--brand-1);flex:none;margin-top:3px;}

  .ra2-preview .docs-note{
    margin-top:20px;display:flex;align-items:flex-start;gap:12px;background:#FFFBEB;border:1px solid #FCEBB6;
    border-radius:16px;padding:16px 18px;font-size:13.5px;color:#7A5B10;line-height:1.65;
  }

  .ra2-preview .docs-note svg{color:var(--gold);flex:none;margin-top:2px;}


  /* ---------- Help band ---------- */
  .ra2-preview .help{
    background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:26px;
    padding:40px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;color:#fff;
    position:relative;overflow:hidden;
  }

  .ra2-preview .help::after{
    content:'';position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;
    background:radial-gradient(circle, rgba(255,90,54,.28), transparent 65%);
  }

  .ra2-preview .help-copy{position:relative;z-index:2;}

  .ra2-preview .help h3{font-family:var(--lr-font);font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.02em;}

  .ra2-preview .help p{color:#B8BAD0;font-size:14.5px;line-height:1.7;margin-top:10px;max-width:460px;}

  .ra2-preview .help-actions{position:relative;z-index:2;display:flex;gap:12px;flex-wrap:wrap;}

  .ra2-preview .wa-btn{background:#25D366;color:#0B2E18;}

  .ra2-preview .wa-btn:hover{transform:translateY(-2px);}

  .ra2-preview .call-btn{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18);}

  .ra2-preview .call-btn:hover{background:rgba(255,255,255,.16);}


  /* ---------- FAQ ---------- */
  .ra2-preview .faq-wrap{max-width:820px;margin:0 auto;}

  .ra2-preview .faq-item{border:1px solid var(--line);border-radius:16px;margin-bottom:12px;background:#fff;overflow:hidden;transition:border-color .2s ease, box-shadow .2s ease;}

  .ra2-preview .faq-item.open{border-color:#DFE0EA;box-shadow:var(--shadow-sm);}

  .ra2-preview .faq-q{
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    padding:19px 22px;cursor:pointer;font-size:15.5px;font-weight:600;
  }

  .ra2-preview .faq-q .pm{
    width:28px;height:28px;border-radius:50%;background:var(--surface);color:var(--ink);
    display:flex;align-items:center;justify-content:center;flex:none;font-size:16px;font-weight:600;transition:.22s;
  }

  .ra2-preview .faq-item.open .pm{background:var(--brand-1);color:#fff;transform:rotate(180deg);}

  .ra2-preview .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}

  .ra2-preview .faq-a p{padding:0 22px 20px;font-size:14.5px;color:var(--ink-soft);line-height:1.75;}


  /* Footer: intentionally omitted, same as the header — this page relies on
     the shared front.footer include instead of the design's own <footer>. */

  /* ---------- Sticky mobile CTA ---------- */
  .ra2-preview .mobile-bar{
    position:fixed;left:0;right:0;bottom:0;z-index:95;display:none;
    background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
    border-top:1px solid var(--line);padding:12px 18px calc(12px + env(safe-area-inset-bottom));
    align-items:center;justify-content:space-between;gap:14px;
    box-shadow:0 -8px 24px -14px rgba(18,18,26,.25);
  }

  .ra2-preview .mobile-bar .mb-price{line-height:1.25;}

  .ra2-preview .mobile-bar .mb-price strong{font-family:var(--lr-font);font-size:19px;display:block;font-weight:600;font-variant-numeric:tabular-nums;}

  .ra2-preview .mobile-bar .mb-price span{font-size:11px;color:var(--ink-soft);font-weight:600;}

  .ra2-preview .mobile-bar .btn{padding:13px 24px;font-size:14px;}


  .ra2-preview .to-top{
    position:fixed;bottom:24px;right:24px;width:46px;height:46px;border-radius:50%;
    background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;
    cursor:pointer;box-shadow:0 12px 26px -8px rgba(0,0,0,.4);
    opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:90;
  }

  .ra2-preview .to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}


  .ra2-preview .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease;}

  .ra2-preview .reveal.in{opacity:1;transform:translateY(0);}


/* ---------------------------------------------------------------
   Details/form page — .ra2d-preview (ported from new design/rent-agreement-details.html)
   --------------------------------------------------------------- */
  .ra2d-preview{
    --ink:#12121A;
    --ink-soft:#5B5D6B;
    --line:#E9E9EF;
    --surface:#F6F6F9;
    --card:#FFFFFF;
    --brand-1:#FF5A36;
    --brand-2:#FF8A3D;
    --navy:#0E1224;
    --navy-2:#171B33;
    --mint:#12D6A3;
    --gold:#FFB020;
    --danger:#E23D3D;
    --radius:20px;
    --shadow:0 20px 50px -20px rgba(18,18,26,.18);
    --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
  }

  .ra2d-preview, .ra2d-preview *{box-sizing:border-box;margin:0;padding:0;}

  
  .ra2d-preview{
    font-family:var(--lr-font);
    color:var(--ink);background:var(--card);
    -webkit-font-smoothing:antialiased;
  }

  .ra2d-preview h1,.ra2d-preview h2,.ra2d-preview h3.serif{font-family:var(--lr-font);font-weight:700;letter-spacing:-.01em;}

  .ra2d-preview img{max-width:100%;display:block;}

  .ra2d-preview a{text-decoration:none;color:inherit;}

  .ra2d-preview ul{list-style:none;}

  .ra2d-preview button{font-family:inherit;}

  .ra2d-preview input,.ra2d-preview select,.ra2d-preview textarea{font-family:inherit;}

  .ra2d-preview .container{max-width:1240px;margin:0 auto;padding:0 24px;}

  .ra2d-preview .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    border:none;cursor:pointer;font-weight:700;font-size:15px;
    border-radius:100px;padding:15px 28px;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  }

  .ra2d-preview .btn-primary{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);}

  .ra2d-preview .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}

  .ra2d-preview .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;}

  .ra2d-preview .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}

  .ra2d-preview .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;}

  .ra2d-preview .btn-block{width:100%;}

  .ra2d-preview .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}


  /* Header: intentionally omitted — this page reuses the shared site header
     (front/header.blade.php) instead of porting the static design's own
     <header>, matching the .rc-preview/.pd-preview convention. */

  /* ---------- Orange banner ---------- */
  .ra2d-preview .ra-band{
    position:relative;overflow:hidden;color:#fff;text-align:center;
    background:linear-gradient(120deg,#FF4F26,#FF7A2F 52%,#FF9A3D);
    padding:44px 0 92px;
  }

  .ra2d-preview .ra-band::before{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:
      linear-gradient(112deg,
        rgba(255,255,255,.13) 0 14%, rgba(255,255,255,0) 14% 30%,
        rgba(255,255,255,.09) 30% 45%, rgba(255,255,255,0) 45% 63%,
        rgba(255,255,255,.11) 63% 76%, rgba(255,255,255,0) 76%);
  }

  .ra2d-preview .ra-band::after{
    content:'';position:absolute;left:50%;top:-160px;width:620px;height:340px;transform:translateX(-50%);
    background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.28), transparent 62%);pointer-events:none;
  }

  .ra2d-preview .ra-band .container{position:relative;z-index:2;}

  .ra2d-preview .band-back{
    display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;
    color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
    padding:8px 15px;border-radius:100px;margin-bottom:20px;
  }

  .ra2d-preview .band-back:hover{background:rgba(255,255,255,.26);}

  .ra2d-preview .ra-band h1{font-size:clamp(26px,3.9vw,40px);line-height:1.15;}

  .ra2d-preview .ra-band p.band-sub{font-size:15.5px;color:rgba(255,255,255,.9);margin-top:10px;font-weight:500;}


  /* progress rail */
  .ra2d-preview .rail{display:flex;align-items:center;justify-content:center;gap:0;margin-top:26px;flex-wrap:wrap;}

  .ra2d-preview .rail-step{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:rgba(255,255,255,.72);}

  .ra2d-preview .rail-step .dot{
    width:26px;height:26px;border-radius:50%;flex:none;
    display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;
    border:1.5px solid rgba(255,255,255,.45);color:#fff;
  }

  .ra2d-preview .rail-step.done .dot{background:#fff;color:var(--brand-1);border-color:#fff;}

  .ra2d-preview .rail-step.now{color:#fff;}

  .ra2d-preview .rail-step.now .dot{background:var(--navy);border-color:var(--navy);box-shadow:0 6px 16px -6px rgba(0,0,0,.5);}

  .ra2d-preview .rail-line{width:56px;height:2px;margin:0 12px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 6px,transparent 6px 12px);flex:none;}


  /* ---------- Layout ---------- */
  .ra2d-preview .ra-wrap{background:var(--surface);padding:0 0 40px;}

  .ra2d-preview .ra-grid{
    display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start;
    margin-top:-64px;position:relative;z-index:5;
  }


  /* ---------- Form card ---------- */
  .ra2d-preview .form-card{
    background:var(--card);border:1px solid var(--line);border-radius:24px;
    box-shadow:var(--shadow);padding:30px;
  }

  .ra2d-preview .fc-head{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:24px;}

  .ra2d-preview .fc-head h2{font-size:22px;}

  .ra2d-preview .fc-head p{font-size:14px;color:var(--ink-soft);margin-top:7px;line-height:1.65;}


  .ra2d-preview .field{margin-bottom:26px;}

  .ra2d-preview .field:last-of-type{margin-bottom:0;}

  .ra2d-preview .f-label{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px;}

  .ra2d-preview .f-label strong{font-size:15px;font-weight:700;}

  .ra2d-preview .f-label em{font-style:normal;font-size:13px;color:var(--ink-soft);font-weight:500;}

  .ra2d-preview .f-label .req{color:var(--brand-1);font-weight:800;}

  .ra2d-preview .f-hint{font-size:12.5px;color:#8A8C9B;margin-top:9px;line-height:1.6;}


  /* dropzone */
  .ra2d-preview .drop{
    position:relative;border:1.6px dashed #D9DAE4;border-radius:16px;background:#FCFCFE;
    padding:26px 20px;text-align:center;cursor:pointer;
    transition:border-color .18s ease, background .18s ease, transform .18s ease;
  }

  .ra2d-preview .drop:hover{border-color:var(--brand-1);background:#FFF9F6;}

  .ra2d-preview .drop.over{border-color:var(--brand-1);background:#FFF3EE;transform:scale(1.005);}

  .ra2d-preview .drop .d-ic{
    width:44px;height:44px;border-radius:13px;margin:0 auto 12px;
    background:#FFF0EA;color:var(--brand-1);
    display:flex;align-items:center;justify-content:center;
  }

  .ra2d-preview .drop b{display:block;font-size:14.5px;font-weight:700;}

  .ra2d-preview .drop small{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:5px;line-height:1.55;}

  .ra2d-preview .drop small u{text-decoration:none;color:var(--brand-1);font-weight:700;}

  .ra2d-preview .field.err .drop{border-color:var(--danger);background:#FFF6F6;}


  /* thumbnails */
  .ra2d-preview .thumbs{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;}

  .ra2d-preview .thumbs:empty{display:none;}

  .ra2d-preview .thumb{
    position:relative;width:74px;height:74px;border-radius:12px;overflow:hidden;
    border:1px solid var(--line);background:var(--surface);flex:none;
    animation:ra2dPop .22s ease;
  }

  @keyframes ra2dPop{from{opacity:0;transform:scale(.88);}to{opacity:1;transform:scale(1);}}

  .ra2d-preview .thumb img{width:100%;height:100%;object-fit:cover;}

  .ra2d-preview .thumb .file-ic{
    width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:4px;color:var(--brand-1);font-size:9.5px;font-weight:800;letter-spacing:.06em;
  }

  .ra2d-preview .thumb .rm{
    position:absolute;top:0px;right:0px;width:22px;height:22px;border-radius:50%;
    background:var(--brand-1);color:#fff;border:2px solid #fff;cursor:pointer;
    display:flex;align-items:center;justify-content:center;padding:0;
    box-shadow:0 4px 10px -3px rgba(255,90,54,.6);
  }

  .ra2d-preview .thumb .rm:hover{background:#E8431F;}

  .ra2d-preview .thumb .tag{
    position:absolute;left:0;right:0;bottom:0;background:rgba(14,18,36,.72);color:#fff;
    font-size:9px;font-weight:800;letter-spacing:.07em;text-align:center;padding:3px 0;
  }

  .ra2d-preview .thumb-add{
    width:74px;height:74px;border-radius:12px;border:1.5px dashed #D9DAE4;background:#fff;
    display:flex;align-items:center;justify-content:center;color:var(--ink-soft);cursor:pointer;flex:none;
  }

  .ra2d-preview .thumb-add:hover{border-color:var(--brand-1);color:var(--brand-1);}


  .ra2d-preview .f-err{
    display:none;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--danger);margin-top:9px;
  }

  .ra2d-preview .field.err .f-err{display:flex;}

  .ra2d-preview .f-err svg{flex:none;}


  /* checkbox row */
  .ra2d-preview .checkline{
    display:flex;align-items:flex-start;gap:12px;cursor:pointer;
    border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;
    transition:border-color .18s ease, background .18s ease;
  }

  .ra2d-preview .checkline:hover{border-color:#D8D8E2;background:#FCFCFE;}

  .ra2d-preview .checkline.on{border-color:var(--brand-1);background:#FFF7F4;}

  .ra2d-preview .checkline input{position:absolute;opacity:0;pointer-events:none;}

  .ra2d-preview .checkline .box{
    width:20px;height:20px;border-radius:6px;border:1.6px solid #C9CAD6;background:#fff;flex:none;
    display:flex;align-items:center;justify-content:center;color:#fff;margin-top:1px;transition:.18s;
  }

  .ra2d-preview .checkline.on .box{background:var(--brand-1);border-color:var(--brand-1);}

  .ra2d-preview .checkline .box svg{opacity:0;transition:.18s;}

  .ra2d-preview .checkline.on .box svg{opacity:1;}

  .ra2d-preview .checkline .ct{font-size:14px;font-weight:600;line-height:1.55;}

  .ra2d-preview .checkline .ct span{color:var(--ink-soft);font-weight:500;}

  .ra2d-preview .checkline .ct small{display:block;font-size:12.5px;color:var(--ink-soft);font-weight:500;margin-top:4px;line-height:1.55;}


  .ra2d-preview .collapse{max-height:0;overflow:hidden;transition:max-height .3s ease;}

  .ra2d-preview .collapse.open{max-height:600px;}

  .ra2d-preview .collapse-inner{padding-top:14px;}


  /* inputs */
  .ra2d-preview .input-wrap{position:relative;}

  .ra2d-preview .input-wrap>svg.lead{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#9A9CAB;pointer-events:none;}

  .ra2d-preview .ctrl{
    width:100%;height:52px;border:1px solid var(--line);border-radius:14px;background:#fff;
    font-size:14.5px;font-weight:600;color:var(--ink);padding:0 16px;
    transition:border-color .18s ease, box-shadow .18s ease;appearance:none;
  }

  .ra2d-preview .ctrl::placeholder{color:#A5A7B5;font-weight:500;}

  .ra2d-preview .ctrl:focus{outline:none;border-color:var(--brand-1);box-shadow:0 0 0 4px rgba(255,90,54,.12);}

  .ra2d-preview .ctrl.has-lead{padding-left:44px;}

  .ra2d-preview select.ctrl{
    cursor:pointer;padding-right:44px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%235B5D6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 16px center;
  }

  .ra2d-preview select.ctrl.placeholder{color:#A5A7B5;font-weight:500;}

  .ra2d-preview input[type=date].ctrl{cursor:pointer;}

  .ra2d-preview input[type=date].ctrl::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;}

  .ra2d-preview input[type=date].ctrl:invalid{color:#A5A7B5;}

  .ra2d-preview .field.err .ctrl{border-color:var(--danger);}

  .ra2d-preview .field.err .ctrl:focus{box-shadow:0 0 0 4px rgba(226,61,61,.12);}


  .ra2d-preview .two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;}


  .ra2d-preview .end-note{
    display:none;align-items:center;gap:8px;margin-top:10px;
    font-size:12.5px;font-weight:700;color:#0B9C77;background:#E8FBF4;
    border-radius:100px;padding:7px 13px;width:fit-content;
  }

  .ra2d-preview .end-note.show{display:flex;}


  .ra2d-preview .secure-note{
    display:flex;align-items:flex-start;gap:11px;margin-top:26px;
    background:var(--surface);border:1px solid var(--line);border-radius:16px;
    padding:15px 17px;font-size:12.5px;color:var(--ink-soft);line-height:1.65;
  }

  .ra2d-preview .secure-note svg{color:var(--mint);flex:none;margin-top:2px;}

  .ra2d-preview .secure-note b{color:var(--ink);}


  .ra2d-preview .fc-foot{margin-top:26px;padding-top:24px;border-top:1px solid var(--line);}

  .ra2d-preview .fc-foot .terms{font-size:12px;color:#8A8C9B;text-align:center;margin-top:13px;line-height:1.6;}

  .ra2d-preview .fc-foot .terms a{color:var(--brand-1);font-weight:700;}


  /* spinner */
  .ra2d-preview .spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:ra2dSpin .7s linear infinite;}

  @keyframes ra2dSpin{to{transform:rotate(360deg);}}


  /* ---------- Success ---------- */
  .ra2d-preview .success{display:none;text-align:center;padding:14px 6px 6px;}

  .ra2d-preview .success.show{display:block;animation:ra2dPop .32s ease;}

  .ra2d-preview .success .tick{
    width:76px;height:76px;border-radius:50%;margin:0 auto 20px;
    background:#E8FBF4;color:#0B9C77;display:flex;align-items:center;justify-content:center;
  }

  .ra2d-preview .success h2{font-size:24px;}

  .ra2d-preview .success p{font-size:14.5px;color:var(--ink-soft);line-height:1.7;margin-top:10px;max-width:420px;margin-inline:auto;}

  .ra2d-preview .ref-chip{
    display:inline-flex;align-items:center;gap:9px;margin-top:18px;
    font-family:var(--lr-font);font-size:14px;font-weight:600;
    background:var(--surface);border:1px dashed var(--line);border-radius:100px;padding:10px 18px;font-variant-numeric:tabular-nums;}

  .ra2d-preview .ref-chip span{font-family:var(--lr-font);font-size:11px;font-weight:800;letter-spacing:.07em;color:#9A9CAB;}

  .ra2d-preview .next-list{display:grid;gap:12px;margin:24px auto 4px;max-width:440px;text-align:left;}

  .ra2d-preview .next-list li{
    display:flex;align-items:flex-start;gap:11px;font-size:13.5px;color:var(--ink-soft);line-height:1.6;
    background:var(--surface);border-radius:14px;padding:13px 15px;
  }

  .ra2d-preview .next-list svg{color:var(--brand-1);flex:none;margin-top:2px;}

  .ra2d-preview .success-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px;}


  /* ---------- Sidebar ---------- */
  .ra2d-preview .side{display:flex;flex-direction:column;gap:18px;position:sticky;top:88px;}


  .ra2d-preview .summary{background:var(--navy);color:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);}

  .ra2d-preview .summary h3{font-size:16px;font-weight:700;margin-bottom:4px;}

  .ra2d-preview .summary .s-sub{font-size:12.5px;color:#9EA2C0;margin-bottom:20px;}

  .ra2d-preview .s-row{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13.5px;padding:9px 0;color:#D6D8E8;}

  .ra2d-preview .s-row b{font-family:var(--lr-font);font-weight:600;color:#fff;font-variant-numeric:tabular-nums;}

  .ra2d-preview .s-div{height:1px;background:rgba(255,255,255,.1);margin:12px 0;}

  .ra2d-preview .s-total{display:flex;align-items:flex-end;justify-content:space-between;margin-top:6px;}

  .ra2d-preview .s-total span{font-size:13px;color:#9EA2C0;font-weight:600;}

  .ra2d-preview .s-total strong{font-family:var(--lr-font);font-size:30px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;}

  .ra2d-preview .s-gst{font-size:11.5px;color:#7B7DA0;margin-top:6px;}

  .ra2d-preview .s-note{display:flex;align-items:center;gap:8px;justify-content:center;font-size:11.5px;color:#9EA2C0;margin-top:18px;}

  .ra2d-preview .s-note svg{color:var(--mint);flex:none;}


  .ra2d-preview .track{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;}

  .ra2d-preview .track h4{font-size:14.5px;font-weight:700;margin-bottom:4px;}

  .ra2d-preview .track .t-sub{font-size:12.5px;color:var(--ink-soft);margin-bottom:16px;}

  .ra2d-preview .t-bar{height:8px;background:var(--surface);border-radius:100px;overflow:hidden;margin-bottom:18px;}

  .ra2d-preview .t-fill{height:100%;width:0;border-radius:100px;background:linear-gradient(90deg,var(--brand-1),var(--brand-2));transition:width .35s ease;}

  .ra2d-preview .t-item{display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:600;color:var(--ink-soft);padding:8px 0;}

  .ra2d-preview .t-item .tk{
    width:22px;height:22px;border-radius:50%;flex:none;border:1.5px solid var(--line);
    display:flex;align-items:center;justify-content:center;color:#C9CAD6;background:#fff;transition:.2s;
  }

  .ra2d-preview .t-item.done{color:var(--ink);}

  .ra2d-preview .t-item.done .tk{background:var(--mint);border-color:var(--mint);color:#fff;}


  .ra2d-preview .help-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;}

  .ra2d-preview .help-card h4{font-size:14.5px;font-weight:700;}

  .ra2d-preview .help-card p{font-size:12.5px;color:var(--ink-soft);line-height:1.65;margin-top:6px;}

  .ra2d-preview .help-card .btn{margin-top:14px;padding:12px 20px;font-size:13.5px;width:100%;}

  .ra2d-preview .wa-btn{background:#25D366;color:#0B2E18;}

  .ra2d-preview .wa-btn:hover{transform:translateY(-2px);}


  /* Footer: intentionally omitted, same as the header — this page relies on
     the shared front.footer include instead of the design's own <footer>. */

  /* ---------- Sticky mobile bar ---------- */
  .ra2d-preview .mobile-bar{
    position:fixed;left:0;right:0;bottom:0;z-index:95;display:none;
    background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
    border-top:1px solid var(--line);padding:12px 18px calc(12px + env(safe-area-inset-bottom));
    align-items:center;justify-content:space-between;gap:14px;
    box-shadow:0 -8px 24px -14px rgba(18,18,26,.25);
  }

  .ra2d-preview .mobile-bar .mb-price{line-height:1.25;}

  .ra2d-preview .mobile-bar .mb-price strong{font-family:var(--lr-font);font-size:19px;display:block;font-weight:600;font-variant-numeric:tabular-nums;}

  .ra2d-preview .mobile-bar .mb-price span{font-size:11px;color:var(--ink-soft);font-weight:600;}

  .ra2d-preview .mobile-bar .btn{padding:13px 24px;font-size:14px;}


  /* ---------- Toast ---------- */
  .ra2d-preview .toast{
    position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);z-index:200;
    background:var(--navy);color:#fff;border-radius:14px;padding:13px 20px;
    font-size:13.5px;font-weight:600;box-shadow:0 18px 40px -14px rgba(0,0,0,.5);
    display:flex;align-items:center;gap:10px;opacity:0;pointer-events:none;transition:.25s;
    max-width:calc(100% - 36px);
  }

  .ra2d-preview .toast.show{opacity:1;transform:translate(-50%,0);}

  .ra2d-preview .toast svg{flex:none;color:var(--brand-2);}


  .ra2d-preview .reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease, transform .5s ease;}

  .ra2d-preview .reveal.in{opacity:1;transform:translateY(0);}

/* ================================================================
   POST PROPERTY WIZARD (live) — Rent/Flatmate + Buy/Sell posting flow.
   Merged from post-property-v2.css. Scoped under .pp2-preview.
   ================================================================ */
/* ==================================================================
   POST PROPERTY WIZARD (rentz4.0 port), scoped under .pp2-preview,
   following the same .rc-preview/.pd-preview/.ra2-preview/.pid-preview
   scoping convention used elsewhere. This is the live post-property flow.
   ================================================================== */

.pp2-preview{
  --ink:#12121A;
  --ink-soft:#5B5D6B;
  --muted:#9A9CAB;
  --line:#E9E9EF;
  --surface:#F6F6F9;
  --card:#FFFFFF;
  --brand-1:#FF5A36;
  --brand-2:#FF8A3D;
  --brand-tint:#FFF0EA;
  --navy:#0E1224;
  --navy-2:#171B33;
  --mint:#12D6A3;
  --gold:#FFB020;
  --danger:#E5484D;
  --wa:#25D366;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.16);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.14);
}
.pp2-preview, .pp2-preview *{box-sizing:border-box;margin:0;padding:0;}
.pp2-preview{
  font-family:var(--lr-font);
  color:var(--ink);background:var(--surface);
  -webkit-font-smoothing:antialiased;
}
.pp2-preview h1,.pp2-preview h2,.pp2-preview h3.serif{font-family:var(--lr-font);font-weight:700;letter-spacing:-.01em;}
.pp2-preview img{max-width:100%;display:block;}
.pp2-preview a{text-decoration:none;color:inherit;}
.pp2-preview ul{list-style:none;}
.pp2-preview button,.pp2-preview input,.pp2-preview select,.pp2-preview textarea{font-family:inherit;}
.pp2-preview :focus-visible{outline:2px solid var(--brand-1);outline-offset:3px;border-radius:6px;}
.pp2-preview.locked{overflow:hidden;}

/* ---------- Slim flow header ---------- */
.pp2-preview .flow-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line);}
.pp2-preview .flow-header .inner{
  max-width:1240px;margin:0 auto;padding:12px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.pp2-preview .flow-header .logo img{height:36px;}
.pp2-preview .avatar-btn{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft);
  transition:border-color .18s ease, background .18s ease, color .18s ease;
}
.pp2-preview .avatar-btn:hover{border-color:#D8D8E2;background:#FAFAFC;color:var(--ink);}

/* ---------- Flow shell ---------- */
.pp2-preview .flow{padding:34px 20px 70px;}
.pp2-preview .flow-wrap{max-width:720px;margin:0 auto;}

/* ---------- Stepper ---------- */
.pp2-preview .stepper{display:flex;align-items:flex-start;justify-content:center;margin-bottom:30px;flex-wrap:wrap;}
.pp2-preview .stp{position:relative;display:flex;flex-direction:column;align-items:center;width:150px;text-align:center;}
.pp2-preview .stepper.steps-4 .stp{width:132px;}
.pp2-preview .stp + .stp::before{
  content:'';position:absolute;top:15px;height:2px;background:#E2E2EA;border-radius:2px;
  left:calc(-50% + 20px);right:calc(50% + 20px);
}
.pp2-preview .stp.done + .stp::before,.pp2-preview .stp.now + .stp::before{background:linear-gradient(90deg,var(--brand-1),var(--brand-2));}
.pp2-preview .stp .node{
  position:relative;z-index:1;width:30px;height:30px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:1.6px solid #DDDDE6;color:transparent;
  transition:all .22s ease;
}
.pp2-preview .stp.done .node,.pp2-preview .stp.now .node{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  border-color:transparent;color:#fff;
  box-shadow:0 10px 20px -8px rgba(255,90,54,.65);
}
.pp2-preview .stp b{display:block;font-size:12.5px;font-weight:800;margin-top:9px;color:var(--muted);}
.pp2-preview .stp small{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-top:2px;}
.pp2-preview .stp.done b,.pp2-preview .stp.now b{color:var(--ink);}
.pp2-preview .stp.done small,.pp2-preview .stp.now small{color:var(--ink-soft);}
.pp2-preview .stp.done{cursor:pointer;}

/* ---------- Card ---------- */
.pp2-preview .card{background:var(--card);border-radius:24px;box-shadow:var(--shadow);padding:38px 40px 34px;}
.pp2-preview .card-inner{max-width:470px;margin:0 auto;}
.pp2-preview .card-inner.wide{max-width:520px;}
.pp2-preview .card-title{text-align:center;margin-bottom:26px;}
.pp2-preview .card-title h1{
  font-family:var(--lr-font);font-size:24px;font-weight:800;letter-spacing:-.01em;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.pp2-preview .card-title p{font-size:13.5px;color:var(--ink-soft);margin-top:5px;font-weight:500;line-height:1.6;}

/* ---------- Section heads (sell-details) ---------- */
.pp2-preview .sect{margin:26px 0 14px;}
.pp2-preview .sect h2{font-size:14px;font-weight:800;color:var(--ink);}
.pp2-preview .sect p{font-size:12px;color:var(--muted);font-weight:600;margin-top:3px;}

/* ---------- Notched fields ---------- */
.pp2-preview .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pp2-preview .field{position:relative;margin-bottom:16px;}
.pp2-preview .field > .lbl{
  position:absolute;top:-7px;left:13px;z-index:2;
  background:#fff;padding:0 6px;
  font-size:11.5px;font-weight:600;color:var(--ink-soft);letter-spacing:.01em;
  transition:color .18s ease;
}
.pp2-preview .field:focus-within > .lbl{color:var(--brand-1);}
.pp2-preview .ctrl{
  width:100%;height:48px;border:1.4px solid var(--line);border-radius:12px;
  padding:0 14px;font-size:13.5px;font-weight:600;color:var(--ink);background:#fff;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.pp2-preview .ctrl::placeholder{color:#B9BAC5;font-weight:500;}
.pp2-preview .ctrl:hover{border-color:#DCDCE6;}
.pp2-preview .ctrl:focus{outline:none;border-color:var(--brand-1);box-shadow:0 0 0 3px rgba(255,90,54,.10);}
.pp2-preview textarea.ctrl{height:auto;min-height:104px;padding:14px;line-height:1.6;resize:vertical;}
.pp2-preview select.ctrl{
  appearance:none;cursor:pointer;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%235B5D6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;
}
.pp2-preview select.ctrl.placeholder{color:#B9BAC5;font-weight:500;}
.pp2-preview input[type=date].ctrl{cursor:pointer;color:var(--ink-soft);}
.pp2-preview input[type=date].ctrl::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;}
.pp2-preview .field.has-icon .ctrl{padding-left:38px;}
.pp2-preview .field .f-ic{
  position:absolute;left:13px;top:50%;transform:translateY(-50%);
  color:var(--muted);pointer-events:none;display:flex;
}
.pp2-preview .field.has-prefix .ctrl{padding-left:42px;}
.pp2-preview .field .prefix{
  position:absolute;left:0;top:1.4px;bottom:1.4px;width:34px;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;color:var(--ink-soft);
  border-right:1px solid var(--line);pointer-events:none;
}
.pp2-preview .field.has-suffix .ctrl{padding-right:58px;}
.pp2-preview .field .suffix{
  position:absolute;right:1.4px;top:1.4px;bottom:1.4px;width:52px;
  display:flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:700;color:var(--muted);
  border-left:1px solid var(--line);pointer-events:none;
}
.pp2-preview .combo .ctrl{padding-right:126px;}
.pp2-preview .combo .trail{position:absolute;right:5px;top:5px;bottom:5px;width:112px;}
.pp2-preview .combo .trail select{
  width:100%;height:100%;border:1px solid var(--line);border-radius:9px;background:#FAFAFC;
  font-size:12.5px;font-weight:700;color:var(--ink);appearance:none;cursor:pointer;padding:0 26px 0 11px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%235B5D6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 8px center;
}
.pp2-preview .combo .trail select:focus{outline:none;border-color:var(--brand-1);}
.pp2-preview .field .err{display:none;font-size:11.5px;font-weight:600;color:var(--brand-1);margin-top:6px;padding-left:2px;}
.pp2-preview .field.invalid .ctrl{border-color:var(--brand-1);background:#FFFBFA;}
.pp2-preview .field.invalid .err{display:block;}
.pp2-preview .price-words{display:none;font-size:12px;font-weight:700;color:var(--mint);margin-top:6px;padding-left:2px;}
.pp2-preview .price-words.show{display:block;}

/* ---------- GPS row (sell-location) ---------- */
.pp2-preview .gps{
  position:relative;display:flex;align-items:flex-start;gap:11px;width:100%;
  background:none;border:none;cursor:pointer;text-align:left;
  padding:2px 0;margin:-4px 0 20px;
}
.pp2-preview .gps .dot{
  width:18px;height:18px;border-radius:50%;border:1.8px solid #CFCFDA;background:#fff;flex:none;
  margin-top:1px;display:flex;align-items:center;justify-content:center;
  transition:border-color .16s ease;
}
.pp2-preview .gps .dot::after{
  content:'';width:9px;height:9px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  transform:scale(0);transition:transform .2s cubic-bezier(.2,1.5,.4,1);
}
.pp2-preview .gps b{display:block;font-size:13px;font-weight:800;color:var(--brand-1);}
.pp2-preview .gps small{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-top:2px;}
.pp2-preview .gps.is-on .dot{border-color:var(--brand-1);}
.pp2-preview .gps.is-on .dot::after{transform:scale(1);}
.pp2-preview .gps[disabled]{cursor:progress;opacity:.7;}

/* ---------- Description + AI ---------- */
.pp2-preview .desc-wrap{position:relative;margin-bottom:8px;}
.pp2-preview .ai-btn{
  position:absolute;right:10px;bottom:10px;
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  background:var(--navy);color:#fff;border:none;border-radius:100px;
  font-size:11.5px;font-weight:700;padding:7px 13px;
  box-shadow:0 8px 18px -8px rgba(14,18,36,.6);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.pp2-preview .ai-btn:hover{transform:translateY(-1px);box-shadow:0 12px 22px -8px rgba(14,18,36,.65);}
.pp2-preview .ai-btn[disabled]{opacity:.6;cursor:progress;transform:none;}
.pp2-preview .counter{font-size:11.5px;color:var(--muted);font-weight:600;text-align:right;margin-bottom:22px;}

/* ---------- Radio/checkbox option rows (amenities, sell-amenities, sell-details) ---------- */
.pp2-preview .grp{margin:24px 0;}
.pp2-preview .grp:first-child{margin-top:0;}
.pp2-preview .grp > h2{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:12px;}
.pp2-preview .grp > h2 span{font-weight:600;color:var(--muted);font-size:12.5px;}
.pp2-preview .opts{display:flex;flex-wrap:wrap;gap:10px 22px;}
.pp2-preview .opt{
  position:relative;display:inline-flex;align-items:center;gap:9px;cursor:pointer;
  font-size:12.5px;font-weight:600;color:var(--ink-soft);
  padding:3px 0;transition:color .16s ease;
}
.pp2-preview .opt:hover{color:var(--ink);}
.pp2-preview .opt input{position:absolute;opacity:0;width:0;height:0;}
.pp2-preview .opt .box{
  width:17px;height:17px;border-radius:5px;border:1.6px solid #CFCFDA;background:#fff;flex:none;
  display:flex;align-items:center;justify-content:center;color:#fff;
  transition:background .16s ease, border-color .16s ease, transform .16s ease;
}
.pp2-preview .opt .box svg{transform:scale(.4);opacity:0;transition:transform .2s cubic-bezier(.2,1.5,.4,1), opacity .14s ease;}
.pp2-preview .opt input:checked ~ .box{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));border-color:transparent;}
.pp2-preview .opt input:checked ~ .box svg{transform:scale(1);opacity:1;}
.pp2-preview .opt .dot{
  width:17px;height:17px;border-radius:50%;border:1.6px solid #CFCFDA;background:#fff;flex:none;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .16s ease;
}
.pp2-preview .opt .dot::after{
  content:'';width:9px;height:9px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  transform:scale(0);transition:transform .2s cubic-bezier(.2,1.5,.4,1);
}
.pp2-preview .opt input:checked ~ .dot{border-color:var(--brand-1);}
.pp2-preview .opt input:checked ~ .dot::after{transform:scale(1);}
.pp2-preview .opt input:checked ~ .tx{color:var(--ink);font-weight:700;}
.pp2-preview .opt input:focus-visible ~ .box,.pp2-preview .opt input:focus-visible ~ .dot{outline:2px solid var(--brand-1);outline-offset:2px;}
.pp2-preview .opt .tx{transition:color .16s ease, font-weight .16s ease;}
.pp2-preview .opts.amen{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 14px;}
.pp2-preview .divider{height:1px;background:var(--line);margin:26px 0;border:0;}

/* ---------- Dropzone (photos) ---------- */
.pp2-preview .drop{
  display:block;position:relative;border:1.6px dashed #D6D6E0;border-radius:16px;
  padding:32px 24px;text-align:center;cursor:pointer;background:#FCFCFD;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.pp2-preview .drop:hover{border-color:var(--brand-1);background:#FFFAF8;}
.pp2-preview .drop.drag{border-color:var(--brand-1);background:var(--brand-tint);transform:scale(1.01);}
.pp2-preview .drop input{display:none;}
.pp2-preview .drop .ic{
  width:46px;height:46px;margin:0 auto 10px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--brand-tint);color:var(--brand-1);
}
.pp2-preview .drop b{display:block;font-size:15px;font-weight:800;}
.pp2-preview .drop .sub{
  display:block;max-width:320px;margin:6px auto 0;
  font-size:12.5px;color:var(--ink-soft);line-height:1.65;font-weight:500;
}
.pp2-preview .drop .sub u{color:var(--brand-1);font-weight:700;text-decoration:none;}
.pp2-preview .drop .sub u:hover{text-decoration:underline;}
.pp2-preview .drop .push{
  display:inline-block;margin-top:12px;padding:6px 14px;border-radius:100px;
  background:var(--brand-tint);font-size:11.5px;font-weight:700;color:var(--ink-soft);line-height:1.5;
}
.pp2-preview .drop .push em{font-style:normal;color:var(--brand-1);font-weight:800;}

.pp2-preview .thumbs{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px;}
.pp2-preview .thumbs:empty{display:none;}
.pp2-preview .thumb{
  position:relative;width:74px;height:56px;border-radius:9px;overflow:hidden;
  border:1px solid var(--line);background:var(--surface);
  animation:pp2Pop .28s cubic-bezier(.2,1.3,.4,1) both;
}
@keyframes pp2Pop{from{transform:scale(.7);opacity:0;}to{transform:scale(1);opacity:1;}}
.pp2-preview .thumb img{width:100%;height:100%;object-fit:cover;}
.pp2-preview .thumb .rm{
  position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;
  background:var(--brand-1);color:#fff;border:2px solid #fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 14px -6px rgba(255,90,54,.9);
  transition:transform .18s ease;
}
.pp2-preview .thumb .rm:hover{transform:scale(1.12) rotate(90deg);}
.pp2-preview .thumb .cover{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(180deg,transparent,rgba(14,18,36,.78));
  color:#fff;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:8px 5px 3px;text-align:center;
}
.pp2-preview .thumb:not(:first-child) .cover{display:none;}
.pp2-preview .meta{font-size:12px;color:var(--muted);font-weight:600;text-align:center;margin-top:14px;}
.pp2-preview .later{
  display:block;width:100%;background:none;border:none;cursor:pointer;
  font-size:13px;font-weight:700;color:var(--ink-soft);text-align:center;
  margin:24px 0 14px;transition:color .18s ease;
}
.pp2-preview .later:hover{color:var(--brand-1);}

/* ---------- Sharing-rent rooms (PG/Room) ---------- */
.pp2-preview .rooms{display:flex;flex-direction:column;gap:14px;}
.pp2-preview .room{
  border:1.4px solid var(--line);border-radius:18px;background:#FCFCFD;
  padding:18px 20px 16px;transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.pp2-preview .room:focus-within{border-color:var(--brand-1);background:#fff;box-shadow:0 12px 28px -18px rgba(255,90,54,.75);}
.pp2-preview .room.off{background:#F7F7FA;border-style:dashed;}
.pp2-preview .room-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.pp2-preview .room-head h2{font-size:15px;font-weight:800;letter-spacing:-.01em;}
.pp2-preview .room.off .room-head h2{color:var(--muted);}
.pp2-preview .tag{
  font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:4px 10px;border-radius:100px;background:var(--brand-tint);color:var(--brand-1);
}
.pp2-preview .room.off .tag{background:#EDEDF2;color:var(--muted);}
.pp2-preview .room .field{position:relative;}
.pp2-preview .room .field > label{
  position:absolute;top:-7px;left:14px;padding:0 6px;background:#FCFCFD;
  font-size:11px;font-weight:700;color:var(--ink-soft);transition:color .18s ease, background .18s ease;
}
.pp2-preview .room:focus-within .field > label{color:var(--brand-1);background:#fff;}
.pp2-preview .room.off .field > label{color:var(--muted);background:#F7F7FA;}
.pp2-preview .input-wrap{
  display:flex;align-items:center;gap:10px;
  border:1.4px solid #E4E4EC;border-radius:12px;background:#fff;padding:0 14px;height:46px;
  transition:border-color .18s ease, background .18s ease;
}
.pp2-preview .room:focus-within .input-wrap{border-color:var(--brand-1);}
.pp2-preview .room.off .input-wrap{background:#F2F2F6;border-color:#E4E4EC;}
.pp2-preview .input-wrap .rupee{
  font-size:15px;font-weight:800;color:var(--ink-soft);line-height:1;
  padding-right:10px;border-right:1.4px solid var(--line);
}
.pp2-preview .room.off .input-wrap .rupee{color:var(--muted);}
.pp2-preview .input-wrap input{flex:1;border:none;outline:none;background:transparent;font-size:16px;font-weight:700;color:var(--ink);width:100%;}
.pp2-preview .input-wrap input::placeholder{font-weight:500;color:var(--muted);}
.pp2-preview .input-wrap input::-webkit-outer-spin-button,
.pp2-preview .input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.pp2-preview .input-wrap input[type=number]{-moz-appearance:textfield;}
.pp2-preview .input-wrap .per{font-size:11.5px;font-weight:700;color:var(--muted);flex:none;}
.pp2-preview .room.err .input-wrap{border-color:var(--danger);background:#FFF7F7;}
.pp2-preview .room .hint{display:none;align-items:center;gap:5px;margin-top:7px;font-size:11.5px;font-weight:700;color:var(--danger);}
.pp2-preview .room.err .hint{display:flex;}
.pp2-preview .check{display:flex;align-items:center;gap:9px;margin-top:14px;cursor:pointer;user-select:none;}
.pp2-preview .check input{position:absolute;opacity:0;width:0;height:0;}
.pp2-preview .check .box{
  width:17px;height:17px;flex:none;border-radius:5px;border:1.6px solid #D2D2DC;background:#fff;
  display:flex;align-items:center;justify-content:center;color:transparent;
  transition:all .18s ease;
}
.pp2-preview .check input:checked + .box{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  border-color:transparent;color:#fff;
  box-shadow:0 7px 14px -7px rgba(255,90,54,.9);
}
.pp2-preview .check input:focus-visible + .box{outline:2px solid var(--brand-1);outline-offset:3px;}
.pp2-preview .check span{font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.pp2-preview .check:hover .box{border-color:var(--brand-1);}
.pp2-preview .room.off .check span{color:var(--ink);font-weight:700;}
.pp2-preview .rent-summary{
  display:none;align-items:center;gap:10px;margin-top:20px;
  background:var(--brand-tint);border-radius:14px;padding:13px 16px;
}
.pp2-preview .rent-summary.show{display:flex;}
.pp2-preview .rent-summary svg{flex:none;color:var(--brand-1);}
.pp2-preview .rent-summary p{font-size:12.5px;font-weight:600;color:var(--ink-soft);line-height:1.55;}
.pp2-preview .rent-summary p b{color:var(--ink);font-weight:800;}

/* ---------- Buttons ---------- */
.pp2-preview .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:700;font-size:14.5px;
  border-radius:100px;padding:14px 30px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.pp2-preview .btn-primary{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);}
.pp2-preview .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}
.pp2-preview .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.pp2-preview .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;}
.pp2-preview .btn-block{width:100%;}
.pp2-preview .btn[disabled]{opacity:.6;cursor:progress;transform:none;box-shadow:none;}
.pp2-preview .btn svg{transition:transform .18s ease;}
.pp2-preview .btn-primary:hover svg{transform:translateX(3px);}
.pp2-preview .actions{display:flex;justify-content:center;margin-top:8px;}
.pp2-preview .actions .btn{min-width:150px;}
.pp2-preview .back{
  display:inline-flex;align-items:center;gap:7px;margin-bottom:16px;
  font-size:13px;font-weight:700;color:var(--ink-soft);background:none;border:none;cursor:pointer;
  transition:color .18s ease;
}
.pp2-preview .back:hover{color:var(--ink);}
.pp2-preview .back svg{transition:transform .18s ease;}
.pp2-preview .back:hover svg{transform:translateX(-3px);}

/* ---------- Help card ---------- */
.pp2-preview .help{
  margin-top:22px;background:#fff;border-radius:20px;box-shadow:var(--shadow-sm);
  padding:20px 24px;display:flex;align-items:center;gap:16px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.pp2-preview .help:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.pp2-preview .help .wa{
  width:44px;height:44px;border-radius:50%;flex:none;background:var(--wa);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 22px -10px rgba(37,211,102,.9);
}
.pp2-preview .help b{display:block;font-size:15.5px;font-weight:800;}
.pp2-preview .help p{font-size:13px;color:var(--ink-soft);margin-top:3px;font-weight:500;}
.pp2-preview .help p span{font-weight:700;color:var(--ink);}
.pp2-preview .help-wrap{background:var(--surface);padding:0 20px 56px;}
.pp2-preview .help-wrap .help{max-width:720px;margin:0 auto;}

/* ---------- Toast ---------- */
.pp2-preview .toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);
  display:flex;align-items:center;gap:9px;z-index:400;
  background:var(--navy);color:#fff;font-size:13.5px;font-weight:700;
  padding:13px 20px;border-radius:100px;box-shadow:0 20px 44px -16px rgba(14,18,36,.6);
  opacity:0;pointer-events:none;transition:opacity .25s ease, transform .25s ease;
}
.pp2-preview .toast.show{opacity:1;transform:translate(-50%,0);}

/* ================= POPUP (type/intent picker) ================= */
.pp2-preview .pp-overlay{
  position:fixed;inset:0;z-index:300;
  background:rgba(14,18,36,.55);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:24px 20px;
  overflow-y:auto;
  opacity:0;pointer-events:none;transition:opacity .22s ease;
}
.pp2-preview .pp-overlay.show{opacity:1;pointer-events:auto;}
.pp2-preview .pp-card{
  position:relative;width:100%;max-width:660px;margin:auto;
  display:flex;flex-direction:column;max-height:calc(100vh - 48px);
  background:var(--card);border-radius:26px;
  box-shadow:0 40px 90px -28px rgba(14,18,36,.55);
  transform:translateY(16px) scale(.975);opacity:0;
  transition:transform .28s cubic-bezier(.2,.8,.3,1), opacity .28s ease;
  overflow:hidden;
}
@supports (height:100dvh){.pp2-preview .pp-card{max-height:calc(100dvh - 48px);}}
.pp2-preview .pp-overlay.show .pp-card{transform:translateY(0) scale(1);opacity:1;}
.pp2-preview .pp-close{
  position:absolute;top:18px;right:18px;z-index:3;
  width:34px;height:34px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--ink-soft);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.pp2-preview .pp-close:hover{background:var(--brand-1);border-color:var(--brand-1);color:#fff;transform:rotate(90deg);}
.pp2-preview .pp-head{padding:26px 32px 20px;border-bottom:1px solid var(--line);position:relative;flex:none;}
.pp2-preview .pp-head::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(420px 180px at 8% 0%, rgba(255,90,54,.10), transparent 65%);
}
.pp2-preview .pp-head .eyebrow{margin-bottom:12px;position:relative;}
.pp2-preview .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--brand-1);background:var(--brand-tint);
  padding:7px 14px;border-radius:100px;
}
.pp2-preview .eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand-1);}
.pp2-preview .pp-head h2{font-size:26px;line-height:1.2;color:var(--navy);position:relative;}
.pp2-preview .pp-head p{font-size:14px;color:var(--ink-soft);margin-top:7px;line-height:1.6;position:relative;}
.pp2-preview .pp-body{padding:22px 32px 16px;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;}
.pp2-preview .pp-body::-webkit-scrollbar{width:6px;}
.pp2-preview .pp-body::-webkit-scrollbar-thumb{background:#E2E2EA;border-radius:100px;}
.pp2-preview .pp-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9A9CAB;}
.pp2-preview .pp-block + .pp-block{margin-top:20px;padding-top:20px;border-top:1px dashed var(--line);}
.pp2-preview .pp-block h3{font-size:16px;font-weight:700;margin-top:9px;}
.pp2-preview .pp-block .hint{font-size:13px;color:var(--ink-soft);margin-top:4px;line-height:1.55;}

.pp2-preview .intent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;}
.pp2-preview .intent-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.pp2-preview .intent-grid.cols-1{grid-template-columns:1fr;max-width:280px;margin-left:auto;margin-right:auto;}
.pp2-preview .intent{
  position:relative;display:block;cursor:pointer;
  background:#fff;border:1.5px solid var(--line);border-radius:18px;
  padding:18px 14px 16px;text-align:center;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.pp2-preview .intent:hover{border-color:#D8D8E2;transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.pp2-preview .intent input{position:absolute;opacity:0;pointer-events:none;}
.pp2-preview .intent .ic{
  width:48px;height:48px;border-radius:15px;margin:0 auto 11px;
  display:flex;align-items:center;justify-content:center;
  background:var(--surface);color:var(--ink-soft);
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.pp2-preview .intent b{display:block;font-size:13.5px;font-weight:700;line-height:1.35;}
.pp2-preview .intent small{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:3px;font-weight:600;}
.pp2-preview .intent .tick{
  position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 18px -6px rgba(255,90,54,.7);
  transform:scale(.4);opacity:0;transition:transform .22s cubic-bezier(.2,1.4,.4,1), opacity .18s ease;
}
.pp2-preview .intent.is-on{
  border-color:var(--brand-1);background:linear-gradient(180deg,#FFF6F2,#fff);
  box-shadow:0 16px 34px -20px rgba(255,90,54,.6);
}
.pp2-preview .intent.is-on .ic{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;transform:scale(1.04);}
.pp2-preview .intent.is-on .tick{transform:scale(1);opacity:1;}
.pp2-preview .intent:focus-within{outline:2px solid var(--brand-1);outline-offset:3px;}

/* --- Single locked purpose banner (Flatmate-only "User" role popup) ---
   Used instead of .intent-grid when the logged-in account's user_type is
   'user' (tenant), since those accounts can only ever post a Flatmate
   listing — see $ppIsTenant in postProperty/popupInline.blade.php. */
.pp2-preview .intent-solo{
  position:relative;display:flex;align-items:center;gap:14px;margin-top:16px;
  border:1.5px solid var(--brand-1);border-radius:18px;padding:16px 18px;
  background:linear-gradient(120deg,#FFF6F2,#fff 70%);
  box-shadow:0 16px 34px -22px rgba(255,90,54,.6);
}
.pp2-preview .intent-solo input{position:absolute;opacity:0;pointer-events:none;}
.pp2-preview .intent-solo .ic{
  width:52px;height:52px;border-radius:16px;flex:none;
  display:flex;align-items:center;justify-content:center;color:#fff;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  box-shadow:0 12px 24px -12px rgba(255,90,54,.8);
}
.pp2-preview .intent-solo .txt{flex:1;min-width:0;}
.pp2-preview .intent-solo b{display:block;font-size:15.5px;font-weight:700;}
.pp2-preview .intent-solo small{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:3px;font-weight:600;line-height:1.5;}
.pp2-preview .intent-solo .tick{
  width:26px;height:26px;border-radius:50%;flex:none;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 18px -6px rgba(255,90,54,.7);
}

.pp2-preview .type-list{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
/* Only span the last row full-width when the item count is odd (2 per row,
   last row a single centered item). An even count stays 2-per-row throughout
   - see .pp2-preview .type-list.odd-count below. */
.pp2-preview .type-list.odd-count .type-row:last-child{grid-column:1 / -1;}
.pp2-preview .type-row{
  position:relative;display:flex;align-items:center;gap:12px;cursor:pointer;
  background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.pp2-preview .type-row:hover{border-color:#D8D8E2;background:#FCFCFD;}
.pp2-preview .type-row input{position:absolute;opacity:0;pointer-events:none;}
.pp2-preview .type-row .ic{
  width:38px;height:38px;border-radius:11px;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:var(--surface);color:var(--ink-soft);
  transition:background .16s ease, color .16s ease;
}
.pp2-preview .type-row .txt{flex:1;min-width:0;}
.pp2-preview .type-row b{display:block;font-size:14px;font-weight:700;}
.pp2-preview .type-row small{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:2px;line-height:1.45;}
.pp2-preview .type-row .dot{
  width:20px;height:20px;border-radius:50%;border:2px solid #D8D8E2;flex:none;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .16s ease;
}
.pp2-preview .type-row .dot::after{
  content:'';width:9px;height:9px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  transform:scale(0);transition:transform .2s cubic-bezier(.2,1.4,.4,1);
}
.pp2-preview .type-row.is-on{border-color:var(--brand-1);background:linear-gradient(90deg,#FFF6F2,#FFFDFC);}
.pp2-preview .type-row.is-on .ic{background:var(--brand-tint);color:var(--brand-1);}
.pp2-preview .type-row.is-on .dot{border-color:var(--brand-1);}
.pp2-preview .type-row.is-on .dot::after{transform:scale(1);}
.pp2-preview .type-row:focus-within{outline:2px solid var(--brand-1);outline-offset:2px;}
.pp2-preview .type-row[hidden]{display:none;}

.pp2-preview .pp-foot{
  padding:16px 32px 20px;border-top:1px solid var(--line);flex:none;
  background:linear-gradient(180deg,#fff,#FCFCFD);
}
.pp2-preview .pp-foot .btn{padding:16px 28px;}
.pp2-preview .pp-terms{font-size:12px;color:var(--ink-soft);text-align:center;margin-top:12px;line-height:1.6;}
.pp2-preview .pp-terms a{color:var(--brand-1);font-weight:700;}

/* ================= PLAN STEP ================= */
.pp2-preview .plan-sec{position:relative;overflow:hidden;padding:52px 20px 60px;}
.pp2-preview .plan-sec::before{
  content:'';position:absolute;inset:-30% -10% auto -10%;height:520px;pointer-events:none;
  background:
    radial-gradient(560px 300px at 18% 40%, rgba(255,90,54,.10), transparent 62%),
    radial-gradient(520px 280px at 84% 20%, rgba(23,27,51,.07), transparent 62%);
}
.pp2-preview .plan-wrap{position:relative;max-width:1240px;margin:0 auto;}
.pp2-preview .plan-head{text-align:center;max-width:640px;margin:0 auto 30px;}
.pp2-preview .plan-head h1{font-size:clamp(21px,2.6vw,27px);font-weight:800;letter-spacing:-.015em;color:var(--navy);line-height:1.3;}
.pp2-preview .plan-head p{font-size:14px;color:var(--ink-soft);margin-top:9px;line-height:1.7;font-weight:500;}
.pp2-preview .plans{max-width:420px;margin:0 auto;display:grid;gap:14px;}
.pp2-preview .plan{
  position:relative;display:block;cursor:pointer;background:#fff;
  border:1.6px solid var(--line);border-radius:16px;padding:16px 18px 16px 44px;
  box-shadow:var(--shadow-sm);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
}
.pp2-preview .plan:hover{border-color:#D8D8E2;transform:translateY(-2px);}
.pp2-preview .plan input{position:absolute;opacity:0;width:0;height:0;}
.pp2-preview .plan .dot{
  position:absolute;left:17px;top:19px;
  width:16px;height:16px;border-radius:50%;border:1.6px solid #CFCFDA;background:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .18s ease;
}
.pp2-preview .plan .dot::after{
  content:'';width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  transform:scale(0);transition:transform .2s cubic-bezier(.2,1.5,.4,1);
}
.pp2-preview .plan h3{font-size:14.5px;font-weight:800;line-height:1.3;}
.pp2-preview .plan .desc{font-size:11.5px;color:var(--ink-soft);margin-top:4px;line-height:1.6;font-weight:500;}
.pp2-preview .plan .price{display:inline-flex;align-items:baseline;gap:5px;margin-top:9px;font-size:16px;font-weight:800;color:var(--navy);}
.pp2-preview .plan .price s{font-size:11.5px;font-weight:600;color:var(--muted);}
.pp2-preview .plan .price em{font-style:normal;font-size:11px;font-weight:700;color:var(--ink-soft);}
.pp2-preview .plan .benefits{margin-top:13px;padding-top:13px;border-top:1px dashed var(--line);}
.pp2-preview .plan .benefits > b{display:block;font-size:12px;font-weight:800;margin-bottom:8px;}
.pp2-preview .plan .benefits li{display:flex;gap:8px;font-size:11.5px;color:var(--ink-soft);line-height:1.55;font-weight:600;}
.pp2-preview .plan .benefits li + li{margin-top:7px;}
.pp2-preview .plan .benefits svg{flex:none;margin-top:2px;color:var(--brand-1);}
.pp2-preview .plan.is-on{border-color:var(--brand-1);background:linear-gradient(180deg,#FFF8F5,#fff);box-shadow:0 18px 40px -22px rgba(255,90,54,.65);}
.pp2-preview .plan.is-on .dot{border-color:var(--brand-1);}
.pp2-preview .plan.is-on .dot::after{transform:scale(1);}
.pp2-preview .plan.is-on h3{color:var(--brand-1);}
.pp2-preview .plan:focus-within{outline:2px solid var(--brand-1);outline-offset:3px;}
.pp2-preview .plan-tag{
  position:absolute;top:-9px;right:16px;
  font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
  padding:4px 10px;border-radius:100px;box-shadow:0 8px 18px -8px rgba(255,90,54,.8);
}
.pp2-preview .plan-cta{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:26px;}
.pp2-preview .proof{font-size:12.5px;font-weight:700;color:var(--ink-soft);text-align:center;}
.pp2-preview .proof b{color:var(--ink);}

/* ================= SUCCESS ================= */
.pp2-preview .hero{
  position:relative;overflow:hidden;text-align:center;
  padding:46px 20px 130px;
  background:linear-gradient(150deg,#FF6A3D 0%,#F5511F 48%,#E23F12 100%);
  color:#fff;
}
.pp2-preview .hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:
    radial-gradient(560px 300px at 12% 0%, rgba(255,255,255,.22), transparent 60%),
    radial-gradient(680px 380px at 92% 110%, rgba(255,255,255,.16), transparent 60%);
}
.pp2-preview .hero .waves{position:absolute;right:-60px;bottom:-30px;width:520px;opacity:.22;pointer-events:none;}
.pp2-preview .hero .waves-l{position:absolute;left:-90px;top:-40px;width:400px;opacity:.16;pointer-events:none;transform:rotate(180deg);}
.pp2-preview .hero-inner{position:relative;z-index:2;max-width:560px;margin:0 auto;}
.pp2-preview .badge{
  width:74px;height:74px;border-radius:50%;margin:0 auto 18px;background:#fff;
  display:flex;align-items:center;justify-content:center;font-size:34px;line-height:1;
  box-shadow:0 20px 40px -16px rgba(120,30,0,.55);
  animation:pp2BadgePop .55s cubic-bezier(.2,1.5,.35,1) both;
}
@keyframes pp2BadgePop{from{transform:scale(.4) rotate(-14deg);opacity:0;}to{transform:scale(1) rotate(0);opacity:1;}}
.pp2-preview .hero h1{font-size:clamp(26px,4vw,34px);font-weight:800;letter-spacing:-.02em;animation:pp2Rise .5s .1s ease both;}
.pp2-preview .hero .sub{font-size:14px;font-weight:600;opacity:.92;margin-top:7px;animation:pp2Rise .5s .18s ease both;}
@keyframes pp2Rise{from{transform:translateY(10px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.pp2-preview .summary{
  display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center;
  margin-top:18px;padding:9px 16px;border-radius:100px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
  font-size:12.5px;font-weight:700;backdrop-filter:blur(6px);
  animation:pp2Rise .5s .26s ease both;
}
.pp2-preview .summary i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.7);}
.pp2-preview .confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;}
.pp2-preview .confetti span{position:absolute;top:-16px;width:8px;height:13px;border-radius:2px;opacity:0;animation:pp2Fall linear forwards;}
@keyframes pp2Fall{
  0%{opacity:0;transform:translateY(-10px) rotate(0);}
  12%{opacity:1;}
  100%{opacity:0;transform:translateY(420px) rotate(540deg);}
}
.pp2-preview .panel{max-width:640px;margin:-96px auto 0;padding:0 20px 64px;position:relative;z-index:5;}
.pp2-preview .offer{
  background:#fff;border-radius:26px;box-shadow:0 30px 70px -30px rgba(18,18,26,.4);
  padding:34px 40px 30px;text-align:center;
  animation:pp2Rise .5s .3s ease both;
}
.pp2-preview .offer h2{font-size:19px;font-weight:800;letter-spacing:-.01em;}
.pp2-preview .offer .know{font-size:14px;color:var(--ink-soft);line-height:1.75;margin-top:10px;font-weight:600;}
.pp2-preview .offer .know b{color:var(--brand-1);font-weight:800;}
.pp2-preview .assist{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:22px;font-size:13px;font-weight:700;color:var(--ink);}
.pp2-preview .assist span{color:var(--ink-soft);font-weight:600;}
.pp2-preview .contact{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:14px;}
.pp2-preview .cbtn{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;
  border:1.4px solid var(--line);border-radius:100px;background:#fff;
  padding:11px 20px;font-size:13.5px;font-weight:800;color:var(--ink);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.pp2-preview .cbtn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.pp2-preview .cbtn.call{color:var(--brand-1);border-color:#FFD9CD;background:#FFF7F4;}
.pp2-preview .cbtn.call:hover{border-color:var(--brand-1);}
.pp2-preview .cbtn.wa{color:#0F9D58;border-color:#CFF0DC;background:#F4FDF7;}
.pp2-preview .cbtn.wa:hover{border-color:var(--wa);}
.pp2-preview .urgency{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:26px;padding:10px 16px;border-radius:12px;
  background:#FFF5F1;border:1px dashed #FFC9B6;
  font-size:11.5px;font-weight:700;color:#C2410C;line-height:1.5;
}
.pp2-preview .urgency svg{flex:none;}
.pp2-preview .offer .btn{width:100%;font-weight:800;font-size:15px;padding:15px 30px;margin-top:12px;box-shadow:0 16px 34px -12px rgba(255,90,54,.65);}
.pp2-preview .offer .btn:hover{box-shadow:0 20px 40px -10px rgba(255,90,54,.7);}
.pp2-preview .later.center{display:block;margin:14px auto 0;text-align:center;color:var(--muted);}
.pp2-preview .later.center:hover{color:var(--ink);}
.pp2-preview .next{max-width:640px;margin:0 auto;padding:0 20px 64px;}
.pp2-preview .next h3{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:16px;}
.pp2-preview .next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.pp2-preview .ncard{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 16px;text-align:center;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pp2-preview .ncard:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#DCDCE6;}
.pp2-preview .ncard .ic{
  width:38px;height:38px;border-radius:12px;margin:0 auto 10px;
  display:flex;align-items:center;justify-content:center;
  background:var(--brand-tint);color:var(--brand-1);
}
.pp2-preview .ncard b{display:block;font-size:13px;font-weight:800;}
.pp2-preview .ncard small{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:4px;line-height:1.55;font-weight:500;}

/* ================= FAILURE (new — no mockup reference) ================= */
.pp2-preview .fail-hero{
  position:relative;overflow:hidden;text-align:center;padding:46px 20px 100px;
  background:linear-gradient(150deg,#3A3F55 0%,#22263A 55%,#171B33 100%);
  color:#fff;
}
.pp2-preview .fail-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:radial-gradient(560px 300px at 12% 0%, rgba(255,255,255,.10), transparent 60%);
}
.pp2-preview .fail-badge{
  width:74px;height:74px;border-radius:50%;margin:0 auto 18px;background:#fff;
  display:flex;align-items:center;justify-content:center;color:var(--danger);
  box-shadow:0 20px 40px -16px rgba(0,0,0,.5);
}
.pp2-preview .fail-hero h1{font-size:clamp(24px,3.6vw,30px);font-weight:800;letter-spacing:-.02em;}
.pp2-preview .fail-hero .sub{font-size:14px;font-weight:600;opacity:.85;margin-top:7px;}
.pp2-preview .fail-panel{max-width:560px;margin:-70px auto 0;padding:0 20px 64px;position:relative;z-index:5;}
.pp2-preview .fail-card{
  background:#fff;border-radius:26px;box-shadow:0 30px 70px -30px rgba(18,18,26,.4);
  padding:34px 36px 30px;text-align:center;
}
.pp2-preview .fail-card h2{font-size:18px;font-weight:800;}
.pp2-preview .fail-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.7;margin-top:10px;font-weight:500;}
.pp2-preview .fail-order{
  margin-top:16px;padding:12px 16px;border-radius:14px;background:var(--surface);
  font-size:12.5px;font-weight:700;color:var(--ink-soft);
}
.pp2-preview .fail-order b{color:var(--ink);font-family:var(--lr-font);font-weight:600;font-variant-numeric:tabular-nums;}
.pp2-preview .fail-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px;}

/* ================= AREA CONVERTER PAGE (.ac-preview) =================
   Live at /area-converter - rentz4.0 free tool, rendered from
   front.knowyourrent.areaConverter. Ported from "Letsrentz Property
   Listing, Area Convertor Page/area-converter.html". Everything scoped
   under .ac-preview so nothing leaks onto any other page (.container/
   .btn/.section/.toast/.reveal/.crumbs etc are all dangerously generic
   bare names elsewhere in the codebase). Mockup's own <header>/<footer>
   markup was dropped - front.header/front.footer already provide those
   site-wide via front.template. Responsive/media-query rules for this
   page live in responsive1.css. ================= */
.ac-preview{
  --ink:#12121A;
  --ink-soft:#5B5D6B;
  --ink-faint:#B7B9C8;
  --line:#E9E9EF;
  --surface:#F6F6F9;
  --card:#FFFFFF;
  --brand-1:#FF5A36;
  --brand-2:#FF8A3D;
  --pink:#FF3D7F;
  --violet:#7C5CFF;
  --mint:#12D6A3;
  --gold:#FFC13D;
  --navy:#0E1224;
  --navy-2:#171B33;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
}
.ac-preview, .ac-preview *{box-sizing:border-box;margin:0;padding:0;}
.ac-preview{
  font-family:var(--lr-font);
  color:var(--ink);
  background:var(--card);
  -webkit-font-smoothing:antialiased;
}
.ac-preview h1,.ac-preview h2,.ac-preview h3{font-family:var(--lr-font);}
.ac-preview img{max-width:100%;display:block;}
.ac-preview a{text-decoration:none;color:inherit;}
.ac-preview ul{list-style:none;}
.ac-preview button,.ac-preview input,.ac-preview select{font-family:inherit;}
.ac-preview .container{max-width:1180px;margin:0 auto;padding:0 24px;}
.ac-preview .section{padding:64px 0;}
.ac-preview .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:700;font-size:14.5px;
  border-radius:100px;padding:14px 26px;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ac-preview .btn-primary{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
}
.ac-preview .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}
.ac-preview .btn-outline{background:#fff;color:var(--brand-1);border:1.5px solid var(--brand-1);}
.ac-preview .btn-outline:hover{background:#FFF3EE;}
.ac-preview .btn-block{width:100%;}
.ac-preview .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brand-1);background:#FFF0EA;padding:7px 14px;border-radius:100px;margin-bottom:16px;
}
.ac-preview .eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand-1);}
.ac-preview .section-head{text-align:center;max-width:680px;margin:0 auto 36px;}
.ac-preview .section-head h2{font-size:clamp(24px,3.2vw,34px);font-weight:600;letter-spacing:-.01em;}
.ac-preview .section-head h2 .accent{color:var(--brand-1);}
.ac-preview .section-head p{color:var(--ink-soft);margin-top:12px;font-size:15px;line-height:1.7;}

/* ---------- Hero ---------- */
.ac-preview .ac-hero{padding:48px 0 6px;text-align:center;position:relative;overflow:hidden;}
.ac-preview .ac-hero-glow{
  position:absolute;inset:-15% -10% auto -10%;height:480px;
  background:radial-gradient(600px 300px at 20% 0%, rgba(255,90,54,.14), transparent 60%),
             radial-gradient(560px 280px at 85% 10%, rgba(124,92,255,.10), transparent 60%);
  z-index:0;
}
.ac-preview .ac-hero > .container{position:relative;z-index:1;}
.ac-preview .ac-hero h1{font-size:clamp(28px,3.8vw,42px);font-weight:600;letter-spacing:-.01em;line-height:1.15;}
.ac-preview .ac-hero h1 .accent{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.ac-preview .ac-hero p{color:var(--ink-soft);font-size:15.5px;margin-top:14px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.7;}
.ac-preview .trust-row{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;
  margin-top:22px;font-size:13px;font-weight:600;color:var(--ink-soft);
}
.ac-preview .trust-row span{display:flex;align-items:center;gap:7px;}
.ac-preview .trust-row svg{color:var(--brand-1);flex:none;}
.ac-preview .trust-row .sep{color:var(--line);}

/* ---------- Converter card ---------- */
.ac-preview .calc-wrap{padding:36px 0 0;}
.ac-preview .calc-card{
  position:relative;
  background:var(--card);border:1px solid var(--line);border-radius:28px;
  box-shadow:0 30px 70px -30px rgba(18,18,26,.28);overflow:hidden;
  display:grid;grid-template-columns:1.05fr 1fr;
}
.ac-preview .calc-inputs{padding:44px 42px;}

.ac-preview .field{margin-bottom:24px;}
.ac-preview .field-label{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:800;color:var(--ink);margin-bottom:14px;}
.ac-preview .field-icon{
  width:30px;height:30px;border-radius:9px;background:#FFF0EA;color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.ac-preview .input-shell{
  display:flex;align-items:center;gap:10px;background:var(--surface);
  border:1.5px solid transparent;border-radius:16px;padding:4px 6px 4px 18px;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.ac-preview .input-shell:focus-within{border-color:var(--brand-1);box-shadow:0 0 0 4px rgba(255,90,54,.12);background:#fff;}
.ac-preview .input-shell input{
  border:none;background:transparent;outline:none;font-weight:900;font-size:20px;
  color:var(--ink);width:100%;font-family:var(--lr-font);padding:14px 0;min-width:0;font-variant-numeric:tabular-nums;}
.ac-preview .unit-select{
  position:relative;flex:none;
}
.ac-preview .unit-select select{
  -webkit-appearance:none;appearance:none;cursor:pointer;
  border:none;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:12px 36px 12px 16px;font-size:13.5px;font-weight:800;color:var(--ink);
  outline:none;max-width:190px;text-overflow:ellipsis;
}
.ac-preview .unit-select select:focus{border-color:var(--brand-1);}
.ac-preview .unit-select .chev{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--brand-1);
}

.ac-preview .swap-row{display:flex;align-items:center;gap:14px;margin:-6px 0 18px;}
.ac-preview .swap-row .rule{height:1px;background:var(--line);flex:1;}
.ac-preview .swap-btn{
  width:44px;height:44px;border-radius:50%;flex:none;cursor:pointer;
  background:#fff;border:1.5px solid var(--line);color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s ease, border-color .18s ease, background .18s ease;
}
.ac-preview .swap-btn:hover{border-color:var(--brand-1);background:#FFF3EE;}
.ac-preview .swap-btn.spin{transform:rotate(180deg);}

.ac-preview .quick-label{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:26px 0 12px;}
.ac-preview .chip-row{display:flex;flex-wrap:wrap;gap:9px;}
.ac-preview .chip{
  font-size:12.5px;font-weight:700;color:var(--ink-soft);background:#fff;border:1px solid var(--line);
  border-radius:100px;padding:9px 16px;cursor:pointer;transition:.18s ease;
}
.ac-preview .chip:hover,.ac-preview .chip.active{border-color:var(--brand-1);color:var(--brand-1);background:#FFF3EE;}

/* ---------- Result panel ---------- */
.ac-preview .calc-results{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(420px 260px at 100% 0%, rgba(255,138,61,.55), transparent 60%),
    radial-gradient(420px 300px at 0% 100%, rgba(124,92,255,.35), transparent 55%),
    linear-gradient(160deg,#1A0E1F,var(--navy) 55%,#150C1A);
  padding:42px 36px;
  display:flex;flex-direction:column;
}
.ac-preview .live-badge{
  display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:#B8FFE0;background:rgba(18,214,163,.14);border:1px solid rgba(18,214,163,.35);
  padding:6px 14px;border-radius:100px;margin-bottom:22px;align-self:flex-start;
}
.ac-preview .live-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--mint);animation:ac-pulseDot 1.6s infinite;}
@keyframes ac-pulseDot{
  0%{box-shadow:0 0 0 0 rgba(18,214,163,.55);}
  70%{box-shadow:0 0 0 8px rgba(18,214,163,0);}
  100%{box-shadow:0 0 0 0 rgba(18,214,163,0);}
}
.ac-preview .big-out .lbl{font-size:11px;color:rgba(255,255,255,.55);font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.ac-preview .big-out .val{
  font-size:clamp(30px,4.4vw,42px);font-weight:900;color:#fff;margin:10px 0 6px;
  font-family:var(--lr-font);word-break:break-word;font-variant-numeric:tabular-nums;}
.ac-preview .big-out .val.pop{animation:ac-valPop .45s cubic-bezier(.34,1.56,.64,1);}
@keyframes ac-valPop{from{opacity:.3;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.ac-preview .big-out .unit-name{font-size:14px;color:var(--gold);font-weight:800;}
.ac-preview .equation{
  font-size:12.5px;color:rgba(255,255,255,.6);margin-top:14px;font-family:var(--lr-font);
  padding-top:14px;border-top:1px solid rgba(255,255,255,.12);word-break:break-word;font-weight:600;font-variant-numeric:tabular-nums;}

.ac-preview .all-units{
  margin-top:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border-radius:18px;overflow:hidden;
}
.ac-preview .all-units-head{
  padding:13px 20px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.1);
}
.ac-preview .all-units-body{max-height:262px;overflow-y:auto;}
.ac-preview .all-units-body::-webkit-scrollbar{width:6px;}
.ac-preview .all-units-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:100px;}
.ac-preview .u-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px;font-size:13px;}
.ac-preview .u-row + .u-row{border-top:1px solid rgba(255,255,255,.08);}
.ac-preview .u-row .k{color:rgba(255,255,255,.68);font-weight:600;}
.ac-preview .u-row .v{font-weight:800;color:#fff;font-family:var(--lr-font);text-align:right;font-variant-numeric:tabular-nums;}
.ac-preview .u-row.hi .v{color:var(--gold);}

.ac-preview .copy-btn{
  margin-top:20px;background:#fff;color:var(--ink);
  box-shadow:0 16px 32px -10px rgba(0,0,0,.4);
}
.ac-preview .copy-btn:hover{transform:translateY(-2px);}

/* ---------- Popular conversions ---------- */
.ac-preview .pop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.ac-preview .pop-card{
  background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;
  cursor:pointer;transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.ac-preview .pop-card:hover{box-shadow:var(--shadow-sm);border-color:#FFD9C7;transform:translateY(-2px);}
.ac-preview .pop-card .from{font-size:13px;font-weight:800;color:var(--ink);}
.ac-preview .pop-card .arrow{color:var(--brand-1);margin:8px 0;font-size:12px;font-weight:800;}
.ac-preview .pop-card .to{font-size:15px;font-weight:900;font-family:var(--lr-font);color:var(--brand-1);font-variant-numeric:tabular-nums;}
.ac-preview .pop-card .to small{font-size:11.5px;color:var(--ink-soft);font-weight:700;font-family:var(--lr-font);margin-left:4px;}

/* ---------- Tables ---------- */
.ac-preview .table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:16px;}
.ac-preview table.ref{width:100%;border-collapse:collapse;min-width:560px;font-size:13px;}
.ac-preview table.ref th{
  background:var(--surface);text-align:right;padding:13px 16px;font-weight:700;color:var(--ink-soft);
  font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;
}
.ac-preview table.ref th:first-child, .ac-preview table.ref td:first-child{text-align:left;}
.ac-preview table.ref td{padding:13px 16px;text-align:right;border-top:1px solid var(--line);font-family:var(--lr-font);white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums;}
.ac-preview table.ref td:first-child{font-family:var(--lr-font);font-weight:700;}
.ac-preview table.ref tr:nth-child(even) td{background:#FAFAFC;}

/* ---------- Info cards ---------- */
.ac-preview .card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ac-preview .info-card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;
  transition:box-shadow .2s ease, border-color .2s ease;
}
.ac-preview .info-card:hover{box-shadow:var(--shadow-sm);}
.ac-preview .info-card .ic{
  width:44px;height:44px;border-radius:12px;background:#FFF3EE;color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.ac-preview .info-card h3{font-size:16.5px;font-weight:700;font-family:var(--lr-font);margin-bottom:8px;}
.ac-preview .info-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.7;}

.ac-preview .intro-text{max-width:820px;margin:0 auto;color:var(--ink-soft);font-size:14.5px;line-height:1.85;}
.ac-preview .intro-text p{margin-bottom:16px;}
.ac-preview .intro-text strong{color:var(--ink);}

.ac-preview .note-box{
  max-width:820px;margin:26px auto 0;background:#FFF7F4;border:1px solid #FFD9C7;border-radius:16px;
  padding:20px 24px;font-size:13.5px;color:var(--ink-soft);line-height:1.75;
}
.ac-preview .note-box b{color:var(--brand-1);}

/* ---------- FAQ ---------- */
.ac-preview .faq-wrap{display:grid;grid-template-columns:280px 1fr;gap:40px;}
.ac-preview .faq-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;}
.ac-preview .faq-side h2{font-size:clamp(24px,2.8vw,30px);font-weight:600;letter-spacing:-.01em;line-height:1.2;}
.ac-preview .faq-item{border-bottom:1px solid var(--line);}
.ac-preview .faq-list{border-top:1px solid var(--line);}
.ac-preview .faq-q{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:22px 4px;font-weight:700;font-size:15px;cursor:pointer;
}
.ac-preview .faq-q .plus{
  flex:none;width:26px;height:26px;border-radius:50%;background:var(--surface);color:var(--ink-soft);
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:400;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.ac-preview .faq-item.open .faq-q .plus{background:var(--ink);color:#fff;transform:rotate(45deg);}
.ac-preview .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.ac-preview .faq-a p{padding:0 30px 22px 4px;color:var(--ink-soft);font-size:13.5px;line-height:1.75;}
.ac-preview .faq-item.open .faq-a{max-height:320px;}

/* ---------- Related tools ---------- */
.ac-preview .tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ac-preview .tool-card{
  display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);
  border-radius:18px;padding:22px;transition:box-shadow .2s ease, border-color .2s ease;
}
.ac-preview .tool-card:hover{box-shadow:var(--shadow-sm);border-color:#FFD9C7;}
.ac-preview .tool-card .ic{
  width:46px;height:46px;border-radius:13px;background:#FFF3EE;color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.ac-preview .tool-card h4{font-size:15px;font-weight:800;margin-bottom:4px;}
.ac-preview .tool-card p{font-size:12.5px;color:var(--ink-soft);line-height:1.6;}

/* ---------- Bottom CTA ---------- */
.ac-preview .bottom-cta{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));border-radius:24px;
  padding:44px 40px;text-align:center;color:#fff;box-shadow:var(--shadow);
}
.ac-preview .bottom-cta h2{font-size:clamp(22px,2.8vw,28px);font-weight:600;margin-bottom:10px;}
.ac-preview .bottom-cta p{font-size:14.5px;opacity:.92;margin-bottom:22px;}
.ac-preview .bottom-cta .btn{background:#fff;color:var(--brand-1);box-shadow:0 14px 30px -10px rgba(0,0,0,.3);}

.ac-preview .to-top{
  position:fixed;bottom:24px;right:24px;width:46px;height:46px;border-radius:50%;
  background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 12px 26px -8px rgba(0,0,0,.4);
  opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:90;
}
.ac-preview .to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}

.ac-preview .toast{
  position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);
  background:var(--ink);color:#fff;font-size:13px;font-weight:700;
  padding:12px 22px;border-radius:100px;box-shadow:0 16px 34px -12px rgba(0,0,0,.5);
  opacity:0;pointer-events:none;transition:.25s;z-index:120;
}
.ac-preview .toast.show{opacity:1;transform:translate(-50%,0);}

.ac-preview .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease;}
.ac-preview .reveal.in{opacity:1;transform:translateY(0);}

/* ---------- Breadcrumb ---------- */
.ac-preview .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft);padding:14px 0 0;}
.ac-preview .crumbs a{font-weight:600;}
.ac-preview .crumbs a:hover{color:var(--brand-1);}
.ac-preview .crumbs .sep{color:var(--ink-faint);}
.ac-preview .crumbs span[aria-current]{font-weight:800;color:var(--ink);}

/* ---------- How-to steps ---------- */
.ac-preview .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step;}
.ac-preview .step-card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px 24px;position:relative;
}
.ac-preview .step-card .num{
  width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
  font-weight:900;font-size:14px;margin-bottom:14px;
}
.ac-preview .step-card h3{font-size:15.5px;font-weight:700;font-family:var(--lr-font);margin-bottom:7px;}
.ac-preview .step-card p{font-size:13px;color:var(--ink-soft);line-height:1.7;}

/* ---------- Mobile sliders ---------- */
.ac-preview .slider-dots{display:none;}
.ac-preview .slider-dots .dot{
  width:7px;height:7px;border-radius:100px;background:var(--ink-faint);flex:none;
  cursor:pointer;transition:width .25s ease, background .25s ease;
}
.ac-preview .slider-dots .dot.on{width:22px;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));}

/* ---------- Formula box ---------- */
.ac-preview .formula-box{
  max-width:660px;margin:0 auto;background:var(--navy);color:#fff;border-radius:20px;
  padding:32px 30px;text-align:center;box-shadow:var(--shadow);
}
.ac-preview .formula-box .eq{font-family:var(--lr-font);font-size:clamp(14px,2.4vw,18px);font-weight:600;color:var(--gold);margin-bottom:18px;line-height:1.6;font-variant-numeric:tabular-nums;}
.ac-preview .formula-box .keys{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;font-size:12.5px;color:#B8BAD0;}
.ac-preview .formula-box .keys b{color:#fff;}

/* ================= MY PROPERTY LISTING PAGE (.mpl-preview) =================
   Live at /mypropertylisting - rentz4.0 redesign, rendered from
   front.brokers.properties.listing (controller unchanged: BrokerController
   @myPropertiesList). Ported from "Letsrentz Property Listing, Area
   Convertor Page/mypropertylisting.html". Everything scoped under
   .mpl-preview so nothing leaks onto any other page (.container/.btn/
   .btn-primary/.btn-ghost etc are all dangerously generic bare names
   elsewhere in the codebase). Mockup's own <header>/<footer> markup was
   dropped - front.header/front.footer already provide those site-wide via
   front.template. Responsive/media-query rules for this page live in
   responsive1.css. ================= */
.mpl-preview{
  --ink:#12121A;
  --ink-soft:#5B5D6B;
  --muted:#9A9CAB;
  --line:#E9E9EF;
  --surface:#F6F6F9;
  --card:#FFFFFF;
  --brand-1:#FF5A36;
  --brand-2:#FF8A3D;
  --brand-tint:#FFF0EA;
  --mint:#12D6A3;
  --mint-tint:#E7FBF4;
  --violet:#7C5CFF;
  --violet-tint:#F1ECFF;
  --amber:#FFB020;
  --navy:#0E1224;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
}
.mpl-preview, .mpl-preview *{box-sizing:border-box;margin:0;padding:0;}
.mpl-preview{
  font-family:var(--lr-font);
  color:var(--ink);background:var(--surface);
  -webkit-font-smoothing:antialiased;
}
.mpl-preview h1,.mpl-preview h2{font-family:var(--lr-font);}
.mpl-preview img{max-width:100%;display:block;}
.mpl-preview a{text-decoration:none;color:inherit;}
.mpl-preview ul{list-style:none;}
.mpl-preview button,.mpl-preview input,.mpl-preview select{font-family:inherit;}
.mpl-preview .container{max-width:1240px;margin:0 auto;padding:0 24px;}

.mpl-preview .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:700;font-size:14.5px;line-height:1.2;
  border-radius:100px;padding:14px 26px;white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.mpl-preview .btn-primary{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
  box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
}
.mpl-preview .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px -8px rgba(255,90,54,.62);}
.mpl-preview .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.mpl-preview .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;transform:translateY(-2px);}

/* ---- Page shell ---- */
.mpl-preview .mpl{
  position:relative;overflow:hidden;padding:34px 0 80px;
  background:
    radial-gradient(680px 280px at 6% -12%, rgba(255,90,54,.10), transparent 62%),
    radial-gradient(560px 260px at 96% -16%, rgba(124,92,255,.10), transparent 62%);
}

/* ---- Breadcrumb ---- */
.mpl-preview .mpl-crumb{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:16px;}
.mpl-preview .mpl-crumb a:hover{color:var(--ink);}
.mpl-preview .mpl-crumb b{color:var(--ink);font-weight:700;}

/* ---- Page head ---- */
.mpl-preview .mpl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.mpl-preview .mpl-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;
  font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--brand-1);background:var(--brand-tint);padding:7px 14px;border-radius:100px;
}
.mpl-preview .mpl-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand-1);}
.mpl-preview .mpl-head h1{font-size:clamp(28px,4vw,42px);font-weight:600;letter-spacing:-.015em;color:var(--navy);}
.mpl-preview .mpl-head h1 em{font-style:normal;color:var(--brand-1);}
.mpl-preview .mpl-sub{color:var(--ink-soft);font-size:14.5px;margin-top:9px;max-width:540px;line-height:1.65;}
.mpl-preview .mpl-sub strong{color:var(--ink);font-weight:700;}
.mpl-preview .mpl-head-cta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}

/* ---- Summary stats ---- */
.mpl-preview .mpl-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px;}
.mpl-preview .mpl-sum{
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 18px;
  display:flex;align-items:center;gap:13px;box-shadow:var(--shadow-sm);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.mpl-preview .mpl-sum:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#DFDFE9;}
.mpl-preview .mpl-sum i{
  width:42px;height:42px;border-radius:13px;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:var(--brand-tint);color:var(--brand-1);
}
.mpl-preview .mpl-sum:nth-child(2) i{background:var(--violet-tint);color:var(--violet);}
.mpl-preview .mpl-sum:nth-child(3) i{background:var(--mint-tint);color:#0E9E7A;}
.mpl-preview .mpl-sum:nth-child(4) i{background:#FFF6E3;color:#B4780A;}
.mpl-preview .mpl-sum strong{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--navy);line-height:1.15;}
.mpl-preview .mpl-sum span{font-size:12px;font-weight:600;color:var(--ink-soft);}

/* ---- Toolbar: tabs + search + sort + view ---- */
.mpl-preview .mpl-toolbar{
  position:sticky;top:64px;z-index:60;margin-top:24px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  border:1px solid var(--line);border-radius:20px;padding:12px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;box-shadow:var(--shadow-sm);
}
.mpl-preview .mpl-tabs{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;}
.mpl-preview .mpl-tabs::-webkit-scrollbar{display:none;}
.mpl-preview .mpl-tabs button{
  display:inline-flex;align-items:center;gap:7px;border:none;background:transparent;cursor:pointer;
  padding:10px 16px;border-radius:100px;font-size:13.5px;font-weight:700;color:var(--ink-soft);
  white-space:nowrap;flex:none;transition:background .18s ease, color .18s ease;
}
.mpl-preview .mpl-tabs button:hover{background:var(--surface);color:var(--ink);}
.mpl-preview .mpl-tabs button.active{background:var(--navy);color:#fff;}
.mpl-preview .mpl-tabs .n{
  display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;
  border-radius:100px;background:var(--surface);color:var(--ink-soft);font-size:11px;font-weight:800;
}
.mpl-preview .mpl-tabs button.active .n{background:rgba(255,255,255,.18);color:#fff;}
.mpl-preview .mpl-tabs .n.zero{opacity:.5;}

.mpl-preview .mpl-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.mpl-preview .mpl-search{position:relative;}
.mpl-preview .mpl-search svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.mpl-preview .mpl-search input{
  width:230px;border:1px solid var(--line);border-radius:100px;background:#fff;
  padding:11px 16px 11px 40px;font-size:13.5px;font-weight:600;color:var(--ink);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.mpl-preview .mpl-search input::placeholder{color:var(--muted);font-weight:500;}
.mpl-preview .mpl-search input:focus{outline:none;border-color:var(--brand-1);box-shadow:0 0 0 3px rgba(255,90,54,.12);}
/* ---- Result line ---- */
.mpl-preview .mpl-resultline{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:22px;font-size:13px;font-weight:600;color:var(--ink-soft);
}
.mpl-preview .mpl-resultline b{color:var(--navy);font-weight:800;}
.mpl-preview .mpl-clear{
  border:none;background:transparent;cursor:pointer;font-size:12.5px;font-weight:700;color:var(--brand-1);
  display:none;
}
.mpl-preview .mpl-clear.show{display:inline-flex;align-items:center;gap:5px;}
.mpl-preview .mpl-clear:hover{text-decoration:underline;}

/* ---- Cards grid ---- */
.mpl-preview .mpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:16px;}
.mpl-preview .mpl-card{
  background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.mpl-preview .mpl-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#DFDFE9;}
.mpl-preview .mpl-photo{position:relative;aspect-ratio:16/11;background:var(--surface);overflow:hidden;flex:none;}
.mpl-preview .mpl-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.mpl-preview .mpl-card:hover .mpl-photo img{transform:scale(1.05);}
.mpl-preview .mpl-photo-top{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.mpl-preview .mpl-status{
  display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#fff;
  background:rgba(18,18,26,.72);backdrop-filter:blur(6px);padding:6px 11px;border-radius:100px;
}
.mpl-preview .mpl-status .dot{width:6px;height:6px;border-radius:50%;background:var(--mint);}
.mpl-preview .mpl-status.review .dot{background:var(--amber);}
.mpl-preview .mpl-status.paused .dot{background:var(--muted);}
.mpl-preview .mpl-menu{
  width:32px;height:32px;border-radius:50%;border:none;cursor:pointer;color:var(--ink);
  background:rgba(255,255,255,.94);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -8px rgba(18,18,26,.5);
}
.mpl-preview .mpl-menu:hover{color:var(--brand-1);}

.mpl-preview .mpl-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1;}
.mpl-preview .mpl-idrow{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mpl-preview .mpl-pid{font-size:12px;font-weight:700;color:var(--muted);}
.mpl-preview .mpl-for{font-size:11px;font-weight:800;color:var(--brand-1);background:var(--brand-tint);padding:5px 10px;border-radius:100px;}
.mpl-preview .mpl-price{font-size:21px;font-weight:800;color:var(--navy);margin-top:8px;letter-spacing:-.01em;}
.mpl-preview .mpl-price span{font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.mpl-preview .mpl-title{
  font-size:14px;font-weight:700;line-height:1.45;margin-top:5px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.mpl-preview .mpl-loc{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);margin-top:7px;}
.mpl-preview .mpl-loc svg{flex:none;color:var(--brand-1);}
.mpl-preview .mpl-loc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.mpl-preview .mpl-stats{display:flex;gap:8px;margin-top:13px;padding-top:13px;border-top:1px dashed var(--line);}
.mpl-preview .mpl-stat{flex:1;background:var(--surface);border-radius:12px;padding:9px 8px;text-align:center;}
.mpl-preview .mpl-stat strong{display:block;font-size:15px;font-weight:800;line-height:1.2;color:var(--navy);}
.mpl-preview .mpl-stat span{font-size:10.5px;font-weight:600;color:var(--ink-soft);}

.mpl-preview .mpl-actions{display:flex;gap:9px;margin-top:14px;}
.mpl-preview .mpl-actions a,.mpl-preview .mpl-actions button{
  flex:1;border-radius:100px;padding:11px 10px;font-size:13px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:.18s;
}
.mpl-preview .mpl-outline{background:#fff;color:var(--brand-1);border:1.4px solid rgba(255,90,54,.35);}
.mpl-preview .mpl-outline:hover{background:#FFF5F1;border-color:var(--brand-1);}
.mpl-preview .mpl-solid{border:none;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 10px 22px -10px rgba(255,90,54,.6);}
.mpl-preview .mpl-solid:hover{transform:translateY(-2px);}
.mpl-preview .mpl-updated{margin-top:11px;font-size:11px;font-weight:600;color:var(--muted);}

/* ---- Add tile ---- */
.mpl-preview .mpl-add{
  border:1.5px dashed rgba(255,90,54,.42);border-radius:22px;cursor:pointer;
  background:linear-gradient(180deg,#FFF8F5,#fff);min-height:280px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  gap:6px;padding:32px 26px;transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
.mpl-preview .mpl-add:hover{border-color:var(--brand-1);background:#FFF3EE;transform:translateY(-5px);}
.mpl-preview .mpl-add .plus{
  width:52px;height:52px;border-radius:50%;margin-bottom:8px;color:#fff;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px -12px rgba(255,90,54,.7);
}
.mpl-preview .mpl-add b{font-size:15px;font-weight:800;}
.mpl-preview .mpl-add p{font-size:12.5px;color:var(--ink-soft);line-height:1.6;max-width:210px;}
.mpl-preview .mpl-add .free{
  margin-top:6px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--brand-1);background:var(--brand-tint);padding:5px 12px;border-radius:100px;
}

/* ---- Empty state ---- */
.mpl-preview .mpl-empty{
  margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:28px;
  box-shadow:var(--shadow);overflow:hidden;
  display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;
}
.mpl-preview .mpl-empty-copy{padding:50px 46px;display:flex;flex-direction:column;justify-content:center;}
.mpl-preview .mpl-empty-tag{
  display:inline-flex;align-items:center;gap:7px;align-self:flex-start;margin-bottom:16px;
  font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#0E9E7A;background:var(--mint-tint);padding:6px 13px;border-radius:100px;
}
.mpl-preview .mpl-empty-copy h2{font-size:clamp(23px,3vw,31px);font-weight:600;letter-spacing:-.015em;color:var(--navy);line-height:1.25;}
.mpl-preview .mpl-empty-copy > p{color:var(--ink-soft);font-size:15px;line-height:1.75;margin-top:12px;max-width:430px;}
.mpl-preview .mpl-ticks{display:flex;flex-direction:column;gap:11px;margin-top:22px;}
.mpl-preview .mpl-tick{display:flex;align-items:flex-start;gap:11px;}
.mpl-preview .mpl-tick p{font-size:14px;font-weight:700;color:var(--ink);line-height:1.6;}
.mpl-preview .mpl-tick span{color:var(--ink-soft);font-weight:500;}
.mpl-preview .mpl-tick i{
  width:21px;height:21px;border-radius:50%;flex:none;margin-top:1px;
  background:var(--brand-tint);color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;
}
.mpl-preview .mpl-empty-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px;}
.mpl-preview .mpl-empty-note{display:flex;align-items:center;gap:9px;margin-top:20px;font-size:12.5px;color:var(--muted);font-weight:600;}
.mpl-preview .mpl-empty-note strong{color:var(--ink);}
.mpl-preview .mpl-faces{display:flex;}
.mpl-preview .mpl-faces b{
  width:26px;height:26px;border-radius:50%;border:2px solid #fff;margin-left:-8px;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:10.5px;font-weight:800;
}
.mpl-preview .mpl-faces b:first-child{margin-left:0;}
.mpl-preview .mpl-faces b:nth-child(1){background:linear-gradient(135deg,#FF5A36,#FF8A3D);}
.mpl-preview .mpl-faces b:nth-child(2){background:linear-gradient(135deg,#7C5CFF,#B49BFF);}
.mpl-preview .mpl-faces b:nth-child(3){background:linear-gradient(135deg,#12D6A3,#5BE8C4);}

.mpl-preview .mpl-art{
  position:relative;background:linear-gradient(160deg,#FFF6F2 0%,#F5F2FF 100%);
  display:flex;align-items:center;justify-content:center;padding:44px 40px;
  border-left:1px solid var(--line);
}
.mpl-preview .mpl-art::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:radial-gradient(320px 200px at 70% 20%, rgba(255,255,255,.9), transparent 70%);
}
.mpl-preview .mpl-art svg.scene{position:relative;width:100%;max-width:340px;height:auto;}
.mpl-preview .mpl-chip{
  position:absolute;display:flex;align-items:center;gap:8px;z-index:3;
  background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 14px 30px -14px rgba(18,18,26,.4);
  font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap;
  animation:mpl-float 4.5s ease-in-out infinite;
}
.mpl-preview .mpl-chip small{display:block;font-size:10.5px;font-weight:600;color:var(--muted);margin-top:1px;}
.mpl-preview .mpl-chip i{width:28px;height:28px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;}
.mpl-preview .mpl-chip.one{top:14%;left:2%;animation-delay:.2s;}
.mpl-preview .mpl-chip.one i{background:var(--brand-tint);color:var(--brand-1);}
.mpl-preview .mpl-chip.two{bottom:18%;right:1%;animation-delay:1.4s;}
.mpl-preview .mpl-chip.two i{background:var(--mint-tint);color:#0E9E7A;}
@keyframes mpl-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
@media (prefers-reduced-motion:reduce){.mpl-preview .mpl-chip{animation:none;}}

/* ---- "What happens after you post" strip ---- */
.mpl-preview .mpl-steps{margin-top:26px;}
.mpl-preview .mpl-steps h3{
  font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px;
}
.mpl-preview .mpl-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.mpl-preview .mpl-step{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.mpl-preview .mpl-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:#DCDCE6;}
.mpl-preview .mpl-step .no{position:absolute;top:18px;right:20px;font-size:26px;font-weight:800;color:#F0F0F5;line-height:1;}
.mpl-preview .mpl-step .ic{
  width:40px;height:40px;border-radius:13px;margin-bottom:12px;
  display:flex;align-items:center;justify-content:center;background:var(--brand-tint);color:var(--brand-1);
}
.mpl-preview .mpl-step:nth-child(2) .ic{background:var(--violet-tint);color:var(--violet);}
.mpl-preview .mpl-step:nth-child(3) .ic{background:var(--mint-tint);color:#0E9E7A;}
.mpl-preview .mpl-step b{display:block;font-size:14.5px;font-weight:800;}
.mpl-preview .mpl-step p{font-size:13px;color:var(--ink-soft);line-height:1.65;margin-top:5px;}

/* ---- Page navigator ---- */
.mpl-preview .mpl-pager{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  margin-top:28px;padding-top:26px;border-top:1px solid var(--line);
}
.mpl-preview .mpl-pg-arrow{
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  background:#fff;border:1px solid var(--line);border-radius:100px;
  padding:10px 18px;font-size:13px;font-weight:700;color:var(--ink);
  transition:border-color .18s ease, background .18s ease, transform .18s ease, color .18s ease;
}
.mpl-preview .mpl-pg-arrow:hover:not(:disabled){border-color:var(--brand-1);color:var(--brand-1);background:#FFF7F4;transform:translateY(-2px);}
.mpl-preview .mpl-pg-arrow:disabled{opacity:.42;cursor:not-allowed;}
.mpl-preview .mpl-pg-nums{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;}
.mpl-preview .mpl-pg-nums button{
  min-width:40px;height:40px;padding:0 12px;cursor:pointer;
  background:#fff;border:1px solid var(--line);border-radius:100px;
  font-size:13.5px;font-weight:700;color:var(--ink-soft);
  display:inline-flex;align-items:center;justify-content:center;
  transition:border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.mpl-preview .mpl-pg-nums button:hover{border-color:#D8D8E2;background:var(--surface);color:var(--ink);}
.mpl-preview .mpl-pg-nums button[aria-current="page"]{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));border-color:transparent;color:#fff;
  box-shadow:0 10px 22px -10px rgba(255,90,54,.6);
}
.mpl-preview .mpl-pg-gap{
  min-width:26px;text-align:center;font-size:14px;font-weight:800;color:var(--muted);
  user-select:none;letter-spacing:.06em;
}

/* ---- No search results ---- */
.mpl-preview .mpl-noresult{
  margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:24px;
  padding:56px 28px;text-align:center;box-shadow:var(--shadow-sm);
}
.mpl-preview .mpl-noresult i{
  width:56px;height:56px;border-radius:18px;margin:0 auto 16px;
  background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;
}
.mpl-preview .mpl-noresult b{display:block;font-size:17px;font-weight:800;color:var(--navy);}
.mpl-preview .mpl-noresult p{font-size:13.5px;color:var(--ink-soft);margin-top:7px;line-height:1.7;}

.mpl-preview .mpl-hidden{display:none !important;}

/* ---- Toast ---- */
.mpl-preview .mpl-toast{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);
  background:var(--navy);color:#fff;padding:12px 22px;border-radius:100px;
  font-size:13px;font-weight:600;z-index:1100;opacity:0;pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;max-width:90vw;text-align:center;
}
.mpl-preview .mpl-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ================= PROPERTY INSIGHTS PAGE (.pi-preview) =================
   Live at /your-properties-insight/{category}/{id} - rentz4.0 redesign,
   rendered from front.property-insights.insights (only reached once
   PropertyInsightsController::show() confirms the owner is paid for this
   property's category - see .li-preview below for the locked version).
   Ported from "Letsrentz Html Insites/property-insights.html". Everything
   scoped under .pi-preview so nothing leaks onto any other page (.container/
   .btn/.btn-primary/.btn-ghost etc are all dangerously generic bare names
   elsewhere in the codebase). Mockup's own <header>/<footer> markup was
   dropped - front.header/front.footer already provide those site-wide via
   front.template. Responsive/media-query rules for this page live in
   responsive1.css. ================= */
.pi-preview{
  --ink:#12121A;
  --ink-soft:#5B5D6B;
  --muted:#9A9CAB;
  --line:#E9E9EF;
  --surface:#F6F6F9;
  --card:#FFFFFF;
  --brand-1:#FF5A36;
  --brand-2:#FF8A3D;
  --brand-tint:#FFF0EA;
  --mint:#12D6A3;
  --violet:#7C5CFF;
  --navy:#0E1224;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
}
.pi-preview, .pi-preview *{box-sizing:border-box;margin:0;padding:0;}
.pi-preview{
  font-family:var(--lr-font);
  color:var(--ink);background:var(--surface);
  -webkit-font-smoothing:antialiased;
}
.pi-preview h1,.pi-preview h2{font-family:var(--lr-font);}
.pi-preview img{max-width:100%;display:block;}
.pi-preview a{text-decoration:none;color:inherit;}
.pi-preview ul{list-style:none;}
.pi-preview button,.pi-preview select{font-family:inherit;}
.pi-preview :focus-visible{outline:2px solid var(--brand-1);outline-offset:3px;border-radius:8px;}
.pi-preview .container{max-width:1240px;margin:0 auto;padding:0 24px;}

.pi-preview .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:700;font-size:14.5px;line-height:1.2;
  border-radius:100px;padding:14px 26px;white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.pi-preview .btn-primary{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
  box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
}
.pi-preview .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px -8px rgba(255,90,54,.62);}
.pi-preview .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.pi-preview .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;transform:translateY(-2px);}

/* ---- Page shell ---- */
.pi-preview .pi{
  position:relative;overflow:hidden;padding:40px 0 80px;
  background:
    radial-gradient(620px 260px at 8% -10%, rgba(255,90,54,.10), transparent 62%),
    radial-gradient(520px 240px at 94% -14%, rgba(124,92,255,.10), transparent 62%);
}

/* ---- Breadcrumb + page head ---- */
.pi-preview .pi-crumb{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:18px;flex-wrap:wrap;}
.pi-preview .pi-crumb a:hover{color:var(--ink);}
.pi-preview .pi-crumb span{color:var(--ink);font-weight:700;}

.pi-preview .pi-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.pi-preview .pi-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;
  font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--brand-1);background:var(--brand-tint);padding:7px 14px;border-radius:100px;
}
.pi-preview .pi-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand-1);}
.pi-preview .pi-head h1{font-size:clamp(28px,4vw,42px);font-weight:600;letter-spacing:-.015em;color:var(--navy);}
.pi-preview .pi-head h1 em{font-style:normal;color:var(--brand-1);}
.pi-preview .pi-sub{color:var(--ink-soft);font-size:14.5px;margin-top:9px;max-width:520px;line-height:1.65;}
.pi-preview .pi-sub strong{color:var(--ink);font-weight:700;}

.pi-preview .pi-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
/* ---- Property strip ---- */
.pi-preview .pi-prop{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:34px;
  background:var(--card);border:1px solid var(--line);border-radius:22px;
  padding:14px 18px 14px 14px;box-shadow:var(--shadow-sm);
}
.pi-preview .pi-prop-thumb{width:96px;height:72px;border-radius:15px;overflow:hidden;flex:none;background:var(--surface);}
.pi-preview .pi-prop-thumb img{width:100%;height:100%;object-fit:cover;}
.pi-preview .pi-prop-info{flex:1;min-width:210px;}
.pi-preview .pi-prop-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.pi-preview .pi-pid{font-size:11.5px;font-weight:800;color:var(--muted);letter-spacing:.04em;}
.pi-preview .pi-live{
  display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;color:#0E9E7A;background:#E7FBF4;
  padding:5px 10px;border-radius:100px;
}
.pi-preview .pi-live .dot{width:6px;height:6px;border-radius:50%;background:var(--mint);}
.pi-preview .pi-live.is-paused{color:var(--ink-soft);background:var(--line);}
.pi-preview .pi-live.is-paused .dot{background:var(--muted);}
.pi-preview .pi-live.is-review{color:var(--brand-1);background:var(--brand-tint);}
.pi-preview .pi-live.is-review .dot{background:var(--brand-1);}
.pi-preview .pi-prop-info b{display:block;font-size:15.5px;font-weight:800;margin-top:6px;}
.pi-preview .pi-prop-loc{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);margin-top:5px;}
.pi-preview .pi-prop-loc svg{flex:none;color:var(--brand-1);}
.pi-preview .pi-prop-loc em{font-style:normal;color:var(--muted);}
.pi-preview .pi-prop-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.pi-preview .pi-switch{
  appearance:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;color:var(--ink);
  border:1px solid var(--line);border-radius:100px;padding:12px 38px 12px 18px;max-width:100%;
  background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><path d="M1 1l5 5 5-5" stroke="%235B5D6B" stroke-width="1.6" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 16px center;
}
.pi-preview .pi-prop-actions .btn{padding:12px 22px;font-size:13.5px;}

/* ---- Mobile panel tabs (desktop hides them) ---- */
.pi-preview .pi-tabsel{display:none;}
.pi-preview .pi-tabsel button{
  flex:1;min-width:0;border:none;background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding:10px 6px;border-radius:100px;
  font-size:12.5px;font-weight:700;color:var(--ink-soft);white-space:nowrap;
  transition:background .2s ease, color .2s ease;
}
.pi-preview .pi-tabsel button svg{flex:none;}
.pi-preview .pi-tabsel button.is-on{background:var(--navy);color:#fff;}
.pi-preview .pi-tabsel button.is-on[data-tab="views"] svg{color:var(--brand-2);}
.pi-preview .pi-tabsel button.is-on[data-tab="calls"] svg{color:#B49BFF;}
.pi-preview .pi-tabsel button.is-on[data-tab="dm"]    svg{color:var(--mint);}

/* ---- Activity board ---- */
.pi-preview .pi-board{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;align-items:start;}
.pi-preview .pi-panel{
  background:var(--card);border:1px solid var(--line);border-radius:22px;
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.pi-preview .pi-panel.views  {--tone:var(--brand-1);--tint:var(--brand-tint);}
.pi-preview .pi-panel.calls  {--tone:var(--violet);--tint:#F1ECFF;}
.pi-preview .pi-panel.dm     {--tone:#0E9E7A;--tint:#E7FBF4;}
.pi-preview .pi-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 18px;background:linear-gradient(180deg,var(--tint),#fff);
  border-bottom:1px solid var(--line);
}
.pi-preview .pi-panel-head h3{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:800;}
.pi-preview .pi-panel-head h3 svg{color:var(--tone);flex:none;}
.pi-preview .pi-count{
  display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;
  border-radius:100px;background:#fff;border:1px solid var(--line);
  font-size:11px;font-weight:800;color:var(--ink-soft);
}
.pi-preview .pi-list{
  padding:6px 8px 8px;
  max-height:358px;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:#D9D9E3 transparent;
}
.pi-preview .pi-list::-webkit-scrollbar{width:6px;}
.pi-preview .pi-list::-webkit-scrollbar-track{background:var(--surface);border-radius:100px;margin:6px 0;}
.pi-preview .pi-list::-webkit-scrollbar-thumb{
  background:#D9D9E3;border-radius:100px;
  transition:background .18s ease;
}
.pi-preview .pi-list:hover::-webkit-scrollbar-thumb{background:var(--tone);}
.pi-preview .pi-list::-webkit-scrollbar-thumb:hover{background:var(--tone);}
.pi-preview .pi-listwrap{position:relative;}
.pi-preview .pi-listwrap::after{
  content:'';position:absolute;left:0;right:6px;bottom:0;height:26px;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff);
  opacity:0;transition:opacity .2s ease;
}
.pi-preview .pi-listwrap.is-scrollable::after{opacity:1;}
.pi-preview .pi-listwrap.at-end::after{opacity:0;}

.pi-preview .pi-row{
  position:relative;display:flex;align-items:center;gap:12px;
  padding:11px 10px;border-radius:14px;transition:background .18s ease;
}
.pi-preview .pi-row + .pi-row::before{
  content:'';position:absolute;top:0;left:10px;right:10px;height:1px;background:var(--line);
}
.pi-preview .pi-row:hover{background:var(--surface);}
.pi-preview .pi-row:hover::before,.pi-preview .pi-row:hover + .pi-row::before{opacity:0;}
.pi-preview .pi-av{
  width:38px;height:38px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.02em;
  background:linear-gradient(135deg,var(--a),var(--b));
}
.pi-preview .pi-who{flex:1;min-width:0;}
.pi-preview .pi-who b{display:flex;align-items:center;font-size:13.5px;font-weight:700;line-height:1.3;}
.pi-preview .pi-who b span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pi-preview .pi-phone{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-top:3px;white-space:nowrap;}
.pi-preview .pi-end{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.pi-preview .pi-time{font-size:10.5px;font-weight:600;color:var(--muted);white-space:nowrap;}
.pi-preview .pi-kebab{
  width:26px;height:26px;border-radius:8px;border:none;background:transparent;cursor:pointer;
  color:var(--muted);display:flex;align-items:center;justify-content:center;
  transition:background .18s ease, color .18s ease;
}
.pi-preview .pi-kebab:hover,.pi-preview .pi-kebab[aria-expanded="true"]{background:var(--surface);color:var(--ink);}

.pi-preview .pi-empty{
  display:none;flex-direction:column;align-items:center;text-align:center;gap:6px;
  padding:38px 24px 42px;
}
.pi-preview .pi-panel.is-empty .pi-empty{display:flex;}
.pi-preview .pi-panel.is-empty .pi-listwrap,.pi-preview .pi-panel.is-empty .pi-list{display:none;}
.pi-preview .pi-empty i{
  width:46px;height:46px;border-radius:15px;background:var(--tint);color:var(--tone);
  display:flex;align-items:center;justify-content:center;margin-bottom:6px;
}
.pi-preview .pi-empty b{font-size:14px;font-weight:800;}
.pi-preview .pi-empty p{font-size:12.5px;color:var(--ink-soft);line-height:1.6;max-width:200px;}

.pi-preview .pi-row.is-hidden{display:none;}

/* ---- Kebab dropdown ---- */
.pi-preview .pi-menu{
  position:absolute;z-index:900;min-width:196px;background:#fff;
  border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 50px -18px rgba(18,18,26,.32);
  padding:7px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
}
.pi-preview .pi-menu.show{opacity:1;visibility:visible;transform:translateY(0);}
.pi-preview .pi-menu button{
  display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;cursor:pointer;
  padding:10px 11px;border-radius:11px;font-size:13px;font-weight:700;color:var(--ink);text-align:left;
  transition:background .15s ease, color .15s ease;
}
.pi-preview .pi-menu button:hover{background:var(--surface);}
.pi-preview .pi-menu button svg{flex:none;color:var(--ink-soft);}

/* ---- Tip strip ---- */
.pi-preview .pi-tip{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:34px;
  background:var(--navy);color:#C9CBE4;border-radius:22px;padding:22px 26px;
  box-shadow:var(--shadow-sm);
}
.pi-preview .pi-tip .ic{
  width:46px;height:46px;border-radius:15px;flex:none;color:#fff;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 26px -12px rgba(255,90,54,.7);
}
.pi-preview .pi-tip-txt{flex:1;min-width:230px;}
.pi-preview .pi-tip-txt b{display:block;color:#fff;font-size:15px;font-weight:800;}
.pi-preview .pi-tip-txt p{font-size:13px;line-height:1.65;margin-top:4px;}
.pi-preview .pi-tip-txt em{font-style:normal;color:var(--brand-2);font-weight:700;}

/* ---- Toast ---- */
.pi-preview .pi-toast{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);
  background:var(--navy);color:#fff;padding:12px 22px;border-radius:100px;
  font-size:13px;font-weight:600;z-index:1100;opacity:0;pointer-events:none;
  max-width:calc(100% - 32px);text-align:center;
  transition:opacity .25s ease, transform .25s ease;
}
.pi-preview .pi-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ================= LOCKED PROPERTY INSIGHTS PAGE (.li-preview) =================
   Live at /your-properties-insight/{category}/{id} - rendered instead of
   .pi-preview above whenever PropertyInsightsController::show() finds the
   owner hasn't paid for this property's category. Ported from "Letsrentz
   Html Insites/lock-property-insights.html". Same scoping convention as
   .pi-preview. Responsive/media-query rules for this page live in
   responsive1.css. ================= */
.li-preview{
  --ink:#12121A;
  --ink-soft:#5B5D6B;
  --muted:#9A9CAB;
  --line:#E9E9EF;
  --surface:#F6F6F9;
  --card:#FFFFFF;
  --brand-1:#FF5A36;
  --brand-2:#FF8A3D;
  --brand-tint:#FFF0EA;
  --mint:#12D6A3;
  --violet:#7C5CFF;
  --navy:#0E1224;
  --gold:#FFB020;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
}
.li-preview, .li-preview *{box-sizing:border-box;margin:0;padding:0;}
.li-preview{
  font-family:var(--lr-font);
  color:var(--ink);background:var(--surface);
  -webkit-font-smoothing:antialiased;
}
.li-preview h1,.li-preview h2{font-family:var(--lr-font);}
.li-preview img{max-width:100%;display:block;}
.li-preview a{text-decoration:none;color:inherit;}
.li-preview ul{list-style:none;}
.li-preview button,.li-preview select{font-family:inherit;}
.li-preview :focus-visible{outline:2px solid var(--brand-1);outline-offset:3px;border-radius:8px;}
.li-preview .container{max-width:1240px;margin:0 auto;padding:0 24px;}

.li-preview .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:700;font-size:14.5px;line-height:1.2;
  border-radius:100px;padding:14px 26px;white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.li-preview .btn-primary{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
  box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
}
.li-preview .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px -8px rgba(255,90,54,.62);}
.li-preview .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.li-preview .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;transform:translateY(-2px);}
.li-preview .btn-dark{background:var(--navy);color:#fff;}
.li-preview .btn-dark:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}

/* ---- Page shell ---- */
.li-preview .li{
  position:relative;overflow:hidden;padding:40px 0 80px;
  background:
    radial-gradient(640px 280px at 6% -12%, rgba(255,90,54,.10), transparent 62%),
    radial-gradient(560px 260px at 96% -14%, rgba(124,92,255,.12), transparent 62%);
}

/* ---- Breadcrumb + page head ---- */
.li-preview .li-crumb{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:18px;flex-wrap:wrap;}
.li-preview .li-crumb a:hover{color:var(--ink);}
.li-preview .li-crumb span{color:var(--ink);font-weight:700;}

.li-preview .li-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.li-preview .li-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;
  font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--navy);background:#EDEDF6;padding:7px 14px;border-radius:100px;
}
.li-preview .li-eyebrow svg{flex:none;}
.li-preview .li-head h1{font-size:clamp(28px,4vw,42px);font-weight:600;letter-spacing:-.015em;color:var(--navy);}
.li-preview .li-head h1 em{font-style:normal;color:var(--brand-1);}
.li-preview .li-sub{color:var(--ink-soft);font-size:14.5px;margin-top:9px;max-width:560px;line-height:1.65;}
.li-preview .li-sub strong{color:var(--ink);font-weight:700;}

.li-preview .li-headcta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.li-preview .li-headcta .note{font-size:12px;color:var(--muted);font-weight:600;}

/* ---- Property strip ---- */
.li-preview .li-prop{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:34px;
  background:var(--card);border:1px solid var(--line);border-radius:22px;
  padding:14px 18px 14px 14px;box-shadow:var(--shadow-sm);
}
.li-preview .li-prop-thumb{width:96px;height:72px;border-radius:15px;overflow:hidden;flex:none;background:var(--surface);}
.li-preview .li-prop-thumb img{width:100%;height:100%;object-fit:cover;}
.li-preview .li-prop-info{flex:1;min-width:210px;}
.li-preview .li-prop-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.li-preview .li-pid{font-size:11.5px;font-weight:800;color:var(--muted);letter-spacing:.04em;}
.li-preview .li-live{
  display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;color:#0E9E7A;background:#E7FBF4;
  padding:5px 10px;border-radius:100px;
}
.li-preview .li-live .dot{width:6px;height:6px;border-radius:50%;background:var(--mint);}
.li-preview .li-live.is-paused{color:var(--ink-soft);background:var(--line);}
.li-preview .li-live.is-paused .dot{background:var(--muted);}
.li-preview .li-live.is-review{color:var(--brand-1);background:var(--brand-tint);}
.li-preview .li-live.is-review .dot{background:var(--brand-1);}
.li-preview .li-prop-info b{display:block;font-size:15.5px;font-weight:800;margin-top:6px;}
.li-preview .li-prop-loc{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);margin-top:5px;}
.li-preview .li-prop-loc svg{flex:none;color:var(--brand-1);}
.li-preview .li-prop-loc em{font-style:normal;color:var(--muted);}
.li-preview .li-prop-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.li-preview .li-switch{
  appearance:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;color:var(--ink);
  border:1px solid var(--line);border-radius:100px;padding:12px 38px 12px 18px;max-width:100%;
  background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><path d="M1 1l5 5 5-5" stroke="%235B5D6B" stroke-width="1.6" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 16px center;
}
.li-preview .li-prop-actions .btn{padding:12px 22px;font-size:13.5px;}

/* ---- Mobile panel tabs ---- */
.li-preview .li-tabsel{display:none;}
.li-preview .li-tabsel button{
  flex:1;min-width:0;border:none;background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding:10px 6px;border-radius:100px;
  font-size:12.5px;font-weight:700;color:var(--ink-soft);white-space:nowrap;
  transition:background .2s ease, color .2s ease;
}
.li-preview .li-tabsel button svg{flex:none;}
.li-preview .li-tabsel button.is-on{background:var(--navy);color:#fff;}
.li-preview .li-tabsel button.is-on[data-tab="views"] svg{color:var(--brand-2);}
.li-preview .li-tabsel button.is-on[data-tab="calls"] svg{color:#B49BFF;}
.li-preview .li-tabsel button.is-on[data-tab="dm"]    svg{color:var(--mint);}

/* ---- Locked board ---- */
.li-preview .li-board{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px;align-items:start;}
.li-preview .li-panel{
  position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.li-preview .li-panel.views{--tone:var(--brand-1);--tint:var(--brand-tint);}
.li-preview .li-panel.calls{--tone:var(--violet);--tint:#F1ECFF;}
.li-preview .li-panel.dm   {--tone:#0E9E7A;--tint:#E7FBF4;}
.li-preview .li-panel-head{
  position:relative;z-index:3;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 18px;background:linear-gradient(180deg,var(--tint),#fff);
  border-bottom:1px solid var(--line);
}
.li-preview .li-panel-head h3{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:800;}
.li-preview .li-panel-head h3 svg{color:var(--tone);flex:none;}
.li-preview .li-count{
  display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;
  border-radius:100px;background:#fff;border:1px solid var(--line);
  font-size:11px;font-weight:800;color:var(--ink-soft);
}
.li-preview .li-lockchip{
  display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;color:var(--navy);
  background:#fff;border:1px solid var(--line);padding:5px 10px;border-radius:100px;
}
.li-preview .li-lockchip svg{flex:none;color:var(--brand-1);}

.li-preview .li-listwrap{position:relative;}
.li-preview .li-list{padding:6px 8px 8px;height:322px;overflow:hidden;}

.li-preview .li-row{
  position:relative;display:flex;align-items:center;gap:12px;
  padding:11px 10px;border-radius:14px;
}
.li-preview .li-row + .li-row::before{
  content:'';position:absolute;top:0;left:10px;right:10px;height:1px;background:var(--line);
}
.li-preview .li-av{
  width:38px;height:38px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.02em;
  background:linear-gradient(135deg,var(--a),var(--b));
}
.li-preview .li-av.blank{background:linear-gradient(135deg,#DDDDE6,#EFEFF5);color:#A6A8B8;}
.li-preview .li-who{flex:1;min-width:0;}
.li-preview .li-who b{display:flex;align-items:center;font-size:13.5px;font-weight:700;line-height:1.3;}
.li-preview .li-who b span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.li-preview .li-phone{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-top:3px;white-space:nowrap;}
.li-preview .li-row.is-locked .li-who b span,
.li-preview .li-row.is-locked .li-phone{
  filter:blur(4.5px);
  -webkit-user-select:none;user-select:none;pointer-events:none;
}
.li-preview .li-end{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.li-preview .li-time{font-size:10.5px;font-weight:600;color:var(--muted);white-space:nowrap;}
.li-preview .li-lockdot{
  width:26px;height:26px;border-radius:8px;background:var(--surface);
  color:var(--muted);display:flex;align-items:center;justify-content:center;
}

/* ---- Overlay: the unlock gate ---- */
.li-preview .li-gate{
  position:absolute;left:0;right:0;bottom:0;top:56px;z-index:4;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  text-align:center;padding:24px 20px 22px;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.82) 34%,#fff 72%);
  backdrop-filter:blur(1.5px);
}
.li-preview .li-gate .ring{
  width:52px;height:52px;border-radius:18px;flex:none;color:#fff;margin-bottom:12px;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 30px -12px rgba(255,90,54,.7);
}
.li-preview .li-gate b{display:block;font-size:14.5px;font-weight:800;}
.li-preview .li-gate p{font-size:12.5px;color:var(--ink-soft);line-height:1.6;margin-top:5px;max-width:230px;}
.li-preview .li-gate .btn{margin-top:14px;padding:12px 24px;font-size:13.5px;}
.li-preview .li-gate .li-mini{
  display:flex;align-items:center;gap:6px;margin-top:10px;
  font-size:11px;font-weight:700;color:var(--muted);
}
.li-preview .li-gate .li-mini svg{flex:none;color:var(--mint);}

/* ---- Unlock banner ---- */
.li-preview .li-cta{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:22px;
  background:var(--navy);color:#C9CBE4;border-radius:24px;padding:26px 28px;
  box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.li-preview .li-cta::before{
  content:'';position:absolute;right:-80px;top:-90px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,90,54,.35),transparent 68%);
}
.li-preview .li-cta-txt{flex:1;min-width:260px;position:relative;z-index:1;}
.li-preview .li-cta-txt h2{font-size:24px;font-weight:600;color:#fff;letter-spacing:-.01em;}
.li-preview .li-cta-txt h2 em{font-style:normal;color:var(--brand-2);}
.li-preview .li-cta-txt p{font-size:13.5px;line-height:1.7;margin-top:6px;max-width:520px;}
.li-preview .li-perks{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;}
.li-preview .li-perks span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:#fff;}
.li-preview .li-perks svg{flex:none;color:var(--mint);}
.li-preview .li-cta-buy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.li-preview .li-cta-buy small{font-size:11.5px;color:#8B8EB4;font-weight:600;}

/* ---- Toast ---- */
.li-preview .li-toast{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);
  background:var(--navy);color:#fff;padding:12px 22px;border-radius:100px;
  font-size:13px;font-weight:600;z-index:1100;opacity:0;pointer-events:none;
  max-width:calc(100% - 32px);text-align:center;
  transition:opacity .25s ease, transform .25s ease;
}
.li-preview .li-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ================= ZERO-ACTIVITY PROPERTY INSIGHTS PAGE (.zi-preview) =================
   Live at /your-properties-insight/{category}/{id} - rendered instead of
   .pi-preview above whenever PropertyInsightsController::show() finds the
   owner already unlocked for this property's category but with 0 views/
   calls/whatsapp so far (an unpaid owner with 0 leads still sees
   .li-preview, the paywall). Ported from the "no-insights.html" mockup.
   Same scoping convention as .pi-preview/.li-preview. Responsive/
   media-query rules for this page live in responsive1.css. ================= */
.zi-preview{
  --ink:#12121A;
  --ink-soft:#5B5D6B;
  --muted:#9A9CAB;
  --line:#E9E9EF;
  --surface:#F6F6F9;
  --card:#FFFFFF;
  --brand-1:#FF5A36;
  --brand-2:#FF8A3D;
  --brand-tint:#FFF0EA;
  --mint:#12D6A3;
  --violet:#7C5CFF;
  --navy:#0E1224;
  --gold:#FFB020;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
}
.zi-preview, .zi-preview *{box-sizing:border-box;margin:0;padding:0;}
.zi-preview{
  font-family:var(--lr-font);
  color:var(--ink);background:var(--surface);
  -webkit-font-smoothing:antialiased;
}
.zi-preview h1,.zi-preview h2{font-family:var(--lr-font);}
.zi-preview img{max-width:100%;display:block;}
.zi-preview a{text-decoration:none;color:inherit;}
.zi-preview ul{list-style:none;}
.zi-preview button,.zi-preview select{font-family:inherit;}
.zi-preview :focus-visible{outline:2px solid var(--brand-1);outline-offset:3px;border-radius:8px;}
.zi-preview .container{max-width:1240px;margin:0 auto;padding:0 24px;}

.zi-preview .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:700;font-size:14.5px;line-height:1.2;
  border-radius:100px;padding:14px 26px;white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.zi-preview .btn-primary{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
  box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
}
.zi-preview .btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 38px -8px rgba(255,90,54,.62);}
.zi-preview .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.zi-preview .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;transform:translateY(-2px);}

/* ---- Page shell ---- */
.zi-preview .zi{
  position:relative;overflow:hidden;padding:40px 0 80px;
  background:
    radial-gradient(640px 280px at 6% -12%, rgba(124,92,255,.10), transparent 62%),
    radial-gradient(560px 260px at 96% -14%, rgba(18,214,163,.12), transparent 62%);
}

/* ---- Breadcrumb + page head ---- */
.zi-preview .zi-crumb{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:18px;flex-wrap:wrap;}
.zi-preview .zi-crumb a:hover{color:var(--ink);}
.zi-preview .zi-crumb span{color:var(--ink);font-weight:700;}

.zi-preview .zi-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.zi-preview .zi-head h1{font-size:clamp(28px,4vw,42px);font-weight:600;letter-spacing:-.015em;color:var(--navy);}
.zi-preview .zi-head h1 em{font-style:normal;color:var(--brand-1);}
.zi-preview .zi-sub{color:var(--ink-soft);font-size:14.5px;margin-top:9px;max-width:580px;line-height:1.65;}
.zi-preview .zi-sub strong{color:var(--ink);font-weight:700;}

.zi-preview .zi-headcta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.zi-preview .zi-headcta .note{font-size:12px;color:var(--muted);font-weight:600;}

/* ---- Property strip ---- */
.zi-preview .zi-prop{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:34px;
  background:var(--card);border:1px solid var(--line);border-radius:22px;
  padding:14px 18px 14px 14px;box-shadow:var(--shadow-sm);
}
.zi-preview .zi-prop-thumb{width:96px;height:72px;border-radius:15px;overflow:hidden;flex:none;background:var(--surface);}
.zi-preview .zi-prop-thumb img{width:100%;height:100%;object-fit:cover;}
.zi-preview .zi-prop-info{flex:1;min-width:210px;}
.zi-preview .zi-prop-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.zi-preview .zi-pid{font-size:11.5px;font-weight:800;color:var(--muted);letter-spacing:.04em;}
.zi-preview .zi-live{
  display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;color:#0E9E7A;background:#E7FBF4;
  padding:5px 10px;border-radius:100px;
}
.zi-preview .zi-live .dot{width:6px;height:6px;border-radius:50%;background:var(--mint);}
.zi-preview .zi-live.is-paused{color:var(--ink-soft);background:var(--line);}
.zi-preview .zi-live.is-paused .dot{background:var(--muted);}
.zi-preview .zi-live.is-review{color:var(--brand-1);background:var(--brand-tint);}
.zi-preview .zi-live.is-review .dot{background:var(--brand-1);}
.zi-preview .zi-age{
  display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;color:#8A6A00;background:#FFF6E2;
  padding:5px 10px;border-radius:100px;
}
.zi-preview .zi-prop-info b{display:block;font-size:15.5px;font-weight:800;margin-top:6px;}
.zi-preview .zi-prop-loc{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);margin-top:5px;}
.zi-preview .zi-prop-loc svg{flex:none;color:var(--brand-1);}
.zi-preview .zi-prop-loc em{font-style:normal;color:var(--muted);}
.zi-preview .zi-prop-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.zi-preview .zi-switch{
  appearance:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;color:var(--ink);
  border:1px solid var(--line);border-radius:100px;padding:12px 38px 12px 18px;max-width:100%;
  background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><path d="M1 1l5 5 5-5" stroke="%235B5D6B" stroke-width="1.6" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 16px center;
}
.zi-preview .zi-prop-actions .btn{padding:12px 22px;font-size:13.5px;}

/* ---- Mobile panel tabs ---- */
.zi-preview .zi-tabsel{display:none;}
.zi-preview .zi-tabsel button{
  flex:1;min-width:0;border:none;background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding:10px 6px;border-radius:100px;
  font-size:12.5px;font-weight:700;color:var(--ink-soft);white-space:nowrap;
  transition:background .2s ease, color .2s ease;
}
.zi-preview .zi-tabsel button svg{flex:none;}
.zi-preview .zi-tabsel button.is-on{background:var(--navy);color:#fff;}
.zi-preview .zi-tabsel button.is-on[data-tab="views"] svg{color:var(--brand-2);}
.zi-preview .zi-tabsel button.is-on[data-tab="calls"] svg{color:#B49BFF;}
.zi-preview .zi-tabsel button.is-on[data-tab="dm"]    svg{color:var(--mint);}

/* ---- Empty board ---- */
.zi-preview .zi-board{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px;align-items:start;}
.zi-preview .zi-panel{
  position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.zi-preview .zi-panel.views{--tone:var(--brand-1);--tint:var(--brand-tint);}
.zi-preview .zi-panel.calls{--tone:var(--violet);--tint:#F1ECFF;}
.zi-preview .zi-panel.dm   {--tone:#0E9E7A;--tint:#E7FBF4;}
.zi-preview .zi-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 18px;background:linear-gradient(180deg,var(--tint),#fff);
  border-bottom:1px solid var(--line);
}
.zi-preview .zi-panel-head h3{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:800;}
.zi-preview .zi-panel-head h3 svg{color:var(--tone);flex:none;}
.zi-preview .zi-count{
  display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;
  border-radius:100px;background:#fff;border:1px solid var(--line);
  font-size:11px;font-weight:800;color:var(--muted);
}
.zi-preview .zi-chip{
  display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);
  background:#fff;border:1px solid var(--line);padding:5px 10px;border-radius:100px;
}
.zi-preview .zi-chip svg{flex:none;color:var(--muted);}

/* the empty state itself */
.zi-preview .zi-empty{
  position:relative;height:322px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:22px 22px 24px;
}
.zi-preview .zi-ghost{
  position:absolute;inset:14px 12px auto 12px;display:flex;flex-direction:column;gap:14px;
  opacity:.5;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 55%,transparent 92%);
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 55%,transparent 92%);
}
.zi-preview .zi-ghost i{display:flex;align-items:center;gap:12px;padding:0 8px;}
.zi-preview .zi-ghost i::before{
  content:'';width:38px;height:38px;border-radius:50%;flex:none;background:#EFEFF5;
}
.zi-preview .zi-ghost i::after{
  content:'';flex:1;height:9px;border-radius:100px;
  background:linear-gradient(90deg,#EFEFF5,#F6F6F9);
}
.zi-preview .zi-ghost i:nth-child(2)::after{max-width:78%;}
.zi-preview .zi-ghost i:nth-child(3)::after{max-width:62%;}
.zi-preview .zi-ghost i:nth-child(4)::after{max-width:48%;}

.zi-preview .zi-empty-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;}
.zi-preview .zi-empty .ring{
  width:56px;height:56px;border-radius:20px;flex:none;margin-bottom:14px;
  color:var(--tone);background:var(--tint);
  display:flex;align-items:center;justify-content:center;
  border:1px solid #fff;box-shadow:0 12px 26px -16px rgba(18,18,26,.45);
}
.zi-preview .zi-empty b{display:block;font-size:14.5px;font-weight:800;}
.zi-preview .zi-empty p{font-size:12.5px;color:var(--ink-soft);line-height:1.6;margin-top:5px;max-width:238px;}
.zi-preview .zi-empty .btn{margin-top:14px;padding:12px 24px;font-size:13.5px;}
.zi-preview .zi-empty .zi-mini{
  display:flex;align-items:center;gap:6px;margin-top:10px;
  font-size:11px;font-weight:700;color:var(--muted);
}
.zi-preview .zi-empty .zi-mini svg{flex:none;color:var(--tone);}

/* ---- Checklist: how to get the first lead ---- */
.zi-preview .zi-boost{
  margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:24px;
  padding:26px 28px;box-shadow:var(--shadow-sm);
}
.zi-preview .zi-boost-top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.zi-preview .zi-boost-top h2{font-size:22px;font-weight:600;color:var(--navy);letter-spacing:-.01em;}
.zi-preview .zi-boost-top h2 em{font-style:normal;color:var(--brand-1);}
.zi-preview .zi-boost-top p{font-size:13.5px;color:var(--ink-soft);margin-top:5px;max-width:520px;line-height:1.65;}
.zi-preview .zi-score{display:flex;align-items:center;gap:12px;flex:none;}
.zi-preview .zi-score-ring{
  width:58px;height:58px;border-radius:50%;flex:none;display:grid;place-items:center;
}
.zi-preview .zi-score-ring span{
  width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;
  font-size:13px;font-weight:800;color:var(--navy);
}
.zi-preview .zi-score small{display:block;font-size:11.5px;color:var(--muted);font-weight:700;}
.zi-preview .zi-score b{display:block;font-size:13.5px;font-weight:800;margin-top:2px;}

.zi-preview .zi-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;}
.zi-preview .zi-step{
  display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:18px;
  background:var(--surface);border:1px solid var(--line);
}
.zi-preview .zi-step .ic{
  width:36px;height:36px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line);color:var(--brand-1);
}
.zi-preview .zi-step.done .ic{color:#0E9E7A;background:#E7FBF4;border-color:#CFF3E7;}
.zi-preview .zi-step b{display:block;font-size:13.5px;font-weight:800;}
.zi-preview .zi-step p{font-size:12.5px;color:var(--ink-soft);line-height:1.6;margin-top:4px;}
.zi-preview .zi-step a.link{
  display:inline-flex;align-items:center;gap:5px;margin-top:8px;
  font-size:12.5px;font-weight:800;color:var(--brand-1);
}
.zi-preview .zi-step a.link:hover{text-decoration:underline;}
.zi-preview .zi-step.done b::after{
  content:'Done';margin-left:8px;font-size:10px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:#0E9E7A;background:#E7FBF4;padding:3px 8px;border-radius:100px;
}

/* ---- Toast ---- */
.zi-preview .zi-toast{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);
  background:var(--navy);color:#fff;padding:12px 22px;border-radius:100px;
  font-size:13px;font-weight:600;z-index:1100;opacity:0;pointer-events:none;
  max-width:calc(100% - 32px);text-align:center;
  transition:opacity .25s ease, transform .25s ease;
}
.zi-preview .zi-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ================= 404 error page (.err2-page) ================= */
.err2-page{font-family:var(--lr-font);}
.err2-page h1{font-family:var(--lr-font);}

.err2-hero{
  position:relative;overflow:hidden;
  padding:64px 0 72px;
  background:
    radial-gradient(1000px 460px at 80% -8%, #FFF1EA 0%, rgba(255,241,234,0) 62%),
    radial-gradient(760px 420px at 8% 12%, #F2F4FF 0%, rgba(242,244,255,0) 60%);
}
.err2-wrap{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  width:100%;max-width:660px;margin:0 auto;
}
.err2-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;}

.err2-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:600;font-size:15px;
  border-radius:100px;padding:15px 28px;color:#fff !important;text-decoration:none;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
  transition:transform .18s ease, box-shadow .18s ease;
}
.err2-btn:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);color:#fff;text-decoration:none;}

/* illustration */
.err2-art{position:relative;display:flex;justify-content:center;width:100%;}
.err2-card{
  background:#fff;border:1px solid var(--line);border-radius:28px;
  box-shadow:var(--shadow);padding:34px 30px 30px;width:100%;max-width:440px;
  position:relative;
}
.err2-big{
  font-family: var(--lr-font);
  font-size: clamp(84px,11vw,132px);
  font-weight: 700;
  letter-spacing: -.03em;
  text-align: center;
  line-height: 1.12;
  padding: .04em 0;
  background: linear-gradient(135deg,var(--brand-1),var(--brand-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.err2-sub{text-align:center;color:var(--ink-soft);font-size:14px;margin-top:6px;}
.err2-house{margin:24px auto 0;width:100%;max-width:300px;display:block;overflow:visible;}

/* ---------- House build -> collapse animation ---------- */
/* One shared 7s timeline. Every part encodes its own build-in window and
   its own fall-out window, so nothing depends on animation-delay staying in sync. */
.err2-house{--err2-dur:7s;}
.err2-house .err2-part{
  transform-box:fill-box;
  transform-origin:50% 100%;
  animation-duration:var(--err2-dur);
  animation-iteration-count:infinite;
  animation-timing-function:cubic-bezier(.34,1.4,.64,1);
  opacity:0;
}
.err2-house #err2HouseGroup{
  transform-box:fill-box;transform-origin:50% 100%;
  animation:err2-hq-shake var(--err2-dur) infinite linear;
}

/* 1. Ground line settles first */
.err2-house .err2-p-ground{animation-name:err2-build-ground;transform-origin:50% 50%;}
@keyframes err2-build-ground{
  0%{opacity:0;transform:scaleX(.2);}
  8%,74%{opacity:1;transform:scaleX(1);}
  80%{opacity:1;transform:scaleX(1.08);}
  92%,100%{opacity:1;transform:scaleX(1);}
}

/* 2. Walls rise out of the ground */
.err2-house .err2-p-body{animation-name:err2-build-body;}
@keyframes err2-build-body{
  0%,6%{opacity:0;transform:translateY(24px) scaleY(.35);}
  18%,60%{opacity:1;transform:translateY(0) scaleY(1) rotate(0deg);}
  70%{opacity:1;transform:translateY(0) scaleY(1) rotate(-2deg);}
  82%{opacity:1;transform:translateY(26px) rotate(-11deg);}
  90%,100%{opacity:0;transform:translateY(62px) rotate(-18deg);}
}

/* 3. Roof line draws itself on, then slides off the top */
.err2-house .err2-p-roof{
  stroke-dasharray:220;
  animation-name:err2-build-roof;
  animation-timing-function:ease-in-out;
  transform-origin:50% 100%;
}
@keyframes err2-build-roof{
  0%,16%{opacity:0;stroke-dashoffset:220;transform:translate(0,0) rotate(0deg);}
  20%{opacity:1;stroke-dashoffset:220;}
  34%,62%{opacity:1;stroke-dashoffset:0;transform:translate(0,0) rotate(0deg);}
  68%{opacity:1;stroke-dashoffset:0;transform:translate(4px,-3px) rotate(3deg);}
  82%{opacity:1;stroke-dashoffset:0;transform:translate(54px,34px) rotate(26deg);}
  90%,100%{opacity:0;stroke-dashoffset:0;transform:translate(96px,88px) rotate(46deg);}
}

/* 4. Windows pop in */
.err2-house .err2-p-win-l{animation-name:err2-build-win-l;transform-origin:50% 50%;}
@keyframes err2-build-win-l{
  0%,34%{opacity:0;transform:scale(.2);}
  42%,64%{opacity:1;transform:scale(1) translate(0,0) rotate(0deg);}
  78%{opacity:1;transform:translate(-14px,22px) rotate(-24deg);}
  88%,100%{opacity:0;transform:translate(-30px,60px) rotate(-52deg);}
}
.err2-house .err2-p-win-r{animation-name:err2-build-win-r;transform-origin:50% 50%;}
@keyframes err2-build-win-r{
  0%,38%{opacity:0;transform:scale(.2);}
  46%,64%{opacity:1;transform:scale(1) translate(0,0) rotate(0deg);}
  76%{opacity:1;transform:translate(16px,20px) rotate(28deg);}
  88%,100%{opacity:0;transform:translate(38px,62px) rotate(58deg);}
}

/* 5. Door drops into its frame last */
.err2-house .err2-p-door{animation-name:err2-build-door;}
@keyframes err2-build-door{
  0%,44%{opacity:0;transform:translateY(-18px) scaleY(.3);}
  54%,66%{opacity:1;transform:translateY(0) scaleY(1) rotate(0deg);}
  80%{opacity:1;transform:translateY(14px) rotate(9deg);}
  90%,100%{opacity:0;transform:translateY(56px) rotate(22deg);}
}

/* 6. The "sold" board is the one thing left standing */
.err2-house .err2-p-sign{animation-name:err2-build-sign;}
@keyframes err2-build-sign{
  0%,48%{opacity:0;transform:translateY(18px) rotate(-12deg);}
  58%,86%{opacity:1;transform:translateY(0) rotate(0deg);}
  92%{opacity:1;transform:translateY(0) rotate(-4deg);}
  100%{opacity:0;transform:translateY(0) rotate(-4deg);}
}

/* 7. Crack splits the wall just before it goes */
.err2-house .err2-p-crack{
  stroke-dasharray:60;
  animation-name:err2-build-crack;
  animation-timing-function:ease-out;
}
@keyframes err2-build-crack{
  0%,62%{opacity:0;stroke-dashoffset:60;}
  66%{opacity:1;stroke-dashoffset:60;}
  74%,82%{opacity:1;stroke-dashoffset:0;}
  88%,100%{opacity:0;stroke-dashoffset:0;}
}

/* 8. Dust puffs on impact */
.err2-house .err2-p-dust{animation-name:err2-puff;transform-origin:50% 50%;animation-timing-function:ease-out;}
.err2-house .err2-p-dust.err2-d2{animation-name:err2-puff2;}
.err2-house .err2-p-dust.err2-d3{animation-name:err2-puff3;}
@keyframes err2-puff{
  0%,78%{opacity:0;transform:scale(.2) translate(0,0);}
  84%{opacity:.75;transform:scale(1) translate(-8px,-4px);}
  96%,100%{opacity:0;transform:scale(1.9) translate(-20px,-10px);}
}
@keyframes err2-puff2{
  0%,80%{opacity:0;transform:scale(.2) translate(0,0);}
  86%{opacity:.6;transform:scale(1) translate(6px,-6px);}
  97%,100%{opacity:0;transform:scale(2) translate(18px,-14px);}
}
@keyframes err2-puff3{
  0%,82%{opacity:0;transform:scale(.2) translate(0,0);}
  88%{opacity:.5;transform:scale(1) translate(0,-8px);}
  98%,100%{opacity:0;transform:scale(2.1) translate(2px,-20px);}
}

/* Tremor before the collapse */
@keyframes err2-hq-shake{
  0%,62%{transform:translate(0,0);}
  64%{transform:translate(-2px,0);}
  66%{transform:translate(2px,1px);}
  68%{transform:translate(-2px,1px);}
  70%{transform:translate(2px,0);}
  72%{transform:translate(-1px,0);}
  74%,100%{transform:translate(0,0);}
}

/* The 404 reacts to the impact */
@keyframes err2-code-hit{
  0%,80%{transform:translateY(0) scale(1);}
  84%{transform:translateY(3px) scale(1.045);}
  90%,100%{transform:translateY(0) scale(1);}
}

.err2-badge{
  position:absolute;display:flex;align-items:center;gap:9px;
  background:#fff;border:1px solid var(--line);border-radius:100px;
  padding:10px 15px;box-shadow:var(--shadow-sm);
  font-size:12.5px;font-weight:700;white-space:nowrap;color:var(--ink);
}
.err2-badge span{color:var(--ink-soft);font-weight:500;}
.err2-badge-a{top:16px;left:-26px;animation:err2-float 5s ease-in-out infinite;}
.err2-badge-b{bottom:26px;right:-24px;animation:err2-float 5s ease-in-out infinite .9s;}
.err2-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-1);display:inline-block;flex:none;}
.err2-dot-green{background:#18B26B;}
@keyframes err2-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}

@media (prefers-reduced-motion:reduce){
  .err2-badge-a,.err2-badge-b{animation:none;}
  .err2-btn:hover{transform:none;}
  /* Freeze the illustration on the finished house — no build, no collapse */
  .err2-house .err2-part,.err2-house #err2HouseGroup,.err2-big{animation:none;transform:none;}
  .err2-house .err2-part{opacity:1;stroke-dashoffset:0;}
  .err2-house .err2-p-crack,.err2-house .err2-p-dust{opacity:0;}
}

/* ==================================================================
   Tenant Relax Plan page (.rlx-page) - redesign
   Scoped under .rlx-page so these rules never affect any other page.
   No custom header/footer markup here - the page relies on the real
   global header/footer from front.template, unlike the old page's own
   duplicate <header> which rendered alongside the real one.
   ================================================================== */
@keyframes lrFade { from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }
@keyframes lrPulse { 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.35); opacity:.55; } }
@keyframes lrRise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes lrOpen{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

.rlx-page{
  --accent:#FF5403;
  --accent-dark:oklch(45% 0.17 42);
  --accent-light:oklch(78% 0.15 42);
  --accent-tint:oklch(95% 0.045 42);
  --ink:oklch(20% 0.02 70);
  --ink-muted:oklch(45% 0.02 70);
  --bg:oklch(98% 0.01 80);
  --card:oklch(99.5% 0.004 80);
  --border:oklch(90% 0.012 80);
  --section-alt:oklch(96% 0.012 80);
  --stat-label:oklch(70% 0.02 70);
  --green:#1DB954;
  font-family:var(--lr-font);
  background:var(--bg);color:var(--ink);line-height:1.45;
  -webkit-font-smoothing:antialiased;
}

.rlx-page a{color:var(--accent);text-decoration:none;}
.rlx-page a:hover{color:var(--accent-dark);text-decoration:underline;}
.rlx-page button{font-family:inherit;}
.rlx-page h1,.rlx-page h2,.rlx-page h3{letter-spacing:-.01em;}
.rlx-page h1,.rlx-page h2{font-family:var(--lr-font);font-weight:700;}
.rlx-page :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px;}
.rlx-page [hidden]{display:none !important;}

/* ---------- Hero ---------- */
.rlx-page .hero{
  padding:48px 6vw 52px;display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;
  align-items:start;max-width:1360px;margin:0 auto;
}
.rlx-page .hero-copy{padding-top:16px;}
.rlx-page .pill{
  display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;
  background:var(--accent-tint);color:var(--accent-dark);font-weight:700;font-size:13px;
  letter-spacing:.02em;margin-bottom:22px;
}
.rlx-page .hero h1{font-size:54px;font-weight:600;letter-spacing:-.02em;line-height:1.12;margin:0 0 18px;max-width:580px;}
.rlx-page .hero h1 em{color:var(--accent);font-style:normal;}
.rlx-page .hero-sub{font-size:19px;color:var(--ink-muted);max-width:520px;margin:0 0 30px;}
.rlx-page .hero-bullets{display:flex;flex-wrap:wrap;gap:14px 28px;margin-bottom:34px;}
.rlx-page .hero-bullets li{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;list-style:none;}
.rlx-page .tick{
  width:20px;height:20px;border-radius:999px;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;
}
.rlx-page .callback{
  display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--card);
  border:1px solid var(--border);border-radius:16px;max-width:440px;
  transition:transform .25s cubic-bezier(.22,.7,.3,1),border-color .25s ease;
}
.rlx-page .callback:hover{transform:translateY(-2px);border-color:var(--accent-light);}
.rlx-page .callback-icon{
  width:44px;height:44px;border-radius:999px;background:var(--accent-tint);
  display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;
}
.rlx-page .callback small{display:block;font-size:13px;color:var(--ink-muted);font-weight:600;}
.rlx-page .callback a{font-size:18px;font-weight:800;color:var(--ink);}

/* ---------- Plan card ---------- */
.rlx-page .card-wrap{position:sticky;top:96px;}
.rlx-page .card-deco{
  position:absolute;top:-20px;left:-20px;width:62%;height:46%;z-index:0;
  background:linear-gradient(135deg,var(--accent-tint),var(--accent-light));
  border-radius:0 90px 0 0;
}
.rlx-page .plan-card{
  position:relative;z-index:1;background:var(--card);border:1px solid var(--border);
  border-top:4px solid var(--accent);border-radius:24px;padding:28px;
  box-shadow:0 24px 60px -30px rgba(20,20,20,.25);
}
.rlx-page .plan-tag{
  display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase;color:var(--accent-dark);
  background:var(--accent-tint);padding:5px 11px;border-radius:999px;margin-bottom:14px;
}
.rlx-page .plan-card h2{font-size:34px;font-weight:600;margin:0 0 6px;line-height:1.15;}
.rlx-page .plan-card h2 em{color:var(--accent);font-style:normal;}
.rlx-page .card-lede{font-size:13px;color:var(--ink-muted);margin:0 0 20px;}
.rlx-page .price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:4px;}
.rlx-page .price{font-size:40px;font-weight:800;letter-spacing:-.02em;line-height:1;}
.rlx-page .price-gst{font-size:14px;font-weight:600;color:var(--ink-muted);}
.rlx-page .price-note{font-size:13px;color:var(--ink-muted);margin-bottom:20px;}
.rlx-page .brokerage-strip{
  display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;
  background:var(--section-alt);border:1px solid var(--border);margin-bottom:20px;
}
.rlx-page .brokerage-zero{
  font-family:var(--lr-font);font-size:34px;font-weight:700;color:var(--accent);line-height:1;letter-spacing:-.02em;}
.rlx-page .brokerage-strip p{font-size:13px;color:var(--ink-muted);margin:0;}
.rlx-page .brokerage-strip strong{display:block;font-size:14px;color:var(--ink);font-weight:800;margin-bottom:2px;}
.rlx-page .plan-includes{list-style:none;padding-left: 0px;display:flex;flex-direction:column;gap:11px;margin-bottom:22px;}
.rlx-page .plan-includes li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;font-weight:600;}
.rlx-page .plan-includes .tick{margin-top:2px;}
.rlx-page .submit{
  width:100%;padding:15px;border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:800;
  cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  box-shadow:0 12px 24px -10px var(--accent);
  transition:transform .18s ease,filter .18s ease,box-shadow .25s ease;
}
.rlx-page .submit:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 18px 30px -12px var(--accent);}
.rlx-page .submit:active{transform:translateY(0) scale(.985);}
.rlx-page .terms{font-size:12px;color:var(--ink-muted);text-align:center;margin-top:12px;}
.rlx-page .terms-link{
  background:none;border:none;padding:0;font-size:inherit;font-weight:700;
  color:var(--accent);cursor:pointer;text-decoration:underline;
  text-underline-offset:2px;transition:color .18s ease;
}
.rlx-page .terms-link:hover{color:var(--accent-dark);}
.rlx-page .live-count{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:16px;padding-top:16px;border-top:1px dashed var(--border);
  font-size:13px;font-weight:600;color:var(--ink-muted);text-align:center;
}
.rlx-page .live-dot{width:8px;height:8px;border-radius:999px;background:var(--green);flex-shrink:0;animation:lrPulse 1.8s ease-in-out infinite;}
.rlx-page .live-count strong{color:var(--ink);font-weight:800;}

/* ---------- Stats ---------- */
.rlx-page .stats{background:var(--ink);padding:34px 6vw;}
.rlx-page .stats-inner{
  max-width:1200px;margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;text-align:center;
}
.rlx-page .stat-value{font-size:36px;font-weight:800;color:var(--bg);}
.rlx-page .stat-label{font-size:14px;color:var(--stat-label);font-weight:600;margin-top:4px;}

/* ---------- Sections ---------- */
.rlx-page section.pad{padding:52px 6vw;}
.rlx-page .section-title{font-size:36px;font-weight:600;text-align:center;margin:0 0 12px;}
.rlx-page .section-lede{text-align:center;color:var(--ink-muted);font-size:17px;margin:0 auto;}

.rlx-page .benefits{max-width:1200px;margin:0 auto;}
.rlx-page .benefits .section-lede{max-width:600px;margin-bottom:36px;}
.rlx-page .benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;}
.rlx-page .benefit-card{text-align:center;padding:16px 20px;transition:transform .25s cubic-bezier(.22,.7,.3,1),box-shadow .25s ease,border-color .25s ease;}
.rlx-page .benefit-card:hover{transform:translateY(-4px);}
.rlx-page .benefit-icon{
  width:72px;height:72px;border-radius:20px;background:var(--accent-tint);color:var(--accent-dark);
  display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;margin:0 auto 20px;
  transition:transform .3s cubic-bezier(.34,1.4,.5,1),background .25s ease;
}
.rlx-page .benefit-card:hover .benefit-icon{transform:translateY(-3px) rotate(-5deg) scale(1.06);}
.rlx-page .benefit-card h3{font-size:18px;font-weight:800;margin:0 0 8px;}
.rlx-page .benefit-card p{font-size:15px;color:var(--ink-muted);margin:0;}

/* ---------- Refund promise ---------- */
.rlx-page .promise{background:var(--section-alt);}
.rlx-page .promise-inner{
  max-width:1000px;margin:0 auto;background:var(--card);border:1px solid var(--border);
  border-left:4px solid var(--accent);border-radius:20px;padding:36px 40px;
  display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;
}
.rlx-page .promise-seal{
  width:96px;height:96px;border-radius:999px;background:var(--accent-tint);color:var(--accent-dark);
  display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;
  font-weight:800;line-height:1.05;
  transition:transform .4s cubic-bezier(.34,1.4,.5,1);
}
.rlx-page .promise-inner:hover .promise-seal{transform:rotate(-6deg) scale(1.05);}
.rlx-page .promise-seal b{font-size:24px;}
.rlx-page .promise-seal small{font-size:10px;letter-spacing:.06em;text-transform:uppercase;}
.rlx-page .promise-inner h2{font-size:28px;margin:0 0 10px;}
.rlx-page .promise-inner p{font-size:16px;color:var(--ink-muted);margin:0 0 14px;}
.rlx-page .promise-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px;}
.rlx-page .promise-list li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;}

/* ---------- Testimonials ---------- */
.rlx-page .testimonials{background:var(--bg);}
.rlx-page .testimonials-inner{max-width:1200px;margin:0 auto;}
.rlx-page .testimonials .section-lede{margin-bottom:32px;}
.rlx-page .testimonial-track{display:flex;gap:24px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
.rlx-page .testimonial{
  background:var(--card);border:1px solid var(--border);border-radius:16px;
  padding:26px;flex-shrink:0;width:340px;
  transition:transform .25s cubic-bezier(.22,.7,.3,1),box-shadow .25s ease,border-color .25s ease;
}
.rlx-page .testimonial:hover{transform:translateY(-4px);box-shadow:0 18px 40px -26px rgba(20,20,20,.4);border-color:var(--accent-light);}
.rlx-page .stars{color:var(--accent);font-size:14px;letter-spacing:2px;margin-bottom:12px;}
.rlx-page .testimonial p{font-size:15px;color:var(--ink);margin:0 0 18px;}
.rlx-page .who{display:flex;align-items:center;gap:12px;}
.rlx-page .who-initial{
  width:38px;height:38px;border-radius:999px;background:var(--accent-tint);color:var(--accent-dark);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;
}
.rlx-page .who-name{font-size:14px;font-weight:700;}
.rlx-page .who-tag{font-size:12px;color:var(--ink-muted);}

/* ---------- FAQ ---------- */
.rlx-page .faq-section{background:var(--section-alt);}
.rlx-page .faq{max-width:840px;margin:0 auto;}
.rlx-page .faq .section-lede{margin-bottom:30px;}
.rlx-page .faq-list{display:flex;flex-direction:column;gap:12px;}
.rlx-page .faq-item{border:1px solid var(--border);border-radius:14px;background:var(--card);overflow:hidden;transition:border-color .25s ease;}
.rlx-page .faq-item:hover{border-color:var(--accent-light);}
.rlx-page .faq-q{
  width:100%;text-align:left;padding:20px 24px;background:none;border:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.rlx-page .faq-q span:first-child{font-size:16px;font-weight:700;color:var(--ink);}
.rlx-page .faq-icon{font-size:20px;color:var(--ink-muted);flex-shrink:0;line-height:1;transition:transform .25s cubic-bezier(.34,1.4,.5,1),color .2s ease;}
.rlx-page .faq-q[aria-expanded="true"] .faq-icon{transform:rotate(180deg);color:var(--accent);}
.rlx-page .faq-a{padding:0 24px 22px;font-size:15px;color:var(--ink-muted);animation:lrOpen .28s cubic-bezier(.22,.7,.3,1);}

/* ---------- Terms modal ---------- */
.rlx-page .modal-backdrop{
  position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(28,24,20,.55);backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .28s ease;
}
.rlx-page .modal-backdrop.open{opacity:1;pointer-events:auto;}
.rlx-page .modal{
  position:relative;width:100%;max-width:620px;max-height:86vh;display:flex;flex-direction:column;
  background:var(--card);border-radius:24px;overflow:hidden;
  box-shadow:0 40px 90px -40px rgba(20,20,20,.6);
  transform:translateY(22px) scale(.97);opacity:0;
  transition:transform .32s cubic-bezier(.22,.9,.3,1),opacity .32s ease;
}
.rlx-page .modal-backdrop.open .modal{transform:none;opacity:1;}
.rlx-page .modal-head{
  position:relative;padding:28px 30px 22px;color:#fff;overflow:hidden;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
}
.rlx-page .modal-head::after{
  content:"";position:absolute;right:-40px;top:-70px;width:190px;height:190px;border-radius:50%;
  background:rgba(255,255,255,.12);pointer-events:none;
}
.rlx-page .modal-eyebrow{
  display:inline-block;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  background:rgba(255,255,255,.2);padding:5px 11px;border-radius:999px;margin-bottom:12px;
}
.rlx-page .modal-head h2{font-size:27px;color:#fff;margin:0;line-height:1.2;position:relative;}
.rlx-page .modal-head p{font-size:13.5px;color:rgba(255,255,255,.85);margin:8px 0 0;position:relative;max-width:440px;}
.rlx-page .modal-close{
  position:absolute;top:20px;right:20px;z-index:2;
  width:34px;height:34px;border-radius:999px;border:none;cursor:pointer;
  background:rgba(255,255,255,.2);color:#fff;font-size:19px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease,transform .2s ease;
}
.rlx-page .modal-close:hover{background:rgba(255,255,255,.34);transform:rotate(90deg);}
.rlx-page .modal-body{padding:26px 30px 8px;overflow-y:auto;}
.rlx-page .modal-body h3{
  font-family:var(--lr-font);font-size:14px;font-weight:800;
  color:var(--ink);margin:22px 0 10px;display:flex;align-items:center;gap:10px;
}
.rlx-page .modal-body h3:first-child{margin-top:0;}
.rlx-page .modal-body h3::before{
  content:"";width:16px;height:2px;border-radius:2px;background:var(--accent);flex-shrink:0;
}
.rlx-page .modal-body p{font-size:14px;color:var(--ink-muted);margin:0 0 12px;line-height:1.6;}
.rlx-page .modal-body ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0 0 14px;}
.rlx-page .modal-body ul li{
  position:relative;padding-left:22px;font-size:14px;color:var(--ink-muted);line-height:1.55;
}
.rlx-page .modal-body ul li::before{
  content:"";position:absolute;left:6px;top:8px;width:6px;height:6px;border-radius:999px;background:var(--accent-light);
}
.rlx-page .modal-note{
  display:flex;gap:12px;padding:14px 16px;border-radius:14px;
  background:var(--accent-tint);border:1px solid var(--accent-light);
  font-size:13.5px;color:var(--ink);line-height:1.55;margin-bottom:6px;
}
.rlx-page .modal-note b{display:block;margin-bottom:2px;}
.rlx-page .modal-foot{
  padding:18px 30px 22px;border-top:1px solid var(--border);background:var(--card);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.rlx-page .modal-foot small{font-size:12px;color:var(--ink-muted);}
.rlx-page .modal-ok{
  padding:12px 26px;border:none;border-radius:12px;cursor:pointer;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:#fff;font-size:15px;font-weight:800;white-space:nowrap;
  box-shadow:0 12px 24px -12px var(--accent);
  transition:transform .18s ease,filter .18s ease;
}
.rlx-page .modal-ok:hover{transform:translateY(-2px);filter:brightness(1.05);}
body.modal-open{overflow:hidden;}

/* ---------- Mobile sticky CTA ---------- */
.rlx-page .mobile-cta{
  position:fixed;bottom:0;left:0;right:0;padding:12px 16px;background:var(--card);
  border-top:1px solid var(--border);display:none;z-index:50;
  align-items:center;justify-content:space-between;gap:12px;
}
.rlx-page .mobile-cta-price{line-height:1.15;}
.rlx-page .mobile-cta-price b{display:block;font-size:17px;font-weight:800;}
.rlx-page .mobile-cta-price small{font-size:11px;color:var(--ink-muted);font-weight:600;}
.rlx-page .mobile-cta a{
  flex:1;text-align:center;padding:13px;border-radius:12px;
  background:var(--accent);color:#fff;font-weight:800;font-size:16px;
  transition:transform .18s ease,filter .18s ease;
}
.rlx-page .mobile-cta a:hover{color:#fff;text-decoration:none;transform:translateY(-1px);filter:brightness(1.06);}

/* ---------- Motion ---------- */
.js .rlx-page .reveal{opacity:0;transform:translateY(18px);}
.js .rlx-page .reveal.in{
  opacity:1;transform:none;
  transition:opacity .55s cubic-bezier(.22,.7,.3,1),transform .55s cubic-bezier(.22,.7,.3,1);
  transition-delay:var(--d,0ms);
}

.js .rlx-page .hero-copy > *{animation:lrRise .6s cubic-bezier(.22,.7,.3,1) both;}
.js .rlx-page .hero-copy > *:nth-child(1){animation-delay:.05s;}
.js .rlx-page .hero-copy > *:nth-child(2){animation-delay:.12s;}
.js .rlx-page .hero-copy > *:nth-child(3){animation-delay:.19s;}
.js .rlx-page .hero-copy > *:nth-child(4){animation-delay:.26s;}
.js .rlx-page .hero-copy > *:nth-child(5){animation-delay:.33s;}
.js .rlx-page .card-wrap{animation:lrRise .7s cubic-bezier(.22,.7,.3,1) .18s both;}


/* ============================================================
   Search by PID v2 (.pid-v2-preview) — /propertysearchwithpid
   merged from pid-search-v2.css
   ============================================================ */
.pid-v2-preview{
  --ink:#12121A;
  --ink-soft:#5B5D6B;
  --ink-faint:#9A9CAB;
  --line:#E9E9EF;
  --surface:#F6F6F9;
  --card:#FFFFFF;
  --brand-1:#FF5A36;
  --brand-2:#FF8A3D;
  --mint:#12D6A3;
  --navy:#0E1224;
  --peach:#FDEFE7;
  --radius:20px;
  --shadow:0 20px 50px -20px rgba(18,18,26,.18);
  --shadow-sm:0 8px 24px -12px rgba(18,18,26,.15);
  font-family:var(--lr-font);
  color:var(--ink);background:var(--card);
  -webkit-font-smoothing:antialiased;
}
.pid-v2-preview, .pid-v2-preview *{box-sizing:border-box;}
.pid-v2-preview h1,.pid-v2-preview h2{font-family:var(--lr-font);}
.pid-v2-preview img{max-width:100%;display:block;}
.pid-v2-preview a{text-decoration:none;color:inherit;}
.pid-v2-preview ul{list-style:none;}
.pid-v2-preview button,.pid-v2-preview input{font-family:inherit;}
.pid-v2-preview .container{max-width:1240px;margin:0 auto;padding:0 24px;}
.pid-v2-preview .section{padding:40px 0;}
.pid-v2-preview .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brand-1);background:#FFF0EA;
  padding:8px 16px;border-radius:100px;
}
.pid-v2-preview .eyebrow svg{flex:none;}
.pid-v2-preview .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:none;cursor:pointer;font-weight:600;font-size:15px;
  border-radius:100px;padding:15px 28px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.pid-v2-preview .btn-primary{
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  color:#fff;box-shadow:0 14px 30px -10px rgba(255,90,54,.55);
}
.pid-v2-preview .btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 36px -8px rgba(255,90,54,.6);}
.pid-v2-preview .btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.pid-v2-preview .btn-ghost:hover{border-color:#D8D8E2;background:#FAFAFC;}

/* ---------- Hero ---------- */
.pid-v2-preview .pid-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(700px 340px at 50% -18%, #FFE2D2 0%, rgba(253,239,231,0) 70%),
    var(--peach);
  padding:30px 0 34px;
}
.pid-v2-preview .pid-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(18,18,26,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,18,26,.04) 1px, transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:radial-gradient(600px 420px at 50% 30%, #000, transparent 78%);
          mask-image:radial-gradient(600px 420px at 50% 30%, #000, transparent 78%);
}
.pid-v2-preview .pid-hero-head{position:relative;z-index:2;text-align:center;max-width:660px;margin:0 auto;}
.pid-v2-preview .pid-hero-head h1{
  font-size:clamp(28px,3.6vw,40px);font-weight:600;line-height:1.16;
  letter-spacing:-.01em;color:var(--navy);margin-top:12px;
}
.pid-v2-preview .pid-hero-head h1 .accent{
  font-style:italic;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.pid-v2-preview .pid-hero-head .lead{color:#6A5F58;font-size:14.5px;line-height:1.7;margin:8px auto 0;max-width:700px;}

/* ---------- Search panel ---------- */
.pid-v2-preview .pid-panel{
  position:relative;z-index:3;max-width:880px;margin:22px auto 0;
  background:#fff;border:1px solid var(--line);border-radius:22px;
  box-shadow:var(--shadow);padding:20px;
}
.pid-v2-preview .pid-panel-label{
  font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-faint);margin-bottom:9px;
}
.pid-v2-preview .pid-types{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
.pid-v2-preview .pid-type{
  position:relative;border:1.5px solid var(--line);border-radius:14px;background:#fff;
  padding:11px 12px;display:flex;align-items:center;justify-content:center;gap:9px;
  cursor:pointer;transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.pid-v2-preview .pid-type:hover{border-color:#F2C6B6;background:#FFFAF7;transform:translateY(-2px);}
.pid-v2-preview .pid-type .ic{
  width:30px;height:30px;border-radius:10px;background:var(--surface);color:var(--ink-soft);
  display:flex;align-items:center;justify-content:center;transition:.18s ease;flex:none;
}
.pid-v2-preview .pid-type .nm{font-size:13.5px;font-weight:700;color:var(--ink-soft);}
.pid-v2-preview .pid-type.active{border-color:var(--brand-1);background:#FFF6F2;}
.pid-v2-preview .pid-type.active .ic{background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;box-shadow:0 10px 20px -10px rgba(255,90,54,.7);}
.pid-v2-preview .pid-type.active .nm{color:var(--ink);}
.pid-v2-preview .pid-type .check{
  position:absolute;top:6px;right:6px;width:15px;height:15px;border-radius:50%;
  background:var(--brand-1);color:#fff;display:none;align-items:center;justify-content:center;
}
.pid-v2-preview .pid-type.active .check{display:flex;}

.pid-v2-preview .pid-input-row{display:grid;grid-template-columns:1fr auto;gap:10px;}
.pid-v2-preview .pid-input{
  display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:14px;
  padding:11px 16px;background:#fff;transition:border-color .18s ease, box-shadow .18s ease;
}
.pid-v2-preview .pid-input:focus-within{border-color:var(--brand-1);box-shadow:0 0 0 4px rgba(255,90,54,.12);}
.pid-v2-preview .pid-input.invalid{border-color:#E5484D;box-shadow:0 0 0 4px rgba(229,72,77,.12);}
.pid-v2-preview .pid-input .pfx{
  font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--brand-1);
  background:#FFF0EA;padding:6px 10px;border-radius:8px;flex:none;
}
.pid-v2-preview .pid-input input{
  border:none;outline:none;background:transparent;width:100%;
  font-family:var(--lr-font);font-size:18px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;}
.pid-v2-preview .pid-input input::placeholder{color:#C9C6D2;letter-spacing:.12em;}
.pid-v2-preview .pid-clear{
  border:none;background:var(--surface);color:var(--ink-soft);cursor:pointer;flex:none;
  width:26px;height:26px;border-radius:50%;display:none;align-items:center;justify-content:center;
}
.pid-v2-preview .pid-clear.show{display:flex;}
.pid-v2-preview .pid-clear:hover{background:var(--ink);color:#fff;}
.pid-v2-preview .pid-submit{
  border:none;cursor:pointer;border-radius:14px;padding:0 28px;white-space:nowrap;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
  font-size:15px;font-weight:700;display:flex;align-items:center;gap:9px;
  box-shadow:0 14px 30px -12px rgba(255,90,54,.6);transition:transform .18s ease, box-shadow .18s ease;
}
.pid-v2-preview .pid-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(255,90,54,.65);}
.pid-v2-preview .pid-submit .spin{display:none;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:pidV2Spin .7s linear infinite;}
.pid-v2-preview .pid-submit.loading .spin{display:block;}
.pid-v2-preview .pid-submit.loading svg{display:none;}
@keyframes pidV2Spin{to{transform:rotate(360deg);}}

.pid-v2-preview .pid-hint-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;}
.pid-v2-preview .pid-samples{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.pid-v2-preview .pid-sample{
  font-family:var(--lr-font);font-size:12.5px;font-weight:600;
  border:1px solid var(--line);border-radius:100px;padding:5px 12px;background:#fff;
  cursor:pointer;transition:.18s ease;color:var(--ink);font-variant-numeric:tabular-nums;}
.pid-v2-preview .pid-sample:hover{border-color:var(--brand-1);color:var(--brand-1);background:#FFF6F2;}
.pid-v2-preview .pid-error{
  display:none;align-items:center;gap:8px;margin-top:10px;
  font-size:13px;font-weight:600;color:#C93B3F;
}
.pid-v2-preview .pid-error.show{display:flex;}

/* ---------- Result ---------- */
.pid-v2-preview .pid-result{max-width:960px;margin:0 auto;}
.pid-v2-preview .pid-result-inner{display:none;}
.pid-v2-preview .pid-result-inner.show{display:block;padding-top:30px;animation:pidV2RiseIn .45s cubic-bezier(.16,1,.3,1);}
@keyframes pidV2RiseIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.pid-v2-preview .res-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;
  box-shadow:0 24px 55px -24px rgba(18,18,26,.22);display:grid;grid-template-columns:322px 1fr;
}
.pid-v2-preview .res-card.unavailable{opacity:.7;}

.pid-v2-preview .res-media{position:relative;background:#D9E4F1;overflow:hidden;min-height:230px;}
.pid-v2-preview .res-media .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.pid-v2-preview .res-media::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:96px;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,18,32,0),rgba(10,18,32,.55));
}
.pid-v2-preview .res-unavail-badge{
  position:absolute;left:12px;top:12px;z-index:3;display:none;
  background:rgba(18,18,26,.85);color:#fff;font-size:11.5px;font-weight:700;
  padding:6px 12px;border-radius:100px;max-width:calc(100% - 24px);
}
.pid-v2-preview .res-card.unavailable .res-unavail-badge{display:block;}
.pid-v2-preview .res-save{
  position:absolute;top:12px;right:12px;z-index:3;width:30px;height:30px;border-radius:9px;
  background:rgba(255,255,255,.94);border:1.3px solid rgba(255,90,54,.4);color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.pid-v2-preview .res-save:hover{transform:translateY(-1px);background:#fff;}
.pid-v2-preview .res-save.on{background:var(--brand-1);border-color:var(--brand-1);color:#fff;}
.pid-v2-preview .res-media-foot{
  position:absolute;left:0;right:0;bottom:0;z-index:2;color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;font-size:12.5px;font-weight:700;
}

.pid-v2-preview .res-right{display:flex;flex-direction:column;min-width:0;}
.pid-v2-preview .res-body{position:relative;flex:1;padding:24px 22px 18px;}
.pid-v2-preview .res-pid{
  position:absolute;top:16px;right:0;z-index:2;
  background:#EFEFF4;color:var(--ink-soft);font-size:12px;font-weight:600;
  padding:7px 16px 7px 22px;
  clip-path:polygon(13px 0,100% 0,100% 100%,13px 100%,0 50%);
}
.pid-v2-preview .res-pid b{color:var(--ink);font-weight:800;}
.pid-v2-preview .res-society{font-size:14px;font-weight:500;color:var(--ink-soft);padding-right:100px;}
.pid-v2-preview .res-title{
  display:block;font-size:19px;font-weight:650;letter-spacing:-.015em;
  line-height:1.3;margin-top:6px;
}
.pid-v2-preview a.res-title:hover{color:var(--brand-1);}
.pid-v2-preview .res-loc{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:13.5px;color:var(--ink-soft);}
.pid-v2-preview .res-loc svg{color:var(--ink-faint);flex:none;}
.pid-v2-preview .res-price-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:17px;}
.pid-v2-preview .res-price{font-size:23px;font-weight:800;letter-spacing:-.02em;}
.pid-v2-preview .res-price span{font-size:14.5px;font-weight:600;color:var(--ink-soft);}
.pid-v2-preview .res-verified{
  display:inline-flex;align-items:center;gap:5px;background:#12B76A;color:#fff;
  font-size:11.5px;font-weight:700;padding:5px 11px 5px 8px;border-radius:100px;
}
.pid-v2-preview .res-verified.hide{display:none;}
.pid-v2-preview .res-specs{display:flex;margin-top:18px;}
.pid-v2-preview .res-spec{padding:0 26px;border-left:1px solid var(--line);text-align:center;flex:none;}
.pid-v2-preview .res-spec:first-child{padding-left:0;border-left:none;}
.pid-v2-preview .res-spec .k{font-size:12.5px;font-weight:500;color:var(--ink-soft);}
.pid-v2-preview .res-spec .v{font-size:14.5px;font-weight:700;margin-top:5px;white-space:nowrap;}

.pid-v2-preview .res-foot{
  background:#F7F7FA;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 18px;
}
.pid-v2-preview .res-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;
  border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;padding:11px 24px;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.pid-v2-preview .res-btn.call{border:1.4px solid var(--brand-1);color:var(--brand-1);}
.pid-v2-preview .res-btn.call:hover{background:var(--brand-1);color:#fff;}
.pid-v2-preview .res-icon-btn{
  width:46px;height:42px;border-radius:10px;background:#fff;flex:none;border:none;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.pid-v2-preview .res-icon-btn.wa{border:1.4px solid #25D366;color:#25D366;}
.pid-v2-preview .res-icon-btn.wa:hover{background:#25D366;color:#fff;}
.pid-v2-preview .res-icon-btn.share{border:1.4px solid var(--line);color:var(--ink-soft);}
.pid-v2-preview .res-icon-btn.share:hover{border-color:var(--ink);color:var(--ink);}

.pid-v2-preview .res-empty{
  background:var(--surface);border:1px solid var(--line);border-radius:24px;
  padding:38px 32px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:center;text-align:center;
}
.pid-v2-preview .res-empty svg{width:112px;height:112px;flex:none;}
.pid-v2-preview .res-empty h3{font-size:19px;font-weight:800;letter-spacing:-.01em;}
.pid-v2-preview .res-empty p{font-size:14px;color:var(--ink-soft);line-height:1.7;margin:8px 0 18px;max-width:420px;}
.pid-v2-preview .res-empty .acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

/* ---------- Section heads ---------- */
.pid-v2-preview .sec-head{text-align:center;max-width:620px;margin:0 auto 40px;}
.pid-v2-preview .sec-head h2{font-size:clamp(25px,3.2vw,36px);font-weight:600;letter-spacing:-.01em;}
.pid-v2-preview .sec-head h2 em{font-style:italic;color:var(--brand-1);}
.pid-v2-preview .sec-head p{color:var(--ink-soft);margin-top:10px;font-size:14.5px;line-height:1.7;}

/* ---------- Where do I find PID ---------- */
.pid-v2-preview .find-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.pid-v2-preview .find-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 22px 22px;box-shadow:var(--shadow-sm);overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.pid-v2-preview .find-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#F2C6B6;}
.pid-v2-preview .find-card::after{
  content:'';position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--brand-1),var(--brand-2));
  transform:scaleX(0);transform-origin:left;transition:transform .3s ease;
}
.pid-v2-preview .find-card:hover::after{transform:scaleX(1);}
.pid-v2-preview .find-card .ic{
  width:46px;height:46px;border-radius:14px;background:#FFF0EA;color:var(--brand-1);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.pid-v2-preview .find-card h3{font-size:15.5px;font-weight:800;letter-spacing:-.01em;}
.pid-v2-preview .find-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.7;margin-top:8px;}
.pid-v2-preview .find-card .num{
  position:absolute;right:18px;top:16px;font-family:var(--lr-font);
  font-size:13px;color:#E4E4EC;font-weight:600;font-variant-numeric:tabular-nums;}
.pid-v2-preview .find-dots{display:none;justify-content:center;gap:7px;margin-top:16px;}
.pid-v2-preview .find-dot{
  width:7px;height:7px;border-radius:50%;border:none;padding:0;cursor:pointer;
  background:#E0E0EA;transition:width .25s ease, background .25s ease;
}
.pid-v2-preview .find-dot.on{width:22px;border-radius:100px;background:linear-gradient(135deg,var(--brand-1),var(--brand-2));}

/* ---------- How it works ---------- */
.pid-v2-preview .hiw{background:var(--surface);}
.pid-v2-preview .hiw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative;}
.pid-v2-preview .hiw-grid::before{
  content:'';position:absolute;left:14%;right:14%;top:38px;height:2px;
  background:repeating-linear-gradient(90deg,#E0D5CE 0 8px, transparent 8px 16px);
}
.pid-v2-preview .hiw-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);}
.pid-v2-preview .hiw-step .badge{
  width:44px;height:44px;border-radius:50%;margin:-46px auto 16px;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;
  box-shadow:0 12px 26px -12px rgba(255,90,54,.75);border:4px solid var(--surface);
}
.pid-v2-preview .hiw-step{margin-top:46px;text-align:center;}
.pid-v2-preview .hiw-step h3{font-size:16px;font-weight:800;letter-spacing:-.01em;}
.pid-v2-preview .hiw-step p{font-size:13.5px;color:var(--ink-soft);line-height:1.7;margin-top:8px;}

/* ---------- Popular searches ---------- */
.pid-v2-preview .pop-wrap{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:860px;margin:0 auto;}
.pid-v2-preview .pop-chip{
  font-size:13px;font-weight:600;color:var(--ink-soft);background:#fff;
  border:1px solid var(--line);border-radius:100px;padding:11px 20px;transition:.18s ease;
}
.pid-v2-preview .pop-chip:hover{border-color:var(--brand-1);color:var(--brand-1);background:#FFF6F2;transform:translateY(-2px);}

/* ---------- Back to top ---------- */
.pid-v2-preview .to-top{
  position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;
  background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 12px 26px -8px rgba(0,0,0,.4);
  opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:80;
}
.pid-v2-preview .to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}
.pid-v2-preview .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.pid-v2-preview .reveal.in{opacity:1;transform:translateY(0);}

/* ============================================================
   Tenant Plans (.pln3-page) — tenant/plans, tenants/plans
   ============================================================ */
.pln3-page{
  --ink:#171412;
  --ink-soft:#6B6560;
  --ink-faint:#8B837C;
  --line:#EDE9E4;
  --surface:#F4F3F2;
  --card:#FFFFFF;
  --brand-1:#F2542D;
  --brand-2:#D6431F;
  font-family:var(--lr-font);
  color:var(--ink);background:#FBFAF9;
  -webkit-font-smoothing:antialiased;
  padding-top:clamp(20px,3.4vw,36px);
  overflow-x:hidden;
}
.pln3-page, .pln3-page *{box-sizing:border-box;}
.pln3-page h1,.pln3-page h2{font-family:inherit;}
.pln3-page img{max-width:100%;display:block;}
.pln3-page a{color:var(--brand-2);text-decoration:none;}
.pln3-page a:hover{text-decoration:underline;}
.pln3-page .container{max-width:1340px;margin:0 auto;padding:0 clamp(16px,3vw,24px);}
.pln3-page .d-none{display:none !important;}
.pln3-page summary{list-style:none;cursor:pointer;}
.pln3-page summary::-webkit-details-marker{display:none;}

/* ---------- Hero ---------- */
.pln3-page .pln3-hero{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
.pln3-page .pln3-eyebrow{display:flex;align-items:center;gap:clamp(8px,1.2vw,13px);font-size:clamp(11px,1.5vw,14px);font-weight:800;letter-spacing:.13em;color:var(--brand-2);text-transform:uppercase;}
.pln3-page .pln3-eyebrow-line{width:clamp(26px,3vw,42px);height:1.5px;background:var(--brand-1);}
.pln3-page .pln3-hero h1{margin:0;font-size:clamp(24px,5vw,52px);line-height:1.1;font-weight:800;letter-spacing:-.03em;max-width:960px;text-wrap:balance;}
.pln3-page .pln3-lead{margin:0;font-size:clamp(13.5px,1.9vw,20px);font-weight:500;color:var(--ink-soft);}

/* ---------- Tenant / Buyer toggle ---------- */
.pln3-page .pln3-toggle-wrap{display:flex;justify-content:center;margin-top:18px;}
.pln3-page .pln3-toggle{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 14px;box-shadow:0 1px 2px rgba(23,20,18,.04);}
.pln3-page .pln3-toggle-label{font-size:13.5px;font-weight:700;color:var(--ink-faint);transition:color .15s ease;}
.pln3-page .pln3-toggle-label.active{color:var(--ink);}
.pln3-page .pln3-toggle-switch{position:relative;width:46px;height:25px;flex:0 0 46px;border:none;border-radius:999px;background:var(--brand-1);cursor:pointer;padding:0;}
.pln3-page .pln3-toggle-knob{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .18s ease;}
.pln3-page .pln3-toggle-switch.is-buy .pln3-toggle-knob{left:24px;}

/* ---------- Loader ---------- */
.pln3-page .pln3-loader{text-align:center;padding:40px 0;font-size:14px;font-weight:600;color:var(--ink-soft);}

/* ---------- Plan cards ---------- */
.pln3-page .pln3-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:16px;align-items:stretch;margin-top:24px;}
.pln3-page .pln3-empty{grid-column:1/-1;text-align:center;padding:40px 0;color:var(--ink-soft);font-weight:600;}
.pln3-page .pln3-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:clamp(18px,2vw,24px) clamp(16px,1.9vw,22px) clamp(18px,2vw,22px);
  display:flex;flex-direction:column;gap:clamp(12px,1.5vw,15px);
  box-shadow:0 1px 2px rgba(23,20,18,.04);
}
.pln3-page .pln3-card--hl{box-shadow:0 10px 30px rgba(242,84,45,.10);}
/* Refundable pill - inline in the name row, not a floating ribbon. */
.pln3-page .pln3-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.pln3-page .pln3-badge{
  background:#FFEDE7;color:var(--brand-2);border-radius:999px;
  padding:4px 9px;font-size:9.5px;font-weight:800;letter-spacing:.06em;white-space:nowrap;flex:0 0 auto;
}
/* "Most Popular" ribbon - Premium Plan only, per the approved reference. */
.pln3-page .pln3-badge-popular{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--brand-1);color:#fff;padding:6px 18px;font-size:10.5px;font-weight:800;
  letter-spacing:.08em;white-space:nowrap;display:flex;align-items:center;gap:6px;
  box-shadow:0 4px 10px rgba(242,84,45,.28);border-radius:10px;
}
.pln3-page .pln3-card-top{display:flex;flex-direction:column;gap:10px;}
.pln3-page .pln3-plan-name{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;flex:0 0 auto;}
.pln3-page .pln3-price-row{display:flex;align-items:baseline;flex-wrap:nowrap;gap:6px;min-height:42px;}
.pln3-page .pln3-price{font-size:clamp(28px,2.9vw,36px);font-weight:800;letter-spacing:-.03em;color:var(--ink);white-space:nowrap;}
.pln3-page .pln3-gst{flex:0 0 auto;white-space:nowrap;font-size:14px;font-weight:600;color:#5F5850;}
.pln3-page .pln3-duration{flex:0 0 auto;white-space:nowrap;font-size:13.5px;font-weight:500;color:var(--ink-faint);}
.pln3-page .pln3-old-price{font-size:13px;font-weight:500;color:var(--ink-faint);text-decoration:line-through;}

.pln3-page .pln3-btn{
  width:100%;padding:12px 16px;border-radius:999px;border:1.5px solid #E4DFD9;background:#fff;color:var(--ink);
  font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;min-height:46px;white-space:nowrap;
  cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease;
}
.pln3-page .pln3-btn:hover{border-color:var(--brand-1);color:var(--brand-1);}
.pln3-page .pln3-btn--solid{border:none;background:var(--brand-1);color:#fff;}
.pln3-page .pln3-btn--solid:hover{background:var(--brand-2);color:#fff;}
/* Relax & Assured's own button colour, per the approved reference - always
   black regardless of whether this card is also the highlighted one. */
.pln3-page .pln3-btn--black{border:none;background:#171412;color:#fff;}
.pln3-page .pln3-btn--black:hover{background:#171412;color:#fff;opacity:.9;}
/* Current-plan button: plain white/bordered with dark text, per the
   reference's own "Your Current Plan" sample - no full-card colour change. */
.pln3-page .pln3-btn--current{background:#fff;color:var(--ink);border-color:#E4DFD9;cursor:default;}
.pln3-page .pln3-btn--current:hover{border-color:#E4DFD9;color:var(--ink);}

.pln3-page .pln3-blurb{font-size:13px;font-weight:500;color:var(--ink-soft);line-height:1.45;}

.pln3-page .pln3-features{display:flex;flex-direction:column;gap:9px;}
.pln3-page .pln3-features summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:13.5px;font-weight:700;color:var(--ink);
}
.pln3-page .pln3-features summary span{font-size:15px;font-weight:700;color:var(--brand-1);transition:transform .16s ease;}
.pln3-page .pln3-features[open] summary span{transform:rotate(90deg);}
/* Desktop: reference design keeps the "plan includes" list permanently
   expanded with no chevron and no click affordance at all - the rotated
   chevron only belongs to the mobile collapsible version below. */
.pln3-page .pln3-feature-list{display:flex;flex-direction:column;gap:11px;margin-top:12px;}
.pln3-page .pln3-feature-item{display:flex;gap:9px;font-size:13px;font-weight:500;color:#3F3A35;line-height:1.4;}
.pln3-page .pln3-feature-item svg{flex:0 0 16px;margin-top:3px;color:var(--brand-1);}
.pln3-page .pln3-feature-item--empty{color:var(--ink-faint);}

.pln3-page .pln3-terms{margin-top:auto;font-size:11.5px;font-weight:500;color:var(--ink-faint);}
.pln3-page .pln3-terms a{font-weight:700;color:var(--brand-2);}

/* ---------- Review video ---------- */
.pln3-page .pln3-video-block{margin-top:clamp(44px,6vw,64px);display:flex;flex-direction:column;align-items:center;gap:22px;}
.pln3-page .pln3-video-block h2{margin:0;font-family:var(--lr-font);font-size:clamp(24px,4.2vw,40px);font-weight:800;letter-spacing:-.01em;text-align:center;}
.pln3-page .pln3-accent{color:var(--brand-1);}
.pln3-page .pln3-video-frame{width:100%;max-width:1140px;position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#0F0B08;box-shadow:0 18px 44px rgba(23,20,18,.14);}
.pln3-page .pln3-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---------- Testimonials ---------- */
.pln3-page .pln3-testimonial-band{margin:clamp(44px,6vw,64px) calc(-1 * clamp(16px,3vw,20px)) 0;background:var(--surface);padding:clamp(36px,5vw,56px) clamp(16px,3vw,20px);}
.pln3-page .pln3-testimonial-head{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:760px;margin:0 auto;}
.pln3-page .pln3-testimonial-head h2{margin:0;font-family:var(--lr-font);font-size:clamp(25px,4vw,40px);font-weight:800;letter-spacing:-.01em;line-height:1.1;}
.pln3-page .pln3-testimonial-head p{margin:0;font-size:14.5px;font-weight:500;color:var(--ink-soft);}
.pln3-page .pln3-t-track-wrap{max-width:1240px;margin:28px auto 0;overflow:hidden;}
.pln3-page .pln3-t-track{display:flex;gap:22px;transition:transform .3s ease;}
.pln3-page .pln3-t-card{
  flex:0 0 calc(33.333% - 15px);background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:24px 24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 1px 3px rgba(23,20,18,.04);
}
.pln3-page .pln3-t-stars{font-size:14px;color:#F5A524;letter-spacing:2px;}
.pln3-page .pln3-t-card p{margin:0;font-size:14.5px;font-weight:500;color:#3A3530;line-height:1.6;flex:1;}
.pln3-page .pln3-t-person{display:flex;align-items:center;gap:12px;}
.pln3-page .pln3-t-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--brand-1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;}
.pln3-page .pln3-t-name{font-size:14.5px;font-weight:700;color:var(--ink);}
.pln3-page .pln3-t-role{font-size:12.5px;font-weight:500;color:var(--ink-faint);}
.pln3-page .pln3-t-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;}
.pln3-page .pln3-t-dots span{width:9px;height:8px;border-radius:999px;background:#CFCAC5;cursor:pointer;transition:width .2s ease,background .2s ease;}
.pln3-page .pln3-t-dots span.active{width:26px;background:var(--brand-1);}

/* ---------- FAQ ---------- */
.pln3-page .pln3-faq{margin-top:clamp(44px,6vw,64px);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,3.5vw,48px);align-items:start;}
.pln3-page .pln3-faq-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:40px;}
.pln3-page .pln3-faq-eyebrow{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--brand-2);text-transform:uppercase;}
.pln3-page .pln3-faq-side h2{margin:0;font-size:clamp(24px,3.4vw,34px);font-weight:800;letter-spacing:-.02em;line-height:1.1;}
.pln3-page .pln3-faq-side p{margin:0;font-size:15.5px;font-weight:500;color:var(--ink-soft);line-height:1.5;}
.pln3-page .pln3-faq-list{display:flex;flex-direction:column;gap:12px;}
.pln3-page .pln3-faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;}
.pln3-page .pln3-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:16px;font-weight:700;color:var(--ink);}
.pln3-page .pln3-faq-plus{font-size:20px;font-weight:600;color:var(--brand-2);line-height:1;flex:none;}
.pln3-page .pln3-faq-item[open] .pln3-faq-plus{transform:rotate(45deg);}
.pln3-page .pln3-faq-a{margin-top:12px;font-size:14.5px;font-weight:500;color:var(--ink-soft);line-height:1.55;}
