/* AMSDIAG — page Calculateur moteur (complète styles.css) */
.calc-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
@media (max-width:900px){ .calc-wrap{grid-template-columns:minmax(0,1fr)} .calc-cote{order:-1} }
.calc-form,.calc-form > *,.calc-photos,.calc-photo > *{min-width:0}
.calc-form{display:grid;gap:18px}
.calc-titre{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700}
.calc-titre .num{
  display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:0 0 auto;
  background:var(--blue);color:#FFFFFF;font-size:14px;font-family:"IBM Plex Mono",monospace;
}
.calc-err input,.calc-err select{border-color:var(--coral)!important}
.calc-alerte{background:#FDE8E4;border-radius:12px;padding:12px 14px;margin:0}
.calc-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.calc-petit{font-size:13px;color:var(--ink-3);text-align:center}

fieldset.calc-radios{border:0;margin:0;padding:0;min-width:0}
fieldset.calc-radios legend{
  padding:0;margin-bottom:6px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--blue);
}
.calc-opts{display:flex;flex-wrap:wrap;gap:8px}
.calc-opt{position:relative;cursor:pointer}
.calc-opt input{position:absolute;opacity:0;width:1px;height:1px}
.calc-opt span{
  display:block;padding:11px 16px;border-radius:11px;border:1px solid var(--line);background:var(--card-2);
  font-size:15px;font-weight:600;color:var(--ink-2);transition:border-color .15s,background .15s;
}
.calc-opt input:checked + span{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.calc-opt input:focus-visible + span{outline:3px solid var(--orange);outline-offset:2px}
.calc-err .calc-opt span{border-color:var(--coral)}

.calc-photos{display:grid;gap:12px}
.calc-photos[hidden]{display:none}
.calc-intro{font-size:14.5px;color:var(--ink-2);background:var(--orange-soft);border-radius:11px;padding:11px 13px}
.calc-photo{
  display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:start;
  border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--card-2);
}
.calc-photo.calc-err{border-color:var(--coral)}
.calc-ph-txt{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}
.calc-ph-txt label{font-weight:600;font-size:15px}
.calc-ph-txt input[type=file]{font-size:14px;max-width:100%}
.calc-apercu{width:100%;max-width:260px;box-sizing:border-box;max-height:200px;object-fit:contain;border-radius:10px;border:1px solid var(--line);background:#FFFFFF}
.calc-ill{
  width:76px;height:76px;border-radius:12px;background:#FFFFFF center/58px no-repeat;border:1px solid var(--line);
}
/* petits dessins : étiquette, connecteurs, boîtier */
.calc-ill-etiquette{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%231D4E89' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='6' y='12' width='52' height='40' rx='5'/%3E%3Crect x='13' y='19' width='38' height='22' rx='2' stroke='%23FA6808'/%3E%3Cpath d='M18 26h20M18 31h28M18 36h14' stroke='%23FA6808'/%3E%3Cpath d='M14 46h6M24 46h6M34 46h6M44 46h6'/%3E%3C/svg%3E")}
.calc-ill-connecteur{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%231D4E89' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='6' y='20' width='52' height='24' rx='4'/%3E%3Crect x='12' y='26' width='18' height='12' rx='2' stroke='%23FA6808'/%3E%3Crect x='34' y='26' width='18' height='12' rx='2' stroke='%23FA6808'/%3E%3Cpath d='M16 30v4M20 30v4M24 30v4M38 30v4M42 30v4M46 30v4' stroke='%23FA6808'/%3E%3C/svg%3E")}
.calc-ill-ensemble{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%231D4E89' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M10 22 32 12l22 10v22L32 54 10 44z'/%3E%3Cpath d='M10 22l22 10 22-10M32 32v22'/%3E%3Cpath d='M38 38l10-4' stroke='%23FA6808'/%3E%3C/svg%3E")}

.calc-cote h3{font-size:17px;font-weight:700}
.calc-etapes{margin:0;padding-left:20px;display:grid;gap:10px;font-size:14.5px;color:var(--ink-2)}
.calc-etapes b{color:var(--ink)}
.calc-merci{max-width:560px;margin:0 auto;text-align:center;justify-items:center}
.calc-merci p{font-size:16px;color:var(--ink-2)}
@media (max-width:520px){ .calc-photo{grid-template-columns:56px minmax(0,1fr)} .calc-ill{width:56px;height:56px;background-size:42px} }
/* les options ne reprennent pas le style des intitulés de champ */
.field label.calc-opt{text-transform:none;letter-spacing:0;font-size:15px;font-weight:600;color:var(--ink-2)}
.calc-ph-txt label{text-transform:none;letter-spacing:0;color:var(--ink)}
#c-vin::placeholder{text-transform:none;letter-spacing:0;font-family:"IBM Plex Sans",system-ui,sans-serif}
