/* Living Rituals — an editorial layout, scoped to the gallery. */
/* Commerce is paused at build time; retain these features for a future launch. */
.gallery-page [hidden][data-cart], .gallery-page [hidden][data-voucher],
.gallery-page[data-commerce-disabled] #kuponas { display:none !important; }
.gallery-page[data-commerce-disabled] a[aria-disabled="true"] { display:none !important; }
.upcoming-heading { padding:0 0 28px; }
.upcoming-heading .eyebrow { margin:0 0 14px; color:#66665d; }
.upcoming-status { border-top:1px solid var(--rule); padding:26px 0; color:#66665d; }
.upcoming-retry { background:none; color:inherit; text-decoration:underline; border:0; padding:0; cursor:pointer; }
.event-week + .event-week { margin-top:28px; }
.event-week-label { border-bottom:1px solid var(--rule); padding:12px 0; color:#57574f; }
.event-row { border-bottom:1px solid var(--rule); }
.event-row summary { display:grid; grid-template-columns:78px minmax(0,1fr) 16px; align-items:center; gap:20px; padding:22px 0; list-style:none; cursor:pointer; }
.event-row summary::-webkit-details-marker { display:none; }
.event-row summary:hover .event-title { text-decoration:underline; text-underline-offset:4px; }
.event-row summary:focus-visible, .upcoming-retry:focus-visible { outline:1px solid var(--ink); outline-offset:5px; }
.event-date { display:flex; flex-direction:column; gap:5px; align-self:start; }
.event-day { font-variant-numeric:tabular-nums; white-space:nowrap; }
.event-weekday { text-transform:uppercase; color:#66665d; }
.event-heading { display:flex; flex-direction:column; gap:9px; }
.event-title { overflow-wrap:anywhere; }
.event-time { color:#66665d; font-variant-numeric:tabular-nums; }
.event-sign { width:12px; height:12px; position:relative; }
.event-sign::before, .event-sign::after { content:""; position:absolute; width:12px; height:1px; background:currentColor; top:5px; left:0; }
.event-sign::after { transform:rotate(90deg); }
.event-row[open] .event-sign::after { transform:none; }
.event-body { padding:0 36px 25px 98px; }
.event-full-date { color:#66665d; margin-bottom:8px; }
.event-location { margin-bottom:15px; }
.event-description { white-space:pre-wrap; overflow-wrap:anywhere; color:#57574f; }
@media(max-width:760px) {
 .upcoming-heading { padding-bottom:24px; }
 .event-row summary { grid-template-columns:62px minmax(0,1fr) 12px; gap:14px; padding-block:20px; }
 .event-body { padding-left:76px; padding-right:0; }
}
.gallery-page { --bg:#ffffff; --ink:#25251f; --rule:#d8d8d0; --gallery-heading-size:clamp(26px,2.4vw,36px); --gallery-heading-spacing:.18em; -webkit-font-smoothing:antialiased; }
.gallery-page .gallery-heading { text-transform:uppercase; overflow-wrap:anywhere; }
@media(max-width:600px) { .gallery-page { --gallery-heading-size:24px; --gallery-heading-spacing:.13em; } }
.gallery-page ::selection { background:#deded5; }
.gallery-page [id] { scroll-margin-top:100px; }
.page-margin { margin-inline:clamp(24px,6.5vw,112px); }
.gallery-page .hdr { padding-block:var(--edge-top); }
.gallery-page .mark { width:138px; }
/* Both gallery wordmarks stay header-sized; the black one sinks into the footer
   while the white one emerges from its edge. site.js sets both cuts. */
body.gallery-home .mark { top:var(--mark-top); transform:translateX(-50%); clip-path:inset(-50% -50% var(--cut-b,-100vh) -50%); }
body.gallery-home .mark:not(.mark-w), body.gallery-home .mark:not(.mark-w):hover { color:#000; }
body.gallery-home .mark.mark-w, body.gallery-home .mark.mark-w:hover { top:var(--mark-top); transform:translateX(-50%); color:#fff; pointer-events:auto; clip-path:inset(var(--cut-w,999px) -50% -50% -50%); }
/* Keep page logos above the header background; the sliding menu supplies its own. */
body.gallery-home .mark { z-index:41; }
html.menu-active body.gallery-home .mark { z-index:20; }
body.gallery-home .mnav { z-index:30; }
body.gallery-home .hdr { z-index:40; }
.gallery-home .mnav > .mnav-logo { position:absolute; top:var(--mark-top); left:50%; transform:translateX(-50%); z-index:2; display:flex; align-items:center; justify-content:center; width:156px; min-height:44px; padding:0; }
.gallery-home .mnav-logo img { width:100%; height:auto; }
@media(max-width:760px) { .gallery-home .mnav > .mnav-logo { width:142px; } }
.gallery-page .hero { height:clamp(480px,56vw,820px); }
.cover-caption { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:17px var(--gutter); text-transform:uppercase; }
.cover-caption span:nth-child(2) { text-align:center; }
.ritual-intro { display:grid; grid-template-columns:minmax(0,.9fr) minmax(460px,1.15fr); gap:clamp(40px,6vw,90px); padding-block:100px 130px; align-items:start; }
.ritual-copy { max-width:530px; }
.eyebrow { text-transform:uppercase; margin-bottom:28px; }
.ritual-deck { margin-top:23px; }
.intro-text { max-width:440px; margin-top:30px; color:#57574f; }
.ritual-facts { margin-top:28px; color:#57574f; }
.ritual-facts span { padding-inline:8px; }
.story-disclosure { margin-top:44px; border-block:1px solid var(--rule); }
.story-disclosure summary { min-height:54px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; }
.story-disclosure summary::-webkit-details-marker { display:none; }
.story-disclosure summary:focus-visible { outline:1px solid; outline-offset:5px; }
.read-close,.story-disclosure[open] .read-open { display:none; }
.story-disclosure[open] .read-close { display:inline; }
.disclosure-sign { width:11px; height:11px; position:relative; }
.disclosure-sign::before,.disclosure-sign::after { content:""; position:absolute; background:currentColor; top:4.5px; left:0; width:11px; height:2px; }
.disclosure-sign::after { transform:rotate(90deg); }
[open] .disclosure-sign::after { transform:none; }
.story-body { padding:10px 0 30px; color:#57574f; }
.story-body p+p { margin-top:14px; }
.story-body h2 { color:var(--ink); margin:27px 0 12px; }
.ritual-visit { max-width:640px; width:100%; justify-self:end; padding-top:2px; }
.ritual-visit .cal { border-top:0; gap:14px; }
.ritual-visit .cal-head { padding-top:8px; padding-bottom:14px; border-bottom:1px solid var(--rule); }
.ritual-visit .cal-guide,.ritual-visit .cal-note,.ritual-visit .cal-legend,.ritual-visit .cal-selection-time { color:#57574f; }
/* One plain booking row combines the instruction, price and month controls. */
.ritual-visit .cal-head--compact { flex-wrap:wrap; gap:4px 12px; }
.cal-head--compact .cal-guide { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin:0; }
.cal-head--compact .cal-navigation { display:flex; align-items:center; gap:4px; flex:none; }
.ritual-visit .cal-head--compact .cal-month { white-space:nowrap; }
.cal-head--compact .cal-arrow { width:28px; flex:none; }
.cal-head--compact .cal-arrow svg { width:16px; height:16px; }
.ritual-visit .cal-day { min-height:84px; }
.ritual-visit .cal-day small { color:#57574f; }
.ritual-visit .cal-day[aria-pressed="true"] small { color:#fff; }
.ritual-visit .cal-day.closed small { color:#aaa99f; }
.visit-book { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:52px; margin-top:22px; padding:14px 20px; background:var(--black); color:var(--bg); text-decoration:none; transition:background .2s; }
.visit-book:hover, .visit-book:focus-visible { background:#000; color:var(--bg); }
.visit-book::after { content:""; flex:none; width:16px; height:16px; background:currentColor; mask:var(--site-arrow-mask) center/contain no-repeat; }
.visit-bottom { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; margin-top:18px; color:#57574f; }
.editorial { display:grid; grid-template-columns:1.2fr 1fr; gap:15%; align-items:start; }
.gallery-page figure { margin:0; }
.editorial-main img { width:100%; aspect-ratio:2/3; object-fit:cover; }
.gallery-page figcaption { display:flex; justify-content:space-between; gap:14px; margin-top:8px; text-transform:uppercase; color:var(--ink); }
.editorial-side { padding-top:26%; }
.editorial-note { margin-bottom:90px; }
.editorial-side figure { width:85%; margin-left:auto; }
.editorial-side img { width:100%; }
.ritual-thought { display:flex; flex-direction:column; align-items:center; padding-block:145px; text-align:center; gap:28px; }
.ritual-thought>span { text-transform:uppercase; }
.closing-spread { display:grid; grid-template-columns:.7fr 1.3fr; column-gap:12%; row-gap:50px; align-items:start; padding-bottom:130px; }
.light-study { padding-top:55%; }
.light-study img { width:100%; }
.gallery-study img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.closing-text { grid-column:2; }
.closing-cta { display:flex; justify-content:space-between; align-items:center; gap:24px; width:min(100%,360px); min-height:60px; margin-top:28px; padding:18px 24px; background:var(--black); color:var(--bg); border:1px solid var(--black); text-decoration:none; transition:background-color .2s; }
.closing-cta:hover { background:#333; color:var(--bg); }
.closing-cta>span:last-child { flex-shrink:0; }
@media(min-width:761px) { .gallery-page .hdr-g .nav { display:flex; } .gallery-page .hdr-g .burger { display:none; } }
/* Wider desktops leave more breathing room between the copy and calendar. */
@media(min-width:1425px) {
 .ritual-intro { width:calc(100% - 130px); max-width:1320px; margin-inline:auto; grid-template-columns:minmax(0,1fr) 640px; column-gap:clamp(110px,8vw,150px); }
}
@media(max-width:1000px) { .ritual-intro { gap:7%; } .page-margin { margin-inline:5%; } .editorial { gap:10%; } .ritual-visit .cal-slot { padding-inline:8px; } }
@media(max-width:760px) {
 .gallery-page [id] { scroll-margin-top:80px; }
 .gallery-page #apsilankymas { scroll-margin-top:64px; }
 .gallery-page .hdr { background:var(--bg); color:var(--ink); mix-blend-mode:normal; }
 .gallery-page .hdr button { color:var(--ink); }
 .gallery-page .mark { width:126px; }
 .gallery-page .hero { height:72svh; min-height:440px; }
 /* Tekstas arčiau kraštų (--pm), nuotraukos lieka platesnėse paraštėse (--pm-img) */
 .page-margin { --pm:28px; --pm-img:clamp(48px,10.5vw,66px); margin-inline:var(--pm); }
 .gallery-page .editorial-main, .gallery-page .light-study { margin-inline:calc(var(--pm-img) - var(--pm)); }
 .cover-caption { gap:10px; padding-top:9px; }
 .ritual-intro { grid-template-columns:1fr; gap:64px; padding-block:65px 80px; }
 .ritual-copy { max-width:none; }
 .eyebrow { margin-bottom:22px; }
 .intro-text { max-width:440px; }
 .ritual-visit { max-width:none; }
 .ritual-visit .cal-head--compact { flex-direction:column; align-items:center; text-align:center; }
 .cal-head--compact .cal-guide { justify-content:center; }
 .cal-head--compact .cal-navigation { justify-content:center; }
 .ritual-visit .cal { gap:8px; }
 .ritual-visit .cal-head { padding-top:8px; }
 .ritual-visit .cal-wd { padding-bottom:4px; }
 .ritual-visit .cal-day,.ritual-visit .cal-empty { min-height:84px; }
 .ritual-visit .cal-sel { padding-top:12px; margin-top:4px; }
 .editorial { gap:56px; grid-template-columns:minmax(0,1fr); }
 .editorial-side { padding-top:0; }
 .editorial-note { margin-bottom:28px; }
 .editorial-side figure { width:auto; margin:0 calc(-1 * var(--pm)); }
 .editorial-side figcaption { padding-inline:var(--pm); }
 .editorial-main img,.editorial-side img,.closing-spread img { width:100%; height:auto; object-fit:contain; }
 .editorial-main img { aspect-ratio:auto 1801 / 2700; }
 .editorial-side img { aspect-ratio:auto 638 / 850; }
 .light-study img { aspect-ratio:auto 1402 / 935; }
 .gallery-page .gallery-study { margin:0 calc(-1 * var(--pm)); }
 .gallery-study img { aspect-ratio:4/5; object-fit:cover; }
 .gallery-study figcaption { padding-inline:var(--pm); }
 .gallery-page figcaption { flex-wrap:wrap; gap:6px 16px; margin-top:8px; }
 /* Leave a clear gap even with the existing saved -8px phone caption offset. */
 body.gallery-page .light-study figcaption { margin-top:16px; }
 .ritual-thought { padding-block:85px; }
 .closing-spread { grid-template-columns:minmax(0,1fr); gap:56px; padding-bottom:75px; }
 .light-study { padding-top:0; }
 .closing-text { grid-column:1; margin-left:0; }
 .ritual-visit .cal-slot { min-height:44px; }
}

/* Bilietų krepšelis antraštėje (telefone) — tuščias veda prie kalendoriaus, pilnas atidaro užsakymą */
.cart { display:flex; position:relative; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:44px; height:44px; margin-right:-10px; padding:0 10px; color:var(--ink); text-decoration:none; transition:color .25s; }
.gallery-page .hdr .cart { color:var(--ink); }
.cart svg { display:block; width:19px; height:13px; }
.cart-count { position:absolute; top:5px; right:3px; min-width:15px; height:15px; padding:0 3px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:var(--ink); color:var(--bg); transition:background-color .25s, color .25s; }
.cart-count:empty { display:none; }
.on-ftr .hdr a.cart { color:#FFFFFF; }
.on-ftr .cart-count { background:#FFFFFF; color:#000000; }
/* Match the studio footer: the moving panel is the backdrop, and the original
   white controls invert against it without a separate header or badge fade. */
@media(max-width:1240px) {
 /* Off the footer, retain the badge's existing colors through the whole slide. */
 html.menu-active:root body.gallery-page .hdr { background:transparent; }
 html.menu-active:not(.on-ftr):root body.gallery-page .hdr .cart-count { background:var(--ink); color:var(--bg); }
 html.menu-active.on-ftr:root body.gallery-page .hdr { mix-blend-mode:difference; }
 html.menu-active.on-ftr:root body.gallery-page .hdr a,
 html.menu-active.on-ftr:root body.gallery-page .hdr button { color:#fff; }
 html.menu-active.on-ftr:root body.gallery-page .hdr .cart-count { background:#fff; color:#000; }
}
/* Kompiuteryje antraštė maišoma su nuotrauka (balta) — ikona tos pačios spalvos.
   Ženkliukas kaip telefone: baltas skritulys su juodu skaičiumi, maišant tampa tamsus su šviesiu skaičiumi */
@media(min-width:761px) {
 .gallery-page .hdr .cart { color:inherit; margin-left:14px; }
 .gallery-page .hdr .cart-count { background:#FFFFFF; color:#000000; }
}
.co-remove { align-self:flex-start; min-height:36px; margin-top:6px; padding:0; background:transparent; border:0; color:#727269; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; cursor:pointer; }

/* Dovanų kuponas — tas pats langas, vietoj datos renkamasi vertė */
.gv-presets { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:16px; }
.gv-preset { min-height:44px; padding:0; background:transparent; border:1px solid var(--rule); color:var(--ink); cursor:pointer; transition:background-color .2s, color .2s, border-color .2s; }
.gv-preset:hover { border-color:var(--ink); }
.gv-preset[aria-pressed="true"] { background:var(--black); border-color:var(--black); color:var(--bg); }
.co .qty-ctl button:disabled { opacity:.3; cursor:default; }
.co .qty-ctl output { min-width:56px; }

.gallery-page .mark { width:156px; }
@media(max-width:760px) { .gallery-page .mark { width:142px; } }
@media(max-width:1000px) {
 .gallery-page .hdr-g .nav { display:none; }
 .gallery-page .hdr-g .burger { display:block; }
}

/* Start times fit narrow month columns; full ranges remain in the selection. */
@media(min-width:761px) and (max-width:1150px) { .ritual-visit .cal-time-end { display:none; } .ritual-visit .cal-day,.ritual-visit .cal-empty { padding-inline:6px; } }

/* Caption titles and descriptors share the presentation’s bold sans serif. */
@media(max-width:420px){.cover-caption{grid-template-columns:1fr;gap:6px}.cover-caption span:nth-child(2){text-align:left}}

.ritual-visiting-note { margin-top:24px; }
.ritual-visiting-note + .intro-text { margin-top:18px; }

/* The selected time has its own availability and ticket quantity. */
.cal-selection-controls { display:grid; grid-template-columns:minmax(110px,1fr) auto; gap:12px; align-items:start; }
.cal-booking-controls { display:flex; flex-direction:column; gap:8px; }
.cal-availability,.cal-quantity { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; border:1px solid var(--rule); padding-inline:10px; }
.cal-availability output,.cal-quantity output { font-variant-numeric:tabular-nums; }
.visit-actions { display:flex; align-items:stretch; gap:12px; margin-top:2px; }
.visit-actions .cal-quantity { flex:none; }
.visit-actions .visit-book { flex:1; min-width:0; margin-top:0; }
.cal-quantity { padding-right:0; }
.cal-quantity .qty-ctl button { width:32px; }
.cal-quantity .qty-ctl output { min-width:24px; }
.cal-quantity button:disabled { opacity:.3; cursor:default; }
@media(max-width:360px) { .cal-selection-controls { grid-template-columns:1fr; } .cal-booking-controls { flex-direction:row; flex-wrap:wrap; } }

.cal-selection-availability { color:#57574f; white-space:nowrap; font-variant-numeric:tabular-nums; }
.cal-guide-row { margin:8px 0 14px; }
.cal-guide-button { padding:0; border:0; background:none; color:#57574f; text-align:left; cursor:pointer; }
.cal-guide-button:hover [data-tour-guide-name] { text-decoration:underline; text-underline-offset:3px; }
.tour-guide-popup { width:min(780px,calc(100vw - 32px)); max-width:none; max-height:calc(100svh - 32px); margin:auto; padding:40px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--rule); background:var(--bg); color:var(--black); text-align:left; }
.tour-guide-popup::backdrop { background:rgb(0 0 0 / .2); }
.tour-guide-popup [data-guide-close] { position:absolute; top:4px; right:4px; display:grid; place-items:center; width:44px; height:44px; border:0; background:var(--bg); color:var(--ink); cursor:pointer; }
.tour-guide-card { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; gap:32px; }
.tour-guide-portrait img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:48% 30%; }
.tour-guide-portrait figcaption { display:block; margin-top:8px; text-transform:none; color:var(--grey-3); }
.tour-guide-portrait figcaption a { color:inherit; text-decoration:none; }
.tour-guide-portrait figcaption a:hover { text-decoration:underline; }
.tour-guide-copy { min-width:0; }
.tour-guide-copy .tour-guide-eyebrow { margin:0 0 14px; text-transform:uppercase; }
.tour-guide-copy h2 { margin:0 0 22px; overflow-wrap:anywhere; }
.tour-guide-bio p { margin:0; overflow-wrap:anywhere; }
.tour-guide-bio p+p { margin-top:16px; }
.tour-guide-popup--text { width:min(480px,calc(100vw - 32px)); }
.tour-guide-popup--text .tour-guide-card { grid-template-columns:minmax(0,1fr); }
.tour-guide-popup a:focus-visible,.tour-guide-popup button:focus-visible,.cal-guide-button:focus-visible { outline:1px solid currentColor; outline-offset:4px; }
@media(max-width:600px) {
 .tour-guide-popup { padding:44px 24px 28px; }
 .tour-guide-card { grid-template-columns:minmax(0,1fr); gap:24px; }
 .tour-guide-portrait img { aspect-ratio:16/10; }
 .tour-guide-copy h2 { margin-bottom:18px; }
}

.ritual-visit .cal-selection-heading { display:flex; align-items:baseline; flex-wrap:nowrap; gap:12px; margin-bottom:0; color:#57574f; }
.ritual-visit .cal-selection-heading .cal-sel-label, .ritual-visit .cal-selection-heading .cal-guide-button, .ritual-visit .cal-selection-heading .cal-selection-availability { color:inherit; }
.ritual-visit .cal-selection-heading .cal-sel-label { flex:none; }
.ritual-visit .cal-selection-heading .cal-guide-row { margin:0; min-width:0; }
.ritual-visit .cal-selection-heading .cal-selection-availability { margin-left:auto; }
@media(max-width:760px) { .ritual-visit .cal-selection-heading { flex-wrap:wrap; gap:6px 16px; } }

.ritual-visit .cal-sel { gap:16px; border-top:0; }
.visit-actions .cal-quantity, .visit-actions .visit-book { min-height:52px; }
.visit-actions .visit-book { padding-block:10px; }
.cal-guide-row::before { content:"·"; margin-right:12px; }
.cal-selection-availability[hidden] { display:none; }
@media(max-width:760px) { .visit-actions { margin-top:8px; } }

/* Seat counts stay in the selected-tour summary for now. */
.ritual-visit .cal-tour .cal-remaining { display:none; }

/* Compact calendar rows keep the date and tour times readable. */
.ritual-visit .cal-day, .ritual-visit .cal-empty { min-height:72px; padding-block:6px; }
.ritual-visit .cal-day { gap:6px; }
.ritual-visit .cal-times { gap:0; }
.ritual-visit .cal-tour { padding-block:2px; }

/* All calendar weeks share the same compact cell height. */
.ritual-visit .cal-day, .ritual-visit .cal-empty { height:96px; min-height:96px; }

.ritual-visit .cal-selection-heading .cal-selection-availability { display:flex; align-items:baseline; gap:12px; }
.ritual-visit .cal-selection-heading .cal-selection-availability[hidden] { display:none; }
@media(min-width:761px) {
 .ritual-visit .cal-day, .ritual-visit .cal-empty { height:112px; min-height:112px; padding-block:10px; }
}

/* Keep mobile booking controls compact and the selected-tour details aligned. */
@media(max-width:760px) {
 .visit-book-date { display:none; }
 .visit-actions { gap:8px; flex-wrap:nowrap; }
 .visit-actions .visit-book { padding-inline:12px; gap:8px; white-space:nowrap; }
 .ritual-visit .cal-selection-heading { display:grid; grid-template-columns:1fr; gap:4px; }
 .ritual-visit .cal-selection-heading .cal-selection-availability { margin-left:0; }
 .ritual-visit .cal-guide-row::before { content:none; }
 .ritual-visit .cal-sel { padding-top:8px; gap:12px; }
}
@media(max-width:420px) {
 .visit-actions .cal-quantity { gap:4px; padding-left:6px; }
 .visit-actions .cal-quantity .qty-ctl button { width:26px; }
 .visit-actions .cal-quantity .qty-ctl output { min-width:18px; }
 .visit-actions .visit-book { padding-inline:8px; gap:6px; }
}

/* On phones, choose a date first, then a full-width time with its seat count. */
.cal-slot-mobile-meta { display:none; }
@media(max-width:760px) {
 .ritual-visit .cal-times, .ritual-visit .cal-no-tours { display:none; }
 .ritual-visit .cal-day, .ritual-visit .cal-empty { height:44px; min-height:44px; }
 .ritual-visit .cal-day { align-items:center; justify-content:center; gap:0; }
 .ritual-visit .cal-wd { text-align:center; }
 .ritual-visit .cal-slots { flex-direction:column; width:100%; }
 .ritual-visit .cal-slot { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:52px; padding:10px 12px; text-align:left; }
 .ritual-visit .cal-slot-mobile-meta { display:flex; }
 .ritual-visit .cal-slot-mobile-meta .cal-remaining { white-space:nowrap; }
 .ritual-visit .cal-slot-mobile-meta .cal-remaining-label { display:inline; }
 .ritual-visit .cal-selection-availability > span:last-child { display:none; }
}

/* Give the mobile purchase button more space and mark dates without tours. */
@media(max-width:760px) {
 .visit-actions .cal-quantity { gap:2px; padding-left:6px; }
 .visit-actions .cal-quantity .qty-ctl button { width:24px; }
 .visit-actions .cal-quantity .qty-ctl output { min-width:16px; }
 .ritual-visit .cal-day.closed .cal-date { text-decoration:line-through; text-decoration-thickness:1px; }
}


/* Living Rituals exhibition designers: isolated additions, original editor anchors retained. */
.lr-authors-entry{margin-top:30px}.lr-authors-entry a{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:6px;color:inherit}
.lr-authors-dialog{width:min(1050px,calc(100vw - 64px));max-width:none;height:calc(100dvh - 64px);max-height:none;margin:auto;padding:0;border:0;color:#222;background:#fff;overscroll-behavior:contain;box-shadow:0 20px 100px #0002}
.lr-authors-dialog::backdrop{background:rgba(30,29,26,.44)}
.lr-authors-top{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:22px 40px;border-bottom:1px solid #d9d6d0;background:#fff}
.lr-authors-top img{display:block;width:132px;height:auto}.lr-authors-close{display:flex;align-items:center;gap:15px;background:none;border:0;padding:10px 0;color:inherit;cursor:pointer}
.lr-authors-content{padding:50px 70px 70px}.lr-authors-eyebrow{text-transform:uppercase;margin:0 0 20px}.lr-authors-content h2{margin:0 0 24px}.lr-authors-intro{max-width:620px;margin:0 0 8px}.lr-authors-sub{color:#666;max-width:620px;margin:0 0 32px}
.lr-authors-search{display:block;margin-bottom:25px}.lr-authors-search span{display:block;margin:0 0 8px;color:#666}.lr-authors-search input{box-sizing:border-box;width:100%;border:1px solid #aaa;background:#fff;border-radius:0;padding:10px 12px;color:inherit;outline-offset:5px}
.lr-author{border-top:1px solid #d9d6d0}.lr-author:last-child{border-bottom:1px solid #d9d6d0}.lr-author[hidden]{display:none}.lr-author summary{display:grid;grid-template-columns:78px minmax(0,1fr) 22px;gap:24px;align-items:center;padding:20px 0;list-style:none;cursor:pointer}.lr-author summary::-webkit-details-marker{display:none}.lr-author summary:focus-visible,.lr-authors-close:focus-visible{outline:1px solid #333;outline-offset:6px}.lr-author-thumb,.lr-author-initials{width:78px;height:96px;object-fit:cover;object-position:center 30%;filter:grayscale(1);background:#e7e5e0}.lr-author-initials{display:grid;place-items:center}.lr-author-name{display:block}.lr-author-brand{display:block;margin-top:9px;color:#777}.lr-author-sign{font-size:25px;transition:transform .2s}.lr-author[open] .lr-author-sign{transform:rotate(45deg)}.lr-author-body{padding:0 46px 28px 102px;max-width:740px}.lr-author-body p{margin:0 0 20px}.lr-author-body .lr-author-kicker{text-transform:uppercase;margin:24px 0 12px;color:#777}.lr-author-body ul{padding:0;margin:0;list-style:none;display:flex;flex-wrap:wrap;gap:5px 20px}.lr-authors-empty{color:#777}
html:has(.lr-authors-dialog[open]){overflow:hidden}
@media(max-width:640px){.lr-authors-dialog{width:100vw;height:100dvh;margin:0}.lr-authors-top{padding:15px 22px}.lr-authors-top img{width:110px}.lr-authors-content{padding:35px 22px 60px}.lr-author summary{grid-template-columns:64px minmax(0,1fr) 20px;gap:16px;padding:18px 0}.lr-author-thumb,.lr-author-initials{width:64px;height:80px}.lr-author-body{padding:0 0 24px 80px}}
@media(prefers-reduced-motion:reduce){.lr-author-sign{transition:none}}

/* Locally hosted designer portraits, two pixel densities in one cacheable sheet. */
.lr-author-thumb-box{position:relative;display:block;width:78px;height:96px;overflow:hidden;background:#eee}.lr-author-thumb-box .lr-author-sprite{position:absolute;display:block;max-width:none;width:546px;height:384px;left:calc(var(--lr-col) * -78px);top:calc(var(--lr-row) * -96px)}
.lr-sprite-0{--lr-col:0;--lr-row:0}
.lr-sprite-1{--lr-col:1;--lr-row:0}
.lr-sprite-2{--lr-col:2;--lr-row:0}
.lr-sprite-3{--lr-col:3;--lr-row:0}
.lr-sprite-4{--lr-col:4;--lr-row:0}
.lr-sprite-5{--lr-col:5;--lr-row:0}
.lr-sprite-6{--lr-col:6;--lr-row:0}
.lr-sprite-7{--lr-col:0;--lr-row:1}
.lr-sprite-8{--lr-col:1;--lr-row:1}
.lr-sprite-9{--lr-col:2;--lr-row:1}
.lr-sprite-10{--lr-col:3;--lr-row:1}
.lr-sprite-11{--lr-col:4;--lr-row:1}
.lr-sprite-12{--lr-col:5;--lr-row:1}
.lr-sprite-13{--lr-col:6;--lr-row:1}
.lr-sprite-14{--lr-col:0;--lr-row:2}
.lr-sprite-15{--lr-col:1;--lr-row:2}
.lr-sprite-16{--lr-col:2;--lr-row:2}
.lr-sprite-17{--lr-col:3;--lr-row:2}
.lr-sprite-18{--lr-col:4;--lr-row:2}
.lr-sprite-19{--lr-col:5;--lr-row:2}
.lr-sprite-20{--lr-col:6;--lr-row:2}
.lr-sprite-21{--lr-col:0;--lr-row:3}
.lr-sprite-22{--lr-col:1;--lr-row:3}
.lr-sprite-23{--lr-col:2;--lr-row:3}
.lr-sprite-24{--lr-col:3;--lr-row:3}
.lr-sprite-25{--lr-col:4;--lr-row:3}
.lr-sprite-26{--lr-col:5;--lr-row:3}
@media(max-width:640px){.lr-author-thumb-box{width:64px;height:80px}.lr-author-thumb-box .lr-author-sprite{width:448px;height:320px;left:calc(var(--lr-col) * -64px);top:calc(var(--lr-row) * -80px)}}

/* Author quotation, translated to match the selected language. */
.lr-author-body .lr-author-quote{margin:4px 0 34px;padding:0;border:0;max-width:640px}.lr-author-body .lr-author-quote p{text-transform:none;margin:0 0 12px}.lr-author-quote cite{display:block;color:#777}

.lr-author-thumb-box .lr-author-portrait{display:block;width:100%;height:100%;object-fit:cover}
