/* ============ Books store — Group One West ============ */

/* ---- shared big CTA ---- */
.cta-xl{display:flex;width:100%;justify-content:center;align-items:center;gap:.6rem;
  font-family:var(--sans);font-weight:800;font-size:1.15rem;letter-spacing:.01em;
  padding:1.15rem 1.6rem;border-radius:999px;background:var(--teal);color:#fff;
  border:none;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;
  box-shadow:0 10px 26px -8px rgba(45,138,118,.55)}
.cta-xl:hover{background:var(--forest);transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(16,50,42,.5)}
.cta-xl .arr{transition:transform .2s}.cta-xl:hover .arr{transform:translateX(5px)}

/* ---- HUB ---- */
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.8vw,38px)}
@media(max-width:860px){.book-grid{grid-template-columns:1fr;max-width:460px;margin-inline:auto}}

.book-card{position:relative;display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;
  transition:transform .3s,box-shadow .3s;text-align:left}
.book-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -22px rgba(16,50,42,.4)}
.book-card-cover{position:relative;background:linear-gradient(180deg,var(--paper),#f2efe6);
  padding:34px 30px 40px;display:flex;justify-content:center;align-items:flex-end;perspective:1300px}
.book3d{position:relative;width:78%;transform-style:preserve-3d;transform:rotateY(-24deg);transition:transform .6s}
.book-card:hover .book3d{transform:rotateY(-14deg)}
.book3d img{display:block;width:100%;height:auto;position:relative;z-index:2;border-radius:1px 3px 3px 1px;
  box-shadow:16px 22px 40px -12px rgba(16,50,42,.6)}
.book3d .spine{position:absolute;top:0;left:0;height:100%;width:26px;z-index:1;
  transform-origin:left center;transform:rotateY(90deg);
  background:linear-gradient(90deg,#0a1f19 0%,#14332a 60%,#1d4335 100%);border-radius:1px 0 0 1px}
.book3d .edge{position:absolute;top:2%;right:0;height:96%;width:8px;z-index:1;
  transform-origin:right center;transform:rotateY(-90deg);
  background:repeating-linear-gradient(90deg,#efece1,#efece1 1px,#d8d2c2 2px,#efece1 3px)}
.book3d::after{content:"";position:absolute;left:6%;right:2%;bottom:-26px;height:22px;z-index:0;
  background:radial-gradient(ellipse at center,rgba(16,50,42,.4),transparent 72%);filter:blur(4px)}
.book-card-body{padding:1.6rem 1.6rem 1.7rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.book-card-body h3{font-size:1.45rem;line-height:1.15}
.book-card-sub{color:var(--ink-60);font-size:.94rem;line-height:1.55;flex:1}
.book-card-foot{display:flex;flex-direction:column;gap:1rem;margin-top:1.1rem}
.book-card-price{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;line-height:1}
.book-card-price b{font-family:var(--serif);font-size:1.85rem;color:var(--forest);font-weight:600}
.book-card-price span{font-size:.72rem;color:var(--teal);font-weight:800;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.book-card-go{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:800;
  color:#fff;background:var(--forest);padding:.9rem 1.2rem;border-radius:999px;font-size:1rem;transition:background .2s}
.book-card:hover .book-card-go{background:var(--teal)}

/* bundle band */
.book-bundle{margin-top:clamp(30px,3.5vw,52px);background:var(--forest);color:var(--paper);
  border-radius:var(--radius-lg);padding:clamp(30px,4vw,56px);display:grid;
  grid-template-columns:1fr auto;gap:clamp(24px,4vw,60px);align-items:center;position:relative;overflow:hidden}
.book-bundle::after{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;
  border-radius:50%;background:radial-gradient(circle,rgba(74,167,142,.35),transparent 70%)}
.book-bundle .eyebrow{color:var(--kelp-soft)}
.book-bundle h3{color:#fff;font-size:clamp(1.8rem,3.4vw,2.6rem);margin:.4rem 0 .5rem}
.book-bundle p{color:rgba(255,255,255,.82);max-width:44ch;font-size:1.02rem}
.book-bundle-buy{position:relative;z-index:1;display:flex;flex-direction:column;gap:1rem;min-width:min(320px,80vw)}
.book-bundle-buy .price-block{color:#fff}
.book-bundle-buy .price-block .amt{color:#fff}
@media(max-width:760px){.book-bundle{grid-template-columns:1fr}}

/* ---- shared price block ---- */
.price-block{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.price-block .label{flex-basis:100%;font-size:.82rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--teal);margin-bottom:.1rem}
.price-block .amt{font-family:var(--serif);font-weight:600;font-size:clamp(2.6rem,5.5vw,3.6rem);
  line-height:1;color:var(--forest)}
.price-block .cur{font-size:1rem;font-weight:700;color:var(--ink-60);align-self:center}
.price-block .sug{font-size:.95rem;color:var(--ink-60)}
.book-bundle-buy .price-block .label{color:var(--kelp-soft)}
.book-bundle-buy .price-block .cur,.book-bundle-buy .price-block .sug{color:rgba(255,255,255,.75)}

/* ---- DETAIL ---- */
.book-detail{padding-top:clamp(30px,5vw,64px)}
.book-back{display:inline-flex;gap:.45rem;align-items:center;font-weight:800;color:var(--teal);
  margin-bottom:clamp(1.4rem,3vw,2.4rem);font-size:.95rem}
.book-layout{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:clamp(30px,5vw,72px);align-items:start}
@media(max-width:900px){.book-layout{grid-template-columns:1fr;max-width:620px}}
.book-cover-col{position:sticky;top:96px}
@media(max-width:900px){.book-cover-col{position:static;max-width:300px}}
.book-cover{width:100%;border-radius:8px;box-shadow:0 30px 60px -24px rgba(16,50,42,.55),0 6px 16px -8px rgba(16,50,42,.4)}
.book-info h1{font-size:clamp(2.2rem,4.6vw,3.4rem);margin:.5rem 0 .7rem;line-height:1.05}
.book-sub{font-size:clamp(1.15rem,1.8vw,1.4rem);color:var(--ink-60);font-style:italic;margin-bottom:1.8rem;line-height:1.4}
.book-teaser{font-size:1.1rem;line-height:1.85;color:var(--ink);margin-bottom:2rem}
.book-formats{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}
.fmt{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pine);
  background:rgba(45,138,118,.1);padding:.5rem .9rem;border-radius:999px;border:1px solid rgba(45,138,118,.2)}

.buy-panel{background:linear-gradient(180deg,var(--cloud),var(--sand));border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:clamp(24px,3vw,34px);box-shadow:var(--shadow-soft)}
.buy-panel .price-block{margin-bottom:1.3rem}
.buy-panel .cta-xl{margin-bottom:1.2rem}
.buy-perks{list-style:none;display:grid;gap:.6rem}
.buy-perks li{display:flex;gap:.6rem;align-items:flex-start;color:var(--ink);font-size:.98rem;font-weight:500}
.buy-perks li::before{content:"";flex:0 0 auto;width:20px;height:20px;margin-top:1px;border-radius:50%;
  background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat}

/* ---- book pages: solid dark header (no hero, so white nav text needs a dark bg) ---- */
body.book-page .nav,body.book-page .nav.scrolled{background:var(--forest);backdrop-filter:none;box-shadow:0 1px 0 rgba(255,255,255,.12)}
body.book-page .nav .brand-txt{color:#fff}
body.book-page .nav .brand-txt span{color:var(--kelp-soft)}
body.book-page .nav .nav-links a{color:rgba(255,255,255,.92)}
body.book-page .nav .nav-links a:hover{color:#fff;background:rgba(255,255,255,.12)}
body.book-page .nav .nav-links a.active{color:#fff}
body.book-page .nav .burger span{background:#fff}
/* clear the fixed nav on hero-less detail pages so the back link is not covered */
.book-detail{padding-top:clamp(104px,11vw,140px)!important}
html{scroll-behavior:smooth}
.look-inside{scroll-margin-top:96px}

/* "Look inside" jump button under the cover */
.book-lookinside{display:inline-flex;width:100%;justify-content:center;align-items:center;gap:.5rem;
  margin-top:1rem;padding:.85rem 1.2rem;border-radius:999px;font-weight:800;font-size:.98rem;
  color:var(--forest);background:transparent;border:1.5px solid var(--forest);transition:background .2s,color .2s}
.book-lookinside:hover{background:var(--forest);color:#fff}
.book-lookinside .arr{transition:transform .2s}.book-lookinside:hover .arr{transform:translateY(3px)}

/* ---- Look inside flipbook ---- */
.look-inside{background:var(--sand)}
.look-inside .sec-head{margin-inline:auto;text-align:center;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.flip-wrap{max-width:460px;margin:0 auto;touch-action:pan-y}
.flipbook{box-shadow:0 34px 70px -26px rgba(16,50,42,.55)}
.flip-page{background:#fff;overflow:hidden}
.flip-page img{width:100%;height:100%;object-fit:cover;display:block}
.flip-gate{height:100%;background:linear-gradient(160deg,var(--forest),#0b241d);color:#fff;
  display:flex;align-items:center;justify-content:center;text-align:center}
.flip-gate .gate-inner{padding:clamp(24px,4vw,40px);max-width:340px}
.flip-gate h4{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,2.4vw,2rem);color:#fff;margin-bottom:.6rem;line-height:1.15}
.flip-gate p{color:rgba(255,255,255,.82);margin-bottom:1.6rem;font-size:1.02rem}
.flip-hint{text-align:center;color:var(--ink-60);font-size:.9rem;margin-top:1.5rem;display:flex;gap:.5rem;justify-content:center;align-items:center}

/* sticky mobile buy bar */
.buy-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;gap:1rem;
  padding:.8rem 1rem;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);box-shadow:0 -8px 24px -12px rgba(16,50,42,.3)}
.buy-bar .bb-price{font-family:var(--serif);font-size:1.5rem;color:var(--forest);font-weight:600;white-space:nowrap}
.buy-bar .bb-price small{display:block;font-family:var(--sans);font-size:.65rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}
.buy-bar .cta-xl{width:auto;flex:1;padding:.9rem 1.2rem;font-size:1rem}
@media(max-width:900px){.buy-bar{display:flex}body{padding-bottom:80px}}
