/* One photographic grade, applied once to each composite. The live gallery
   and its captured portal share the same physical lights in palace-ambience.js. */
:root{
 --palace-grade:brightness(.76) contrast(1.08) saturate(.88);
 --palace-vignette:radial-gradient(ellipse at 52% 38%,transparent 36%,#080f2447 100%),linear-gradient(0deg,#080e1caa,transparent 32%);
 --palace-side-shade:linear-gradient(90deg,#080e1ce8,transparent 48%),linear-gradient(0deg,#080e1cab,transparent 30%);
 --palace-stage:#10131b;--palace-stage-shade:#09102093;
 --palace-glow:.12;--palace-transition:1.1s ease;
}
html[data-theme=light]{
 --palace-grade:brightness(1.16) contrast(.91) saturate(.76);
 --palace-vignette:radial-gradient(ellipse at 80% 12%,#fff4cd14,transparent 67%),linear-gradient(0deg,#49331b52,transparent 28%);
 --palace-side-shade:linear-gradient(90deg,#382817a6,transparent 45%),linear-gradient(0deg,#42311d63,transparent 28%);
 --palace-stage:#e6d9c3;--palace-stage-shade:#f5e9ce18;--palace-glow:.22;
}
.house-theme{display:flex;align-items:center;gap:7px;justify-content:center;border:1px solid #bca16d66;border-radius:30px;background:transparent;color:inherit;height:36px;padding:0 12px;font:10px Arial;cursor:pointer;white-space:nowrap}.theme-symbol{font:21px Georgia}
.single-film .architecture,.single-film .interior,.royal-palace-photo,.single-film .atelier-image,.aerial-picture,.in-palace-intro:not(:has(.palace-aerial))::before{
 filter:var(--palace-grade)!important;transition:filter var(--palace-transition);
}
/* The captured gallery inside the curtain is raw canvas pixels. Both it and
   the full gallery receive exactly one matching grade in their parent layer. */
.single-film .atelier-webgl{filter:var(--palace-grade)!important;transition:filter var(--palace-transition)}
.single-film .cinema-vignette,.single-film[data-film=welcome] .cinema-vignette,.aerial-shade{background:var(--palace-vignette);transition:background var(--palace-transition)}
.single-film .interior-shade{background:linear-gradient(90deg,#0e101b38,transparent 48%),linear-gradient(0deg,#0b101a66,transparent 25%)}
.single-film .interior-shade{opacity:calc(1 - var(--reception-full,0))}
html[data-theme=light] .single-film .interior-shade{background:linear-gradient(90deg,#38271724,transparent 48%),linear-gradient(0deg,#412b1129,transparent 25%)}
.single-film .atelier:after,.at-main-hall.has-3d .atelier:after{background:var(--palace-side-shade)}
.single-film.at-main-hall .atelier:after{background:var(--palace-vignette)}
.single-film.travelling .atelier:after,.single-film.travelling.has-3d .atelier:after{background:var(--palace-vignette)}
.aerial-title,.aerial-caption,.single-film .hero-copy,.single-film .welcome,.single-film .luxury-hud{color:#fff4df}
.single-film .light-leak{background:radial-gradient(ellipse at 78% 18%,#fff3d02e,transparent 65%)}
html[data-theme=light] .single-film .film-grain{opacity:.06}
html[data-theme=light] .single-film .collection-index button{color:#fff2d9;text-shadow:0 1px 8px #3b2419}
html[data-theme=light] .single-film .collection-index button[aria-current=true]{color:#fff8e9;border-color:#f6dfad}
.single-film .passage-hint span{color:#fff1da;text-shadow:0 2px 15px #140f0b}

/* Product photography remains neutral; the viewing room, floor and fittings
   adopt the selected time of day rather than tinting a shirt into another colour. */
.single-film #room-dialog.product-salon{background:var(--palace-stage)!important}
.product-salon .garment-stage{isolation:isolate;background:var(--palace-stage)!important;transition:background var(--palace-transition)}
.product-salon .garment-stage>.product-room-light{position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--palace-stage-shade),var(--palace-stage-shade)),url('assets/welcome-salon.webp') center/cover;filter:var(--palace-grade);transition:filter var(--palace-transition),background var(--palace-transition);pointer-events:none}
.product-salon .original-garment{background:radial-gradient(ellipse at center,transparent,var(--palace-stage) 88%)}
html[data-theme=light] .product-salon .garment-stage:before{border-color:#896d4173;box-shadow:0 0 0 8px #e6d6b51f,inset 0 0 60px #e5c99119}
html[data-theme=light] .product-salon .product-photos button{background:#e9dec9;border-color:#ac906a70}
html[data-theme=light] .product-salon .product-photos button[aria-pressed=true]{border-color:#806039;background:#d4c098}
html[data-theme=light] .product-salon .product-photos small{color:#4c3820}
html[data-theme=light] .product-salon .model-controls,html[data-theme=light] .product-salon .garment-presentation{background:#eee2cfe8;color:#4d3922}
html[data-theme=light] .product-salon .garment-presentation button{color:#65492a}
html[data-theme=light] .product-salon .garment-presentation button[aria-pressed=true]{color:#271a0a;background:#d5b77f}
html[data-theme=light] .product-salon .model-controls button,html[data-theme=light] .product-salon #open-piece{color:#624520}
html[data-theme=light] .product-salon .fitting-panel{background:#f1e6d3;color:#3d2d1c}
html[data-theme=light] .fitting-panel :is(p,label,summary,table){color:#6b5133}
html[data-theme=light] .fitting-panel :is(input,select){background:#fff8ec;color:#44301b}

/* The films use the same grade even in the welcome popup, after checkout,
   and on the private review page. Posters are part of the video element. */
.house-film-dialog video,.gift-film-dialog video,.film-review video.screen{filter:var(--palace-grade);transition:filter var(--palace-transition)}
.showcase-slide[data-feature="1"] .showcase-media img{filter:var(--palace-grade);transition:filter var(--palace-transition),transform 8s linear}
.film-review{background:var(--palace-stage);transition:background var(--palace-transition)}
.film-review header{gap:18px}.film-review header .house-theme{margin:0}.film-review header>a{margin-left:auto}
html[data-theme=light] .film-review{color:#382b1c}
html[data-theme=light] .film-review p,html[data-theme=light] .film-review footer{color:#725b3c}
html[data-theme=light] .film-review .eyebrow,html[data-theme=light] .film-review .status{color:#745326}
html[data-theme=light] .film-review .review-actions a{color:#5a4024;background:#efe2cb}
html[data-theme=light] .film-review details{color:#5a4024}
@media(prefers-reduced-motion:reduce){:root{--palace-transition:0s}.single-film .architecture,.single-film .interior,.single-film .atelier-webgl,.royal-palace-photo,.single-film .atelier-image,.aerial-picture,.house-film-dialog video,.gift-film-dialog video,.film-review video.screen{transition:none!important}}

/* Maintain text contrast over bright stone, without shading the whole room. */
.single-film .welcome{text-shadow:0 2px 16px #1a100acc}
.single-film .welcome a{background:#20160c72;padding:12px 15px;border:1px solid #e0c28c70;backdrop-filter:blur(8px)}
.atelier-note-trigger{background:#21180e9c;padding:8px 12px;border:1px solid #dfc7984d;border-radius:3px}
@media(max-width:700px){.film-review header{flex-wrap:wrap;gap:10px}.film-review header>a{order:4;width:100%;text-align:center}.film-review header .house-theme{margin-left:auto}.film-review header .theme-label{display:inline}}
