.checkout-page { max-width: 1100px; margin: 0 auto; padding: 200px 24px 80px; font-family: Georgia, serif; }
.checkout-page h1 { font-family: Gabriola, Georgia, serif; font-size: clamp(38px, 6vw, 64px); line-height: 1.2; margin-bottom: 20px; }
.checkout-page h2 { font-size: 26px; margin-bottom: 20px; }
.checkout-page p { line-height: 1.6; margin: 16px 0; overflow-wrap: anywhere; }
.checkout-page a { color: #111; text-decoration: underline; }
.checkout-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 30px; }
.checkout-card { border: 2px solid #111; padding: clamp(20px, 4vw, 36px); margin: 24px 0; }
.checkout-card label { display: block; font-weight: bold; margin-bottom: 8px; }
.checkout-card input:not([type=hidden]), .checkout-card textarea { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #555; font: inherit; }
.checkout-page button { background: #111; color: #fff; border: 2px solid #111; padding: 14px 20px; font: inherit; cursor: pointer; max-width: 100%; }
.checkout-page button:focus-visible { outline: 3px solid #777; outline-offset: 3px; }
.checkout-page .notice, .checkout-page .errorlist { background: #fff1e7; color: #742c08; padding: 16px; }
.notice-test { background: #fff4cc; color: #493a00; padding: 16px; border: 1px solid #c4a956; }
.total { font-size: 24px; font-weight: bold; border-top: 1px solid #aaa; padding-top: 20px; }
.simulation-actions { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.stock-badge { display: inline-block; padding: 6px 12px; color: #fff; background: #444; font: bold 16px Arial, sans-serif; }
.card button:disabled { cursor: not-allowed; opacity: .55; }
.order-notice { margin: 20px auto; max-width: 900px; padding: 16px 24px; font: 18px/1.5 Arial, sans-serif; text-align: center; background: #f0f0f0; }
.cart-error { color: #942020; padding: 12px; font: 16px/1.5 Arial, sans-serif; }
@media (max-width: 760px) { .checkout-grid { grid-template-columns: 1fr; } .checkout-page { padding-top: 300px; } }

.checkout-card select { width: 100%; padding: 12px; font: inherit; border: 1px solid #555; background: white; }


/* Le style du bouton est partagé avec le menu ; annule le soulignement des liens. */
.checkout-page a.btn-finaliser {
  color:#fff;
  text-decoration:none;
  max-width:100%;
}
.checkout-page a.btn-finaliser:hover { color:#fff; text-decoration:none; }
@media(max-width:600px) { .checkout-page a.btn-finaliser { width:100%; } }
