/* A practical alternative; all story-mode layout remains untouched. */
.quickInformation[hidden], .quickInformationToggle[hidden] { display: none !important; }
.quickInformationToggle {
    position: fixed; z-index: 91; left: 7vw; top: calc(12vh + 120px);
    min-height: 44px; padding: 8px 4px; border: 0;
    border-radius: 0; background: transparent; color: rgba(233,224,210,.85);
    font: 300 .66rem/1.4 Poppins,sans-serif; letter-spacing: .09em;
    cursor: pointer; text-shadow: 0 1px 10px rgba(0,0,0,.7);
}
.quickInformationToggle::after { content: ""; position: absolute; width: 24px; height: 1px; left: 50%; bottom: 3px; transform: translateX(-50%); background: rgba(233,224,210,.32); }
.quickInformationToggle:hover { color: #e9e0d2; }
.quickInformationToggle:focus-visible, .quickInformation a:focus-visible, .quickInformation button:focus-visible { outline: 2px solid #b89a65; outline-offset: 5px; }
.quickInformationMode #header, .quickInformationMode #content, .quickInformationMode #footer,
.quickInformationMode #pageNavigation, .quickInformationMode #navigation,
.quickInformationMode .mobileMenuToggle, .quickInformationMode .mobileReservationButton,
.quickInformationMode #layout::after { display: none !important; }
html.quickInformationMode { scroll-behavior: auto !important; }
.quickInformationMode body { background: #151a1e; overflow: auto; }
.quickInformationMode #layout { min-height: 100dvh; background: transparent; }
.quickInformationMode #logo { opacity: .76; transform: none; filter: none; pointer-events: auto; }
.quickInformation {
    --quick-section-space: clamp(88px, 8vw, 140px);
    position: relative; width: auto; max-width: 720px; margin: 0 7vw 0 23vw;
    padding: clamp(200px,24vh,300px) 0 120px; color: #e9e0d2;
    font: 300 14px/1.8 Poppins,sans-serif; text-align: left;
}
.quickInformation h1, .quickInformation h2, .quickInformation p, .quickInformation dl { margin: 0; padding: 0; }
.quickInformation h1 { font: 300 clamp(26px,3vw,38px)/1.25 Poppins,sans-serif; letter-spacing: -.025em; margin: 12px 0 8px; }
.quickInformation h2 { font: 300 20px/1.4 Poppins,sans-serif; letter-spacing: -.015em; margin-bottom: 8px; }
.quickInformation p, .quickInformation address { color: #b8b7b1; font: inherit; }
.quickInformation a { color: #e9e0d2; text-decoration: underline; text-decoration-color: rgba(184,154,101,.6); text-underline-offset: 5px; }
.quickInformationHeader { position: relative; padding-right: 85px; }
.quickInformation .quickInformationKicker { color: #b89a65; font-size: 10px; letter-spacing: .17em; text-transform: uppercase; }
.quickInformationLanguages { position: absolute; right: 0; top: 0; display: flex; gap: 18px; font-size: 11px; }
.quickInformationLanguages span { color: #b89a65; }
.quickInformation > section, .quickInformationDetails { padding-top: var(--quick-section-space); }
.quickInformationPrices { margin-top: 18px !important; max-width: 560px; }
.quickInformationPrices > div { display: flex; justify-content: space-between; gap: 24px; padding: 18px 0; border-bottom: 1px solid rgba(233,224,210,.12); }
.quickInformationPrices dt, .quickInformationPrices dd { font-size: 20px; line-height: 1.5; margin: 0; }
.quickInformationPrices dd { text-align: right; white-space: nowrap; }
.quickInformationPrices span { display: block; font-size: 12px; color: #b8b7b1; }
.quickInformation .quickInformationNote { margin: 12px 0 8px; font-size: 12px; }
.quickInformationMenu { font-size: 12px; }
.quickInformationDetails { display: grid; grid-template-columns: 1fr; gap: var(--quick-section-space); }
.quickInformationDetails p + p { margin-top: 8px; }
.quickInformationDetails address { margin-bottom: 8px; }
.quickInformationHours { list-style: none; padding: 0; margin: 12px 0 16px; max-width: 320px; }
.quickInformationHours li { display: flex; justify-content: space-between; gap: 18px; padding: 6px 0; color: #b8b7b1; }
.quickInformationHours li > span:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.quickInformationDetails .quickInformationGroup { margin-top: 24px; }
.quickInformationInquiry { display: inline-block; margin-top: 8px; }
.quickInformationContact { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; font-size: 12px; }
/* The archive's original template has no reservation overlay styles. */
body[data-type="journal"] #reservations[data-inveeta-modal] { position: fixed; inset: 0; z-index: 100; display: flex; justify-content: center; padding: 0 5vw; background: rgba(21,26,30,.8); backdrop-filter: blur(30px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .7s ease, visibility .7s; overflow-y: auto; }
body[data-type="journal"] #reservations.inveeta-modal-open { opacity: 1; visibility: visible; pointer-events: auto; }
body[data-type="journal"] #reservations #closeButton { position: fixed; top: 18px; right: 18px; z-index: 101; background: #151a1e; color: #e9e0d2; border: 0; width: 44px; height: 44px; font: 300 30px/1 Poppins,sans-serif; cursor: pointer; }
@media (min-width: 1181px) {
    /* Share the desktop navigation's language row, including in information mode. */
    .quickInformationToggle { left: calc(79vw + 88px); top: calc(clamp(65px, 7vh, 90px) - 14px); }
    .quickInformationMode .quickInformationLanguages { position: fixed; z-index: 91; left: 79vw; right: auto; top: clamp(65px, 7vh, 90px); gap: 12px; font-size: .7rem; line-height: 1.5; letter-spacing: .16em; }
}
@media (max-width: 1180px) {
    .quickInformationToggle { left: auto; right: calc(var(--page-edge,24px) + 60px); top: max(44px,calc(env(safe-area-inset-top) + 28px)); min-height: 44px; padding: 8px 4px; font-size: .61rem; letter-spacing: .05em; }
    .quickInformation { margin: 0; max-width: none; padding: max(200px,calc(env(safe-area-inset-top) + 170px)) var(--page-edge,24px) max(80px,calc(env(safe-area-inset-bottom) + 48px)); }
}
@media (max-width: 600px) {
    .quickInformation { font-size: 13px; }
    .quickInformationDetails { grid-template-columns: 1fr; gap: var(--quick-section-space); }
    .quickInformation h2 { font-size: 18px; }
    .quickInformationPrices dt, .quickInformationPrices dd { font-size: 18px; }
}

/* One quiet row for language and display mode. */
.displayControls {
    position: fixed; z-index: 91; left: 79vw; top: clamp(65px, 7vh, 90px);
    display: flex; align-items: center; gap: 36px; width: max-content;
    font: 400 .7rem/1.5 var(--content-font, Poppins, sans-serif);
    letter-spacing: .16em; text-transform: uppercase;
}
.displayControls .languageSwitch {
    position: static; display: flex; gap: 12px; margin: 0; padding: 0;
    width: auto; font: inherit; letter-spacing: inherit; line-height: inherit;
}
.displayControls .quickInformationToggle {
    position: relative; inset: auto; min-height: 0; margin: 0; padding: 0;
    font: inherit; letter-spacing: inherit; text-transform: inherit;
    white-space: nowrap; color: var(--secondary-color, #e9e0d2); opacity: .7;
}
.displayControls .quickInformationToggle:hover { opacity: 1; }
.displayControls .quickInformationToggle::before {
    content: ''; position: absolute; left: -18px; top: -5px; bottom: -5px;
    width: 1px; background: rgba(233,224,210,.28); pointer-events: none;
}
.displayControls .quickInformationToggle::after {
    content: ''; position: absolute; inset: -13px -8px; width: auto; height: auto;
    transform: none; background: transparent;
}
@media (min-width: 1181px) {
    .quickInformationMode .quickInformationLanguages { display: none; }
}
@media (max-width: 1180px) {
    #pageNavigation .displayControls {
        position: static; grid-area: 1 / 1; justify-self: end; align-self: start;
        gap: 28px; font-size: .65rem; line-height: 1.4;
    }
    #pageNavigation .displayControls .languageSwitch { position: static; gap: 14px; font: inherit; letter-spacing: inherit; }
    #pageNavigation .displayControls .quickInformationToggle::before { left: -14px; }
    .quickInformationToggle { font-size: .65rem; letter-spacing: .16em; text-transform: uppercase; }
}

/* The same fine divider separates languages and display mode. */
.displayControls { left: min(79vw, calc(100vw - 300px)); }
.displayControls .languageSwitch { gap: 28px; }
.displayControls .languageSwitch > :last-child { position: relative; }
.displayControls .languageSwitch > :last-child::before {
    content: ''; position: absolute; left: -14px; top: -5px; bottom: -5px;
    width: 1px; background: rgba(233,224,210,.28); pointer-events: none;
}
@media (max-width: 1180px) {
    #pageNavigation .displayControls .languageSwitch { gap: 20px; }
    #pageNavigation .displayControls .languageSwitch > :last-child::before { left: -10px; }
}

.quickInformationLanguages { gap: 24px; }
.quickInformationLanguages > :last-child { position: relative; }
.quickInformationLanguages > :last-child::before {
    content: ''; position: absolute; left: -12px; top: -5px; bottom: -5px;
    width: 1px; background: rgba(233,224,210,.28); pointer-events: none;
}

/* The short view uses the same quiet reservation treatment as the story menu. */
.quickInformationReservation {
    width: min(100%, 300px); padding: 0 0 24px;
    border-bottom: 1px solid rgba(184,154,101,.65); color: var(--secondary-color, #e9e0d2);
}
.quickInformationReservation .reservation-intro {
    display: block; margin-bottom: 8px; color: var(--brass, #b89a65);
    font: 600 .62rem var(--content-font, Poppins, sans-serif);
    letter-spacing: .16em; text-transform: uppercase;
}
.quickInformationReservation button.reservation-title {
    display: block; width: 100%; padding: 0; border: 0; border-radius: 0;
    background: none; color: inherit;
    font: 400 clamp(1.45rem, 1.55vw, 1.9rem)/1.1 var(--header-font, Argesta, serif);
    letter-spacing: -.025em; text-transform: none; text-align: left; cursor: pointer;
}
.quickInformationReservation .reservation-powered {
    display: block; margin-top: 10px; color: rgba(232,222,207,.58);
    font: 300 .62rem/1.3 var(--content-font, Poppins, sans-serif); letter-spacing: .04em;
}
.quickInformationBooking .quickInformationContact { margin-top: 28px; }
