/* =====================================================================
   v709 — Premium property page (/guesthouse/{id}/{slug})
   Loaded after style.css and guesthouse-detail.css, ONLY on the property
   page (<body class="pdp9">). Everything is scoped to .pdp9 so no other
   page changes. Font: Inter, the same as the rest of the site (v710).
   Colours: brand navy #062B5C, button orange #C2410C (deeper than the
   brand #F56A00 so white button text passes contrast).
   ===================================================================== */

.pdp9 {
  --p9-ink: #0B1F3A;
  --p9-navy: #062B5C;
  --p9-text: #24364F;
  --p9-muted: #5B6B80;
  --p9-line: #E4E8EE;
  --p9-line-strong: #CBD3DE;
  --p9-soft: #F5F7FA;
  --p9-chip: #F2F4F7;
  --p9-cta: #C2410C;
  --p9-cta-hover: #A93A0B;
  --p9-ok: #0B6B50;
  --p9-ok-bg: #E9F6F1;
  --p9-warm: #FFF6EE;
  /* v710: the site font (Inter) everywhere on this page, same as the rest of the site */
  --p9-serif: 'Inter', 'Noto Sans Devanagari', system-ui, -apple-system, sans-serif;
  --p9-sans: 'Inter', 'Noto Sans Devanagari', system-ui, -apple-system, sans-serif;
}

.pdp9 .pdp9-main { font-family: var(--p9-sans); color: var(--p9-ink); }
.pdp9 .pdp9-main button, .pdp9 .pdp9-main input, .pdp9 .pdp9-main select { font-family: inherit; }

/* ---------- breadcrumb ---------- */
.pdp9 .pdp9-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: 13px; color: var(--p9-muted); }
.pdp9 .pdp9-crumbs a { color: var(--p9-muted); text-decoration: none; }
.pdp9 .pdp9-crumbs a:hover { color: var(--p9-navy); text-decoration: underline; }
.pdp9 .pdp9-crumb-current { color: var(--p9-ink); font-weight: 600; }

/* ---------- header ---------- */
.pdp9 .pdp9-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 18px 24px; margin-top: 16px; }
.pdp9 .pdp9-head-main { flex: 1 1 560px; min-width: 0; }
.pdp9 .pdp9-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.pdp9 .pdp9-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: var(--p9-chip); color: #344054; font-size: 12px; font-weight: 700; line-height: 1.3; }
.pdp9 .pdp9-badge svg { width: 14px; height: 14px; }
.pdp9 .pdp9-badge-ok { background: var(--p9-ok-bg); color: var(--p9-ok); }
.pdp9 .pdp9-badge-gold { background: #FFF4DB; color: #8A5300; }
.pdp9 .pdp9-badge-deal { background: var(--p9-warm); color: #9A3412; }
.pdp9 .pdp9-title { margin: 12px 0 0; font-family: var(--p9-serif); font-weight: 800; font-size: clamp(28px, 3.2vw, 40px); line-height: 1.15; letter-spacing: -0.02em; color: var(--p9-navy); }
.pdp9 .pdp9-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 12px; font-size: 14px; color: #3D4C63; }
.pdp9 .pdp9-loc { display: inline-flex; align-items: center; gap: 6px; }
.pdp9 .pdp9-maplink { color: var(--p9-navy); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.pdp9 .pdp9-score { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pdp9 .pdp9-score strong { color: var(--p9-ink); }
.pdp9 .pdp9-score-box { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 28px; padding: 0 8px; border-radius: 8px; background: var(--p9-navy); color: #FFFFFF; font-weight: 800; font-size: 13px; }
.pdp9 .pdp9-grating { display: inline-flex; align-items: center; gap: 4px; }
.pdp9 .pdp9-grating .star { color: #B45309; }
.pdp9 .pdp9-actions { display: flex; gap: 10px; }
.pdp9 .pdp9-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid var(--p9-line-strong); border-radius: 12px; background: #FFFFFF; color: var(--p9-navy); font-size: 14px; font-weight: 700; cursor: pointer; transition: border-color .15s, background .15s; }
.pdp9 .pdp9-btn:hover { border-color: var(--p9-navy); background: #F8FAFC; }
.pdp9 .pdp9-btn:focus-visible { outline: 2px solid var(--p9-cta); outline-offset: 2px; }
.pdp9 .pdp9-btn.active { color: var(--p9-cta); border-color: #F3C7A9; background: var(--p9-warm); }
.pdp9 .pdp9-btn.active svg { fill: currentColor; }

/* ---------- gallery (n = number of tiles next to the cover) ---------- */
.pdp9 .pdp9-gallery { position: relative; display: grid; gap: 8px; margin-top: 22px; border-radius: 22px; overflow: hidden; }
.pdp9 .pdp9-gallery > button { position: relative; display: block; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; background: #E3E8EF; cursor: pointer; overflow: hidden; }
.pdp9 .pdp9-gallery > button img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease, filter .2s; }
.pdp9 .pdp9-gallery > button:hover img { transform: scale(1.03); }
.pdp9 .pdp9-gallery > button:focus-visible { outline: 3px solid var(--p9-cta); outline-offset: -3px; }
.pdp9 .pdp9-gallery-n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: 230px 230px; }
.pdp9 .pdp9-gallery-n4 .pdp9-g-hero { grid-column: span 2; grid-row: span 2; }
.pdp9 .pdp9-gallery-n3 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: repeat(3, 150px); }
.pdp9 .pdp9-gallery-n3 .pdp9-g-hero { grid-row: span 3; }
.pdp9 .pdp9-gallery-n2 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: repeat(2, 230px); }
.pdp9 .pdp9-gallery-n2 .pdp9-g-hero { grid-row: span 2; }
.pdp9 .pdp9-gallery-n1 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: 468px; }
.pdp9 .pdp9-gallery-n0 { grid-template-columns: minmax(0, 1fr); grid-template-rows: 468px; }
.pdp9 .pdp9-g-chip { position: absolute; left: 12px; bottom: 12px; padding: 4px 10px; border-radius: 999px; background: #FFFFFF; color: var(--p9-navy); font-size: 12px; font-weight: 800; box-shadow: 0 2px 8px rgba(6,43,92,.18); }
.pdp9 .pdp9-gallery > .pdp9-g-all { position: absolute; right: 16px; bottom: 16px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; width: auto; height: auto; min-height: 44px; padding: 0 16px; border-radius: 12px; background: #FFFFFF; color: var(--p9-navy); font-size: 14px; font-weight: 800; box-shadow: 0 8px 22px rgba(6,43,92,.22); }
.pdp9 .pdp9-gallery > .pdp9-g-all:hover { background: #F8FAFC; }

/* ---------- two-column layout ---------- */
.pdp9 .detail-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, 380px); gap: 52px; margin-top: 30px; }

/* ---------- highlights ---------- */
.pdp9 .pdp9-highlights { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pdp9 .pdp9-highlights li { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 16px; border: 1px solid var(--p9-line); border-radius: 16px; background: #FFFFFF; }
.pdp9 .pdp9-hl-ico { font-size: 22px; line-height: 1; margin-bottom: 8px; }
.pdp9 .pdp9-highlights strong { font-size: 14px; font-weight: 800; color: var(--p9-ink); line-height: 1.3; overflow-wrap: anywhere; }
.pdp9 .pdp9-highlights small { font-size: 12.5px; color: var(--p9-muted); }

/* ---------- section tabs ---------- */
.pdp9 .pdp9-tabs { display: flex; gap: 26px; margin: 28px 0 0; padding: 0; border-bottom: 1px solid var(--p9-line); overflow-x: auto; scrollbar-width: none; background: #FFFFFF; }
.pdp9 .pdp9-tabs::-webkit-scrollbar { display: none; }
.pdp9 .pdp9-tabs .tab-link { padding: 14px 0; font-size: 14px; font-weight: 700; color: var(--p9-muted); border-bottom: 3px solid transparent; white-space: nowrap; }
.pdp9 .pdp9-tabs .tab-link:hover { color: var(--p9-navy); }
.pdp9 .pdp9-tabs .tab-link.active { color: var(--p9-navy); border-bottom-color: var(--p9-cta); }

/* ---------- headings & text ---------- */
.pdp9 .pdp9-h2 { margin: 46px 0 14px; font-family: var(--p9-serif); font-weight: 800; font-size: 24px; line-height: 1.2; letter-spacing: -0.01em; color: var(--p9-navy); }
.pdp9 #overview.pdp9-h2 { margin-top: 32px; }
.pdp9 .pdp9-h3 { margin: 26px 0 10px; font-size: 18px; font-weight: 800; color: var(--p9-ink); }
.pdp9 .pdp9-sec-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px 16px; margin: 46px 0 14px; }
.pdp9 .pdp9-sec-head .pdp9-h2 { margin: 0; }
.pdp9 .pdp9-sub { margin: 0 0 14px; color: var(--p9-muted); font-size: 14px; }
.pdp9 .pdp9-sec-head .pdp9-sub { flex-basis: 100%; margin: 0; }
.pdp9 .about-text, .pdp9 .about-text p { font-size: 16px; line-height: 1.7; color: var(--p9-text); }
.pdp9 .about-more { color: var(--p9-navy); text-decoration: underline; text-underline-offset: 3px; font-weight: 800; }

/* ---------- rooms (v705 cards, premium finish) ---------- */
.pdp9 .rc-list { gap: 16px; margin-top: 4px; }
.pdp9 .rc-card.rr-card { border-radius: 22px; border-color: var(--p9-line); box-shadow: none; }
.pdp9 .rc-card.rr-card.selected { border: 2px solid var(--p9-navy); box-shadow: 0 14px 40px rgba(6,43,92,.10); }
.pdp9 .rr-room { background: #FBFCFE; }
.pdp9 .rr-room h4 { font-size: 19px; color: var(--p9-navy); }
.pdp9 .rr-photo { border-radius: 14px; }
.pdp9 .rr-rate { padding: 18px 20px; }
.pdp9 .rr-rate.selected { background: var(--p9-warm); border-left-color: transparent; }
.pdp9 .rr-rate-info h5 { font-size: 16px; color: var(--p9-ink); }
.pdp9 .rr-incl li.ok, .pdp9 .rr-incl li.ok::before { color: var(--p9-ok); }
.pdp9 .rr-rate-price strong { font-size: 24px; color: var(--p9-navy); }
.pdp9 .rr-card .rc-plan.rr-book { min-height: 44px; padding: 0 22px; border: 1px solid var(--p9-navy); background: #FFFFFF; color: var(--p9-navy); box-shadow: none; }
.pdp9 .rr-card .rc-plan.rr-book:hover { background: #EEF3F9; border: 1px solid var(--p9-navy); }
.pdp9 .rr-card .rc-plan.rr-book.selected { background: var(--p9-navy); color: #FFFFFF; }

/* ---------- amenities ---------- */
.pdp9 .am-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 24px; margin-top: 6px; }
.pdp9 .am-item { padding: 6px 0; border: 0; border-radius: 0; background: transparent; }
.pdp9 .am-text strong { font-size: 14px; font-weight: 600; color: var(--p9-ink); }
.pdp9 .am-text small { color: var(--p9-muted); }

/* ---------- location widget (v711) ---------- */
.pdp9 .pdp9-addr { margin: 0; font-size: 15px; color: var(--p9-text); }
.pdp9 .pdp9-addr strong { color: var(--p9-ink); }
.pdp9 .pdp9-near { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 6px 0 0; font-size: 14px; color: var(--p9-text); }
.pdp9 .pdp9-near strong { color: var(--p9-ink); }
.pdp9 .pdp9-about-area { display: flex; gap: 14px; margin-top: 18px; padding: 16px; border: 1px solid var(--p9-line); border-radius: 16px; background: #FBFCFE; }
.pdp9 .pdp9-about-ico { flex: 0 0 48px; height: 48px; border-radius: 12px; background: #EEF3F9; color: var(--p9-navy); display: flex; align-items: center; justify-content: center; }
.pdp9 .pdp9-about-area h3 { margin: 0 0 4px; font-size: 16px; font-weight: 800; color: var(--p9-ink); }
.pdp9 .pdp9-about-area p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--p9-text); }
.pdp9 .pdp9-about-area a { display: inline-block; margin-top: 6px; font-size: 14px; font-weight: 700; color: var(--p9-navy); }
.pdp9 .pdp9-area-grid { display: grid; grid-template-columns: minmax(250px, 330px) minmax(0, 1fr); margin-top: 16px; border: 1px solid var(--p9-line); border-radius: 18px; overflow: hidden; background: #FFFFFF; }
.pdp9 .pdp9-area-grid.pdp9-area-maponly { grid-template-columns: minmax(0, 1fr); }
.pdp9 .pdp9-area-list { padding: 16px; border-right: 1px solid var(--p9-line); max-height: 520px; overflow-y: auto; }
.pdp9 .pdp9-area-search { position: relative; display: block; }
.pdp9 .pdp9-area-search input { width: 100%; height: 44px; padding: 0 40px 0 14px; border: 1px solid var(--p9-line-strong); border-radius: 10px; font-size: 14px; color: var(--p9-ink); background: #FFFFFF; outline: none; box-sizing: border-box; }
.pdp9 .pdp9-area-search input:focus { border-color: var(--p9-navy); box-shadow: 0 0 0 3px rgba(6,43,92,.12); }
.pdp9 .pdp9-area-search svg { position: absolute; right: 13px; top: 14px; color: var(--p9-navy); pointer-events: none; }
.pdp9 .pdp9-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pdp9 .pdp9-area-group { margin-top: 16px; }
.pdp9 .pdp9-area-group[hidden], .pdp9 .pdp9-area-item[hidden] { display: none; }
.pdp9 .pdp9-area-chip { display: inline-block; margin: 0 0 6px; padding: 4px 10px; border-radius: 6px; background: #EEF3F9; color: var(--p9-navy); font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pdp9 .pdp9-area-group ul { list-style: none; margin: 0; padding: 0; }
.pdp9 .pdp9-area-item { display: grid; grid-template-columns: minmax(0, 1fr) auto 32px; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid #F0F2F5; }
.pdp9 .pdp9-area-item:last-child { border-bottom: 0; }
.pdp9 .pdp9-area-item label { display: flex; align-items: flex-start; gap: 10px; min-width: 0; cursor: pointer; }
.pdp9 .pdp9-area-item input { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--p9-navy); cursor: pointer; }
.pdp9 .pdp9-area-name { font-size: 14px; line-height: 1.35; color: var(--p9-ink); overflow-wrap: anywhere; }
.pdp9 .pdp9-area-name small { display: block; font-size: 12px; color: var(--p9-muted); }
.pdp9 .pdp9-area-item.is-on .pdp9-area-name { font-weight: 700; }
.pdp9 .pdp9-area-km { font-size: 13.5px; color: var(--p9-text); white-space: nowrap; }
.pdp9 .pdp9-area-go { width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: #0B72D9; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.pdp9 .pdp9-area-go:hover { background: #EEF3F9; }
.pdp9 .pdp9-area-go:focus-visible { outline: 2px solid var(--p9-cta); outline-offset: 1px; }
.pdp9 .pdp9-area-empty { margin: 14px 0 0; font-size: 13px; color: var(--p9-muted); }
.pdp9 .pdp9-area-map { position: relative; min-height: 440px; background-color: #EEF2F6; background-image: linear-gradient(#E1E7EE 1px, transparent 1px), linear-gradient(90deg, #E1E7EE 1px, transparent 1px); background-size: 30px 30px; }
.pdp9 .pdp9-area-map .upfront-property-map { position: absolute; inset: 0; width: 100%; height: 100% !important; min-height: 0 !important; z-index: 1; visibility: hidden; }
.pdp9 .pdp9-area-map.is-live .upfront-property-map { visibility: visible; }
.pdp9 .pdp9-map-load { position: absolute; left: 50%; top: 50%; z-index: 2; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 20px; border: 1px solid #0B72D9; border-radius: 10px; background: #FFFFFF; color: #0B72D9; font-size: 15px; font-weight: 700; cursor: pointer; box-shadow: 0 6px 18px rgba(6,43,92,.12); white-space: nowrap; }
.pdp9 .pdp9-map-load:hover { background: #F3F8FF; }
.pdp9 .pdp9-map-load:focus-visible { outline: 3px solid var(--p9-cta); outline-offset: 2px; }
.pdp9 .pdp9-area-map.is-loading .pdp9-map-load span::after { content: '…'; }
.pdp9 .pdp9-area-map.is-live .pdp9-map-load { display: none; }
.pdp9 .pdp9-stays-toggle { position: absolute; top: 14px; right: 14px; z-index: 500; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 10px; background: #FFFFFF; color: var(--p9-ink); font-size: 14px; font-weight: 700; box-shadow: 0 4px 14px rgba(6,43,92,.16); cursor: pointer; }
.pdp9 .pdp9-stays-toggle input { width: 18px; height: 18px; margin: 0; accent-color: var(--p9-navy); cursor: pointer; }
.pdp9 .pdp9-area-note { margin: 10px 0 0; font-size: 12.5px; color: var(--p9-muted); }
.pdp9 .pdp9-area-note a { color: var(--p9-muted); text-decoration: underline; }

/* ---------- policies ---------- */
.pdp9 .pdp9-policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pdp9 .pdp9-policy { padding: 18px; border-radius: 16px; background: var(--p9-soft); }
.pdp9 .pdp9-policy span { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--p9-muted); }
.pdp9 .pdp9-policy strong { display: block; margin-top: 4px; font-size: 20px; font-weight: 800; color: var(--p9-navy); }
.pdp9 .pdp9-rules { margin-top: 14px; padding: 4px 18px 16px; border: 1px solid var(--p9-line); border-radius: 16px; }
.pdp9 .pdp9-rules .pdp9-h3 { margin-top: 14px; font-size: 15px; }
.pdp9 .pdp9-rules p, .pdp9 .pdp9-rules li { font-size: 14px; color: var(--p9-text); line-height: 1.7; }
.pdp9 .pdp9-rules ul { margin: 0; padding-left: 18px; }
.pdp9 .cx-grid { gap: 14px; }
.pdp9 .cx-card { padding: 18px; border-radius: 16px; border-color: var(--p9-line); }
.pdp9 .cx-card h4 { font-size: 15px; color: var(--p9-ink); }
.pdp9 .cx-card p { font-size: 13.5px; color: #3D4C63; }
.pdp9 .cx-card-help { background: #F3F8FF; }
.pdp9 .cx-note { font-size: 13px; color: var(--p9-muted); }

/* ---------- plan your trip ---------- */
.pdp9 .pdp9-trip-card { display: grid; gap: 2px; max-width: 420px; padding: 18px; border: 1px solid var(--p9-line); border-radius: 16px; color: var(--p9-ink); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.pdp9 .pdp9-trip-card:hover { border-color: var(--p9-navy); box-shadow: 0 8px 24px rgba(6,43,92,.08); }
.pdp9 .pdp9-trip-card small { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--p9-cta); }
.pdp9 .pdp9-trip-card strong { font-size: 16px; font-weight: 800; }
.pdp9 .pdp9-trip-card span { font-size: 13px; color: var(--p9-muted); }
.pdp9 .pdp9-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.pdp9 .pdp9-chips-label { width: 100%; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--p9-muted); }
.pdp9 .pdp9-chips .chip { cursor: default; border-radius: 999px; background: var(--p9-chip); color: var(--p9-text); border: 0; }
.pdp9 .pdp9-host { margin-top: 22px; font-size: 14px; color: var(--p9-muted); }

/* ---------- reviews ---------- */
.pdp9 .pdp9-rev-head { align-items: center; }
.pdp9 .pdp9-rev-head .pdp9-score { font-size: 14px; color: #3D4C63; }
.pdp9 .review-card { padding: 18px; margin-bottom: 12px; border: 1px solid var(--p9-line); border-radius: 18px; }
.pdp9 .g-review-box { border-radius: 18px; }

/* ---------- FAQ accordions ---------- */
.pdp9 .pdp9-faq { padding: 0; border-bottom: 1px solid var(--p9-line); }
.pdp9 .pdp9-faq:first-of-type { border-top: 1px solid var(--p9-line); }
.pdp9 .pdp9-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; padding: 10px 0; list-style: none; cursor: pointer; font-size: 15px; font-weight: 800; color: var(--p9-ink); }
.pdp9 .pdp9-faq summary::-webkit-details-marker { display: none; }
.pdp9 .pdp9-faq summary::after { content: ""; flex: 0 0 auto; width: 9px; height: 9px; border-right: 2px solid var(--p9-navy); border-bottom: 2px solid var(--p9-navy); transform: rotate(45deg); margin-right: 4px; transition: transform .2s; }
.pdp9 .pdp9-faq[open] summary::after { transform: rotate(-135deg); }
.pdp9 .pdp9-faq p { margin: 0 0 16px; font-size: 14px; line-height: 1.65; color: #3D4C63; }

/* ---------- booking card ---------- */
.pdp9 .pdp9-book.ys-booking-card { align-self: start; padding: 22px; border: 1px solid var(--p9-line); border-radius: 24px; box-shadow: 0 24px 60px rgba(6,43,92,.12); overflow: visible; }
.pdp9 .pdp9-book [hidden] { display: none !important; }
.pdp9 .pdp9-book-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.pdp9 .pdp9-book-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.pdp9 .pdp9-book-price small { font-size: 13px; color: var(--p9-muted); font-weight: 600; }
.pdp9 .pdp9-book-price strong { font-size: 30px; font-weight: 800; letter-spacing: -0.01em; color: var(--p9-navy); line-height: 1.1; }
.pdp9 .pdp9-book-price .pdp9-ask { font-size: 18px; }
.pdp9 .pdp9-journey { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin-top: 16px; padding: 4px; border-radius: 14px; background: var(--p9-chip); }
.pdp9 .pdp9-journey button { min-height: 44px; border: 0; border-radius: 11px; background: transparent; color: #3D4C63; font-size: 14px; font-weight: 700; cursor: pointer; }
.pdp9 .pdp9-journey button.is-on { background: #FFFFFF; color: var(--p9-navy); font-weight: 800; box-shadow: 0 1px 3px rgba(6,43,92,.16); }
.pdp9 .pdp9-journey button:focus-visible { outline: 2px solid var(--p9-cta); outline-offset: 2px; }
.pdp9 .pdp9-panel { margin-top: 16px; }
.pdp9 .pdp9-book .ys-booking-panel { padding: 0; }
.pdp9 .pdp9-book .ys-field > span { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--p9-muted); }
.pdp9 .pdp9-book .ys-field select, .pdp9 .pdp9-book .ys-field input { height: 48px; border-color: var(--p9-line-strong); border-radius: 12px; font-size: 15px; font-weight: 700; color: var(--p9-ink); }
.pdp9 .pdp9-book .ys-field select:focus, .pdp9 .pdp9-book .ys-field input:focus { border-color: var(--p9-navy); box-shadow: 0 0 0 3px rgba(6,43,92,.12); }
.pdp9 .pdp9-book .ys-booking-fields-row { margin-top: 12px; }
.pdp9 .pdp9-offers .ys-booking-fields-row { margin-top: 0; }
.pdp9 .pdp9-book .ys-guests-field { margin-top: 12px; }
.pdp9 .pdp9-offers-copy { margin: 14px 0 0; font-size: 13.5px; line-height: 1.55; color: #3D4C63; }
.pdp9 .pdp9-book .ys-estimated-total { border-radius: 12px; }
.pdp9 .pdp9-book .pdp9-cta { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; margin-top: 16px; border: 0; border-radius: 14px; background: var(--p9-cta); color: #FFFFFF; font-size: 16px; font-weight: 800; letter-spacing: .01em; cursor: pointer; box-shadow: 0 10px 24px rgba(194,65,12,.28); transition: background .15s, transform .15s; }
.pdp9 .pdp9-book .pdp9-cta:hover { background: var(--p9-cta-hover); }
.pdp9 .pdp9-book .pdp9-cta:active { transform: translateY(1px); }
.pdp9 .pdp9-book .pdp9-cta:focus-visible { outline: 3px solid var(--p9-navy); outline-offset: 2px; }
.pdp9 .pdp9-book .pdp9-cta:disabled { background: #9AA6B6; box-shadow: none; cursor: not-allowed; }
.pdp9 .pdp9-trust { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.pdp9 .pdp9-trust li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #3D4C63; }
.pdp9 .pdp9-trust svg { flex: 0 0 auto; color: var(--p9-ok); }
.pdp9 .pdp9-help { display: flex; align-items: center; gap: 12px; margin-top: 16px; padding: 14px 0 0; border-top: 1px solid var(--p9-line); color: var(--p9-ink); text-decoration: none; }
.pdp9 .pdp9-help-ico { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; background: #EEF3F9; color: var(--p9-navy); display: inline-flex; align-items: center; justify-content: center; }
.pdp9 .pdp9-help strong { display: block; font-size: 14px; }
.pdp9 .pdp9-help small { display: block; font-size: 13px; color: var(--p9-muted); }
.pdp9 .pdp9-help:hover strong { text-decoration: underline; }

/* ---------- sticky bar ---------- */
.pdp9 .pdp9-sticky .pdp9-from { display: inline; font-size: 12px; font-weight: 600; color: var(--p9-muted); }
.pdp9 .pdp9-sticky .sticky-actions .btn { background: var(--p9-cta) !important; border-color: var(--p9-cta) !important; color: #FFFFFF !important; border-radius: 12px; font-weight: 800; }

/* ---------- v710: page edges match the search results page (search-results.css) ---------- */
@media (min-width: 901px) {
  .pdp9 .pdp9-main > .container,
  .pdp9 .gh-detail-search-bar .container { width: calc(100% - 200px); max-width: none; margin-left: 100px; margin-right: 100px; }
}
@media (max-width: 1200px) and (min-width: 901px) {
  .pdp9 .pdp9-main > .container,
  .pdp9 .gh-detail-search-bar .container { width: calc(100% - 64px); margin-left: 32px; margin-right: 32px; }
}

/* ---------- tablet ---------- */
@media (max-width: 1100px) and (min-width: 801px) {
  .pdp9 .detail-grid { grid-template-columns: minmax(0, 1fr) 330px; gap: 32px; }
  .pdp9 .pdp9-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pdp9 .am-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- phone (same 800px switch as the page script) ---------- */
@media (max-width: 800px) {
  .pdp9 .pdp9-crumbs { display: none; }
  .pdp9 .pdp9-head { margin-top: 18px; align-items: flex-start; }
  .pdp9 .pdp9-head-main { flex-basis: 100%; }
  .pdp9 .pdp9-title { font-size: 26px; }
  .pdp9 .pdp9-actions { position: absolute; top: 12px; right: 12px; z-index: 3; }
  .pdp9 .pdp9-btn { width: 44px; padding: 0; justify-content: center; border: 0; border-radius: 50%; box-shadow: 0 4px 14px rgba(6,43,92,.2); }
  .pdp9 .pdp9-btn-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pdp9 .pdp9-main > .container { position: relative; display: flex; flex-direction: column; }
  .pdp9 .pdp9-main > .container > * { order: 3; }
  .pdp9 .pdp9-main > .container > .pdp9-gallery { order: 1; }
  .pdp9 .pdp9-main > .container > .pdp9-head { order: 2; }

  /* swipe gallery */
  .pdp9 .pdp9-gallery { display: flex; gap: 0; width: 100vw; max-width: 100vw; margin: -24px 0 0 calc(50% - 50vw); border-radius: 0; height: 290px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; grid-template-columns: none; grid-template-rows: none; }
  .pdp9 .pdp9-gallery::-webkit-scrollbar { display: none; }
  .pdp9 .pdp9-gallery > button { flex: 0 0 100%; height: 290px; scroll-snap-align: start; }
  .pdp9 .pdp9-gallery > .pdp9-g-all { position: sticky; left: auto; right: 12px; bottom: 12px; align-self: flex-end; flex: 0 0 auto; height: 40px; min-height: 40px; margin: 0 12px 12px -150px; font-size: 13px; }
  .pdp9 .pdp9-g-chip { left: 14px; bottom: 14px; }

  .pdp9 .detail-grid { grid-template-columns: minmax(0, 1fr); margin-top: 18px; gap: 0; }
  .pdp9 .pdp9-highlights { display: flex; gap: 10px; width: 100vw; margin: 0 0 0 calc(50% - 50vw); padding: 0 16px 2px; overflow-x: auto; scrollbar-width: none; }
  .pdp9 .pdp9-highlights::-webkit-scrollbar { display: none; }
  .pdp9 .pdp9-highlights li { flex: 0 0 158px; padding: 12px; }
  .pdp9 .pdp9-tabs { position: static; display: flex; gap: 8px; width: 100vw; margin: 18px 0 0 calc(50% - 50vw); padding: 10px 16px; border-bottom: 1px solid var(--p9-line); }
  .pdp9 .section-tabs .tab-link,
  .pdp9 .section-tabs .tab-mobile-secondary { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--p9-chip); color: var(--p9-text); font-size: 13px; }
  .pdp9 .section-tabs .tab-mobile-room,
  .pdp9 .section-tabs .tab-mobile-amenities,
  .pdp9 .section-tabs .tab-mobile-reviews { font-size: 13px; }
  .pdp9 .section-tabs .tab-mobile-room::after,
  .pdp9 .section-tabs .tab-mobile-amenities::after,
  .pdp9 .section-tabs .tab-mobile-reviews::after { content: none; }
  .pdp9 .section-tabs .tab-link.active { background: var(--p9-navy); color: #FFFFFF; border: 0; }
  .pdp9 .pdp9-h2 { margin-top: 34px; font-size: 21px; }
  .pdp9 .pdp9-sec-head { margin-top: 34px; }
  .pdp9 .pdp9-sec-head .pdp9-h2 { margin-top: 0; }
  .pdp9 #overview.pdp9-h2 { margin-top: 26px; }
  .pdp9 .am-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
  .pdp9 .pdp9-area-grid { grid-template-columns: minmax(0, 1fr); }
  .pdp9 .pdp9-area-list { max-height: none; border-right: 0; border-bottom: 1px solid var(--p9-line); }
  .pdp9 .pdp9-area-map { min-height: 300px; }
  .pdp9 .pdp9-about-area { padding: 14px; gap: 12px; }
  .pdp9 .pdp9-about-ico { flex-basis: 40px; height: 40px; }
  .pdp9 .pdp9-policy-grid { gap: 10px; }
  .pdp9 .pdp9-policy { padding: 14px; }
  .pdp9 .pdp9-policy strong { font-size: 17px; }

  /* booking card is the bottom sheet on phones */
  .pdp9 #bookingBox.pdp9-book.ys-booking-card { padding: 0 18px calc(20px + env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; }
  .pdp9 #bookingBox.pdp9-book .msite-booking-sheet-head { margin: 0 -18px; }
  .pdp9 #bookingBox.pdp9-book .pdp9-book-head { padding-top: 14px; }
  .pdp9 .pdp9-sticky .sticky-actions .btn { min-height: 48px; padding: 0 20px; font-size: 15px; }
}


/* v713 — approved MMT-inspired PDP structure, original YatriSutra CTA treatment.
   Extends existing real-data PDP; no fake prices, policies, map points or recommendations. */
.pdp9 .pdp13-section-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:30px 0 18px}
.pdp9 .pdp13-section-intro h2{margin:0 0 7px}
.pdp9 .pdp13-section-intro p{margin:0;color:var(--p9-muted);font-size:14px;line-height:1.6}
.pdp9 .pdp13-quiet-tag{flex-shrink:0;color:#12457c;background:#eff5ff;border:1px solid #dbe7f7;border-radius:6px;padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.06em}
.pdp9 .pdp13-recommendations{margin-top:42px;padding:25px;background:#fff;border:1px solid #e4e8ee;border-radius:12px;scroll-margin-top:95px}
.pdp9 .pdp13-recommendations .similar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pdp9 .pdp13-recommendations .card{display:block;min-width:0;overflow:hidden;background:#fff;border:1px solid #e4e8ee;border-radius:11px;box-shadow:0 3px 16px rgba(11,31,58,.055);text-decoration:none;transition:box-shadow .2s,transform .2s}
.pdp9 .pdp13-recommendations .card:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(11,31,58,.13)}
.pdp9 .pdp13-recommendations .card img{display:block;width:100%;height:184px;object-fit:cover}
.pdp9 .pdp13-recommendations .card .body{padding:15px}
.pdp9 .pdp13-recommendations .card h3{font-size:16px;line-height:1.35;margin:8px 0;color:var(--p9-navy)}
.pdp9 .pdp13-recommendations .card .price-row{margin-top:14px;border-top:1px solid #eef0f3;padding-top:12px}
.pdp9 .pdp13-recommendations .card .price-row:after{content:'VIEW STAY →';display:inline-flex;margin-top:10px;border-radius:6px;background:#C2410C;color:#fff;padding:9px 13px;font-size:11px;font-weight:800;letter-spacing:.02em}
.pdp9 .pdp9-faq{border:1px solid #e4e8ee;border-radius:8px;margin:9px 0;background:#fff;overflow:hidden}
.pdp9 .pdp9-faq summary{cursor:pointer;padding:16px 19px;font-weight:700;color:#0b1f3a}
.pdp9 .pdp9-faq[open] summary{background:#f5f8fc;border-bottom:1px solid #e4e8ee}
.pdp9 .pdp9-faq p{padding:0 19px 15px;margin:14px 0 0;line-height:1.7;color:#475467}
.pdp9 #cancellation{scroll-margin-top:100px}
@media(max-width:850px){.pdp9 .pdp13-recommendations .similar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pdp9 .pdp13-recommendations{padding:15px}.pdp9 .pdp13-recommendations .similar-grid{grid-template-columns:1fr}.pdp9 .pdp13-section-intro{align-items:flex-start}.pdp9 .pdp13-quiet-tag{display:none}.pdp9 .pdp13-recommendations .card img{height:190px}}


/* v714 PDP visual release: brand-forward MMT-inspired composition. Scoped to .pdp14. */
.pdp14{--p9-cta:#F56A00;--p9-cta-hover:#D85C00;--p9-navy:#062B5C;--p9-line:#DDE5EF;--p9-soft:#F4F8FC;background:#F6F8FC}
.pdp14 .pdp9-main{max-width:1280px;margin:auto}
.pdp14 .pdp14-truststrip{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:20px 0 0;padding:11px 18px;border-radius:10px;background:linear-gradient(100deg,#062B5C,#124B85);color:#fff;font-size:12px;font-weight:700}
.pdp14 .pdp14-truststrip span:first-child{color:#FFCB70;font-size:13px}
.pdp14 .pdp9-head{background:white;border:1px solid #E1E8F2;border-bottom:0;padding:24px 26px 18px;margin-top:14px;border-radius:16px 16px 0 0}
.pdp14 .pdp9-title{font-size:clamp(27px,2.8vw,36px);letter-spacing:-.025em}
.pdp14 .pdp9-gallery{margin-top:0;border-radius:0 0 16px 16px;border:5px solid white;box-shadow:0 9px 28px rgba(6,43,92,.07);gap:5px}
.pdp14 .detail-grid{gap:26px;grid-template-columns:minmax(0,1fr) minmax(310px,365px);margin-top:20px}
.pdp14 .pdp9-highlights li{background:#fff;border-radius:10px;border:1px solid #DFE8F2;box-shadow:0 2px 8px rgba(6,43,92,.03)}
.pdp14 .pdp9-tabs{position:sticky;top:0;z-index:12;padding:0 16px;margin-top:16px;border:1px solid #DCE5F0;border-radius:10px 10px 0 0;box-shadow:0 5px 15px rgba(6,43,92,.05);gap:22px}
.pdp14 .pdp9-tabs .tab-link.active{color:#062B5C;border-bottom-color:#F56A00}
.pdp14 .pdp9-book.ys-booking-card{border-radius:14px;border:1px solid #CBDDEC;border-top:5px solid #F56A00;box-shadow:0 14px 35px rgba(6,43,92,.13);background:#fff}
.pdp14 .pdp9-book-price strong{color:#062B5C}
.pdp14 .rc-card.rr-card{border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 5px 20px rgba(6,43,92,.05)}
.pdp14 .rc-card.rr-card.selected{border-color:#F56A00}
.pdp14 .rr-rate.selected{background:#FFF5E9}
.pdp14 .rr-card .rc-plan.rr-book{border-color:#F56A00;color:#C04E00;border-radius:7px;font-weight:800}
.pdp14 .rr-card .rc-plan.rr-book.selected,.pdp14 .rr-card .rc-plan.rr-book:hover{background:#F56A00;border-color:#F56A00;color:white}
.pdp14 .pdp9-h2{font-size:23px;color:#062B5C}
.pdp14 .pdp13-recommendations{box-shadow:0 6px 20px rgba(6,43,92,.04)}
.pdp14 .pdp13-recommendations .card .price-row:after{background:#F56A00}
.pdp14 .pdp9-faq summary{background:#fff}
.pdp14 .pdp9-faq[open] summary{background:#FFF8F0}
.pdp14 .pdp9-area-grid{border-radius:12px;box-shadow:0 3px 16px rgba(6,43,92,.05)}
.pdp14 a:focus-visible,.pdp14 button:focus-visible{outline:3px solid #F56A00;outline-offset:2px}
@media(max-width:960px){.pdp14 .detail-grid{grid-template-columns:1fr;gap:20px}.pdp14 .pdp9-tabs{top:0}}
@media(max-width:650px){.pdp14 .pdp14-truststrip{gap:7px;padding:9px 12px;font-size:10px}.pdp14 .pdp9-head{padding:18px 14px 12px}.pdp14 .pdp9-gallery{border-width:2px}.pdp14 .pdp9-tabs{gap:14px;padding:0 12px}.pdp14 .pdp9-title{font-size:26px}}


/* v715 — PDP shell uses the exact desktop left/right gutters of SRP.
   SRP search-results.css: 100px at >1200px; 32px at 901–1200px.
   Override v714 1280px max-width and shared .container max-width so
   every PDP section, gallery, tabs, and booking column shares one edge. */
@media (min-width:1201px) {
  body.pdp15 .pdp9-main {width:100%;max-width:none;margin:0;box-sizing:border-box}
  body.pdp15 .pdp9-main > .container,
  body.pdp15 .gh-detail-search-bar > .container {
    width:calc(100% - 200px);max-width:none;
    margin-left:100px;margin-right:100px;box-sizing:border-box;
  }
}
@media (min-width:901px) and (max-width:1200px) {
  body.pdp15 .pdp9-main {width:100%;max-width:none;margin:0;box-sizing:border-box}
  body.pdp15 .pdp9-main > .container,
  body.pdp15 .gh-detail-search-bar > .container {
    width:calc(100% - 64px);max-width:none;
    margin-left:32px;margin-right:32px;box-sizing:border-box;
  }
}
@media (max-width:900px) {
  body.pdp15 .pdp9-main {width:100%;max-width:none}
  body.pdp15 .pdp9-main > .container {max-width:100%;box-sizing:border-box}
}

/* =====================================================================
   YatriSutra PDP v716 — V4 approved-layout implementation.
   This file extends v715 (whose stable layout/interaction styles are
   retained above). Only PDP selectors are changed; no global SRP changes.
   Reference: YatriSutra_MMT_Style_PDP_Mockup_v4.html.
   IMPORTANT: all text, rates, policies and photos remain server-driven.
   ===================================================================== */
body.pdp16 {
  --p9-cta:#F56A00; --p9-cta-hover:#DB5E00; --p9-navy:#0B2550;
  --p16-line:#E4E8EF; --p16-muted:#687385; --p16-blue:#008cff;
  --p16-shadow:0 2px 8px rgba(30,56,90,.04);
  background:#F4F6F9; color:#1D2635;
}
/* V4: the header is above the five-tile gallery, not a giant boxed hero. */
body.pdp16 .pdp9-main {max-width:none;margin:0;background:transparent}
body.pdp16 .pdp14-truststrip{display:none}
body.pdp16 .pdp9-main .pdp9-crumbs{margin:4px 0 17px;font-size:11px;color:#737D8D}
body.pdp16 .pdp9-head{background:transparent;border:0;padding:0;margin:0;box-shadow:none;border-radius:0;align-items:start}
body.pdp16 .pdp9-badges{margin-bottom:7px;gap:6px}
body.pdp16 .pdp9-badge{padding:4px 8px;font-size:10px;border-radius:5px}
body.pdp16 .pdp9-title{margin:0 0 8px;color:#1D2635;font-size:clamp(23px,2.1vw,28px);font-weight:800;letter-spacing:-.03em}
body.pdp16 .pdp9-meta{margin-top:0;gap:6px 14px;color:#626D7E;font-size:12px}
body.pdp16 .pdp9-score-box{height:28px;min-width:37px;border-radius:6px;background:#188D55;color:#fff}
body.pdp16 .pdp9-maplink{color:var(--p16-blue)}
body.pdp16 .pdp9-btn{min-height:37px;padding:0 12px;border:1px solid #DAE3ED;border-radius:7px;background:#fff;color:#34465E;font-size:12px}
body.pdp16 .pdp9-gallery{margin-top:18px;height:347px;border:0;border-radius:11px;box-shadow:none;gap:5px;
  grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
body.pdp16 .pdp9-gallery > button{background:#E4EAF1;min-width:0}
body.pdp16 .pdp9-gallery .pdp9-g-hero{grid-column:1;grid-row:1 / span 2}
body.pdp16 .pdp9-gallery-n4 .pdp9-g-tile{grid-column:auto;grid-row:auto}
body.pdp16 .pdp9-gallery-n3{grid-template-columns:2fr 1fr 1fr}
body.pdp16 .pdp9-gallery-n3 .pdp9-g-tile:last-of-type{grid-column:2 / span 2}
body.pdp16 .pdp9-gallery-n2{grid-template-columns:2fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
body.pdp16 .pdp9-gallery-n1{grid-template-columns:2fr 1fr;grid-template-rows:1fr}
body.pdp16 .pdp9-gallery-n0{grid-template-columns:1fr;grid-template-rows:1fr}
body.pdp16 .pdp9-gallery .pdp9-g-chip{left:9px;bottom:9px;border-radius:4px;padding:4px 8px;font-size:10px}
body.pdp16 .pdp9-gallery > .pdp9-g-all{right:15px;bottom:15px;border-radius:5px;min-height:39px;padding:0 13px;font-size:12px}
/* V4: tabs span the entire page, above BOTH columns. */
body.pdp16 .pdp16-tabs{position:sticky;top:0;z-index:85;display:flex;align-items:center;gap:0;width:100%;min-width:0;
  margin:20px 0 0;padding:0;border:1px solid var(--p16-line);border-radius:8px;box-shadow:0 2px 12px rgba(27,49,64,.07);
  overflow-x:auto;overscroll-behavior-x:contain;background:#fff;scrollbar-width:none}
body.pdp16 .pdp16-tabs .tab-link{display:inline-flex;align-items:center;min-height:54px;flex-shrink:0;padding:0 13px;
  color:#4F5D70;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.005em;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent}
body.pdp16 .pdp16-tabs .tab-link:hover,body.pdp16 .pdp16-tabs .tab-link.active{color:var(--p16-blue);border-bottom-color:var(--p16-blue);background:transparent}
body.pdp16 .pdp16-tabprice{display:flex;align-items:center;gap:11px;flex:0 0 auto;margin-left:auto;padding:6px 12px;border-left:1px solid var(--p16-line);background:#fff}
body.pdp16 .pdp16-tabprice small{display:block;color:#7A8796;font-size:10px}
body.pdp16 .pdp16-tabprice strong{font-size:18px;font-weight:800;color:#1D2635}
body.pdp16 .pdp16-tabcta{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 12px;
  background:#F56A00;color:#fff;border:0;border-radius:6px;font-size:11px;font-weight:800;white-space:nowrap}
/* V4: about/room/amenity/review/location/policy/FAQ are distinct white cards. */
body.pdp16 .detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:20px;margin-top:20px}
body.pdp16 .detail-grid.pdp16-no-booking{grid-template-columns:minmax(0,1fr)}
body.pdp16 .detail-grid > .pdp16-left{min-width:0}
body.pdp16 .pdp16-panel,body.pdp16 .pdp13-recommendations{
  margin:0 0 17px;padding:21px 23px;border:1px solid var(--p16-line);border-radius:10px;
  box-shadow:var(--p16-shadow);background:#fff;overflow:visible;min-width:0}
body.pdp16 .pdp16-panel > .pdp9-h2:first-child,
body.pdp16 .pdp16-panel > .pdp9-sec-head:first-child,
body.pdp16 .pdp16-panel > .pdp13-section-intro:first-child {margin-top:0}
body.pdp16 .pdp16-panel h2,body.pdp16 .pdp13-recommendations h2{font-size:19px;line-height:1.25;font-weight:800;color:#1D2635;letter-spacing:-.02em;margin-bottom:17px}
body.pdp16 .pdp16-panel p{line-height:1.72}
body.pdp16 .pdp16-panel .pdp9-h2{margin-top:0}
body.pdp16 .pdp16-panel .pdp13-section-intro{margin-top:0;margin-bottom:17px}
body.pdp16 .pdp16-panel .pdp13-section-intro h2{margin-bottom:6px}
body.pdp16 .pdp16-panel .pdp13-section-intro p{font-size:12px;color:var(--p16-muted)}
body.pdp16 .pdp16-panel .pdp13-quiet-tag{font-size:10px;border-radius:6px}
body.pdp16 .pdp16-overview .about-text,body.pdp16 .pdp16-overview .about-text p{font-size:13px;line-height:1.75;color:#596576}
body.pdp16 .pdp16-overview .pdp9-highlights{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
body.pdp16 .pdp16-overview .pdp9-highlights li{display:flex;flex-direction:row;align-items:center;gap:8px;flex:0 1 auto;
  min-width:0;border:1px solid #E7EFF7;border-radius:5px;padding:8px 11px;background:#F3F7FC;box-shadow:none}
body.pdp16 .pdp16-overview .pdp9-hl-ico{font-size:16px;margin:0}
body.pdp16 .pdp16-overview .pdp9-highlights strong{font-size:12px;color:#475871}
body.pdp16 .pdp16-overview .pdp9-highlights small{display:none}
/* V4 room cards: name stripe + photograph | rate details | pricing/selection. */
body.pdp16 .pdp16-rooms .pdp9-sec-head{gap:3px 10px;margin-bottom:14px}
body.pdp16 .pdp16-rooms .pdp9-sec-head h2{margin:0}
body.pdp16 .pdp16-rooms .pdp9-sub{font-size:12px;color:var(--p16-muted)}
body.pdp16 .pdp16-rooms .rc-list{gap:16px;margin:0}
body.pdp16 .pdp16-rooms .rc-card.rr-card{position:relative;display:grid;grid-template-columns:minmax(160px,29%) minmax(0,1fr);
  padding-top:43px;border:1px solid #D7E0EC;border-radius:8px;background:#fff;box-shadow:none;overflow:hidden}
body.pdp16 .pdp16-rooms .rr-room{padding:16px;background:#fff;border-right:1px solid #E7ECF3}
body.pdp16 .pdp16-rooms .rr-room h4{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;min-height:43px;
  margin:0;padding:9px 16px;border-bottom:1px solid #D7E0EC;background:#F0F5FC;font-size:16px;color:#1D2635}
body.pdp16 .pdp16-rooms .rr-occ{margin-top:0;font-size:11px}
body.pdp16 .pdp16-rooms .rr-photo{border-radius:6px;aspect-ratio:4/3}
body.pdp16 .pdp16-rooms .rr-amen{grid-template-columns:1fr}
body.pdp16 .pdp16-rooms .rr-rate{display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,190px);gap:0;
  align-items:stretch;margin:0;padding:0;border-left:0;background:#fff}
body.pdp16 .pdp16-rooms .rr-rate + .rr-rate{border-top:1px solid #E7ECF3}
body.pdp16 .pdp16-rooms .rr-rate.selected{background:#FFF7EF}
body.pdp16 .pdp16-rooms .rr-rate-info{padding:16px;min-width:0}
body.pdp16 .pdp16-rooms .rr-rate-info h5{font-size:14px;margin-bottom:11px}
body.pdp16 .pdp16-rooms .rr-rate-price{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;
  min-width:0;padding:15px 14px;text-align:right;border-left:1px solid #E7ECF3}
body.pdp16 .pdp16-rooms .rr-rate-price strong{font-size:23px;color:#1D2635}
body.pdp16 .pdp16-rooms .rr-rate-price .rr-unit,body.pdp16 .pdp16-rooms .rr-rate-price .rr-tax{font-size:10px}
body.pdp16 .pdp16-rooms .rr-card .rc-plan.rr-book{min-width:0;width:100%;margin-top:12px;min-height:40px;
  padding:0 8px;background:#F56A00;color:#fff;border:1px solid #F56A00;border-radius:6px;box-shadow:none;font-size:12px}
body.pdp16 .pdp16-rooms .rr-card .rc-plan.rr-book:hover{background:#DB5E00;color:#fff}
body.pdp16 .pdp16-rooms .rr-card .rc-plan.rr-book.selected{background:#0B2550;border-color:#0B2550;color:#fff}
/* Amenities + review card follow the approved panel treatment. */
body.pdp16 .pdp16-amenities .am-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
body.pdp16 .pdp16-amenities .am-item{display:flex;align-items:center;gap:10px;padding:6px 0;background:transparent;border:0}
body.pdp16 .pdp16-amenities .am-ico{font-size:19px}
body.pdp16 .pdp16-reviews .pdp9-sec-head{margin:0 0 16px}
body.pdp16 .pdp16-reviews .pdp9-sec-head h2{margin:0}
body.pdp16 .pdp16-reviews .review-card{border-bottom:1px solid var(--p16-line)}
/* Location widget is the same interactive v711 module, in a V4 panel. */
body.pdp16 section.pdp16-panel.pdp9-location{padding:21px 23px}
body.pdp16 .pdp9-location > .pdp9-h2{margin:0 0 15px;font-size:19px}
body.pdp16 .pdp9-area-grid{border:1px solid #D5E1DF;border-radius:9px;box-shadow:none;overflow:hidden}
body.pdp16 .pdp9-area-map{min-height:260px}
/* Cancellation + payment terms are always property-confirmed; no fake timeline. */
body.pdp16 .pdp16-cancellation .cx-grid{gap:12px}
body.pdp16 .pdp16-cancellation .cx-card{border:1px solid #E4EAF2;background:#F9FBFE;border-radius:8px;padding:16px}
body.pdp16 .pdp16-cancellation .cx-card h4{font-size:14px;color:#1D2635}
body.pdp16 .pdp16-cancellation .cx-note{font-size:11px}
body.pdp16 .pdp16-policies .pdp9-policy-grid{margin-top:0}
body.pdp16 .pdp16-policies .pdp9-policy{background:#F6F9FD;border:1px solid #E4EAF2;border-radius:8px}
body.pdp16 .pdp16-faq .pdp9-faq{border:1px solid #E4E8EF;border-radius:8px;margin:9px 0}
body.pdp16 .pdp16-faq .pdp9-faq summary{min-height:48px;font-size:13px;padding:14px 16px}
body.pdp16 .pdp16-faq .pdp9-faq[open] summary{background:#F4F8FC}
body.pdp16 .pdp16-faq .pdp9-faq p{font-size:12px;padding:0 16px 15px}
body.pdp16 .pdp16-trip:has(> :not(.pdp9-host)) .pdp9-trip{margin:0}
body.pdp16 .pdp16-trip:empty{display:none}
/* V4 booking side rail stays sticky on desktop; real flows keep their IDs and JS. */
body.pdp16 #bookingBox.pdp9-book{position:sticky;top:74px;width:100%;padding:19px;border:1px solid #E3E9F0;
  border-radius:9px;background:#fff;box-shadow:0 2px 12px rgba(16,40,67,.09);align-self:start}
body.pdp16 .pdp16-why{padding-bottom:16px;border-bottom:1px solid var(--p16-line)}
body.pdp16 .pdp16-why h3{margin:0 0 13px;font-size:15px;font-weight:800;color:#1D2635}
body.pdp16 .pdp16-why-rating{display:flex;align-items:center;gap:10px}
body.pdp16 .pdp16-why-rating > span{display:grid;place-items:center;min-height:37px;padding:0 9px;border-radius:6px;
  background:#0B8357;color:#fff;font-size:16px;font-weight:800}
body.pdp16 .pdp16-why-rating strong{display:block;font-size:13px}
body.pdp16 .pdp16-why-rating small{display:block;color:#687385;font-size:11px}
body.pdp16 #bookingBox .pdp9-book-head{padding:15px 0 5px}
body.pdp16 #bookingBox .pdp9-book-price strong{font-size:27px;color:#1D2635}
body.pdp16 #bookingBox .pdp9-journey{border-radius:8px;background:#F2F5F9}
body.pdp16 #bookingBox .pdp9-journey button.is-on{color:#0B2550}
body.pdp16 #bookingBox .ys-field input,body.pdp16 #bookingBox .ys-field select{height:43px;border-radius:7px;font-size:13px}
body.pdp16 #bookingBox .pdp9-cta{min-height:44px;border-radius:7px;background:#F56A00;box-shadow:0 3px 12px rgba(245,106,0,.18);font-size:13px}
body.pdp16 #bookingBox .pdp9-cta:hover{background:#DB5E00}
/* V4 recommendations: full width below two-column content. */
body.pdp16 .pdp13-recommendations{margin-top:0;padding:21px 23px}
body.pdp16 .pdp13-recommendations .pdp13-section-intro{margin:0 0 17px}
body.pdp16 .pdp13-recommendations .card{border-radius:9px;box-shadow:none}
body.pdp16 .pdp13-recommendations .card img{height:155px}
body.pdp16 .pdp13-recommendations .card h3{color:#1D2635;font-size:14px}
body.pdp16 .pdp13-recommendations .card .price-row:after{background:#F56A00;border-radius:6px}
/* Maintain v715 matching SRP gutters: 100px or 32px, not a max-width centered box. */
@media (min-width:1201px){body.pdp16 .pdp9-main > .container{width:calc(100% - 200px);max-width:none;margin-left:100px;margin-right:100px;padding-left:0;padding-right:0}}
@media (min-width:901px) and (max-width:1200px){body.pdp16 .pdp9-main > .container{width:calc(100% - 64px);max-width:none;margin-left:32px;margin-right:32px;padding-left:0;padding-right:0}}
@media (max-width:1150px) and (min-width:901px){
  body.pdp16 .detail-grid{grid-template-columns:minmax(0,1fr) 292px;gap:16px}
  body.pdp16 .pdp16-rooms .rc-card.rr-card{grid-template-columns:minmax(140px,30%) minmax(0,1fr)}
  body.pdp16 .pdp16-rooms .rr-rate{grid-template-columns:minmax(0,1fr) minmax(110px,145px)}
  body.pdp16 .pdp16-rooms .rr-rate-info,body.pdp16 .pdp16-rooms .rr-rate-price{padding:12px}
}
/* Tablet and mobile: horizontal-scroll tabs, stacked panels, booking bottom sheet preserved. */
@media (max-width:900px){
  body.pdp16 .detail-grid{grid-template-columns:minmax(0,1fr);gap:0}
  body.pdp16 .detail-grid.pdp16-no-booking{grid-template-columns:minmax(0,1fr)}
  body.pdp16 .pdp16-tabs{top:0;max-width:100%;border-radius:7px;margin:14px 0 0;padding:0 3px}
  body.pdp16 .pdp16-tabs .tab-link{min-height:44px;padding:0 12px;font-size:11px;white-space:nowrap;background:transparent;border-radius:0}
  body.pdp16 .pdp16-tabs .tab-link.active{background:transparent;color:#008cff;border-bottom:3px solid #008cff}
  body.pdp16 .pdp16-tabprice{display:none}
  body.pdp16 .pdp16-panel,body.pdp16 .pdp13-recommendations{padding:18px 16px;margin-bottom:14px}
  body.pdp16 .pdp9-main > .container{max-width:100%}
  body.pdp16 #bookingBox.pdp9-book{position:fixed !important;top:auto !important;left:0;right:0;bottom:0;width:100%;max-width:none;
    border-radius:20px 20px 0 0;padding:0 18px calc(20px + env(safe-area-inset-bottom))}
  body.pdp16 #bookingBox .pdp16-why{padding-top:14px}
}
@media (max-width:800px){
  /* Existing mobile swipe/hero order is deliberate; do not turn gallery into desktop grid. */
  body.pdp16 .pdp9-gallery{display:flex;gap:0;width:100vw;max-width:100vw;height:290px;margin:-24px 0 0 calc(50% - 50vw);
    border:0;border-radius:0;overflow-x:auto;scroll-snap-type:x mandatory}
  body.pdp16 .pdp9-gallery > button{flex:0 0 100%;height:290px;scroll-snap-align:start}
  body.pdp16 .pdp9-gallery > .pdp9-g-all{position:sticky;right:12px;bottom:12px;flex:0 0 auto;height:40px;margin:0 12px 12px -150px}
  body.pdp16 .pdp9-head{padding:18px 0 5px;position:relative}
  body.pdp16 .pdp9-title{font-size:23px}
  body.pdp16 .pdp9-actions{top:10px;right:0}
  body.pdp16 .pdp9-btn{width:38px;height:38px;min-height:38px;padding:0;border-radius:50%}
}
@media(max-width:650px){
  body.pdp16 .pdp16-rooms .rc-card.rr-card{grid-template-columns:minmax(0,1fr);padding-top:41px}
  body.pdp16 .pdp16-rooms .rr-room{border-right:0;border-bottom:1px solid #E7ECF3}
  body.pdp16 .pdp16-rooms .rr-rate{grid-template-columns:minmax(0,1fr);gap:0}
  body.pdp16 .pdp16-rooms .rr-rate-info{padding:13px 14px 6px}
  body.pdp16 .pdp16-rooms .rr-rate-price{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:6px;
    padding:4px 14px 14px;text-align:left;border:0;flex-wrap:wrap}
  body.pdp16 .pdp16-rooms .rr-rate-price .rr-book{flex-basis:100%;min-height:44px}
  body.pdp16 .pdp16-amenities .am-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.pdp16 .pdp13-recommendations .similar-grid{grid-template-columns:1fr}
  body.pdp16 .pdp9-area-map{min-height:270px}
}

/* v716 final integration corrections: shared search fragment, sticky header and actual room plan filters. */
@media(min-width:901px){
 body.pdp16 .gh-detail-search-bar .mini-search-bar{position:sticky;top:74px;z-index:90;min-height:0;padding:12px 0;background:#fff;border-bottom:1px solid #E4E8EF;box-shadow:0 2px 9px rgba(20,62,97,.11)}
 body.pdp16 .gh-detail-search-bar .mini-search-form{display:grid;grid-template-columns:minmax(170px,1.6fr) minmax(120px,1fr) minmax(120px,1fr) minmax(100px,1fr) auto;gap:0;align-items:stretch}
 body.pdp16 .gh-detail-search-bar .msb-field{min-width:0;padding:7px 14px;border:0;border-right:1px solid #E4E8EF;border-radius:0;background:#fff}
 body.pdp16 .gh-detail-search-bar .msb-field label{font-size:10px;font-weight:800;color:#6D7381}
 body.pdp16 .gh-detail-search-bar .msb-field select,body.pdp16 .gh-detail-search-bar .msb-field input{font-size:14px;color:#223047;font-weight:800}
 body.pdp16 .gh-detail-search-bar .msb-btn{min-width:100px;margin:3px 0 3px 10px;border:0;border-radius:7px;background:#F56A00;color:#fff;font-size:13px;font-weight:800}
 body.pdp16 .pdp16-tabs{top:149px;z-index:91}
}
@media (max-width:900px){
 body.pdp16 .pdp16-tabs{top:55px;z-index:91}
 body.pdp16 .gh-detail-search-bar .mini-search-bar{background:#fff;border-bottom:1px solid #E4E8EF}
 body.pdp16 .gh-detail-search-bar .msb-btn{background:#F56A00;color:#fff}
}
body.pdp16 .pdp16-room-filters{display:flex;gap:9px;margin:0 0 14px;flex-wrap:wrap}
body.pdp16 .pdp16-room-filters button{border:1px solid #CCD6E1;background:#fff;color:#4D6178;padding:9px 13px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer}
body.pdp16 .pdp16-room-filters button.active{background:#EAF6FF;border-color:#008CFF;color:#0079DF}
body.pdp16 .pdp16-rooms [hidden],body.pdp16 .pdp16-room-filters [hidden],body.pdp16 .pdp16-no-rates[hidden]{display:none !important}
body.pdp16 .pdp16-no-rates{border:1px solid #E4E8EF;border-radius:8px;padding:16px;color:#667085;font-size:12px}
body.pdp16 .pdp16-cancel-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:17px;border:1px solid #E1E8F2;border-radius:9px;overflow:hidden}
body.pdp16 .pdp16-cancel-step{display:flex;gap:10px;align-items:flex-start;padding:13px;border-right:1px solid #E1E8F2;background:#FAFCFF}
body.pdp16 .pdp16-cancel-step:last-child{border-right:0}
body.pdp16 .pdp16-cancel-dot{display:grid;place-items:center;flex:0 0 23px;height:23px;background:#EAF6FF;border-radius:50%;color:#0079DF;font-size:11px;font-weight:800}
body.pdp16 .pdp16-cancel-step strong{font-size:12px;color:#1D2635}
body.pdp16 .pdp16-cancel-step p{margin:7px 0 0;font-size:11px;color:#596576;line-height:1.65}
@media(max-width:650px){body.pdp16 .pdp16-cancel-timeline{grid-template-columns:1fr}body.pdp16 .pdp16-cancel-step{border-right:0;border-bottom:1px solid #E1E8F2}body.pdp16 .pdp16-cancel-step:last-child{border-bottom:0}}


/* =====================================================================
   v719 — YatriSutra palette and reliable sticky-anchor layout.
   Scoped to PDP only; no SRP, CTA, or enquiry/back-end changes.
   Canvas: Sutra Cream #FFFDF8; light surfaces #F4F8FC;
   brand navy #062B5C; CTA orange #F56A00; border #E6EAF0.
   ===================================================================== */
body.pdp19 {
  --p9-navy: #062B5C;
  --p9-ink: #062B5C;
  --p9-text: #344054;
  --p9-muted: #667085;
  --p9-line: #E6EAF0;
  --p9-chip: #F4F8FC;
  --p9-soft: #F4F8FC;
  --p9-warm: #FFFDF8;
  --p9-cta: #F56A00;
  --p9-cta-hover: #DF6000;
  --p16-blue: #062B5C;
  --p16-muted: #667085;
  --p16-line: #E6EAF0;
  --pdp-header-bottom: 74px;
  background: #FFFDF8;
  color: #344054;
}
body.pdp19 .pdp9-main { background: #FFFDF8; }
body.pdp19 .pdp9-title,
body.pdp19 .pdp16-panel h2,
body.pdp19 .pdp13-recommendations h2,
body.pdp19 #bookingBox .pdp9-book-price strong,
body.pdp19 .pdp13-recommendations .card h3 { color: #062B5C; }
body.pdp19 .pdp9-maplink,
body.pdp19 .pdp16-tabs .tab-link:hover,
body.pdp19 .pdp16-tabs .tab-link.active { color: #062B5C; }
body.pdp19 .pdp16-tabs .tab-link.active { border-bottom-color: #F56A00; }
body.pdp19 .pdp16-tabs { top: var(--pdp-header-bottom); background: #FFFFFF; border-color:#E6EAF0; }
body.pdp19 .pdp16-panel,
body.pdp19 .pdp13-recommendations,
body.pdp19 #bookingBox.pdp9-book { background: #FFFFFF; border-color:#E6EAF0; }
body.pdp19 .pdp16-overview .pdp9-highlights li,
body.pdp19 .pdp16-cancellation .cx-card,
body.pdp19 .pdp16-policies .pdp9-policy,
body.pdp19 .pdp16-faq .pdp9-faq[open] summary,
body.pdp19 .pdp16-cancel-step { background:#F4F8FC; border-color: #E6EAF0; }
body.pdp19 .pdp16-room-filters button.active { background:#F4F8FC; border-color:#062B5C; color:#062B5C; }
body.pdp19 .pdp16-cancel-dot { background:#FFF2E6; color:#C35100; }
body.pdp19 .pdp16-cancel-timeline { border-color:#E6EAF0; }
body.pdp19 .pdp16-tabcta,
body.pdp19 #bookingBox .pdp9-cta,
body.pdp19 .pdp9-sticky .sticky-actions .btn { background:#F56A00 !important; border-color:#F56A00 !important; color:#FFFFFF !important; }
body.pdp19 .pdp16-tabcta:hover,
body.pdp19 #bookingBox .pdp9-cta:hover { background:#DF6000 !important; }
/* All fragment anchors land on complete panels, with visible titles. JS measures
   sticky header/tab heights, including browser zoom and responsive nav changes. */
body.pdp19 .detail-section-anchor,
body.pdp19 .pdp16-panel,
body.pdp19 .pdp13-recommendations { scroll-margin-top: calc(var(--pdp-header-bottom) + 76px); }
/* Allow scrolling to all tabs on mobile (legacy rules hid most labels).
   Keep the nav horizontally scrollable with an active orange underline. */
@media (max-width:900px) {
  body.pdp19 .pdp16-tabs { top: var(--pdp-header-bottom); }
  body.pdp19 .pdp16-tabs .tab-link,
  body.pdp19 .pdp16-tabs .tab-mobile-secondary,
  body.pdp19 .pdp16-tabs .tab-mobile-location { display:inline-flex; font-size:11px; }
  body.pdp19 .pdp16-tabs .tab-mobile-room,
  body.pdp19 .pdp16-tabs .tab-mobile-amenities,
  body.pdp19 .pdp16-tabs .tab-mobile-reviews { font-size:11px; }
  body.pdp19 .pdp16-tabs .tab-mobile-room::after,
  body.pdp19 .pdp16-tabs .tab-mobile-amenities::after,
  body.pdp19 .pdp16-tabs .tab-mobile-reviews::after { display:none; content:none; }
  body.pdp19 .pdp16-tabs .tab-link.active { color:#062B5C; border-bottom:3px solid #F56A00; }
}
@media (prefers-reduced-motion:reduce) {
  body.pdp19,body.pdp19 * { scroll-behavior:auto !important; }
}
