*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --gold:#B8922A;--gold-lt:#D4AA50;--gold-pale:#F5EDD4;--gold-dim:#7A5F1A;
  --ink:#0C0C0C;
  --stone:#F8F6F1;--mist:#EDEAE2;--cream:#FBF9F5;
  --t1:#181818;--t2:#555;--t3:#888;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --ok:#1E7A44;--err:#B3261E;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--stone);color:var(--t1);-webkit-font-smoothing:antialiased;line-height:1.6}

/* ── NAV (matches index.html) ── */
nav{position:fixed;inset:0 0 auto;z-index:200;height:58px;background:rgba(248,246,241,0.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(184,146,42,0.14)}
.nav-w{max-width:1080px;margin:0 auto;padding:0 5%;height:100%;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:var(--serif);font-size:1.1rem;font-weight:500;color:var(--ink);letter-spacing:.03em;text-decoration:none}
.logo b{color:var(--gold);font-weight:500}
.nav-btn{background:var(--ink);color:#fff;font-size:.72rem;font-family:var(--sans);font-weight:400;padding:9px 20px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:2px;border:none;cursor:pointer;transition:background .2s}
.nav-btn:hover{background:var(--gold)}

/* ── PAGE ── */
.buy-page{padding:110px 5% 80px;max-width:960px;margin:0 auto}
.buy-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
@media(max-width:820px){ .buy-grid{grid-template-columns:1fr;gap:2.4rem} .buy-page{padding:90px 6% 60px} }

.cover-art{width:100%;aspect-ratio:1/1;border-radius:8px;background:linear-gradient(135deg,var(--ink),#1a1a1a);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:var(--serif);font-size:1.1rem;text-align:center;padding:2rem;box-shadow:0 8px 30px rgba(0,0,0,.15)}
.cover-art img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}

.pub-kicker{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:.8rem;display:block}
.book-title{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.3rem);font-weight:500;color:var(--ink);line-height:1.2;margin-bottom:.9rem}
.book-desc{font-size:.92rem;color:var(--t2);font-weight:300;line-height:1.75;margin-bottom:1.6rem}
.book-price{font-family:var(--serif);font-size:1.7rem;font-weight:500;color:var(--ink);margin-bottom:1.8rem}

/* ── CHECKOUT CARD ── */
.checkout-card{background:#fff;border:1px solid var(--mist);border-radius:8px;padding:1.8rem;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.field-group{margin-bottom:1.1rem}
.field-label{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);font-weight:500;margin-bottom:.4rem}
.field-input{width:100%;padding:12px 14px;font-size:.9rem;font-family:var(--sans);border:1px solid rgba(0,0,0,.15);border-radius:4px;background:var(--stone);color:var(--t1);outline:none;transition:border-color .2s}
.field-input:focus{border-color:var(--gold)}
#payment-element{margin-bottom:1.2rem}

.pay-btn{width:100%;background:var(--ink);color:#fff;border:none;border-radius:4px;padding:14px 28px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--sans);font-weight:500;cursor:pointer;transition:background .2s}
.pay-btn:hover:not(:disabled){background:var(--gold)}
.pay-btn:disabled{opacity:.6;cursor:not-allowed}

.message{margin-top:14px;font-size:.85rem;text-align:center}
.error{color:var(--err)}
.hidden{display:none!important}

.success-panel{text-align:center;padding:.5rem 0}
.success-icon{width:52px;height:52px;border-radius:50%;background:rgba(30,122,68,.1);color:var(--ok);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 1rem}
.success-title{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--ink);margin-bottom:.5rem}
.success-body{font-size:.85rem;color:var(--t2);margin-bottom:1.4rem}
.download-btn{display:inline-block;background:var(--gold);color:#fff;text-decoration:none;padding:14px 28px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--sans);font-weight:500;border-radius:4px;transition:background .2s}
.download-btn:hover{background:var(--gold-lt)}

.trust-note{margin-top:1.2rem;font-size:.72rem;color:var(--t3);text-align:center}

/* ── FOOTER (matches index.html) ── */
footer{background:#0A0A0A;padding:48px 5% 28px;margin-top:60px}
.foot-w{max-width:1080px;margin:0 auto}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2.8rem;flex-wrap:wrap;gap:2rem}
.foot-brand{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:#fff}
.foot-brand b{color:var(--gold-lt)}
.foot-brand-sub{font-size:.72rem;color:rgba(255,255,255,.3);margin-top:.25rem;font-weight:300;letter-spacing:.05em}
.foot-copy{font-size:.7rem;color:rgba(255,255,255,.3);font-weight:300}
