/* =========================================================
   CARTE CADEAU — page d'achat (carte-cadeau.html)
   ========================================================= */
.giftcard-main { padding: calc(var(--header-height, 108px) + var(--promo-h, 0px) + 40px) 24px 80px; }
.giftcard-wrap { max-width: 620px; margin: 0 auto; }

.giftcard-header { text-align: center; margin: 0 0 40px; }
.giftcard-kicker { font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-accent-dark); font-weight: 700; margin: 0 0 8px; }
.giftcard-header h1 { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 0 0 12px; }
.giftcard-intro { color: var(--color-ink-soft); font-size: 0.98rem; line-height: 1.6; max-width: 480px; margin: 0 auto; }

.giftcard-form { background: var(--color-white); border: 1px solid var(--color-line); padding: 32px; display: flex; flex-direction: column; gap: 22px; }
.giftcard-field { display: flex; flex-direction: column; gap: 8px; }
.giftcard-label { font-size: 0.86rem; font-weight: 700; }
.giftcard-form input[type="text"], .giftcard-form input[type="email"], .giftcard-form input[type="number"], .giftcard-form textarea {
  border: 1px solid var(--color-line); background: var(--color-bg); padding: 12px 14px; font-family: var(--font-sans); font-size: 0.95rem; color: var(--color-ink); width: 100%;
}
.giftcard-form textarea { resize: vertical; min-height: 80px; }
.giftcard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.giftcard-amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.giftcard-amount {
  border: 1px solid var(--color-line); background: var(--color-bg); padding: 14px 8px; text-align: center;
  font-family: var(--font-sans); font-weight: 700; font-size: 0.98rem; color: var(--color-ink); cursor: pointer; transition: border-color 0.15s, background 0.15s;
}
.giftcard-amount:hover { border-color: var(--color-accent); }
.giftcard-amount.is-selected { background: var(--color-ink); color: var(--color-white); border-color: var(--color-ink); }
.giftcard-amount-custom { padding: 0; display: flex; }
.giftcard-amount-custom input { border: 1px dashed var(--color-line); background: var(--color-bg); text-align: center; font-weight: 700; padding: 0 6px; height: 100%; }
.giftcard-help { margin: 0; font-size: 0.78rem; color: var(--color-ink-soft); }

.giftcard-terms { display: flex; align-items: flex-start; gap: 10px; font-size: 0.82rem; line-height: 1.5; cursor: pointer; }
.giftcard-terms input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--color-accent-dark); }
.giftcard-terms a { color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }

.giftcard-error { margin: 0; font-size: 0.86rem; font-weight: 600; color: #B3261E; }
.giftcard-error[hidden] { display: none; }

.giftcard-submit { width: 100%; text-align: center; }
.giftcard-secure { margin: 4px 0 0; text-align: center; font-size: 0.8rem; color: var(--color-ink-soft); }

.giftcard-check { margin: 40px 0 0; padding: 24px; background: var(--color-bg); border: 1px solid var(--color-line); text-align: center; }
.giftcard-check h2 { font-family: var(--font-display); font-size: 1.1rem; margin: 0 0 6px; }
.giftcard-check p { margin: 0 0 12px; color: var(--color-ink-soft); font-size: 0.9rem; }
.giftcard-shop-link { color: var(--color-accent-dark); font-weight: 700; text-decoration: none; }
.giftcard-shop-link:hover { text-decoration: underline; }

@media (max-width: 640px) {
  .giftcard-main { padding: calc(var(--header-height, 108px) + var(--promo-h, 0px) + 24px) 16px 60px; }
  .giftcard-form { padding: 22px; }
  .giftcard-grid { grid-template-columns: 1fr; }
  .giftcard-amounts { grid-template-columns: repeat(2, 1fr); }
}
