/* Shared full-spectrum colour controls for paint, upholstery and EVO foam. */
.paint-mobile-toggle,.paint-help-mobile{display:none}
.paint-controls[hidden]{display:none}
.paint-picker{--paint-current:#fff;--paint-hue:#f00;margin:20px 0 24px;min-width:0;color:var(--ink,#153139)}
.paint-picker *{box-sizing:border-box}
.paint-preview{display:flex;align-items:center;gap:11px;margin-bottom:15px;min-width:0}
.paint-preview-swatch{width:43px;height:43px;flex:0 0 43px;border-radius:50%;background:var(--paint-current);border:4px solid #fff;box-shadow:0 0 0 1px #d5dfe0,0 3px 8px #122e350b}
.paint-preview>div{min-width:0;flex:1}
.paint-eyebrow{display:block;font-size:10px;letter-spacing:.65px;font-weight:600;color:#61797e}
.paint-preview strong{display:block;font-size:13px;font-weight:600;line-height:1.4;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.paint-live-badge{align-self:flex-start;margin-top:3px;border:1px solid #dbe9e4;background:#f2f8f5;color:#40736b;border-radius:20px;padding:4px 7px;font-size:9px;white-space:nowrap}
.paint-surface{position:relative;width:100%;height:172px;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent),var(--paint-hue);border-radius:10px;cursor:crosshair;touch-action:pan-y pinch-zoom;user-select:none;box-shadow:inset 0 0 0 1px #122e3510;outline-offset:4px}
.paint-surface:focus-visible{outline:3px solid #44aaa0}
.paint-cursor{position:absolute;left:clamp(0%,var(--paint-s),100%);top:clamp(0%,var(--paint-v),100%);width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:var(--paint-current);box-shadow:0 0 0 1px #10282f85,0 1px 5px #0006;transform:translate(-50%,-50%);pointer-events:none}
.paint-surface.dragging .paint-cursor{width:22px;height:22px}
.paint-help{margin:9px 0 15px;font-size:10px;color:#6c8186;line-height:1.5}
.paint-hue-label,.paint-fine label{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:550;color:#4c6870}
.paint-hue-label output,.paint-fine output{font-weight:400;color:#71868b;font-variant-numeric:tabular-nums}
.paint-picker input[type=range]{display:block;appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:38px;margin:0;background:transparent;cursor:pointer;border:0;padding:0;border-radius:5px;touch-action:pan-y}
.paint-hue::-webkit-slider-runnable-track{height:13px;border-radius:20px;background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}
.paint-hue::-moz-range-track{height:13px;border-radius:20px;background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}
.paint-hue::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;background:var(--paint-hue);border:3px solid #fff;box-shadow:0 0 0 1px #61777c,0 2px 4px #122e3522;border-radius:50%;margin-top:-3.5px}
.paint-hue::-moz-range-thumb{width:14px;height:14px;background:var(--paint-hue);border:3px solid #fff;box-shadow:0 0 0 1px #61777c,0 2px 4px #122e3522;border-radius:50%}
.paint-exact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;margin-top:7px;border:1px solid #e0e8e8;border-radius:8px;background:#f7faf9}
.paint-exact label{font-size:11px;font-weight:600;line-height:1.4;min-width:0}
.paint-exact label span{display:block;margin-top:3px;font-size:9px;font-weight:400;color:#72868a}
.paint-exact input{width:103px;min-width:0;height:38px;font:500 13px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.6px;text-align:center;border:1px solid #d5e0df;border-radius:5px;background:#fff;color:#183c44;padding:6px;text-transform:uppercase}
.paint-exact input[aria-invalid=true]{border-color:#b53b3b;background:#fff8f7}
.paint-error{color:#a63732;font-size:11px;line-height:1.5;margin:8px 0 0}
.paint-error[hidden]{display:none}
.paint-quick{margin-top:19px}
.paint-chips{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin-top:8px}
.paint-chip{display:grid;place-items:center;min-width:0;width:100%;height:36px;padding:4px;border:1px solid transparent;border-radius:7px;background:transparent;position:relative}
.paint-chip span{display:block;width:24px;height:24px;max-width:100%;border-radius:50%;background:var(--paint-chip);box-shadow:inset 0 0 0 1px #132f361c}
.paint-chip.selected{border-color:#3d8c84;background:#edf7f3}
.paint-chip.selected span{box-shadow:inset 0 0 0 1px #132f361c,0 0 0 2px #fff}
.paint-chip:hover{background:#edf3f2;filter:none}
.paint-fine{margin-top:14px;border-top:1px solid #e5ebeb}
.paint-fine summary{display:flex;justify-content:space-between;align-items:center;list-style:none;padding:13px 0 3px;font-size:11px;color:#587078;cursor:pointer;min-height:37px}
.paint-fine summary::-webkit-details-marker{display:none}
.paint-fine summary>span{font-size:17px;line-height:1;color:#7d9499}
.paint-fine[open] summary>span{transform:rotate(45deg)}
.paint-fine>div{padding:12px 0 0}
.paint-fine label{font-size:10px}
.paint-fine input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:5px;background:#dce9e6}
.paint-fine input[type=range]::-moz-range-track{height:6px;border-radius:5px;background:#dce9e6}
.paint-fine input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;background:#237e76;border:3px solid #fff;box-shadow:0 0 0 1px #36877f;border-radius:50%;margin-top:-5px}
.paint-fine input[type=range]::-moz-range-thumb{width:10px;height:10px;background:#237e76;border:3px solid #fff;box-shadow:0 0 0 1px #36877f;border-radius:50%}
.paint-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(forced-colors:active){.paint-surface,.paint-hue,.paint-chip span,.paint-preview-swatch{forced-color-adjust:none}.paint-cursor{outline:2px solid CanvasText}.paint-chip.selected{outline:2px solid Highlight}.paint-exact,.paint-fine{border-color:CanvasText}}

/* Seating shares the same unrestricted picker as the hull and cabin. */
.seat-colour-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}
.seat-colour-modes button{min-width:0;padding:13px 10px;border:1px solid #dbe5e5;background:#fff;border-radius:9px;text-align:left;color:#264750}
.seat-colour-modes strong{display:block;font-size:12px}.seat-colour-modes span{display:block;margin-top:5px;font-size:10px;line-height:1.4;color:#6b8086}
.seat-colour-modes button.selected,.seat-panel-tones button.selected{border-color:#34867c;background:#eef8f4;box-shadow:inset 0 0 0 1px #34867c}
.seat-colour-linked{display:flex;align-items:center;gap:12px;padding:14px;background:#f5f8f7;border:1px solid #e1e9e7;border-radius:9px;margin:16px 0 25px}
.seat-colour-linked>span{width:40px;height:40px;flex-shrink:0;border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px #d7e1df}.seat-colour-linked strong{font-size:12px}.seat-colour-linked small{display:block;font-size:10px;margin-top:4px;color:#61797e}
.seat-panel-tones{display:flex;gap:8px;margin:13px 0}.seat-panel-tones button{display:flex;align-items:center;gap:7px;flex:1;min-height:44px;padding:8px;border:1px solid #dbe5e5;background:white;border-radius:8px;font-size:11px;color:#264750}.seat-panel-tones span{width:20px;height:20px;border-radius:50%;border:1px solid #1b343522}
.seat-colour-shortcut{width:100%;min-height:42px;margin:6px 0 18px;border:1px solid #bcd9d3;border-radius:8px;background:#eef8f4;color:#236b63;font-size:12px;font-weight:600}

.seat-contrast-editor{margin:20px 0;border:1px solid #dce7e5;border-radius:10px;padding:0 12px;background:#fbfdfc}
.seat-contrast-editor>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;min-height:68px;padding:12px 0}.seat-contrast-editor>summary::-webkit-details-marker{display:none}
.seat-contrast-swatch{width:30px;height:30px;border:3px solid white;box-shadow:0 0 0 1px #d3dfdb;border-radius:50%;flex-shrink:0}.seat-contrast-editor strong{font-size:12px}.seat-contrast-editor small{display:block;font-size:10px;color:#627b7e;line-height:1.5;margin-top:3px}.seat-contrast-expand{margin-left:auto;font-size:20px;color:#50857c}.seat-contrast-editor[open] .seat-contrast-expand{transform:rotate(45deg)}.seat-contrast-editor .paint-picker{margin-top:15px}.seat-contrast-editor .paint-chips{gap:2px}

.seat-reference-palette{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:42px;background:#f6f9f8;border:1px solid #dbe5e1;border-radius:8px;font-size:11px;font-weight:600;color:#345b59;margin:12px 0}.seat-reference-palette>span{display:flex}.seat-reference-palette i{display:block;width:18px;height:18px;border-radius:50%;background:#e5e7e5;border:1px solid #c8d0cc}.seat-reference-palette i+i{background:#737e83;margin-left:-4px}

/* Keep the material switch compact so the colour editor is easy to reach. */
.choice-grid.floor-material-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.floor-material-options .choice{min-width:0;min-height:77px;padding:12px 7px 10px;text-align:center}
.floor-material-options .choice svg{width:19px;height:19px;margin:0 auto 7px}
.floor-material-options .choice strong{font-size:11px;line-height:1.35;margin:0}
.floor-material-options .choice small{display:none}
.floor-material-options .choice.selected:after{top:5px;right:5px;font-size:10px}

@media(max-width:900px){
 .paint-picker{width:100%;max-width:290px;margin:12px auto 16px;border:1px solid #dce6e4;border-radius:12px;background:#fbfdfc;overflow:hidden}
 .paint-preview{display:none}
 .paint-picker:not(.paint-expanded) .paint-controls{display:none}
 .paint-mobile-toggle{display:flex;align-items:center;gap:9px;min-height:58px;width:100%;padding:9px 12px;text-align:left;touch-action:pan-y}
 .paint-mobile-toggle .paint-preview-swatch{width:32px;height:32px;flex-basis:32px;border-width:3px;box-shadow:0 0 0 1px #d5dfe0}
 .paint-mobile-caption{min-width:0;flex:1}.paint-mobile-caption strong{display:block;font-size:12px;font-weight:600;line-height:1.35}.paint-mobile-caption small{display:block;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;color:#6b8086;margin-top:3px}
 .paint-mobile-action{font-size:11px;color:#237e76;font-weight:600}.paint-mobile-chevron{font-size:19px;color:#61797e;line-height:1}.paint-expanded .paint-mobile-chevron{transform:rotate(180deg)}
 .paint-controls{padding:0 12px 6px}.paint-surface{height:100px;border-radius:8px;touch-action:pan-y pinch-zoom}
 .paint-cursor{width:16px;height:16px}.paint-surface.dragging .paint-cursor{width:20px;height:20px}
 .paint-help{font-size:10px;margin:7px 0 9px;line-height:1.4}.paint-help-desktop{display:none}.paint-help-mobile{display:inline}
 .paint-hue-label,.paint-fine label{font-size:10px}.paint-picker input[type=range]{height:32px}.paint-hue::-webkit-slider-runnable-track{height:10px}.paint-hue::-webkit-slider-thumb{margin-top:-5px}.paint-hue::-moz-range-track{height:10px}
 .paint-exact{padding:6px 8px;gap:8px;margin-top:3px}.paint-exact label{font-size:11px}.paint-exact label span{display:none}.paint-exact input{font-size:16px;height:36px;width:110px;padding:4px;letter-spacing:0}
 .paint-quick{margin-top:10px}.paint-chips{gap:1px;margin-top:3px}.paint-chip{height:32px;padding:3px}.paint-chip span{width:22px;height:22px}.paint-error{font-size:11px}
 .paint-fine{margin-top:8px}.paint-fine summary{min-height:36px;padding:9px 0;font-size:11px}.paint-fine>div{padding:5px 0}.paint-fine input[type=range]{height:36px}
 .seat-colour-modes{gap:6px;margin:10px 0}.seat-colour-modes button{padding:10px 8px;min-height:44px}.seat-colour-modes span{display:none}
 .seat-contrast-editor{margin:12px 0;padding:0 9px}.seat-contrast-editor>summary{min-height:54px;padding:8px 0}.seat-contrast-editor .paint-picker{margin:8px auto 12px}
 .seat-colour-linked{margin:10px 0 14px;padding:10px}.seat-reference-palette{margin:8px 0;min-height:38px}
}

