/* Commerce : les mêmes tokens, boutons sans bordure et formes que le site. */
.purchase-control { display:grid; gap:8px; justify-items:start; }
.purchase-control .btn { gap:14px; }
.purchase-control__status { font-size:var(--fs-sm,14px); min-height:0; margin:0; line-height:1.45; }
.purchase-control__status:empty { display:none; }
.purchase-control button:disabled { opacity:.45; cursor:wait; transform:none; }
.purchase-control button[data-available="false"] { cursor:not-allowed; }
.card-buy__footer .purchase-control { margin-top:12px; }
.product-hero .btn-group { align-items:start; }
.commerce-page { padding-top:clamp(155px,15vw,210px); min-height:70vh; }
.commerce-page .section-head { margin-bottom:48px; }
.commerce-cart { color:var(--c-text); }
.commerce-page .commerce-cart { max-width:1000px; padding:clamp(24px,4vw,56px); background:#f3f7f8; border-radius:36px; }
.commerce-drawer, .beepings-access-dialog { border:0; color:var(--c-text); background:white; padding:0; box-shadow:0 12px 64px #12242c20; }
.commerce-drawer { position:fixed; inset:0 0 0 auto; margin:0; height:100dvh; max-height:100dvh; width:min(560px,100%); max-width:100%; border-radius:32px 0 0 32px; }
.commerce-drawer[open] { animation:commerce-slide-in .38s cubic-bezier(.16,1,.3,1); }
.commerce-drawer::backdrop,.beepings-access-dialog::backdrop { background:#10222b50; backdrop-filter:blur(5px); }
.commerce-drawer__head { display:flex; justify-content:space-between; align-items:center; gap:16px; position:sticky; top:0; z-index:1; padding:32px; background:#fffffff2; backdrop-filter:blur(12px); }
.commerce-drawer__head .h3 { margin:0; }
.commerce-drawer .commerce-cart { padding:0 32px 40px; }
.commerce-lines { list-style:none; padding:0; margin:0; }
.commerce-line { display:flex; align-items:center; gap:20px; padding:26px 0; border-bottom:1px solid #dce5e9; }
.card-buy__footer .commerce-discovery { display:inline-flex; margin-top:10px; font-size:14px; }
.commerce-line img { flex:0 0 106px; width:106px; height:106px; object-fit:contain; background:#f1f6f8; border-radius:24px; }
.commerce-line__detail { display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; flex:1; min-width:0; }
.commerce-line__name { grid-column:1/-1; font-size:20px; font-weight:500; text-decoration:none; color:var(--c-text); }
.commerce-line__price { grid-column:1/-1; color:var(--c-primary); font-size:18px; }
.commerce-quantity { display:inline-flex; width:max-content; align-items:center; gap:16px; background:#edf3f5; border-radius:50px; padding:4px; }
.commerce-quantity button { background:white; color:var(--c-primary); border:0; border-radius:50%; width:32px; height:32px; cursor:pointer; }
.commerce-quantity button:disabled { opacity:.35; cursor:default; }
.commerce-quantity span { font-variant-numeric:tabular-nums; font-size:16px; }
.commerce-text-button { background:transparent; border:0; padding:4px 0; font:inherit; font-size:14px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; color:inherit; }
.commerce-text-button:hover { color:var(--c-primary); }
.commerce-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; font-size:22px; padding-top:28px; }
.commerce-summary strong { color:var(--c-primary); font-weight:500; }
.commerce-muted { font-size:14px; opacity:.7; margin:12px 0 24px; }
.commerce-notice { border-radius:20px; padding:20px; background:var(--c-primary-100); font-size:16px; line-height:1.55; }
.commerce-cart__full-link { margin-top:24px; }
.commerce-cart__checkout-link { margin-top:24px; }
.commerce-empty { margin-top:36px; line-height:1.25; }
.commerce-error { padding:16px; border-radius:16px; background:#fff4ed; color:#8c3e19; font-size:16px; }
.commerce-session { font-size:14px; margin-top:32px; }
.commerce-cart__audience { color:var(--c-primary); font-size:14px; text-transform:uppercase; letter-spacing:.07em; }
.commerce-toast { position:fixed; bottom:30px; left:50%; z-index:1500; translate:-50% 16px; width:max-content; max-width:calc(100% - 40px); border-radius:18px; background:#253c48; color:white; box-shadow:0 8px 32px #10222b20; padding:16px 24px; opacity:0; pointer-events:none; transition:opacity .25s,translate .35s cubic-bezier(.16,1,.3,1); font-size:16px; }
.commerce-toast.is-visible { opacity:1; translate:-50% 0; }
.beepings-access-dialog { border-radius:32px; padding:40px; width:min(480px,calc(100% - 32px)); }
.beepings-access-dialog[open] { animation:commerce-notify .35s cubic-bezier(.16,1,.3,1); }
.beepings-access-dialog form { display:grid; gap:12px; }
.beepings-access-dialog input { border:1px solid #ccd8dd; border-radius:14px; min-height:54px; padding:12px 16px; width:100%; font:inherit; }
.beepings-access-dialog input[name="code"] { font-variant-numeric:tabular-nums; letter-spacing:.3em; }
.beepings-access-dialog [role="alert"] { color:#8c3e19; }
.beepings-access-dialog .commerce-text-button { display:block; margin-top:12px; }
.beepings-access-dialog [hidden] { display:none; }
.commerce-drawer button:focus-visible,.commerce-cart a:focus-visible,.beepings-access-dialog :focus-visible { outline:3px solid var(--c-primary); outline-offset:4px; }
@keyframes commerce-slide-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
@keyframes commerce-notify { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(max-width:600px) { .commerce-drawer { border-radius:24px 0 0 24px; } .commerce-drawer__head { padding:24px; } .commerce-drawer .commerce-cart { padding:0 24px 32px; } .commerce-line { gap:12px; } .commerce-line img { width:80px; height:90px; flex-basis:80px; } .commerce-line__name { font-size:18px; } .beepings-access-dialog { padding:28px; } }
@media(prefers-reduced-motion:reduce) { .commerce-drawer[open],.commerce-line,.beepings-access-dialog[open] { animation:none; } .commerce-toast { transition:none; } }
