
*{box-sizing:border-box}body{margin:0;background:#f4f5f5;color:#172738;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2d80c7;outline-offset:4px}header{height:90px;border-bottom:1px solid #dce1e5;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fff}.brand{font-size:27px;font-weight:800;letter-spacing:5px}.brand span{color:#1e5991}.head-right{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#6c7d8c}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:calc(100vh - 90px)}.stage{position:relative;min-height:640px;overflow:hidden;background:radial-gradient(ellipse at 52% 42%,#fff 0%,#f0f2f4 65%,#e3e8ed 100%)}.stage-title{position:absolute;top:36px;left:42px;z-index:2;pointer-events:none}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#6a7b8e}.stage h1{font-size:42px;letter-spacing:-2px;margin:7px 0}.stage h1 span{font-weight:400;color:#a3adb5}.subtitle{font-size:13px;color:#6a7b8e;margin:0}#scene{display:block;width:100%;height:100%;touch-action:none;position:absolute;inset:0}.viewbar{position:absolute;left:42px;right:42px;bottom:32px;display:flex;gap:5px;flex-wrap:wrap}.viewbar button{border:1px solid #dce2e7;border-radius:6px;background:#ffffffb8;padding:10px 15px;font-size:12px;color:#52677b}.viewbar button.active{background:#172d42;color:#fff;border-color:#172d42}.gesture{position:absolute;bottom:82px;left:42px;font-size:11px;color:#7a8995;pointer-events:none}.scale{position:absolute;right:28px;bottom:35px;font-size:10px;color:#8a99a6;writing-mode:vertical-rl;letter-spacing:1px}.panel{padding:36px 26px 25px;background:#fff;border-left:1px solid #dce1e5}.panel h2{font-size:19px;margin:0 0 6px;font-weight:500}.panel .intro{font-size:12px;color:#738391;margin:0 0 28px;line-height:1.5}.section{padding:21px 0;border-top:1px solid #e8ecef}.section-title{font-size:10px;letter-spacing:1.7px;font-weight:700;text-transform:uppercase;display:flex;justify-content:space-between;margin:0 0 14px}.swatches{display:flex;gap:10px;margin-bottom:12px}.swatch{width:29px;height:29px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #ddd;background:var(--color)}.swatch.selected{box-shadow:0 0 0 2px #215d96}.custom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#6c7f8d}input[type=color]{height:26px;width:40px;background:#fff;border:1px solid #dce2e8;border-radius:3px;padding:2px}select{width:100%;padding:10px;border:1px solid #dce3e8;border-radius:5px;background:#f9fafb;color:#213c51;font-size:12px}input[type=range]{width:100%;accent-color:#215d96;margin:5px 0 12px}.secondary{border:1px solid #dce3e8;padding:10px;width:100%;border-radius:5px;background:#fff;color:#34546d;font-size:12px}.rotation{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:17px;color:#5b7182;cursor:pointer}.rotation input{accent-color:#215d96;width:16px;height:16px}.primary{width:100%;background:#174f81;color:#fff;border:none;padding:14px 8px;border-radius:5px;font-size:12px;margin-bottom:8px}.export-row{display:flex;gap:7px}.export-row button{font-size:11px;padding:10px 3px}.specs{display:flex;gap:15px;font-size:12px;line-height:1.6;margin-top:25px;color:#28455e}.specs span{font-size:10px;color:#8796a3;display:block}.footnote{font-size:10px;line-height:1.55;color:#89959f;margin-top:18px}.pill{border:1px solid #dce6ef;border-radius:20px;padding:6px 10px;font-size:10px;letter-spacing:1px;color:#315c81}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:20px;border-radius:8px;font-size:14px}.loading[hidden]{display:none}@media(max-width:850px){header{padding:0 24px;height:70px}.layout{grid-template-columns:1fr}.stage{min-height:520px}.panel{border-left:0;border-top:1px solid #ddd;padding:25px}.stage-title{left:24px;top:24px}.viewbar,.gesture{left:24px}.head-right{display:none}.panel .section{display:inline-block;vertical-align:top;width:calc(50% - 12px);margin-right:10px}.panel .intro{margin-bottom:15px}.stage h1{font-size:34px}.scale{display:none}}@media(max-width:440px){.stage{min-height:440px}.panel .section{width:100%;margin-right:0}.viewbar{gap:3px;bottom:20px;right:24px}.viewbar button{padding:9px 10px}.gesture{bottom:108px;max-width:calc(100% - 48px)}.stage-title .subtitle{max-width:none;font-size:11px;line-height:1.4}.brand{font-size:22px}.pill{font-size:9px}}

/* Navigation des fiches SAFEBOX */
.product-header{height:96px;gap:24px;border-top:4px solid #0068f4;padding:0 42px}
.product-header .brand{display:block;line-height:0;margin-left:auto;flex-shrink:0}
.product-header .brand img{width:230px;height:auto;display:block}
.back-to-range{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;background:#0864ed;border:1px solid #0864ed;border-radius:8px;color:#fff;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 5px 16px #0864ed20}
.back-to-range span{font-size:22px;line-height:1}.back-to-range:hover{background:#084eb8}.back-to-range:focus-visible,.product-header .brand:focus-visible{outline:3px solid #172c42;outline-offset:5px}
@media(max-width:850px){.product-header{height:86px;padding:0 24px;gap:16px}.product-header .brand img{width:205px}.back-to-range{padding:11px 16px;font-size:13px}}
@media(max-width:520px){.product-header{height:auto;min-height:118px;flex-wrap:wrap;gap:14px;padding:16px 18px}.product-header .brand{order:-1;margin-left:0;flex-basis:100%}.product-header .brand img{width:176px;margin-left:auto}.back-to-range{min-height:44px;width:100%}}

@media(max-width:850px){.stage{min-height:540px;background:#eef1f4}#scene{top:112px;bottom:82px;height:calc(100% - 194px)}}

@media(max-width:440px){#scene{bottom:124px;height:calc(100% - 236px)}}

/* SAFEBOX26: comparison of the same product under two rendering treatments. */
.render-comparison{padding:18px 0 20px;border-top:1px solid #e8ecef}
.render-comparison h3{font-size:12px;font-weight:700;margin:0 0 12px;color:#203b52}
.render-options{display:flex;padding:3px;border:1px solid #dce3e8;border-radius:7px;background:#f3f6f8;gap:3px}
.render-options button{flex:1;padding:10px 6px;min-height:40px;border:0;border-radius:4px;background:transparent;font-size:11px;color:#546c80;font-weight:600}
.render-options button[aria-pressed=true]{background:#174f81;color:#fff;box-shadow:0 2px 6px #173d5520}
.render-comparison p{font-size:11px;line-height:1.5;margin:10px 0 0;color:#718393}

/* Product settings and specifications, without the former view/export toolbar. */
.layout{grid-template-columns:minmax(0,1fr) 350px}.panel .intro{font-size:13px;line-height:1.7}.gesture{bottom:28px;right:48px;line-height:1.6}.model-specs{margin:0;display:grid;gap:18px;font-size:13px}.model-specs div{display:grid;gap:5px}.model-specs dt{color:#738391;font-size:12px}.model-specs dd{margin:0;font-weight:600;line-height:1.6;color:#163454}.sheet-download{display:block;text-align:center;text-decoration:none;background:#0068f4;line-height:1.6}.panel .section-title{font-family:Montserrat,Arial,sans-serif;font-size:11px;line-height:1.6}.panel .footnote{margin-top:0}
@media(max-width:850px){.layout{grid-template-columns:1fr}.panel .section{display:block;width:100%;margin-right:0}.panel{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.panel>h2,.panel>.intro,.panel>.footnote{grid-column:1/-1}.gesture{bottom:22px;left:24px;right:24px}#scene{top:112px;bottom:76px;height:calc(100% - 188px)}}
@media(max-width:520px){.panel{display:block}.gesture{font-size:10px;max-width:none}.panel .section{padding:20px 0}}

/* Clear, compact settings cards shared by every Safebox Key viewer. */
.panel{background:#f7f9fc;padding:30px 22px}.panel .intro{color:#5d7083;margin-bottom:22px}
.panel .section{background:#fff;border:1px solid #e1e8f1;border-radius:14px;padding:16px;margin:0 0 14px;box-shadow:0 3px 12px #153c6405}
.panel .section-title{justify-content:flex-start;align-items:center;gap:10px;margin:0 0 15px;font-size:11px;letter-spacing:1.1px;color:#173955}
.setting-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:linear-gradient(140deg,#3d9aff,#0756d9 60%,#133678);color:#fff;box-shadow:0 3px 7px #0057cc24}.setting-icon svg{width:20px;height:20px}
.panel .swatches{gap:10px;margin-bottom:16px}.panel .swatch{width:44px;height:44px;flex:0 0 44px;border:6px solid #fff;box-shadow:0 0 0 1px #dbe3ed;transition:box-shadow .18s,transform .18s}
.panel .swatch:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #0068f4,0 4px 9px #173e6417}.panel .swatch.selected{box-shadow:0 0 0 2px #0068f4}
.panel select{border-radius:9px;background:#f6f8fc;border-color:#dce5ef;padding:12px;color:#173955}.panel .custom{gap:12px;color:#52697f}.panel input[type=color]{width:42px;height:32px;border-radius:7px}
.panel .model-specs{gap:12px}.panel .model-specs div+div{border-top:1px solid #eef2f7;padding-top:10px}.panel .model-specs dd{font-size:12px}.panel .sheet-download{border-radius:9px;margin-bottom:0;background:linear-gradient(120deg,#147bff,#0755d6);font-weight:600;box-shadow:0 4px 10px #0057cc1a}.panel .sheet-download:hover{background:linear-gradient(120deg,#0069f0,#0947b5)}
@media(max-width:850px){.panel{gap:0 16px}.panel .section{width:100%;margin:0 0 16px}.panel .intro{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.panel .swatch{transition:none}}
