
/* Photography and controls shared with Koleos Privilege. */
:root{--sheet-fade:320ms;--sheet-control-motion:240ms}
.tech-slider{--tech-slide-duration:var(--sheet-fade)}
.tech-slider__photos{cursor:zoom-in}
.sheet-slider-pause{position:absolute;right:16px;bottom:16px;min-height:44px;padding:8px 16px;border:1px solid var(--line-soft);border-radius:var(--radius-control);background:#fff;color:var(--ink);font:inherit;cursor:pointer}
.sheet-photo-zoom{display:block;width:100%;padding:0;border:0;border-radius:inherit;background:transparent;color:inherit;cursor:zoom-in}
.sheet-photo-zoom img{display:block;width:100%;height:auto}
.sheet-photo-zoom:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.sheet-gallery{position:fixed;inset:0;box-sizing:border-box;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;border:0;background:#11111b;color:#fff}
.sheet-gallery::backdrop{background:rgba(0,0,0,.9)}
.sheet-gallery[open]{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}
.sheet-gallery__toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px}
.sheet-gallery__toolbar p{margin:0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.sheet-gallery button{flex:none;min-width:48px;min-height:48px;padding:8px 16px;background:#fff;color:#24234a;border:0;border-radius:var(--radius-control);font:inherit;cursor:pointer}
.sheet-gallery button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.sheet-gallery__stage{min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}
.sheet-gallery__stage img{grid-column:2;grid-row:1;display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.sheet-gallery__stage [data-prev]{grid-column:1;grid-row:1;font-size:32px}
.sheet-gallery__stage [data-next]{grid-column:3;grid-row:1;font-size:32px}
.sheet-gallery button[hidden]{display:none}
.interior-carousel__track{display:grid;transform:none;transition:none}
.interior-carousel__slide{grid-area:1/1;opacity:0;pointer-events:none;transition:opacity var(--sheet-fade) ease-out}
.interior-carousel__slide.is-active{opacity:1;pointer-events:auto}
.interior-carousel__slide img{aspect-ratio:auto;object-fit:contain}
.individual-sheet .booking{grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr)) 280px;overflow:hidden}
.individual-sheet .booking .btn{grid-column:auto;height:100%;min-height:104px;padding:0 32px;border-radius:0}
.individual-sheet .booking label{font-size:12px}
.individual-sheet .booking input,.individual-sheet .booking select{font-size:16px}
.sheet-gallery-hint{font-size:16px;line-height:1.5;color:var(--muted);margin:16px 0 0}
@media(max-width:1200px){.individual-sheet .booking{grid-template-columns:repeat(4,minmax(0,1fr))}.individual-sheet .booking .btn{grid-column:1/-1;min-height:60px;padding:16px 24px}}
@media(max-width:960px){.individual-sheet .booking{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.individual-sheet .booking{grid-template-columns:minmax(0,1fr)}.sheet-gallery{padding:16px}.sheet-gallery__stage{gap:8px}.sheet-gallery__stage button{min-width:44px;padding:8px}.sheet-gallery__toolbar{gap:16px;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.interior-carousel__slide,.tech-slider__photos img{transition:none}}
