/* AJ's Installations V7: polished responsive cinematic enhancements. */
:root{--v7-ice:#39d9ff}
.cinema-stage{--v7-glow:#38d6ff;--v7-bass:0}
/* True colour interaction: lighting reflected onto ground and wheel wells. */
.cinema-stage[data-underglow="on"] .underlight,.cinema-stage[data-wheelwell="on"] .wheelwell-light{background:var(--v7-glow);border-color:var(--v7-glow);box-shadow:0 0 35px var(--v7-glow),inset 0 0 22px var(--v7-glow)}
.cinema-stage[data-underglow="on"] .underlight-right{background:var(--v7-glow)}
.cinema-stage[data-underglow="on"] .front-art:before{content:"";z-index:2;position:absolute;left:26%;right:17%;bottom:13%;height:13%;opacity:.5;filter:blur(24px);background:var(--v7-glow);mix-blend-mode:screen;pointer-events:none}
.cinema-stage[data-underglow="off"] .front-art:before{display:none}
.cinema-stage[data-headlights="on"] .front-light{background:var(--v7-glow);box-shadow:0 0 36px 12px var(--v7-glow)}
.cinema-stage.v7-front-signal .front-light{animation:v7Indicator .36s ease-in-out 6 alternate!important;opacity:1!important;filter:brightness(1.4)}
@keyframes v7Indicator{from{opacity:.12;box-shadow:0 0 8px #f9a52a}to{opacity:1;box-shadow:0 0 40px 20px #ffaa35}}
/* Real sound-driven equalizer overrides previous animation that was not audio reactive. */
.cinema-stage[data-audio="on"] .sound-viz i{animation:none!important}
.cinema-stage[data-audio="on"] .subwoofer{animation:none!important;transform:scale(calc(1 + var(--v7-bass)*.13))}
.cinema-stage[data-audio="on"] .photo-woofer{animation:none!important;transform:translate(-50%,-50%) scale(calc(1 + var(--v7-bass)*.10));box-shadow:0 0 calc(15px + var(--v7-bass)*30px) var(--v7-glow)}
/* Crisp neon but less rectangular mechanical layout; dramatic reading hierarchy. */
.cinema-copy h1{filter:drop-shadow(0 8px 27px #0008)}
.cinema-copy .button-neon,.cinema-info-actions .button-neon{box-shadow:0 0 19px #05b9ff55,0 0 35px #a24cff24;border-radius:9px}
.cinema-ribbon-item:focus-visible,.cinema-hotspot:focus-visible,.v7-color:focus-visible,.v7-apps button:focus-visible,.v7-baby-switch button:focus-visible{outline:3px solid #e4f8ff;outline-offset:4px}
/* Colours stay attached to showroom; controls are compact, never cover vehicle. */
.v7-color-lab{position:absolute;left:3%;bottom:17%;z-index:9;display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #4293c079;background:#031026e8;border-radius:999px;box-shadow:0 8px 22px #010617ad;color:#bddbf2}
.v7-color-lab[hidden],.v7-screen-demo[hidden],.v7-baby-switch[hidden]{display:none!important}
.v7-lab-title{font-size:9px;letter-spacing:.12em;font-weight:850;margin-right:6px}
.v7-color{appearance:none;border:2px solid #ffffff99;width:22px;height:22px;flex:none;border-radius:50%;cursor:pointer;background:var(--swatch);box-shadow:0 0 10px var(--swatch);padding:0}
.v7-color.is-on{outline:2px solid #effcff;outline-offset:3px;transform:scale(1.09)}
/* Accessible infotainment demo without recreating copyrighted Apple assets. */
.v7-screen-demo{position:absolute;top:23%;left:37%;width:min(27%,365px);min-height:245px;padding:12px;border:2px solid #64c0fc;background:linear-gradient(135deg,#0e213b,#050b19);border-radius:17px;z-index:10;box-shadow:0 16px 50px #000d,0 0 32px #35d6ff45;display:flex;flex-direction:column;gap:10px}
.v7-screen-top{display:flex;justify-content:space-between;gap:7px;font-size:9px;letter-spacing:.06em;color:#83dafa;font-weight:900}
.v7-screen-view{background:#081528;flex:1;border:1px solid #356e9b;border-radius:10px;min-height:135px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px;color:white;text-align:center;overflow:hidden}
.v7-screen-view strong{font-size:15px;letter-spacing:.04em}.v7-screen-view small{font-size:10px;line-height:1.35;color:#a3bfd6}
.v7-apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.v7-apps button{border:1px solid #28658d;border-radius:8px;background:#152640;color:#a9e8ff;cursor:pointer;font-size:8px;font-weight:800;padding:5px 2px;display:flex;flex-direction:column;align-items:center;gap:3px}
.v7-apps button span{font-size:19px}.v7-apps button[aria-pressed="true"]{background:#0b5394;color:white;box-shadow:inset 0 0 12px #20beff66}
.v7-map{width:100%;height:100px;display:flex;align-items:center;justify-content:space-around;background:linear-gradient(26deg,transparent 47%,#17c7ff 48% 51%,transparent 52%),repeating-linear-gradient(60deg,#10294d 0 4px,#0a1930 5px 28px);border-radius:7px;gap:8px}
.v7-map i{display:block;width:18px;height:18px;background:#4feaff;border:4px solid white;border-radius:50%;box-shadow:0 0 20px #55eeff}
.v7-map span{font-size:9px;font-weight:900;background:#04101ab8;padding:5px;border-radius:5px}
.v7-music{display:flex;flex-direction:column;align-items:center;gap:4px}.v7-music>span{font-size:28px;color:#76ecff}
.v7-music-wave{display:flex;align-items:center;justify-content:center;gap:4px;height:20px}.v7-music-wave i{width:5px;height:7px;background:#7beeff;border-radius:4px}.v7-music-wave i:nth-child(2n){height:16px}
.v7-camera{width:100%;height:115px;position:relative;overflow:hidden;border-radius:7px}.v7-camera img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.v7-camera small{position:absolute;bottom:0;left:0;right:0;background:#020611c9;padding:4px}
.v7-call{display:flex;flex-direction:column;align-items:center;gap:5px}.v7-call>span{font-size:28px;color:#70f5d7}
/* Actual baby monitor point of view, with separate frontal monitor visualization. */
.v7-baby-switch{position:absolute;top:22%;left:33%;z-index:11;display:flex;gap:7px}
.v7-baby-switch button{border:1px solid #4eb6f6aa;border-radius:8px;background:#071a30;color:#d9f5ff;font-size:9px;font-weight:800;cursor:pointer;padding:10px}
.v7-baby-switch button[aria-pressed="true"]{background:linear-gradient(90deg,#065994,#3728a9);color:white;box-shadow:0 0 16px #48b7ff77}
.cinema-stage[data-baby-pov="driver"] .baby-art .camera-feed{transform:perspective(700px) rotateY(-14deg) scale(.81) translate(-4%,9%);box-shadow:10px 10px 65px #000,0 0 35px #7c6dff;border-color:#a895ff}
.cinema-stage[data-baby-pov="driver"] .baby-art:before{content:"SIMULATED DRIVER VIEW → REAR SEAT";position:absolute;top:20%;right:13%;z-index:7;font-size:10px;letter-spacing:.13em;color:#aeeeff;font-weight:900;text-shadow:0 2px 10px #000}
/* Quote calculator: unknown work remains visibly pending, never silently counted as free. */
.v7-custom-estimate{margin-top:20px;padding:16px;border:1px solid #2c759966;border-radius:14px;background:linear-gradient(145deg,#081a2d,#070e1c);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v7-custom-estimate legend{color:#c8efff;font-size:12px;font-weight:900;letter-spacing:.08em;padding:0 8px}
.v7-custom-estimate legend span{color:#80aac4;font-weight:600;font-size:10px}
.v7-custom-estimate label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:9px;border:1px solid #22547999;border-radius:9px;cursor:pointer;color:#e5f5ff;font-size:12px}
.v7-custom-estimate input{accent-color:#26caff;grid-row:span 2;width:17px;height:17px}
.v7-custom-estimate em{font-size:10px;color:#91b4ca;grid-column:2;font-style:normal}
.v7-custom-summary{margin:9px 0}.v7-pending-head{color:#83ddff;font-size:11px;font-weight:850;letter-spacing:.04em;margin:9px 0}.v7-pending-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #3a779955;padding:8px 3px;color:#d6e9f7;font-size:12px}.v7-pending-row strong{color:#99c5da;font-size:11px;font-weight:600}
@media(max-width:1000px){.v7-screen-demo{left:31%;width:35%}.v7-baby-switch{left:28%}}
@media(max-width:760px){
 .v7-color-lab{left:16px;bottom:14%;padding:6px 9px;gap:8px;max-width:calc(100vw - 35px)}
 .v7-lab-title{font-size:7px;max-width:55px;line-height:1.3;letter-spacing:.05em;margin-right:1px}.v7-color{width:19px;height:19px}
 .v7-screen-demo{left:9%;right:9%;width:auto;top:43%;min-height:210px;max-height:41%;padding:9px}.v7-screen-view{min-height:85px}.v7-screen-top{font-size:7px}.v7-apps button{font-size:8px;padding:3px 2px}.v7-apps button span{font-size:14px}
 .v7-baby-switch{left:5%;top:42%}.v7-baby-switch button{font-size:8px;padding:7px}
 .v7-custom-estimate{grid-template-columns:1fr;gap:6px;padding:11px}
 .cinema-stage[data-view="exterior"] .v7-color-lab{bottom:15%}
 .cinema-scene-actions:has(#headSignalBtn:not([hidden])){max-width:calc(100% - 20px)}
}
@media(prefers-reduced-motion:reduce){.cinema-stage.v7-front-signal .front-light{animation:none!important}}

/* Cabin lighting must truly toggle; ambient and footwells are independent services. */
.cinema-stage[data-view="interior"] .cabin-ambient,.cinema-stage[data-view="radio"] .cabin-ambient,.cinema-stage[data-view="interior"] .cabin-footwell,.cinema-stage[data-view="radio"] .cabin-footwell{opacity:0}
.cinema-stage[data-ambient="on"]:is([data-view="interior"],[data-view="radio"]) .cabin-ambient{opacity:1;background:var(--v7-glow);box-shadow:0 0 28px var(--v7-glow)}
.cinema-stage[data-footwell="on"]:is([data-view="interior"],[data-view="radio"]) .cabin-footwell{opacity:.94;background:radial-gradient(ellipse,var(--v7-glow),transparent 74%)}
.cinema-stage[data-ambient="on"] .door-glow{background:var(--v7-glow);box-shadow:0 0 25px var(--v7-glow)}
.cinema-stage[data-ambient="off"] .door-glow{opacity:0}
.cinema-stage[data-view="interior"] .v7-color-lab{bottom:28%}
@media(max-width:760px){.cinema-stage[data-view="interior"] .v7-color-lab{top:36%;bottom:auto}}

/* Vehicle-aware quote builder, no assumed fitment and no fabricated extra costs. */
.v7-vehicle-builder{border:1px solid #337eab70;border-radius:14px;background:linear-gradient(118deg,#081c36,#06111f);padding:18px;margin:0 0 20px;box-shadow:inset 0 0 25px #063a5b25}
.v7-vehicle-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px}.v7-vehicle-head strong{font-size:12px;letter-spacing:.16em;color:#86e7ff}.v7-vehicle-head span{font-size:11px;color:#96b9d0}
.v7-vehicle-fields{display:grid;grid-template-columns:.55fr 1fr 1fr .8fr 1.15fr 1.4fr;gap:8px}
.v7-vehicle-fields label{display:flex;flex-direction:column;gap:6px;color:#9fc4db;font-size:9px;letter-spacing:.11em;font-weight:800}
.v7-vehicle-fields input,.v7-vehicle-fields select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #37729c;border-radius:7px;color:#f1f9ff;background:#061224;min-height:40px;padding:9px 10px;font:500 12px system-ui,sans-serif;letter-spacing:0}
.v7-vehicle-fields input:focus-visible,.v7-vehicle-fields select:focus-visible{outline:2px solid #63daff;outline-offset:2px}
@media(max-width:950px){.v7-vehicle-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.v7-vehicle-builder{padding:12px}.v7-vehicle-head{flex-direction:column;gap:5px}.v7-vehicle-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
