.codof{--codof-accent:#e8590c;margin:1.2em 0;max-width:520px;font-size:16px;line-height:1.4}
.codof *{box-sizing:border-box}
.codof button,.codof input,.codof select,.codof textarea{font-family:inherit}
.codof__form{background:#fff;border:2px solid var(--codof-accent);border-radius:12px;padding:18px}
.codof__title{margin:0 0 14px;font-size:1.15em;text-align:center;color:#111}
.codof__field{margin-bottom:12px}
.codof__field label{display:block;margin-bottom:4px;font-weight:600;font-size:.92em;color:#222}
.codof__req{color:#d62828}
.codof__field input[type=text],
.codof__field input[type=tel],
.codof__field input[type=number],
.codof__field select,
.codof__field textarea{width:100%;padding:12px;font-size:16px;border:1px solid #c9c9c9;border-radius:8px;background:#fff;color:#111;box-shadow:none}
.codof__field input:focus,
.codof__field select:focus,
.codof__field textarea:focus{outline:2px solid var(--codof-accent);outline-offset:0;border-color:var(--codof-accent)}
.codof__field [aria-invalid=true]{border-color:#d62828}
.codof__qty{display:flex;align-items:stretch;width:150px}
.codof__qty input{text-align:center;border-radius:0!important;border-left:0!important;border-right:0!important;-moz-appearance:textfield}
.codof__qty input::-webkit-outer-spin-button,
.codof__qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.codof__qty-btn{width:46px;font-size:20px;border:1px solid #c9c9c9;background:#f4f4f4;color:#111;cursor:pointer;padding:0}
.codof__qty-btn:first-child{border-radius:8px 0 0 8px}
.codof__qty-btn:last-child{border-radius:0 8px 8px 0}
.codof__prepay[hidden]{display:none}
.codof__prepay{margin-bottom:12px}
.codof__prepay-notice{margin:0 0 12px;padding:11px 12px;border-radius:8px;background:#fff4e0;border:1px solid #f0b429;color:#7a4b00;font-size:.9em}
.codof__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.codof__summary{margin:14px 0 8px;padding:10px 12px;background:#f7f7f7;border-radius:8px}
.codof__summary>div{display:flex;justify-content:space-between;padding:3px 0;font-size:.95em}
.codof__summary dt,.codof__summary dd{margin:0}
.codof__total{border-top:1px dashed #bbb;margin-top:4px;padding-top:6px!important;font-weight:700;font-size:1.05em!important}
.codof__paynote{margin:8px 0 12px;font-size:.88em;color:#444;text-align:center}
.codof__msg{min-height:0;margin-bottom:10px;font-size:.92em}
.codof__msg:not(:empty){padding:10px 12px;border-radius:8px;background:#fdecec;color:#9b1c1c}
.codof__submit{display:block;width:100%;padding:15px 12px;font-size:1.05em;font-weight:700;color:#fff;background:var(--codof-accent);border:0;border-radius:10px;cursor:pointer;transition:filter .15s}
.codof__submit:hover{filter:brightness(.93)}
.codof__submit[disabled]{opacity:.6;cursor:wait}
.codof__success{padding:22px 18px;text-align:center;border:2px solid #2b9348;border-radius:12px;background:#f0faf3}
.codof__success h3{margin:0 0 8px;color:#1b6e34}
.codof__success p{margin:0 0 10px}
.codof__wa{display:inline-block;margin-top:6px;padding:11px 18px;border-radius:10px;background:#25d366;color:#fff!important;font-weight:700;text-decoration:none}

/* Zone de livraison : champ mis en évidence */
.codof__field--zone label,.codof__field label[for$="city"]{font-size:1.05em;font-weight:800;color:var(--codof-accent)}
.codof select[name=city]{border:2px solid var(--codof-accent)!important;background:#fff6f0!important;font-weight:700;font-size:17px;min-height:52px;color:#111;box-shadow:0 0 0 3px rgba(255,107,53,.18);cursor:pointer}
.codof select[name=city]:required:invalid{color:var(--codof-accent);animation:codofPulse 1.8s ease-in-out infinite}
.codof select[name=city] option{font-weight:600;color:#111}
.codof select[name=city] option[value=""]{color:#888}
@keyframes codofPulse{0%,100%{box-shadow:0 0 0 3px rgba(255,107,53,.18)}50%{box-shadow:0 0 0 6px rgba(255,107,53,.35)}}
@media (prefers-reduced-motion:reduce){.codof select[name=city]:required:invalid{animation:none}}
