:root{--navy:#06224a;--blue:#0b55b8;--sky:#bfe6ff;--cream:#fff6df;--gold:#ffc733;--red:#df241d;--green:#18833a;--ink:#082451}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f6ecd6;color:var(--ink)}a{color:inherit}.site-nav{position:sticky;top:0;z-index:20;margin:10px auto 0;width:min(1560px,96vw);min-height:92px;padding:10px 26px;display:flex;align-items:center;gap:28px;background:rgba(255,255,255,.62);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.75);border-radius:36px;box-shadow:0 8px 24px rgba(5,22,54,.22)}.brand img{height:72px;display:block}.site-nav nav{display:flex;align-items:center;gap:16px;flex:1;justify-content:flex-end}.site-nav a{text-decoration:none;font-weight:800}.site-nav nav a{padding:10px 12px;border-radius:999px}.site-nav nav a.active,.site-nav nav a:hover{background:#eaf3ff;color:var(--blue)}#cart-count{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:4px;background:var(--red);color:#fff;border-radius:50%;font-size:13px}.shop-page{width:min(1400px,94vw);margin:22px auto 50px}.shop-page.narrow{width:min(840px,92vw);padding-top:40px}.book-hero{min-height:360px;padding:60px clamp(24px,5vw,70px);display:grid;align-items:center;border-radius:34px;background:linear-gradient(90deg,rgba(3,28,72,.82),rgba(3,28,72,.25)),url('/assets/images/bookstore-hero.png') center/cover no-repeat;color:#fff;box-shadow:0 12px 34px rgba(4,20,48,.24)}.book-hero h1{max-width:720px;margin:.2em 0;font-size:clamp(2.3rem,6vw,5.7rem);line-height:.95;color:var(--gold);text-shadow:0 4px 0 #02285b}.book-hero p{max-width:650px;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:800}.eyebrow{font-weight:900;letter-spacing:.06em;text-transform:uppercase}.catalog-toolbar{display:flex;gap:14px;margin:24px 0;padding:14px;background:rgba(255,255,255,.72);border:2px solid #f2c06b;border-radius:20px}.catalog-toolbar input,.catalog-toolbar select,.checkout-form input{width:100%;padding:14px 16px;border:1px solid #d8bd88;border-radius:14px;font:inherit}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card{overflow:hidden;background:#fff9ed;border:2px solid #e8bd73;border-radius:22px;box-shadow:0 8px 18px rgba(56,35,8,.14)}.product-image{position:relative;aspect-ratio:1/1;display:grid;place-items:center;background:#fff}.product-image img{width:100%;height:100%;object-fit:cover}.coming-soon{position:absolute;top:12px;right:12px;padding:8px 12px;border-radius:999px;background:#102a58;color:#fff;font-weight:900}.product-info{padding:16px}.product-info h2{margin:0 0 8px;font-size:1.25rem}.product-info p{min-height:52px;margin:0 0 12px}.product-meta,.product-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.shop-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:0;border-radius:999px;background:linear-gradient(#1d72d9,#06499f);color:#fff;text-decoration:none;font-weight:900;cursor:pointer;box-shadow:0 4px 0 #042e69}.shop-btn:disabled{background:#8ca2bd;box-shadow:none;cursor:not-allowed}.icon-btn{width:44px;height:44px;border-radius:50%;border:2px solid #d8bd88;background:#fff;font-size:24px;color:#0b3d83;cursor:pointer}.icon-btn.saved{background:#ffe0e0;color:var(--red)}.cart-drawer{position:fixed;right:18px;top:120px;width:min(420px,92vw);max-height:calc(100vh - 140px);overflow:auto;background:#fff9ed;border:2px solid #e8bd73;border-radius:22px;padding:18px;box-shadow:0 16px 40px rgba(0,0,0,.28);z-index:50}.hidden{display:none!important}.cart-drawer>div:first-child,.cart-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-row{display:grid;grid-template-columns:92px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #ead6ad}.cart-row img{width:92px;height:92px;object-fit:cover;border-radius:14px}.notice{padding:18px;border-radius:16px;background:#fff;color:var(--ink);border:2px solid #e8bd73}.notice.error{border-color:#dc3545;color:#9b1c1c}.checkout-form{display:grid;gap:16px;margin-top:22px}.checkout-form label{display:grid;gap:8px;font-weight:900}
@media(max-width:1000px){.site-nav{align-items:flex-start}.site-nav nav{flex-wrap:wrap;justify-content:flex-start}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-hero{min-height:300px}}@media(max-width:640px){.site-nav{width:100%;margin:0;border-radius:0;padding:8px 12px}.brand img{height:54px}.site-nav nav{gap:6px}.site-nav nav a{font-size:.85rem;padding:8px}.catalog-toolbar{flex-direction:column}.product-grid{grid-template-columns:1fr}.cart-row{grid-template-columns:70px 1fr}.cart-row img{width:70px;height:70px}.book-hero{border-radius:0;margin-inline:-3vw}}
.checkout-card{padding:18px;border:2px solid #e8bd73;border-radius:18px;background:#fff9ed;box-shadow:0 8px 18px rgba(56,35,8,.1)}.checkout-card h2{margin:0 0 10px}.checkout-card p{margin:7px 0}.shop-btn.secondary{background:linear-gradient(#2f8d46,#17682d);box-shadow:0 4px 0 #0f4a1f}.cart-summary.stacked{display:block;padding:18px;border:2px solid #e8bd73;border-radius:18px;background:#fff}.cart-summary.stacked p{margin:6px 0}.cart-summary.stacked strong{display:block;margin-top:10px;font-size:1.35rem;color:var(--red)}

.book-amazon-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0}.book-amazon-btn{min-width:0;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 6px;border-radius:999px;text-decoration:none;font-weight:900;font-size:clamp(.68rem,1.8vw,.8rem);line-height:1.05;text-align:center;color:#082451;background:#fff7df;border:2px solid #f0bc4f;box-shadow:0 3px 0 #ca8c16;white-space:normal;overflow-wrap:anywhere}.book-amazon-btn:hover{transform:translateY(-1px)}.book-amazon-paperback{background:linear-gradient(#ffe49a,#ffc83d)}.book-amazon-kindle{background:linear-gradient(#e7fbff,#8fdcff);border-color:#54afd0;box-shadow:0 3px 0 #237a9d}

body.cart-open{overflow:hidden}.cart-backdrop{position:fixed;inset:0;background:rgba(4,18,42,.2);backdrop-filter:blur(1px);opacity:0;transition:opacity .22s ease;z-index:89}.cart-backdrop.is-open{opacity:1}.cart-drawer{top:auto;left:50%;right:auto;bottom:14px;width:min(720px,94vw);height:auto;max-height:min(46vh,390px);padding:0;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#fffaf0 0%,#fff4dc 100%);border:2px solid #e4b65f;border-radius:18px;box-shadow:0 -10px 34px rgba(4,18,42,.24);z-index:90;transform:translate(-50%,calc(100% + 24px));transition:transform .24s ease}.cart-drawer.is-open{transform:translate(-50%,0)}.cart-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px 10px;background:linear-gradient(135deg,#06224a,#0b55b8);color:#fff;border-bottom:2px solid #f4c35a}.cart-drawer-header h2{margin:1px 0 0;font-size:1.08rem;line-height:1}.cart-kicker{display:block;color:#ffd76a;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.cart-close-btn{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.15rem;line-height:1;cursor:pointer}.cart-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:6px 12px;scrollbar-width:thin}.cart-drawer-footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 12px 12px;background:#fff8e8;border-top:1px solid #ead6ad;box-shadow:0 -6px 14px rgba(56,35,8,.08)}.cart-total{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0;font-size:.88rem;font-weight:900;color:#082451}.cart-total strong{font-size:1.05rem;color:#df241d}.cart-checkout-btn{min-height:38px;padding:8px 18px}.cart-drawer .cart-row{grid-template-columns:44px minmax(0,1fr) auto;padding:7px 0;gap:9px}.cart-drawer .cart-row img{width:44px;height:54px;border-radius:9px;box-shadow:0 3px 8px rgba(56,35,8,.14)}.cart-drawer .cart-row h3{margin:0 0 3px;font-size:.78rem;line-height:1.15;color:#082451}.cart-drawer .cart-row p{margin:0;color:#5f6f83;font-size:.72rem;font-weight:800}.cart-row-side{display:grid;justify-items:end;gap:5px}.cart-row-side strong{font-size:.78rem}.cart-remove-btn{border:0;background:transparent;color:#b02922;font-weight:900;font-size:.68rem;cursor:pointer;text-decoration:underline}.cart-empty{margin:10px 0;text-align:center}

@media(max-width:640px){.cart-drawer{bottom:8px;width:calc(100vw - 16px);max-height:48vh;border-radius:16px}.cart-drawer-header{padding:11px 12px}.cart-drawer-body{padding:5px 10px}.cart-drawer-footer{grid-template-columns:1fr;padding:10px}.cart-checkout-btn{width:100%}.cart-drawer .cart-row{grid-template-columns:42px minmax(0,1fr) auto}.cart-drawer .cart-row img{width:42px;height:52px}.cart-drawer .cart-row h3{font-size:.74rem}.cart-row-side strong{font-size:.74rem}}

.checkout-page-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 10%, rgba(255, 216, 106, .34), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(92, 183, 255, .24), transparent 30%),
    linear-gradient(180deg, #dff4ff 0%, #fff7df 46%, #f6ecd6 100%);
}

.checkout-page {
  width: min(1180px, 94vw);
  margin: 24px auto 42px;
}

.checkout-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: clamp(24px, 4vw, 42px);
  border: 3px solid #f3c15f;
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(5, 43, 98, .92), rgba(10, 84, 177, .72)),
    url('/assets/images/books/bookstore-gui.webp') right center / cover no-repeat;
  color: #fff;
  box-shadow: 0 16px 38px rgba(4, 30, 72, .22);
  overflow: hidden;
}

.checkout-hero h1 {
  max-width: 720px;
  margin: 8px 0 10px;
  color: #ffd85d;
  font-size: clamp(2.35rem, 6vw, 4.9rem);
  line-height: .95;
  text-shadow: 0 4px 0 #062861, 0 7px 16px rgba(0, 0, 0, .24);
}

.checkout-hero p {
  max-width: 650px;
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  font-weight: 900;
  line-height: 1.45;
}

.checkout-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0a3978;
  font-size: .78rem;
  font-weight: 1000;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.checkout-hero .checkout-kicker {
  color: #fff5c5;
}

.checkout-hero-card {
  display: grid;
  gap: 10px;
  min-width: 190px;
  padding: 16px;
  border: 2px solid rgba(255, 255, 255, .7);
  border-radius: 20px;
  background: rgba(255, 255, 255, .88);
  color: #082451;
  box-shadow: 0 10px 24px rgba(3, 20, 54, .2);
}

.checkout-hero-card span {
  display: block;
  padding: 10px 12px;
  border-radius: 999px;
  background: #fff7d8;
  border: 1px solid #f1c867;
  font-weight: 1000;
  text-align: center;
}

.checkout-alert {
  margin: 18px 0 0;
}

.checkout-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  grid-template-areas:
    "order summary"
    "rewards summary";
  gap: 20px;
  margin-top: 22px;
}

.checkout-panel {
  border: 2px solid #e7b961;
  border-radius: 22px;
  background: rgba(255, 250, 238, .96);
  box-shadow: 0 10px 24px rgba(56, 35, 8, .12);
  overflow: hidden;
}

.checkout-order-panel {
  grid-area: order;
}

.checkout-rewards-panel {
  grid-area: rewards;
  padding: 18px;
}

.checkout-summary-panel {
  grid-area: summary;
  position: sticky;
  top: 112px;
  align-self: start;
  padding: 22px;
  background: linear-gradient(180deg, #fffaf0 0%, #fff0c8 100%);
}

.checkout-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
  border-bottom: 1px solid #ead6ad;
  background: linear-gradient(180deg, #fffdf7, #fff5df);
}

.checkout-panel h2 {
  margin: 4px 0 0;
  color: #082451;
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.05;
}

.checkout-edit-link,
.checkout-coin-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #eaf4ff;
  border: 2px solid #b8d9ff;
  color: #07458f;
  font-weight: 1000;
  text-decoration: none;
  white-space: nowrap;
}

.checkout-coin-badge {
  background: #fff3bf;
  border-color: #e6b84f;
  color: #6d4500;
}

.checkout-items {
  padding: 4px 18px 18px;
}

.checkout-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #ead6ad;
}

.checkout-item:last-child {
  border-bottom: 0;
}

.checkout-item img {
  width: 82px;
  height: 94px;
  border-radius: 14px;
  object-fit: cover;
  background: #fff;
  box-shadow: 0 5px 14px rgba(56, 35, 8, .14);
}

.checkout-item h3 {
  margin: 0 0 5px;
  color: #082451;
  font-size: 1.02rem;
  line-height: 1.2;
}

.checkout-item p {
  margin: 0;
  color: #53677d;
  font-weight: 800;
}

.checkout-item strong {
  color: #c8231f;
  font-size: 1.02rem;
}

.checkout-reward-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.checkout-reward-grid p {
  margin: 0;
  padding: 14px;
  border: 1px solid #ead6ad;
  border-radius: 16px;
  background: #fff;
}

.checkout-reward-grid strong,
.checkout-reward-grid span {
  display: block;
}

.checkout-reward-grid strong {
  color: #082451;
  margin-bottom: 4px;
}

.checkout-field {
  display: grid;
  gap: 8px;
  color: #082451;
  font-weight: 1000;
}

.checkout-field input {
  min-height: 50px;
  border: 2px solid #d8bd88;
  border-radius: 14px;
  background: #fff;
}

.checkout-secondary-action {
  margin-top: 14px;
}

.checkout-totals {
  margin: 16px 0 18px;
  border-top: 1px solid #dfc17a;
  border-bottom: 1px solid #dfc17a;
}

.checkout-totals p {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 11px 0;
  color: #173463;
  font-weight: 900;
}

.checkout-total {
  border-top: 2px solid #e4b65f;
  color: #082451 !important;
  font-size: 1.28rem;
}

.checkout-total strong {
  color: #c8231f;
}

.checkout-pay-btn {
  width: 100%;
  min-height: 54px;
  margin-top: 16px;
  font-size: 1.05rem;
}

.checkout-safe-note {
  margin: 14px 0 0;
  color: #53677d;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
}

@media (max-width: 980px) {
  .checkout-hero,
  .checkout-shell {
    grid-template-columns: 1fr;
  }

  .checkout-shell {
    grid-template-areas:
      "order"
      "rewards"
      "summary";
  }

  .checkout-summary-panel {
    position: static;
  }
}

@media (max-width: 640px) {
  .checkout-page {
    width: min(100% - 18px, 560px);
    margin-top: 14px;
  }

  .checkout-hero {
    padding: 22px 18px;
    border-radius: 20px;
    background:
      linear-gradient(135deg, rgba(5, 43, 98, .94), rgba(10, 84, 177, .8)),
      url('/assets/images/books/bookstore-gui.webp') center / cover no-repeat;
  }

  .checkout-hero-card,
  .checkout-reward-grid {
    grid-template-columns: 1fr;
  }

  .checkout-panel-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .checkout-edit-link,
  .checkout-coin-badge {
    width: 100%;
  }

  .checkout-item {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .checkout-item img {
    width: 64px;
    height: 76px;
  }

  .checkout-item strong {
    grid-column: 2;
    justify-self: start;
  }
}
