/* Guest-facing details, within the established desert palette. */
.room-visual{position:relative;min-width:0;min-height:480px;overflow:hidden;background:#e9e2d5}
.room-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.room-arrow-controls{z-index:2;position:absolute;right:18px;bottom:18px;display:flex;gap:8px}
.room-arrow-controls button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #d5cebf;background:#f4efe5f2;color:var(--ink);border-radius:50%;box-shadow:0 2px 12px #17201918;transition:background .2s,transform .2s}
.room-arrow-controls button:hover{background:var(--paper);transform:translateY(-2px)}
.room-arrow-controls svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
#room-panel{scroll-margin-top:100px}
.room-comparison{margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.room-comparison>summary,.guide-essentials summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:22px 0;font-size:16px;cursor:pointer}
.room-comparison>summary::-webkit-details-marker,.guide-essentials summary::-webkit-details-marker{display:none}
.detail-toggle{font:24px/1 'DM Sans',Arial,sans-serif;flex-shrink:0;color:var(--clay);transition:transform .2s}
details[open]>summary .detail-toggle{transform:rotate(45deg)}
.comparison-body>p{font-size:13px;max-width:780px;color:var(--supporting-ink)}
.comparison-scroll{overflow:auto;margin:22px 0;scrollbar-width:thin;scrollbar-color:#a9ad9c transparent}
.comparison-scroll table{border-collapse:collapse;width:100%;min-width:850px;font-size:13px;line-height:1.6}
.comparison-scroll th,.comparison-scroll td{padding:17px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.comparison-scroll thead th{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:#e9e2d5}
.comparison-scroll th:first-child{position:sticky;left:0;background:var(--paper);z-index:1;box-shadow:1px 0 var(--line)}
.comparison-scroll thead th:first-child{background:#e9e2d5}
.comparison-scroll tr.is-selected th,.comparison-scroll tr.is-selected td{background:#e9e2d580}
.comparison-scroll tr.is-selected th:first-child{background:#e9e2d5}
.comparison-scroll button{font-size:14px;font-weight:500;color:var(--ink);background:none;border:0;padding:8px 0;min-height:44px;white-space:nowrap}
.comparison-scroll button span{color:var(--clay);margin-left:5px}
.comparison-scroll:focus-visible{outline:2px solid var(--clay);outline-offset:4px}
.comparison-body .comparison-note{padding-bottom:22px;font-size:12px}
.comparison-scroll-hint{display:none}
.guest-guide-callout{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:46px;padding:30px;background:#e9e2d5}
.guest-guide-callout h3{font-size:32px;line-height:1.15}
.guest-guide-callout p{margin-top:12px;font-size:14px}
.guest-guide-callout .button{flex-shrink:0;max-width:100%}
.guide-intro{padding-top:90px;padding-bottom:65px}
.guide-intro h1{font-size:clamp(58px,6vw,88px);line-height:.98;max-width:900px}
.guide-lead{max-width:620px;font-size:17px;line-height:1.8;margin-top:30px}
.guide-jump-links{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:42px;padding-top:24px;border-top:1px solid var(--line)}
.guide-jump-links a{font-size:13px;padding:10px 0;border-bottom:1px solid var(--line)}
.guide-section{padding-top:55px;padding-bottom:65px;scroll-margin-top:24px}
.guide-section-title{margin-bottom:40px}
.guide-section-title h2{font-size:clamp(42px,4.5vw,64px);max-width:850px}
.guide-arrival-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}
.guide-landscape{height:480px;object-fit:cover}
.guide-photo-caption{font-size:12px;letter-spacing:.06em;margin-top:14px;color:var(--supporting-ink)}
.guide-arrival-copy h3{font-size:36px;line-height:1.1;margin-bottom:18px}
.guide-arrival-copy p,.guide-essentials p,.guide-local-grid p{font-size:15px;line-height:1.85;white-space:pre-line}
.guide-arrival-copy p+p{margin-top:18px}
.guide-parking{padding-top:28px;margin-top:28px;border-top:1px solid var(--line)}
.guide-parking h3{font-size:29px}
.guide-essentials{border-top:1px solid var(--line);max-width:960px}
.guide-essentials details{border-bottom:1px solid var(--line)}
.guide-essentials summary{font-size:19px;padding-block:24px}
.guide-essentials p{padding:0 30px 24px 0;max-width:820px}
.guide-local-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.guide-local-grid article{border-top:1px solid var(--line);padding-top:24px}
.guide-number{font-size:12px;letter-spacing:.1em;color:var(--clay)}
.guide-local-grid h3{font-size:34px;line-height:1.1;margin:22px 0 18px}
.guide-host-note{background:#e9e2d5;max-width:none}
.guide-host-note h2{font-size:clamp(40px,4vw,58px);max-width:900px}
.guide-host-note>p{max-width:670px;margin-top:24px;font-size:15px}
.guide-room-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:26px}
.guide-room-links a{font-size:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.guide-preview-banner{padding:14px 8%;background:#e8dfd0;font-size:12px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.guide-preview-banner a{text-decoration:underline}
.guide-editor-topics details{border-top:1px solid var(--line);padding:12px 0}
.guide-editor-topics summary{font-size:18px;padding:12px 0}
.guide-editor-topics .bilingual-fields{margin-top:16px}
.guide-editor-actions{position:sticky;bottom:0;background:var(--paper);padding:18px 0;border-top:1px solid var(--line);z-index:2}
.content-preview-controls label{margin:0;display:flex;align-items:center;gap:10px;font-size:12px}
.content-preview-controls select{width:auto;max-width:220px;margin:0;padding:8px;min-height:44px;font-size:13px}
@media(max-width:1050px){.guest-guide-callout{align-items:flex-start;flex-direction:column}.guide-local-grid{gap:24px}.guide-local-grid h3{font-size:30px}.comparison-scroll-hint{display:block;margin-top:10px}}
@media(max-width:760px){
 .room-visual{height:310px;min-height:310px}
 .room-arrow-controls{display:none}
 .room-comparison>summary{font-size:15px}
 .comparison-scroll th,.comparison-scroll td{padding:13px 12px}
 .comparison-scroll table{min-width:800px;font-size:12px}
 .comparison-scroll th:first-child{min-width:123px}
 .guest-guide-callout{padding:24px}
 .guest-guide-callout h3{font-size:30px}
 .guide-intro{padding-top:55px;padding-bottom:35px}
 .guide-intro h1{font-size:58px}
 .guide-lead{font-size:16px}
 .guide-jump-links{display:grid;gap:8px;margin-top:28px}
 .guide-jump-links a{padding:10px 0}
 .guide-section{padding-top:36px;padding-bottom:36px}
 .guide-section-title{margin-bottom:28px}
 .guide-arrival-grid,.guide-local-grid{grid-template-columns:1fr;gap:28px}
 .guide-landscape{height:300px}
 .guide-arrival-copy h3{font-size:32px}
 .guide-local-grid h3{font-size:32px;margin-top:14px}
 .guide-essentials summary{font-size:17px}
 .guide-essentials p{padding-right:0}
 .content-preview-controls{flex-wrap:wrap}
 .content-preview-controls label{flex-basis:100%}
 .guide-editor-actions .button{width:100%}
}

/* Compact guest actions on phones; desktop button spacing stays intact. */
.guest-home .button-arrow{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.guest-home:has(#nav.open) .mobile-book{display:none}
@media(max-width:760px){
 .guest-home #stay{padding-top:36px}
 .guest-home #stay .section-heading{gap:18px;margin-bottom:24px}
 .guest-home #stay .section-heading .eyebrow{margin-bottom:18px}
 .guest-home .room-tabs{scrollbar-width:none;margin-bottom:16px}
 .guest-home .room-tabs::-webkit-scrollbar{display:none}
 .guest-home .room-swipe-hint{margin:0 0 16px}
 .guest-home .button{min-height:48px;max-width:100%;padding:12px 16px;gap:12px;font-size:14px;line-height:1.45;border-radius:4px}
 .guest-home .button>span{min-width:0}
 .guest-home .hero{min-height:610px}
 .guest-home .hero-copy .button{width:max-content;gap:16px}
 .guest-home #room-dialog .button{padding:12px 16px;font-size:14px}
 .guest-home .mobile-book{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));min-height:50px;justify-content:center;box-shadow:0 3px 14px #17201926}
 html:has(.guest-home){scroll-padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}

/* The outgoing photo is decorative and never blocks the room controls. */
.room-photo-leaving{z-index:1;pointer-events:none}
.room-load-message{margin-top:16px;font-size:13px;color:var(--clay)}

/* The mobile preview is decorative; the original card retains focus and links. */
#room-panel{position:relative;isolation:isolate}
.room-description{display:grid;width:100%}
.room-slide-preview{position:absolute;inset:0;display:grid;grid-template-columns:1fr;grid-template-rows:310px minmax(0,1fr);background:#e9e2d5;z-index:3;pointer-events:none;will-change:transform}
.room-slide-preview .room-visual{height:100%;min-height:0}
.is-room-dragging{user-select:none;-webkit-user-select:none}

/* Team access stays secondary to the guest navigation. */
.guest-home #nav .team-access-link,.guide-page #nav .team-access-link{display:none}
.footer-team-access{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--supporting-ink)}
.footer-team-access:hover{color:var(--clay)}
@media(max-width:1050px){
 .guest-home #nav .team-access-link,.guide-page #nav .team-access-link{display:flex;border-top:1px solid var(--line);margin-top:12px;padding-top:12px;min-height:52px;font-size:13px;color:var(--supporting-ink)}
}

/* Native anchor links align section content, rather than its outer padding. */
html:has(> body.guest-home),html:has(> body.guide-page){--guest-header-height:82px;--guest-anchor-gap:24px;scroll-padding-top:calc(var(--guest-header-height) + var(--guest-anchor-gap))}
.guest-home main>.section[id]{--guest-section-inset:85px}
.guide-page .guide-section{--guest-section-inset:55px}
.guest-home main>.section[id],.guide-page .guide-section{padding-top:var(--guest-section-inset);scroll-margin-top:calc(0px - var(--guest-section-inset))}
.guest-home #room-panel{scroll-margin-top:0}
@media(max-width:760px){
 html:has(> body.guest-home),html:has(> body.guide-page){--guest-header-height:72px;--guest-anchor-gap:20px}
 .guest-home main>.section[id]{--guest-section-inset:55px}
 .guest-home #stay{--guest-section-inset:36px}
 .guide-page .guide-section{--guest-section-inset:36px}
}
