/* The embedded tour is the primary surface, not a card inside the page. */
.shr-page, .shr-page .rt3-shop { background: var(--rt3-paper); color: #282624; }
.shr-page .rt3-shell { width: min(1280px, calc(100% - 64px)); padding-inline: 0; }
.shr-page .rt3 h1, .shr-page .rt3 h2, .shr-page .rt3 h3 { letter-spacing: 0; }
.shr-page .rt3 a:focus-visible, .shr-page .rt3 button:focus-visible { outline: 2px solid #b56a3f; outline-offset: 5px; }
.shr [hidden] { display: none !important; }
.shr-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding-block: 20px 24px; }
.shr-heading .rt3-crumb { font-size: 12px; letter-spacing: 0; margin-bottom: 16px; }
.shr .shr-heading h1 { font-size: 38px; margin: 0 0 10px; line-height: 1.2; }
.shr-heading h1 span { color: #7d1f2b; }
.shr-heading p { font-size: 15px; line-height: 1.7; margin: 0; max-width: 710px; color: #625b54; }
.shr .shr-collection-link { min-height: 44px; display: inline-flex; align-items: center; gap: 16px; font-size: 14px; white-space: nowrap; color: #7d1f2b; }
.shr-experience { background: #181916; }
.shr-stage { position: relative; height: clamp(380px, calc(100svh - 350px), 690px); min-height: 380px; }
.shr-poster, .shr-stage iframe { width: 100%; height: 100%; position: absolute; inset: 0; border: 0; }
.shr-poster { overflow: hidden; }
.shr-poster > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.shr-poster::after { content: ''; position: absolute; inset: 45% 0 0; pointer-events: none; background: linear-gradient(0deg,rgba(14,16,13,.65),transparent); }
.shr-welcome { position: absolute; z-index: 1; bottom: 42px; left: 24px; right: 24px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.shr .shr-welcome p { margin: 0; color: #fff; font-size: 16px; text-shadow: 0 1px 3px #222; }
.shr a.shr-launch { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 56px; padding: 14px 24px; background: #7d1f2b; color: #fff; border: 1px solid rgba(255,255,255,.7); border-radius: 4px; font-size: 16px; font-weight: 500; }
.shr-launch > span { font-size: 28px; line-height: 1; }
.shr a.shr-launch:hover { background: #5c1520; }
.shr-tour-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 8px max(24px, calc((100% - 1280px)/2)); color: #f4f0e9; border-top: 1px solid #373830; }
.shr .shr-tour-bar p { font-size: 13px; line-height: 1.6; color: #e4e4dc; margin: 0; }
.shr-tools { display: flex; gap: 8px; flex: none; }
.shr .shr-tools button, .shr .shr-tools a { display: grid; place-items: center; position: relative; margin: 0; padding: 0; width: 44px; height: 44px; border: 1px solid #66665d; border-radius: 3px; color: #fff; background: transparent; font: 28px/1 Arial,sans-serif; cursor: pointer; text-decoration: none; }
.shr-tools button:disabled { opacity: .35; cursor: default; }
.shr-tools [data-tip]::after { content: attr(data-tip); position: absolute; bottom: calc(100% + 10px); right: 0; width: max-content; max-width: 210px; padding: 8px 12px; border-radius: 3px; background: #fff; color: #282624; font: 13px/1.5 Inter,sans-serif; opacity: 0; pointer-events: none; z-index: 10; }
.shr-tools [data-tip]:hover::after, .shr-tools [data-tip]:focus-visible::after { opacity: 1; }
.shr-experience:fullscreen { display: flex; flex-direction: column; }
.shr-experience:fullscreen .shr-stage { height: auto; min-height: 0; flex: 1; }
.shr-experience:fullscreen .shr-tour-bar { flex: none; }
.shr-rooms { padding-block: 54px 60px; scroll-margin-top: 108px; }
.shr-section-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 28px; }
.shr .shr-kicker { margin: 0 0 12px; font: 600 12px/1.6 Inter,sans-serif; letter-spacing: 0; color: #7d1f2b; }
.shr .shr-section-head h2, .shr .shr-visit h2 { font-size: 34px; line-height: 1.3; margin: 0; }
.shr-section-head > a { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; color: #7d1f2b; white-space: nowrap; }
.shr-room-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.shr-room { min-width: 0; display: flex; flex-direction: column; }
.shr-room-photo { aspect-ratio: 4/3; display: block; margin-bottom: 22px; overflow: hidden; background: #efe4d5; }
.shr-room-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shr .shr-room h3 { font-size: 25px; line-height: 1.4; margin: 0 0 16px; overflow-wrap: anywhere; }
.shr-room > p:not(.shr-kicker) { font-size: 15px; line-height: 1.85; color: #625b54; margin: 0 0 16px; }
.shr .shr-read { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: #7d1f2b; margin-top: auto; }
.shr-film { padding-block: 40px; background: #f7f0e6; }
.shr-film video { display: block; width: 100%; aspect-ratio: 16/9; max-height: 620px; background: #181916; }
.shr-visit { background: #f7f0e6; padding-block: 44px; }
.shr-visit > .rt3-shell { display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; }
.shr .shr-visit h2 { margin-bottom: 18px; }
.shr-visit p { font-size: 15px; color: #625b54; line-height: 1.8; margin: 0 0 8px; }
.shr-visit-links { display: grid; align-content: center; }
.shr-visit-links a { display: flex; align-items: center; min-height: 56px; padding-block: 12px; border-bottom: 1px solid var(--rt3-line); color: #7d1f2b; font-size: 15px; }
@media(max-width: 900px) {
 .shr-heading { align-items: start; }
 .shr-room-grid { gap: 20px; }
 .shr .shr-room h3 { font-size: 22px; }
 .shr .shr-section-head h2, .shr .shr-visit h2 { font-size: 30px; }
 .shr-visit > .rt3-shell { gap: 32px; }
}
@media(max-width: 640px) {
 .shr-page .rt3-shell { width: calc(100% - 40px); }
 .shr-heading { display: block; padding-block: 20px 12px; }
 .shr .shr-heading h1 { font-size: 32px; }
 .shr-heading p { font-size: 15px; }
 .shr-collection-link { margin-top: 8px; }
 .shr-stage { height: 420px; min-height: 0; }
 .shr-welcome { bottom: 28px; left: 20px; right: 20px; }
 .shr .shr-welcome p { font-size: 14px; }
 .shr-tour-bar { padding-inline: 16px; gap: 8px; }
 .shr .shr-tour-bar p { font-size: 12px; }
 .shr-tools { gap: 4px; }
 .shr-tools [data-tip]::after { max-width: 160px; }
 .shr-room-grid { grid-template-columns: 1fr; gap: 32px; }
 .shr-rooms { padding-block: 36px; }
 .shr-section-head { display: block; }
 .shr-section-head > a { margin-top: 12px; }
 .shr .shr-section-head h2, .shr .shr-visit h2 { font-size: 28px; }
 .shr .shr-room h3 { font-size: 25px; }
 .shr-visit > .rt3-shell { grid-template-columns: 1fr; gap: 18px; }
}
@media(max-height: 550px) and (orientation: landscape) { .shr-stage { height: 70svh; min-height: 260px; } }
