
.edition-checkout-trigger { min-height:44px; max-width:100%; white-space:normal; }
.edition-checkout { width:min(35rem,calc(100% - 1.5rem)); max-height:calc(100dvh - 1.5rem); box-sizing:border-box; margin:auto; padding:clamp(1.4rem,4vw,2.6rem); border:1px solid #b9a888; border-radius:6px; background:#fbf7ef; color:#292d2c; box-shadow:0 2rem 7rem #0005; font:400 1rem/1.6 var(--font-body,Literata,Georgia,serif); overflow:auto; overscroll-behavior:contain; }
.edition-checkout::backdrop { background:#0f2025ba; }
/* The sheet stays light even when the page uses a light accent on a dark background. */
.edition-checkout { --accent-text:var(--button,#78371f); }
.edition-checkout [hidden] { display:none!important; }
.edition-checkout p { margin:.5rem 0 1rem; color:inherit; }
.edition-checkout h2 { clear:both; margin:.4rem 3rem 1.1rem 0; color:inherit; font:400 clamp(1.75rem,5.5vw,2.4rem)/1.1 var(--font-display,Georgia,serif); outline:none; }
.edition-checkout__close { position:absolute; top:1rem; right:1rem; width:44px; height:44px; padding:0; border:1px solid #d6cfbf; border-radius:999px; background:#fff; color:#4c514c; font:400 1.4rem/1 var(--font-ui,system-ui,sans-serif); display:grid; place-items:center; cursor:pointer; }
.edition-checkout__close:hover { border-color:var(--accent,#8c6a32); color:var(--accent-text,#4c514c); }
.edition-checkout .edition-checkout__eyebrow { clear:both; margin:0 3rem 0 0; padding-top:.35rem; font:400 .68rem/1.5 var(--font-ui,system-ui,sans-serif); letter-spacing:.14em; text-transform:uppercase; color:var(--accent-text,#70644d); }
.edition-checkout__item { display:flex; gap:1rem; align-items:flex-start; margin:.2rem 0 0; }
.edition-checkout__cover { flex:0 0 auto; width:72px; height:auto; aspect-ratio:1600/2560; border-radius:3px; box-shadow:0 8px 20px -10px rgba(20,20,20,.5); }
.edition-checkout__item-copy { min-width:0; }
.edition-checkout .edition-checkout__product { margin:.1rem 0 .3rem; font:400 1.15rem/1.3 var(--font-display,Georgia,serif); }
.edition-checkout .edition-checkout__detail, .edition-checkout .edition-checkout__comparison { margin:.25rem 0; font:400 .85rem/1.5 var(--font-ui,system-ui,sans-serif); color:#66685e; }
.edition-checkout .edition-checkout__comparison { margin:.9rem 0 0; }
.edition-checkout__doors { display:grid; gap:.8rem; margin:1.6rem 0 .7rem; }
.edition-checkout__doors > :is(a,button) { display:block; width:100%; box-sizing:border-box; min-height:64px; padding:.95rem 1.1rem; border:1px solid #b7ad99; border-radius:4px; font:400 1.05rem/1.35 var(--font-ui,system-ui,sans-serif); text-align:left; text-decoration:none; cursor:pointer; }
/* Both houses have a dark button colour; the text stays light on purpose (afterglow's page palette sets --button-text to navy). */
.edition-checkout__doors > a { background:var(--button,#293d39); border-color:var(--button,#293d39); color:#fffaf1; transition:filter .15s, transform .15s; }
.edition-checkout__doors > a:hover { filter:brightness(1.08); }
.edition-checkout__doors > a:active { transform:translateY(1px); }
.edition-checkout__doors > button { background:transparent; color:#343b37; }
.edition-checkout__doors span { display:block; margin-top:.35rem; font-size:.78rem; opacity:.9; }
.edition-checkout__doors [aria-disabled=true] { opacity:.55; cursor:default; }
.edition-checkout__doors > [hidden] { display:none; }
.edition-checkout__marks { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 .5rem; padding:0; list-style:none; }
.edition-checkout__marks li { display:inline-flex; align-items:center; height:44px; padding:0 12px; background:#fff; border:1px solid #d6cfbf; border-radius:999px; }
.edition-checkout__marks li:has([data-mark=apple-pay]) { height:54px; }
.edition-checkout__marks li:has([data-mark=google-pay]) { height:66px; }
.edition-checkout__marks img { display:block; width:auto; }
/* Sizes at or above each brand's digital minimum (payment-marks/SOURCES.md): Visa 23px, Bancontact 20px high, Mastercard Symbol 45x37px box, iDEAL | Wero free space = its 'o', Apple Pay mark 34px; Google Pay SVG 64px includes whitespace around its approximately 34.5px visible mark so they are not smaller than the other identities (wallet visibility follows the documented capability/display hints). */
.edition-checkout__marks [data-mark=ideal-wero] { height:26px; aspect-ratio:480/182; }
.edition-checkout__marks [data-mark=bancontact] { height:22px; aspect-ratio:1777.42/316.83; }
.edition-checkout__marks [data-mark=visa] { height:24px; aspect-ratio:295.2/144; }
.edition-checkout__marks [data-mark=mastercard] { height:37px; aspect-ratio:152.4/108; }
.edition-checkout__marks [data-mark=paypal] { height:22px; aspect-ratio:170/48; }
.edition-checkout__marks [data-mark=apple-pay] { height:34px; aspect-ratio:165.52107/105.9651; }
.edition-checkout__marks [data-mark=google-pay] { height:64px; aspect-ratio:1094/742; }
.edition-checkout .edition-checkout__status { font-size:.85rem; min-height:1.6em; }
.edition-checkout .edition-checkout__status:empty { min-height:0; margin:0; }
.edition-checkout .edition-checkout__note { border-top:1px solid #d6cfbf; padding-top:1rem; margin-top:1rem; font:400 .78rem/1.6 var(--font-ui,system-ui,sans-serif); color:#65665d; }
.edition-checkout__crypto { border-top:1px solid #d6cfbf; padding-top:1rem; }
.edition-checkout__crypto label { display:grid; gap:.35rem; font:400 .8rem/1.5 var(--font-ui,system-ui,sans-serif); margin:.8rem 0; }
.edition-checkout__crypto :is(input,select) { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:.65rem; border:1px solid #b7ad99; border-radius:3px; background:#fffdf7; color:#292d2c; font:inherit; }
.edition-checkout__crypto button { min-height:44px; padding:.5rem .8rem; border:1px solid #b7ad99; border-radius:3px; background:transparent; color:inherit; font:400 .85rem/1.5 var(--font-ui,system-ui,sans-serif); cursor:pointer; }
.edition-checkout__payment p { overflow-wrap:anywhere; font-size:.85rem; }
.edition-checkout__download { display:block; padding:.8rem 0; color:var(--accent-text,#234f42); }
.edition-checkout :is(a,button,input,select):focus-visible { outline:3px solid var(--focus,var(--accent,#8c6a32)); outline-offset:3px; }
