:root{
 --ss-ink:#233240; --ss-deep:#1d4b5a; --ss-sea:#2f7d95; --ss-gold:#edac5c; --ss-coral:#e08a6a;
 --ss-sand:#fbf6ec; --ss-shell:#f3e7d3; --ss-muted:#6b7680;
}
body{ background:var(--ss-sand); color:var(--ss-ink); font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
a{ color:var(--ss-sea); }
.ss-muted{ color:var(--ss-muted)!important; }
.link-brand{ color:var(--ss-sea); text-decoration:none; font-weight:600; }
.btn-brand{ background:linear-gradient(135deg,var(--ss-gold),var(--ss-coral)); border:none; color:#2b2018; font-weight:700; }
.btn-brand:hover{ filter:brightness(1.05); color:#2b2018; }
.btn-outline-dark{ border-color:var(--ss-deep); color:var(--ss-deep); }
.btn-outline-dark:hover{ background:var(--ss-deep); color:#fff; }
.ss-nav{ background:var(--ss-deep); }
.ss-nav .navbar-brand{ color:#fff; font-weight:800; letter-spacing:.16em; font-size:1.05rem; }
.ss-nav .nav-link{ color:#e8eef0; font-weight:500; }
.ss-nav .nav-link:hover{ color:var(--ss-gold); }
.ss-eyebrow{ text-transform:uppercase; letter-spacing:.2em; font-size:.72rem; font-weight:700; color:var(--ss-sea); }
.ss-hero{ background:radial-gradient(1100px 460px at 78% -8%, #f7dfae, transparent), linear-gradient(180deg,#fdf3e0,var(--ss-sand)); }
.ss-band{ background:var(--ss-deep); color:#fdf3e0; }
.ss-pagehead{ background:var(--ss-deep); color:#fff; }
.ss-footer{ background:var(--ss-deep); color:#e8eef0; }
.ss-footer a{ color:#fdf3e0; text-decoration:none; }
.ss-series-title{ border-left:4px solid var(--ss-gold); padding-left:.6rem; color:var(--ss-deep); }
.ss-quote{ border-left:4px solid var(--ss-gold); padding:.4rem 0 .4rem 1rem; font-size:1.25rem; font-style:italic; color:var(--ss-deep); }
.ss-card{ border:1px solid var(--ss-shell); border-radius:14px; overflow:hidden; background:#fff; transition:transform .15s ease, box-shadow .15s ease; }
.ss-card:hover{ transform:translateY(-4px); box-shadow:0 12px 30px rgba(29,75,90,.15); }
.ss-card .card-title a{ color:var(--ss-ink); text-decoration:none; }
.price{ color:var(--ss-deep); }
.ss-desc{ font-size:1.08rem; line-height:1.7; }
.ss-desc br + br{ line-height:2.2; }
.ss-note{ background:#fbf1dd; border:1px solid #f0dcb4; color:#7a5a1e; }
.ss-badge-soon{ background:var(--ss-shell); color:var(--ss-deep); font-weight:600; }
.book-cover{ position:relative; aspect-ratio:3/4; border-radius:8px; display:flex; flex-direction:column; justify-content:flex-end;
 padding:14px; color:#fff; background:linear-gradient(150deg,var(--ss-sea),var(--ss-deep)); box-shadow:inset 0 -60px 80px rgba(0,0,0,.28); }
.book-cover[data-type="Coloring Book"]{ background:linear-gradient(150deg,var(--ss-gold),var(--ss-coral)); }
.book-cover[data-type="Journal"]{ background:linear-gradient(150deg,#b5732a,var(--ss-gold)); }
.book-cover[data-type="Kindle Collection"]{ background:linear-gradient(150deg,#2b3a67,var(--ss-sea)); }
.book-cover .cover-series{ font-size:.62rem; text-transform:uppercase; letter-spacing:.14em; opacity:.9; }
.book-cover .cover-title{ font-weight:700; line-height:1.15; font-size:.98rem; margin-top:2px; text-shadow:0 1px 3px rgba(0,0,0,.35); }
.book-cover-lg{ max-width:340px; }
.book-cover-lg .cover-title{ font-size:1.5rem; }
.book-cover.has-img{ padding:0; background:none; box-shadow:none; }
.book-cover.has-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:8px; }
.book-cover .cover-flag{ position:absolute; top:10px; right:10px; background:var(--ss-gold); color:#3a2a00; font-size:.6rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; padding:3px 8px; border-radius:20px; }
.book-cover .cover-soon{ position:absolute; top:10px; left:10px; background:rgba(29,75,90,.92); color:#fff; font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:3px 8px; border-radius:20px; }
.ss-nav .nav-link.position-relative{ display:inline-flex; align-items:center; }
.ss-cart-badge{ background:var(--ss-gold); color:#3a2a00; font-size:.62rem; font-weight:800; margin-left:3px; }
.ss-cart-table th{ color:var(--ss-muted); font-weight:600; font-size:.85rem; border-color:var(--ss-shell); }
.ss-cart-table td{ border-color:var(--ss-shell); }
#checkout{ min-height:320px; }
.reader-stage{ display:flex; justify-content:center; }
.flipbook{ width:100%; max-width:840px; }
.flipbook .page{ background:#fff; }
.flipbook .page img{ width:100%; height:100%; object-fit:contain; display:block; -webkit-user-drag:none; user-select:none; }
.flipbook .paywall{ background:linear-gradient(160deg,#fdf3e0,var(--ss-shell)); display:flex; align-items:center; justify-content:center; }
.flipbook .paywall .pw{ text-align:center; padding:22px; max-width:86%; }
.ss-book-carousel{ max-width:422px; margin:0 auto; padding:0 46px; position:relative; }
.ss-book-carousel .carousel-item{ height:440px; background:var(--ss-shell); }
.ss-book-carousel .carousel-item img{ width:100%; height:100%; object-fit:contain; cursor:zoom-in; }
.ss-book-carousel .carousel-control-prev{ left:0; }
.ss-book-carousel .carousel-control-next{ right:0; }
.ss-book-carousel .carousel-control-prev,.ss-book-carousel .carousel-control-next{ width:44px; opacity:1; }
.ss-book-carousel .carousel-control-prev-icon,.ss-book-carousel .carousel-control-next-icon{ width:36px; height:36px; background-color:var(--ss-deep); border-radius:50%; background-size:50%; }
.ss-book-carousel .carousel-indicators{ margin-left:46px; margin-right:46px; }
.ss-book-carousel .carousel-indicators [data-bs-target]{ background-color:var(--ss-deep); opacity:.45; }
.ss-book-carousel .carousel-indicators .active{ opacity:1; }
@media (max-width:575px){ .ss-book-carousel{ max-width:100%; padding:0 40px; } .ss-book-carousel .carousel-item{ height:62vw; max-height:420px; } }
