/* ── BS Custom — cartes cadeaux (lot 19, 28.09.2026) ──────────────────────
   Fiche « Carte cadeau », vérification du solde, page de solde, espace client.
   Jetons du thème (theme.css) : --gold, --text, --muted, --card, --border.
   npm n'existe pas sur l'hébergement : tout est ici, en CSS statique versionné
   par config/assets.php. Cibles tactiles ≥ 44 px (règle mobile du site). */

.gc-page{padding:calc(var(--navH) + 36px) 0 72px}
.gc-page p,.gc-page li{text-align:left}
.gc-kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 10px}
.gc-title{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,4.2vw,52px);line-height:1.08;margin:0 0 12px;color:var(--text)}
.gc-lead{color:var(--muted);font-size:15.5px;line-height:1.6;margin:0 0 28px;max-width:620px}

/* Grille fiche : aperçu collant à gauche, formulaire à droite */
.gc-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;align-items:start}
.gc-sticky{position:sticky;top:calc(var(--navH) + 20px)}

/* Aperçu de la carte (mêmes fonds que le PDF) */
.gc-card{position:relative;aspect-ratio:794/559;border-radius:14px;overflow:hidden;background:#0b0b0b center/cover no-repeat;box-shadow:0 24px 60px rgba(0,0,0,.55);border:1px solid rgba(198,169,109,.25);container-type:inline-size}
.gc-card-in{position:absolute;inset:0;padding:10.5% 0 0 8%;color:#f8f8f8}
.gc-card-cap{font-size:1.5cqw;letter-spacing:.3em;text-transform:uppercase;color:#d4b26a;font-weight:600;margin:0 0 1.6cqw}
.gc-card-noel{font-family:var(--font-display);font-size:4cqw;color:#e3c47f;margin:0 0 .6cqw;display:none}
.gc-card-amount{font-family:var(--font-display);font-size:13cqw;line-height:1;color:#d4b26a;margin:0}
.gc-card-amount small{font-size:.38em}
.gc-card-for{font-family:var(--font-display);font-size:3.4cqw;margin:2.4cqw 0 0;min-height:1.2em}
.gc-card-msg{font-size:1.7cqw;color:#cfcfcf;margin:.8cqw 0 0;max-width:54%;line-height:1.45}
.gc-card[data-theme="noel"] .gc-card-noel{display:block}
.gc-card[data-theme="noel"] .gc-card-cap{display:none}
.gc-card[data-design="ivoire"] .gc-card-in{padding:12% 10% 0;text-align:center;color:#161616}
.gc-card[data-design="ivoire"] .gc-card-in p{text-align:center}
.gc-card[data-design="ivoire"] .gc-card-amount{color:#111}
.gc-card[data-design="ivoire"][data-theme="noel"] .gc-card-amount,.gc-card[data-design="ivoire"] .gc-card-noel{color:#6b1e2a}
.gc-card[data-design="ivoire"] .gc-card-msg{color:#4a4a4a;max-width:none;font-style:italic}
.gc-card[data-design="ivoire"] .gc-card-cap{color:#8a7443}
.gc-card[data-design="ciel"] .gc-card-in{padding-top:9%}
.gc-card[data-design="ciel"] .gc-card-amount{color:#fff}
.gc-preview-note{font-size:12.5px;color:var(--muted);margin:12px 2px 0}

/* Formulaire */
.gc-form{display:flex;flex-direction:column;gap:26px}
.gc-step{border:1px solid var(--border);border-radius:16px;padding:20px;background:rgba(255,255,255,.02)}
.gc-step h2{font-family:Inter,system-ui,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;font-weight:600;display:flex;gap:10px;align-items:center}
.gc-step h2 span{display:inline-flex;width:24px;height:24px;border:1px solid var(--gold);border-radius:50%;align-items:center;justify-content:center;font-size:11px;letter-spacing:0}
.gc-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gc-choice{position:relative}
.gc-choice input{position:absolute;opacity:0;pointer-events:none}
.gc-choice span{display:flex;align-items:center;justify-content:center;min-height:52px;border:1px solid rgba(198,169,109,.35);border-radius:12px;font-family:var(--font-display);font-size:22px;color:var(--text);cursor:pointer;transition:border-color .18s ease,background-color .18s ease}
.gc-choice input:checked+span{border-color:var(--gold);background:rgba(198,169,109,.12);color:var(--gold)}
.gc-choice input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.gc-free{margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gc-free label{font-size:13px;color:var(--muted)}
.gc-input,.gc-textarea{width:100%;min-height:46px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.35);color:var(--text);padding:10px 14px;font:inherit;font-size:15px}
.gc-input:focus,.gc-textarea:focus{outline:none;border-color:var(--gold)}
.gc-free .gc-input{max-width:170px}
.gc-textarea{min-height:92px;resize:vertical}
.gc-field{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.gc-field label{font-size:13px;color:var(--text)}
.gc-hint{font-size:12px;color:var(--muted);margin:0}
.gc-designs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gc-design span{display:flex;flex-direction:column;gap:8px;min-height:44px;padding:8px;border:1px solid rgba(198,169,109,.25);border-radius:12px;cursor:pointer;font-family:inherit;font-size:12.5px;color:var(--text)}
.gc-design img{width:100%;aspect-ratio:794/559;object-fit:cover;border-radius:7px;display:block}
.gc-design input:checked+span{border-color:var(--gold);background:rgba(198,169,109,.1)}
.gc-check{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:13.5px;color:var(--text);min-height:44px;cursor:pointer}
.gc-check input{width:20px;height:20px;accent-color:var(--gold);margin-top:1px;flex:none}
.gc-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gc-mode span{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;font-family:inherit;font-size:14px;text-align:left}
.gc-mode small{font-size:12px;color:var(--muted);font-family:Inter,sans-serif}
.gc-only-email{display:none}
.gc-form[data-delivery="email"] .gc-only-email{display:block}
.gc-counter{font-size:11.5px;color:var(--muted);text-align:right}

/* Encadré « bon à savoir » (conditions visibles AVANT le paiement, LCD art. 3 let. s) */
.gc-info{border:1px solid rgba(198,169,109,.3);border-radius:16px;padding:18px 20px;background:rgba(198,169,109,.05)}
.gc-info h3{margin:0 0 10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.gc-info ul{margin:0;padding-left:18px;color:var(--text);font-size:13.5px;line-height:1.65}
.gc-submit{min-height:54px;width:100%;font-size:13px;letter-spacing:.12em}
.gc-msg{border-radius:12px;padding:12px 16px;font-size:14px;line-height:1.5;display:none}
.gc-msg.ok{display:block;border:1px solid rgba(34,197,94,.35);background:rgba(34,197,94,.08);color:#4ade80}
.gc-msg.ko{display:block;border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.08);color:#f87171}
.gc-msg a{color:var(--gold);text-decoration:underline}

/* Comment ça marche */
.gc-how{margin-top:64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gc-how div{border-top:1px solid rgba(198,169,109,.35);padding-top:16px}
.gc-how b{display:block;font-family:var(--font-display);font-weight:400;font-size:21px;color:var(--text);margin-bottom:6px}
.gc-how p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}

/* Vérification / solde / espace client */
.gc-narrow{max-width:620px}
.gc-panel{border:1px solid var(--border);border-radius:16px;padding:24px;background:rgba(255,255,255,.02);margin-top:22px}
.gc-balance{font-family:var(--font-display);font-size:clamp(44px,7vw,64px);color:var(--gold);line-height:1;margin:6px 0 10px}
.gc-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px}
.gc-row:last-child{border-bottom:0}
.gc-row span:first-child{color:var(--muted)}
.gc-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.5px;border:1px solid rgba(198,169,109,.4);color:var(--gold)}
.gc-badge.off{border-color:rgba(255,255,255,.2);color:var(--muted)}
.gc-table{width:100%;border-collapse:collapse;font-size:14px}
.gc-table th{text-align:left;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.08)}
.gc-table td{padding:12px 6px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:top}
.gc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.gc-actions .btn{min-height:44px}

@media (max-width:900px){
 .gc-grid{grid-template-columns:1fr;gap:26px}
 .gc-sticky{position:static}
 .gc-how{grid-template-columns:1fr}
}
@media (max-width:520px){
 .gc-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gc-modes{grid-template-columns:1fr}
 .gc-designs{gap:8px}
 .gc-design span{font-size:11.5px;padding:6px}
 .gc-step{padding:16px}
 .gc-table thead{display:none}
 .gc-table tr{display:block;border-bottom:1px solid rgba(255,255,255,.08);padding:8px 0}
 .gc-table td{display:flex;justify-content:space-between;border:0;padding:4px 0}
 .gc-table td::before{content:attr(data-label);color:var(--muted);font-size:12px}
}
