/* Accommodation photo tour. All styles are scoped to this page's components. */
.rt-intro { display:grid;grid-template-columns:1.45fr 1fr;align-items:end;gap:56px;margin-top:32px;margin-bottom:34px }
.rt-eyebrow { font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:0 0 18px }
.rt-intro h1 { font-size:clamp(30px,4.4vw,60px);line-height:1.12;letter-spacing:-.055em;margin:0 }
.rt-intro h1 span,.rt-comfort h2 span { color:var(--orange) }
.rt-intro-copy { max-width:430px;padding:0 0 5px 20px }
.rt-intro-copy p { font-size:18px;line-height:1.6;margin:0 }
.rt-handwritten { display:block;font-family:Caveat,cursive;font-size:32px;transform:rotate(-4deg);color:var(--green);margin-top:10px }
.rt-tour { background:#123e2e;border-radius:28px;padding:26px;color:#fffefa;overflow:hidden;outline-offset:6px }
.rt-topline { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px }
.rt-kicker { display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.13em;font-weight:800 }
.rt-kicker i { width:9px;height:9px;border-radius:50%;background:#ffd21c }
.rt-total { font-size:12px;color:#c9dbd1 }
.rt-filters { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px }
.rt-filters button { font:inherit;font-size:13px;font-weight:750;border:1px solid #658375;border-radius:100px;padding:11px 17px;min-height:44px;display:flex;align-items:center;gap:14px;color:#fffefa;background:transparent;cursor:pointer;transition:background .15s,color .15s }
.rt-filters button span { font-size:11px;opacity:.7 }
.rt-filters button:hover { background:#2b5543 }
.rt-filters button[aria-pressed=true] { color:#123e2e;background:#ffd21c;border-color:#ffd21c }
.rt-stage { display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);min-height:440px;border-radius:18px;overflow:hidden;background:#0b261d }
.rt-picture { position:relative;min-width:0;display:flex;align-items:center;justify-content:center;background:#0b261d }
.rt-image-open { display:block;position:relative;width:100%;height:100%;min-height:440px;cursor:zoom-in }
.rt-image-open img { width:100%;height:100%;position:absolute;inset:0;object-fit:contain;display:block }
.rt-image-badge { position:absolute;bottom:16px;left:16px;display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #ffffff40;border-radius:100px;background:#0a201cca;color:#fff;font-size:12px;font-weight:700;backdrop-filter:blur(8px) }
.rt-image-badge svg,.rt-fullscreen svg { width:18px;height:18px;flex-shrink:0 }
.rt-image-error { position:absolute;inset:40% 25px auto;padding:18px;background:#123e2e;border-radius:10px;text-align:center;font-size:14px }
.rt-story { display:flex;flex-direction:column;padding:28px;background:#f3f0e5;color:#123e2e }
.rt-story-top { display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:750;margin-bottom:30px }
.rt-count { color:#67796c;font-variant-numeric:tabular-nums;font-weight:500 }
.rt-story h2 { white-space:pre-line;font-size:clamp(22px,2.2vw,30px);line-height:1.2;letter-spacing:-.045em;margin:0 0 20px }
.rt-story>p { font-size:14px;line-height:1.7;margin:0 0 22px;color:#486152 }
.rt-fullscreen { font:inherit;font-size:13px;font-weight:800;display:flex;align-items:center;gap:10px;align-self:flex-start;border:0;border-bottom:1px solid #b6c0b4;background:transparent;padding:10px 0;min-height:44px;cursor:pointer;color:#123e2e }
.rt-fullscreen:hover { color:#a13e08;border-color:currentColor }
.rt-bottom { display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:auto;padding-top:30px }
.rt-hint { color:#69796c;font-size:11px;line-height:1.5 }
.rt-navigation { display:flex;gap:8px;flex-shrink:0 }
.rt-nav { width:46px;height:46px;border:1px solid #123e2e30;border-radius:50%;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s }
.rt-nav svg { width:21px;height:21px }
.rt-nav:hover { background:#ffd21c;color:#123e2e }
.rt-filmstrip { display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;padding:16px 3px 10px;scrollbar-width:thin;scrollbar-color:#7b9886 transparent;scroll-padding:3px }
.rt-thumb { flex:0 0 112px;height:78px;border-radius:9px;position:relative;overflow:hidden;opacity:.65;outline:2px solid transparent;outline-offset:2px;transition:opacity .15s;cursor:pointer }
.rt-thumb img { width:100%;height:100%;object-fit:cover;display:block }
.rt-thumb span { position:absolute;bottom:5px;left:6px;background:#123e2ee6;color:#fff;font-size:10px;line-height:1;padding:4px 5px;border-radius:4px;font-variant-numeric:tabular-nums }
.rt-thumb:hover,.rt-thumb[aria-current=true] { opacity:1 }
.rt-thumb[aria-current=true] { outline-color:#ffd21c }
.rt-caption { display:flex;justify-content:space-between;gap:16px;font-size:11px;color:#bdcfc3;line-height:1.5;padding-top:8px }
.rt-tour :focus-visible,.rt-dialog :focus-visible { outline:3px solid #f47718;outline-offset:4px }
.rt-tour [hidden],.rt-dialog [hidden] { display:none!important }
.rt-comfort { display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:80px;margin-bottom:80px }
.rt-comfort h2 { font-size:clamp(26px,3.1vw,42px);line-height:1.2;letter-spacing:-.055em;margin:0 }
.rt-comfort-details>div { display:flex;gap:22px;padding:22px 0;border-top:1px solid #ccd4c7 }
.rt-detail-number { color:#a64c14;font-size:12px;font-weight:800;line-height:2 }
.rt-comfort-details h3 { font-size:19px;margin:0 0 8px;letter-spacing:-.03em }
.rt-comfort-details p { font-size:15px;line-height:1.65;margin:0;color:#486152 }
.rt-comfort-details .rt-booking-note { font-size:12px;padding:8px 0 22px }
.rt-dialog { position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;color:#fffefa;background:#0b211a;overscroll-behavior:contain }
.rt-dialog::backdrop { background:#0b211af5 }
.rt-dialog-shell { display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;padding:20px 28px }
.rt-dialog-top { display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:18px }
.rt-dialog-eyebrow { font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#bbcdbe }
.rt-dialog h2 { font-size:18px;line-height:1.5;letter-spacing:-.025em;margin:3px 0 0 }
.rt-close { display:grid;place-items:center;width:48px;height:48px;font-size:34px;border:1px solid #678572;border-radius:50%;color:#fffefa;background:transparent;cursor:pointer;flex-shrink:0 }
.rt-close:hover { background:#2b5543 }
.rt-zoom-viewport { min-height:0;overflow:auto;position:relative;touch-action:pan-y;scrollbar-color:#7b9886 transparent }
.rt-zoom-viewport img { width:100%;height:100%;object-fit:contain;display:block;max-width:none }
.rt-zoom-viewport.is-zoomed { touch-action:auto }
.rt-zoom-viewport.is-zoomed img { height:auto;width:var(--zoom-width);max-width:none;cursor:zoom-out }
.rt-dialog-bottom { display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;font-size:13px;font-variant-numeric:tabular-nums }
.rt-dialog .rt-nav { border-color:#678572 }
.rt-zoom { background:#ffd21c;color:#123e2e;border:0;border-radius:100px;font:inherit;font-weight:800;min-height:46px;padding:10px 23px;cursor:pointer }
.rt-picture { touch-action:pan-y }
html.rt-modal-open { overflow:hidden }
@media(min-width:1400px) { .rt-stage,.rt-image-open { min-height:490px } }
@media(max-width:1023px) {
  .rt-intro { gap:24px;grid-template-columns:1.3fr 1fr }
  .rt-intro-copy { padding-left:0 }.rt-intro-copy p { font-size:15px }
  .rt-tour { padding:20px }.rt-stage { grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr) }
  .rt-story { padding:22px }.rt-story h2 { font-size:24px }.rt-story-top { margin-bottom:22px }
  .rt-stage,.rt-image-open { min-height:400px }.rt-hint { display:none }.rt-bottom { justify-content:flex-end;padding-top:20px }
  .rt-comfort { gap:40px }
}
@media(max-width:767px) {
  .rt-intro { display:block;margin-top:24px;margin-bottom:26px }.rt-eyebrow { font-size:10px;margin-bottom:14px }
  .rt-intro h1 { font-size:clamp(26px,6.7vw,48px);letter-spacing:-.05em }.rt-intro-copy { max-width:500px;padding-top:20px }.rt-intro-copy p { font-size:15px;line-height:1.6 }
  .rt-handwritten { font-size:28px;display:inline-block;margin-top:3px;transform:rotate(-3deg) }
  .rt-tour { width:calc(100% - 24px);padding:16px 12px;border-radius:20px }.rt-topline { padding:0 4px;margin-bottom:17px;gap:10px }.rt-kicker { font-size:9px;letter-spacing:.06em;gap:7px }.rt-total { font-size:10px }
  .rt-filters { flex-wrap:nowrap;overflow-x:auto;margin-inline:-2px;padding:3px 2px 8px;scrollbar-width:none;gap:7px;margin-bottom:10px }.rt-filters button { flex-shrink:0;font-size:12px;padding:9px 13px;gap:8px }
  .rt-stage { display:block;min-height:0;border-radius:13px }.rt-image-open { aspect-ratio:4/3;min-height:0 }.rt-story { padding:20px }.rt-story-top { margin-bottom:16px }.rt-story h2 { font-size:26px;white-space:normal;margin-bottom:12px }.rt-story>p { font-size:13px;margin-bottom:6px;min-height:65px }.rt-story h2 { min-height:63px }
  .rt-image-badge { bottom:12px;left:12px;font-size:11px;padding:8px 11px }.rt-fullscreen { font-size:12px }.rt-bottom { margin-top:14px;padding:0;justify-content:space-between }.rt-hint { display:block }.rt-nav { width:44px;height:44px }
  .rt-filmstrip { gap:9px;padding-top:14px }.rt-thumb { flex-basis:88px;height:64px }.rt-caption { flex-direction:column;gap:3px;font-size:10px;padding-inline:3px }
  .rt-comfort { display:block;margin-top:48px;margin-bottom:48px }.rt-comfort h2 { font-size:clamp(25px,6.3vw,38px);margin-bottom:28px }.rt-comfort-details>div { padding:20px 0 }.rt-comfort-details p { font-size:14px }
  .rt-dialog-shell { padding:14px 12px max(14px,env(safe-area-inset-bottom)) }.rt-dialog-top { gap:10px;padding-bottom:14px }.rt-dialog h2 { font-size:14px;line-height:1.45 }.rt-close { width:44px;height:44px }.rt-dialog-bottom { gap:8px;font-size:11px }.rt-zoom { padding:10px 14px;font-size:12px }
}
@media(prefers-reduced-motion:reduce) { .rt-tour * { transition:none!important;scroll-behavior:auto!important } }
