/* Existing transparent spotlight: source asset stays unchanged.
 * Load after product-gallery, product-studio and luxury-atmosphere CSS.
 * Only the fixture rotates. The package, label and contact shadow are untouched.
 */
body.dhd [data-pack-view] > .studio-keylight {
 position:absolute;inset:0;z-index:-1;pointer-events:none;user-select:none;
 overflow:hidden;isolation:isolate;
 --sk-fixture-size:clamp(110px,14vw,176px);
 --sk-origin-x:88%;--sk-origin-y:34px;
 --sk-pool-x:61%;--sk-pool-y:45%;
 --sk-pool-rx:210px;--sk-pool-ry:270px;
 --sk-air-length:580px;--sk-aim:135deg;
 --sk-fan-start:200deg;--sk-fan-feather:5deg;--sk-fan-mid:30deg;
 --sk-fan-core-end:55deg;--sk-fan-end:60deg;
 --sk-mouth-width:30px;--sk-mouth-height:18px;
}
body.dhd [data-pack-view] > .studio-keylight[hidden] {display:none!important}
body.dhd .studio-keylight > .studio-keylight-fixture {
 display:block;position:absolute;z-index:1;
 width:var(--sk-fixture-size);height:var(--sk-fixture-size);
 min-width:0;max-width:none;max-height:none;object-fit:contain;
 left:var(--sk-fixture-left,calc(100% - 188px));top:var(--sk-fixture-top,-42px);
 transform-origin:48% 54%;transform:rotate(var(--sk-fixture-turn,-10deg));
 opacity:1;filter:none;mix-blend-mode:normal;
 border:0;border-radius:0;box-shadow:none;
}
body.dhd .studio-keylight > .studio-keylight-spill {
 position:absolute;inset:0;z-index:0;display:block;pointer-events:none;
 /* A broad environment reflection, behind the actual silhouette. */
 background:radial-gradient(ellipse var(--sk-pool-rx) var(--sk-pool-ry)
  at var(--sk-pool-x) var(--sk-pool-y),
  rgba(245,240,229,.065) 0%,rgba(216,196,152,.033) 31%,
  rgba(216,196,152,.009) 56%,transparent 78%);
}
body.dhd .studio-keylight-spill::before {
 content:"";position:absolute;display:block;inset:0;
 /* A feathered fan from the actual diffuser, covering the visible pack's
  * complete angular envelope. Its low-opacity field is behind the artwork;
  * no opaque triangle, image filter, blur, animation or artificial edge. */
 background:conic-gradient(from var(--sk-fan-start) at var(--sk-origin-x) var(--sk-origin-y),
  transparent 0deg,rgba(245,235,214,.046) var(--sk-fan-feather),
  rgba(245,235,214,.055) var(--sk-fan-mid),
  rgba(216,196,152,.040) var(--sk-fan-core-end),
  transparent var(--sk-fan-end),transparent 360deg);
 -webkit-mask-image:radial-gradient(circle var(--sk-air-length) at var(--sk-origin-x) var(--sk-origin-y),
  #000 0%,rgba(0,0,0,.95) 52%,rgba(0,0,0,.68) 82%,transparent 100%);
 mask-image:radial-gradient(circle var(--sk-air-length) at var(--sk-origin-x) var(--sk-origin-y),
  #000 0%,rgba(0,0,0,.95) 52%,rgba(0,0,0,.68) 82%,transparent 100%);
}
body.dhd .studio-keylight-spill::after {
 content:"";position:absolute;display:block;
 left:var(--sk-origin-x);top:var(--sk-origin-y);
 width:var(--sk-mouth-width);height:var(--sk-mouth-height);
 /* Small falloff immediately outside the original aperture, occluded by the
  * fixture above it. Its ellipse is perpendicular to the outgoing light axis. */
 background:radial-gradient(ellipse closest-side,rgba(255,242,208,.14),rgba(238,220,183,.055) 43%,transparent 100%);
 transform:translate(-50%,-50%) rotate(calc(var(--sk-aim) - 90deg));
}
/* This fixture is the one directional environment key. Retire the earlier
 * upper-left halo, including its animation; retain existing floor/contact work. */
body.dhd [data-pack-view].has-studio-keylight > .atmo-product-field > .atmo-halo {
 background:none;opacity:0!important;animation:none!important;
}
body.dhd [data-product-studio][data-studio-label="true"] .studio-keylight {display:none!important}
body.dhd [data-pack-view].studio-keylight-source-scene > :is(.studio-keylight,.atmo-product-field) {display:none!important}
@media(max-width:850px) {
 body.dhd [data-pack-view] > .studio-keylight {--sk-fixture-size:clamp(86px,25vw,112px)}
}
@media(prefers-reduced-motion:reduce) {
 body.dhd .studio-keylight,body.dhd .studio-keylight * {animation:none!important;transition:none!important}
}
@media print {body.dhd .studio-keylight {display:none!important}}
