.preorder { background: #111315; color: #e8e6df; scroll-margin-top: 90px; }
.preorder-small {font-size:12px;line-height:1.7;color:#b9b6af;margin:15px 0}
.preorder-small a {text-decoration:underline}
.preorder-heading { display: grid; grid-template-columns: 1fr 1.2fr; gap: 5vw; align-items: start; margin-bottom: 55px; }
.preorder h2 { font-size: clamp(35px, 5.5vw, 76px); line-height: 1.05; }
.preorder h2 em { color: #b8a184; }
.preorder-intro { color: #b9b6af; font-size: 16px; line-height: 1.7; max-width: 530px; margin-top: 24px; }
.delivery-schedule { border-top: 1px solid #55534f; padding-top: 24px; }
.delivery-schedule p { color: #b9b6af; font-size: 14px; line-height: 1.6; }
.preorder-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 5vw; }
.preorder-image { width: 100%; max-height: 780px; object-fit: cover; border: 1px solid #55534f; }
.preorder-visual { min-width: 0; align-self: start; position: sticky; top: 105px; }
.preorder-stage { position: relative; height: clamp(350px, 48vw, 680px); overflow: hidden; border: 1px solid #55534f; background: radial-gradient(ellipse at 50% 35%, #f1efe8, #c7c2b8); }
.preorder-stage .preorder-image { position: absolute; inset: 0; height: 100%; max-height: none; border: 0; object-fit: cover; }
.preorder-stage model-viewer { position:absolute; inset:0; display: block; width: 100%; height: 100%; opacity: 0; pointer-events: none; }
.preorder-stage[data-ready=true] model-viewer[data-active=true] { opacity: 1; pointer-events: auto; }
.preorder-stage[data-ready=true] .preorder-image { display: none; }
.preorder-view-controls { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 12px; font-size: 12px; letter-spacing: .06em; }
.preorder-view-controls button, .model-retry { border: 1px solid #66615a; color: #e8e6df; background: transparent; padding: 10px 14px; font: inherit; cursor: pointer; }
.preorder-view-controls button:disabled { opacity: .4; cursor: default; }
.preorder [hidden] { display: none !important; }
.preorder-summary { gap: 16px; }
.preorder-summary > :last-child { text-align: right; overflow-wrap: anywhere; }
.preorder-summary { display: flex; justify-content: space-between; padding: 20px 0; border-bottom: 1px solid #55534f; }
.preorder form { font-size: 15px; }
.preorder fieldset { padding: 0; margin: 0 0 24px; border: 0; }
.preorder legend { font-size: 12px; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 14px; }
.finish-choice { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.grille-choice { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grille-choice label { min-width: 0; }
.grille-choice label span { min-width: 0; overflow-wrap: anywhere; }
@media(max-width:400px) { .grille-choice label { flex-direction: column; align-items: flex-start; } }
.grille-choice small { display: block; margin-top: 4px; color: #b9b6af; font-size: 11px; line-height: 1.4; }
.finish-choice label { position: relative; display: flex; align-items: center; gap: 8px; padding: 14px 10px; border: 1px solid #66615a; cursor: pointer; font-size: 12px; }
.finish-choice label:has(input:checked) { border-color: #c0a37b; background: #302b24; }
.preorder input, .preorder select { accent-color: #b8a184; }
.preorder input:not([type=radio]):not([type=checkbox]), .preorder select { display: block; width: 100%; min-height: 44px; margin-top: 7px; padding: 10px; border: 1px solid #66615a; border-radius: 0; background: #1b1d1e; color: #f0ede7; font: inherit; }
.preorder input:focus-visible, .preorder button:focus-visible, .preorder a:focus-visible { outline: 2px solid #c0a37b; outline-offset: 3px; }
@media(max-width:900px) { .preorder-heading,.preorder-layout { gap: 22px; } .preorder-intro { font-size: 14px; } .finish-choice { gap: 4px; } .finish-choice label { padding: 10px 5px; font-size: 11px; } }
/* Le formulaire bénéficie d'une largeur lisible ; les grilles éditoriales existantes restent intactes. */
@media(max-width:650px) { .preorder-heading,.preorder-layout { grid-template-columns: 1fr; } .preorder-image { max-height: 360px; object-position: center 48%; } .preorder h2 { font-size: 42px; } .preorder input:not([type=radio]):not([type=checkbox]), .preorder select { font-size: 16px; } }
@media(max-width:650px) { .preorder-visual { position: static; } .preorder-stage { height: clamp(350px, 105vw, 480px); } }

#preorder-form{font-size:15px;min-width:0}.launch-note{border-top:1px solid #66615a;margin-top:30px;padding-top:26px}.launch-note h3{font-size:clamp(22px,3vw,34px);font-weight:400}.launch-note p{font-size:14px;line-height:1.7;color:#b9b6af;margin:18px 0}.preorder-heading{grid-template-columns:1fr}.finish-choice label{overflow-wrap:anywhere;min-width:0}
