/* DS-012: space details only; preserve the platform's fonts and shared page shell. */
#pg-space-detail { --orange:#FF6B00; --msd-line:rgba(14,18,24,.10); }
body:has(#pg-space-detail.active) #bottom-nav { display:none !important; }
body:has(#booking-modal.open) #pg-space-detail .sd-sticky-footer,
body:has(#visit-modal.open) #pg-space-detail .sd-sticky-footer { visibility:hidden; pointer-events:none; }
#pg-space-detail .sd-page { max-width:1160px; margin-inline:auto; padding:20px 32px calc(var(--msd-bar-height,0px) + 28px); }
#pg-space-detail .sd-section { max-width:none; padding:0; margin:0 0 32px; }
#pg-space-detail .sd-header-inner { max-width:none; padding:0 0 24px; }
#pg-space-detail .msd-topline { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.msd-icon { width:20px; height:20px; flex-shrink:0; vertical-align:middle; }
#pg-space-detail .msd-text-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:none; border:0; min-height:44px; padding:8px 0; color:var(--ink,#0E1218); font:inherit; font-size:14px; font-weight:650; cursor:pointer; }
#pg-space-detail .msd-share { padding-inline:14px; border:1px solid var(--msd-line); border-radius:999px; }
#pg-space-detail .msd-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; }
#pg-space-detail .msd-eyebrow { display:flex; gap:12px; align-items:center; flex-wrap:wrap; font-size:13px; color:var(--ink2); margin-bottom:8px; }
#pg-space-detail .sd-name { font-size:clamp(25px,3vw,38px); line-height:1.4; margin:0 0 10px; letter-spacing:0; }
#pg-space-detail .sd-meta { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; color:var(--ink2); }
#pg-space-detail .sd-meta>span { display:inline-flex; gap:7px; align-items:center; }
#pg-space-detail .msd-start-price { display:flex; flex-direction:column; white-space:nowrap; gap:4px; color:var(--ink2); font-size:12px; }
#pg-space-detail .msd-start-price strong { color:var(--ink); font-size:26px; font-weight:750; }
#pg-space-detail .msd-start-price small { font-size:13px; font-weight:500; }
#pg-space-detail .msd-gallery { display:grid; grid-template-columns:2.4fr 1fr; grid-template-rows:repeat(3,minmax(0,1fr)); gap:8px; height:460px; border-radius:18px; overflow:hidden; }
#pg-space-detail .msd-photo { display:block; width:100%; height:100%; position:relative; border:0; padding:0; background:#eeeee9; cursor:zoom-in; overflow:hidden; }
#pg-space-detail .msd-photo:first-child { grid-row:1/-1; }
#pg-space-detail .msd-photo img { width:100%; height:100%; object-fit:cover; transition:transform .22s ease; }
#pg-space-detail .msd-photo:hover img { transform:scale(1.025); }
#pg-space-detail .msd-gallery[data-count="1"] { grid-template-columns:1fr; }
#pg-space-detail .msd-gallery[data-count="2"] { grid-template-rows:1fr; }
#pg-space-detail .msd-gallery[data-count="3"] { grid-template-rows:repeat(2,minmax(0,1fr)); }
#pg-space-detail .msd-gallery-caption { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:8px; font-size:12px; color:var(--ink3); }
#pg-space-detail .msd-no-photos { min-height:230px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:#f0f0eb; border-radius:16px; color:var(--ink2); }
#pg-space-detail .msd-no-photos .msd-icon { width:32px; height:32px; }
.msd-image-error:not([hidden]) { display:flex; align-items:center; justify-content:center; gap:8px; height:100%; padding:12px; color:#666; font-size:12px; }
#pg-space-detail .sd-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; }
#pg-space-detail .sd-info-card { background:none; box-shadow:none; border:0; border-radius:0; padding:24px 0; border-top:1px solid var(--msd-line); }
#pg-space-detail .sd-info-full { grid-column:1/-1; }
#pg-space-detail .sd-info-title { display:flex; align-items:center; gap:10px; font-size:19px; font-weight:750; margin-bottom:14px; color:var(--ink); }
#pg-space-detail .sd-description { font-size:16px; line-height:1.95; max-width:900px; color:var(--ink2); white-space:pre-line; margin:0; }
#pg-space-detail .act-tag,#pg-space-detail .sd-amenity { display:inline-flex; align-items:center; gap:6px; border:0; background:none; padding:4px 0; font-size:14px; color:var(--ink2); border-radius:0; box-shadow:none; }
#pg-space-detail .card-acts,#pg-space-detail .sd-amenities-wrap { display:flex; flex-wrap:wrap; gap:8px 22px; }
#pg-space-detail .sd-size-row { background:none; border:0; border-bottom:1px solid var(--msd-line); border-radius:0; padding:12px 0; margin:0; gap:16px; }
#pg-space-detail .sd-size-row:last-child { border-bottom:0; }
#pg-space-detail .sd-size-price { color:var(--ink); }
#pg-space-detail .sd-owner-card { background:none; border:0; border-radius:0; padding:0; box-shadow:none; }
#pg-space-detail a.sd-owner-card { text-decoration:none; color:inherit; min-height:54px; }
#pg-space-detail .msd-location { display:flex; align-items:center; gap:20px; padding:26px 0; border-block:1px solid var(--msd-line); }
#pg-space-detail .msd-location-icon { color:var(--orange); }
#pg-space-detail .msd-venue-insights { padding:26px 0; border-top:1px solid var(--msd-line); }
#pg-space-detail .msd-venue-insights h2 { font-size:20px; margin:0 0 22px; }
#pg-space-detail .msd-venue-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; }
#pg-space-detail .msd-venue-fact { display:flex; align-items:flex-start; gap:12px; min-width:0; }
#pg-space-detail .msd-venue-fact>.msd-icon { margin-top:3px; color:var(--ink2); }
#pg-space-detail .msd-venue-fact dt { font-size:13px; color:var(--ink2); }
#pg-space-detail .msd-venue-fact dd { margin:7px 0 4px; font-size:23px; line-height:1.5; font-weight:750; color:var(--ink); overflow-wrap:anywhere; }
#pg-space-detail .msd-venue-fact p { margin:0; font-size:12px; color:var(--ink3); }
#pg-space-detail .msd-location-icon .msd-icon { width:32px; height:32px; }
#pg-space-detail .msd-location-copy { flex:1; min-width:0; }
#pg-space-detail .msd-location h2 { font-size:20px; margin:0 0 6px; }
#pg-space-detail .msd-location p { font-size:14px; color:var(--ink2); margin:0; }
#pg-space-detail .msd-location p span { display:block; color:var(--ink3); margin-top:4px; font-size:12px; }
#pg-space-detail .msd-map-link { display:inline-flex; align-items:center; gap:8px; color:var(--ink); text-decoration:underline; text-underline-offset:5px; font-size:14px; min-height:44px; }
#pg-space-detail .sub-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
#pg-space-detail .sub-card { background:none; border:0; box-shadow:none; border-radius:0; border-top:1px solid var(--msd-line); padding:24px 0; }
#pg-space-detail .sub-thumb { border-radius:12px; }
#pg-space-detail .sub-thumb-placeholder { display:none; }
#pg-space-detail .sub-spec,#pg-space-detail .sub-meta,#pg-space-detail .sub-location,#pg-space-detail .sd-section-title { display:flex; align-items:center; gap:7px; }
#pg-space-detail .sub-spec .msd-icon,#pg-space-detail .sub-meta .msd-icon,#pg-space-detail .sub-location .msd-icon { width:16px; height:16px; }
#pg-space-detail .sub-body { padding:16px 0 0; }
#pg-space-detail .sub-card .btn { min-height:44px; box-shadow:none; }
#pg-space-detail .sd-sticky-footer { padding:12px max(24px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); background:#fff; border-top:1px solid var(--msd-line); backdrop-filter:none; box-shadow:none; display:block; z-index:100; }
#pg-space-detail .msd-action-inner { max-width:1096px; margin:auto; display:flex; align-items:center; gap:12px; }
#pg-space-detail .msd-action-price { margin-inline-end:auto; display:flex; align-items:baseline; gap:10px; font-size:12px; color:var(--ink2); }
#pg-space-detail .msd-action-price strong { font-size:20px; color:var(--ink); }
#pg-space-detail .msd-action-price small { font-size:12px; font-weight:500; }
#pg-space-detail .msd-book,#pg-space-detail .msd-visit { display:inline-flex; justify-content:center; align-items:center; gap:9px; min-height:48px; padding:11px 24px; font:inherit; font-size:14px; font-weight:700; border-radius:12px; cursor:pointer; box-shadow:none; }
#pg-space-detail .msd-book { background:var(--orange); color:#fff; border:1px solid var(--orange); }
#pg-space-detail .msd-visit { background:#fff; border:1px solid #d8d9d6; color:var(--ink); }
#pg-space-detail button:focus-visible,#pg-space-detail a:focus-visible,.msd-lightbox button:focus-visible { outline:3px solid #FF6B00; outline-offset:3px; }
#pg-space-detail .msd-book:hover { background:#df5a00; border-color:#df5a00; }
[dir="rtl"] #pg-space-detail .msd-book .msd-icon { transform:rotate(180deg); }
#pg-space-detail .msd-visit:hover { background:#f6f6f3; }
.msd-lightbox { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border:0; padding:20px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); margin:0; background:#101318; color:white; box-sizing:border-box; }
.msd-lightbox[open] { display:flex; flex-direction:column; }
.msd-lightbox::backdrop { background:rgba(0,0,0,.85); }
.msd-lightbox-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.msd-lightbox-top h2 { font:inherit; font-size:16px; margin:0; }
.msd-lightbox button { display:flex; align-items:center; justify-content:center; background:transparent; color:inherit; border:1px solid #ffffff35; border-radius:50%; min-width:44px; min-height:44px; cursor:pointer; }
.msd-lightbox-stage { display:flex; direction:ltr; align-items:center; gap:16px; flex:1; min-height:0; padding-block:20px; }
.msd-lightbox-image { flex:1; height:100%; min-width:0; display:flex; align-items:center; justify-content:center; }
.msd-lightbox-image>img { max-width:100%; max-height:100%; object-fit:contain; }
.msd-lightbox-error { display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; font-size:14px; }
.msd-lightbox-bottom { display:flex; flex-direction:column; align-items:center; gap:12px; font-size:13px; }
.msd-photo-strip { display:flex; max-width:100%; overflow-x:auto; gap:8px; padding:4px; }
.msd-photo-strip button { flex-shrink:0; width:64px; height:48px; border-radius:7px; position:relative; overflow:hidden; }
.msd-photo-strip img { width:100%; height:100%; object-fit:cover; }
.msd-photo-strip span { position:absolute; inset:auto 0 0; background:#0009; font-size:11px; }
.msd-photo-strip [aria-current="true"] { outline:2px solid #FF6B00; outline-offset:1px; }
.msd-copy-dialog { border:1px solid #ddd; border-radius:16px; width:min(420px,90vw); padding:24px; color:#0E1218; }
.msd-copy-dialog h2 { font-size:20px; }.msd-copy-dialog p { font-size:14px; }
.msd-copy-dialog input { display:block; width:100%; padding:12px; box-sizing:border-box; border:1px solid #ccc; border-radius:8px; }
.msd-copy-dialog button { min-height:44px; margin-top:16px; background:#0E1218; color:white; border:0; border-radius:8px; padding:10px 20px; font:inherit; cursor:pointer; }
#msd-share-status { position:fixed; inset:auto 16px calc(100px + env(safe-area-inset-bottom)); width:fit-content; max-width:calc(100% - 32px); margin:auto; padding:12px 20px; background:#0E1218; color:white; border-radius:12px; z-index:10000; font-size:14px; }
@media(max-width:768px) {
  #pg-space-detail .sd-page { padding:12px 20px calc(var(--msd-bar-height,0px) + 24px); }
  #pg-space-detail .msd-topline { margin-bottom:16px; }
  #pg-space-detail .msd-heading { display:block; }
  #pg-space-detail .msd-start-price { display:flex; flex-direction:row; align-items:baseline; gap:10px; margin-top:16px; }
  #pg-space-detail .msd-start-price strong { font-size:21px; }
  #pg-space-detail .sd-section { margin-bottom:24px; }
  #pg-space-detail .msd-gallery { height:340px; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:3fr 1fr; gap:5px; border-radius:14px; }
  #pg-space-detail .msd-photo:first-child { grid-column:1/-1; grid-row:1; }
  #pg-space-detail .msd-gallery[data-count="1"] { grid-template-columns:1fr; grid-template-rows:1fr; height:280px; }
  #pg-space-detail .msd-gallery[data-count="2"] { grid-template-columns:1fr; grid-template-rows:3fr 1fr; }
  #pg-space-detail .msd-gallery[data-count="3"] { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:3fr 1fr; }
  #pg-space-detail .msd-gallery-caption>span { display:none; }
  #pg-space-detail .msd-gallery-caption { justify-content:flex-end; }
  #pg-space-detail .sd-info-grid,#pg-space-detail .sub-grid { grid-template-columns:1fr; gap:0; }
  #pg-space-detail .msd-venue-facts { grid-template-columns:1fr; gap:0; }
  #pg-space-detail .msd-venue-fact { padding:16px 0; border-bottom:1px solid var(--msd-line); }
  #pg-space-detail .msd-venue-fact:first-child { padding-top:0; }
  #pg-space-detail .msd-venue-fact:last-child { padding-bottom:0; border-bottom:0; }
  #pg-space-detail .msd-venue-fact dd { font-size:21px; }
  #pg-space-detail .sd-info-card { padding-block:22px; }
  #pg-space-detail .sd-info-title { font-size:18px; }
  #pg-space-detail .sd-description { font-size:15px; }
  #pg-space-detail .msd-location { flex-wrap:wrap; gap:14px; }
  #pg-space-detail .msd-map-link { margin-inline-start:46px; flex-basis:calc(100% - 46px); }
  #pg-space-detail .sd-sticky-footer { padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
  #pg-space-detail .msd-action-inner { gap:8px; }
  #pg-space-detail .msd-action-price { display:none; }
  #pg-space-detail .msd-book { flex:1.25; } #pg-space-detail .msd-visit { flex:1; }
  #pg-space-detail .msd-book,#pg-space-detail .msd-visit { padding:10px 12px; font-size:13px; min-width:0; min-height:46px; }
  .msd-lightbox-stage { gap:8px; }.msd-lightbox { padding-inline:12px; }
}
@media(prefers-reduced-motion:reduce) { #pg-space-detail .msd-photo img { transition:none; } }
.msd-lightbox [hidden],#pg-space-detail [hidden] { display:none !important; }
