:root{
  --navy:#0D3A5C;
  --navy-deep:#082841;
  --gold:#C8860A;
  --gold-light:#E0A53A;
  --cream:#FBF7EE;
  --card:#FFFFFF;
  --divider:#E2DCC9;
  --body:#262420;
  --gray:#5b5650;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--body);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px;
  line-height:1.55;
}
h1,h2,h3{font-family:'Sora',sans-serif;color:var(--navy);margin:0 0 .4em;}
a{color:var(--navy);}
img{max-width:100%;display:block;}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

/* ---- nav ---- */
nav.topnav{
  position:sticky;top:0;z-index:50;
  background:rgba(251,247,238,.93);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--divider);
}
nav.topnav .wrap{
  position:relative;
  display:flex;align-items:center;gap:18px;
  padding:12px 24px;overflow-x:auto;white-space:nowrap;
}
nav.topnav .brand{font-family:'Sora',sans-serif;font-weight:700;color:var(--navy);font-size:15px;margin-right:8px;flex:0 0 auto;text-decoration:none;display:flex;align-items:center;gap:7px;}
nav.topnav .brand img{height:36px;width:auto;display:block;border-radius:6px;}

.nav-links{display:flex;align-items:center;gap:18px;}
.nav-secondary-group{display:contents;} /* desktop: flows inline with the rest, no visual change */
.mobile-menu-caret{display:none;} /* only shown/used on mobile, styled in the mobile block below */
nav.topnav a.navlink{
  font-size:13.5px;font-weight:600;color:var(--navy);text-decoration:none;
  padding:6px 2px;border-bottom:2px solid transparent;flex:0 0 auto;
}
nav.topnav a.navlink:hover{border-bottom-color:var(--gold);}
nav.topnav a.navlink.active{border-bottom-color:var(--gold);color:var(--gold);}
nav.topnav a.navlink-logo{padding:0 10px;border-bottom:none;display:flex;align-items:center;cursor:pointer;}
nav.topnav a.navlink-logo:hover{border-bottom:none;}
nav.topnav a.navlink-logo img{height:26px;width:auto;display:block;border-radius:5px;}

/* mobile nav: logo = dropdown trigger for secondary pages; primary links + cart always visible */


/* ---- hero (home page) ---- */
header.hero{
  position:relative;
  background:linear-gradient(180deg,var(--navy-deep) 0%, #0a1f33 100%);
  color:#fff;
  overflow:hidden;
}
header.hero .hero-grid{
  max-width:1080px;margin:0 auto;
  display:grid;grid-template-columns:1.1fr 1fr;gap:36px;
  align-items:center;padding:56px 24px 40px;
}
header.hero .hero-text .eyebrow{
  font-family:'Sora',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.14em;
  color:var(--gold-light);text-transform:uppercase;margin-bottom:14px;
}
header.hero h1{
  color:#fff;font-size:clamp(34px,5.5vw,54px);line-height:1.05;font-weight:800;margin-bottom:16px;
}
header.hero h1 .accent{color:var(--gold-light);}
header.hero p.lead{
  font-size:16.5px;color:#cfd9e3;max-width:480px;margin-bottom:26px;
}
header.hero .stats{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:8px;}
header.hero .stats div{font-family:'Sora',sans-serif;}
header.hero .stats strong{display:block;font-size:22px;color:var(--gold-light);font-weight:700;}
header.hero .stats span{font-size:12.5px;color:#9fb0bf;}
header.hero .hero-img{border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.45);}
header.hero .cta-row{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap;}
.btn{
  display:inline-block;padding:11px 22px;border-radius:30px;font-weight:600;font-size:14px;
  text-decoration:none;font-family:'Sora',sans-serif;
}
.btn-gold{background:var(--gold);color:#1a1206;}
.btn-gold:hover{background:var(--gold-light);}
.btn-outline{border:1.4px solid #5d7488;color:#fff;}
.btn-outline:hover{border-color:var(--gold-light);color:var(--gold-light);}

@media (max-width:760px){
  header.hero .hero-grid{grid-template-columns:1fr;padding-top:36px;}
  header.hero .hero-img{order:-1;max-width:240px;margin:0 auto 8px;}
}

/* ---- page header (inner pages) ---- */
header.page-banner{
  background:linear-gradient(180deg,var(--navy-deep) 0%, #0a1f33 100%);
  color:#fff;padding:48px 0 38px;
}
header.page-banner .eyebrow{
  font-family:'Sora',sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;
  color:var(--gold-light);text-transform:uppercase;margin-bottom:10px;
}
header.page-banner h1{color:#fff;font-size:clamp(28px,4.2vw,40px);margin-bottom:10px;}
header.page-banner p{color:#cfd9e3;font-size:15.5px;max-width:640px;margin:0;}

/* ---- sections ---- */
section{padding:60px 0;}
section.alt{background:#F4EEE0;}
.section-head{max-width:680px;margin-bottom:36px;}
.section-head .eyebrow{
  font-family:'Sora',sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;
  color:var(--gold);text-transform:uppercase;margin-bottom:8px;
}
.section-head h2{font-size:clamp(26px,3.6vw,34px);}
.section-head p{color:var(--gray);font-size:15.5px;margin-top:8px;}
hr.gold{border:none;border-top:1.4px solid var(--gold);margin:18px 0 0;}

/* ---- about grid ---- */
.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.about-card{background:var(--card);border:1px solid var(--divider);border-radius:12px;padding:22px 24px;}
.about-card h3{font-size:17px;margin-bottom:8px;}
.about-card p{font-size:14.5px;color:var(--body);margin:0 0 8px;}
.about-card p:last-child{margin-bottom:0;}
.note-box{
  background:#F1E6C9;border:1.3px solid var(--gold);border-radius:12px;
  padding:18px 20px;font-size:14px;grid-column:1/-1;
}
.note-box strong{color:var(--navy);display:block;margin-bottom:6px;font-family:'Sora',sans-serif;}
.author-contact{color:var(--gray);font-size:13.5px;margin-top:10px;}
@media (max-width:760px){.about-grid{grid-template-columns:1fr;}}

/* ---- quick links (home page site map) ---- */
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.quick-card{
  display:block;background:var(--card);border:1px solid var(--divider);border-radius:12px;
  padding:22px 22px;text-decoration:none;transition:transform .15s, box-shadow .15s;
}
.quick-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(13,58,92,.10);}
.quick-card .num{font-family:'Sora',sans-serif;font-size:12px;font-weight:700;color:var(--gold);letter-spacing:.08em;margin-bottom:6px;}
.quick-card h3{font-size:17px;margin-bottom:6px;}
.quick-card p{font-size:13.6px;color:var(--gray);margin:0;}
@media (max-width:760px){.quick-grid{grid-template-columns:1fr;}}

/* ---- book grid ---- */
.book-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.book-card{
  display:flex;gap:16px;background:var(--card);border:1px solid var(--divider);
  border-radius:12px;padding:16px;transition:transform .15s, box-shadow .15s;
}
.book-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(13,58,92,.10);}
.book-cover{position:relative;flex:0 0 auto;width:84px;}
.book-cover img{border-radius:5px;box-shadow:0 4px 10px rgba(0,0,0,.18);}
.missing-tag{
  position:absolute;bottom:4px;left:4px;right:4px;background:rgba(200,134,10,.92);
  color:#1a1206;font-size:8.6px;font-weight:700;text-align:center;border-radius:3px;padding:2px 0;
  font-family:'Sora',sans-serif;letter-spacing:.02em;
}
.book-info{flex:1 1 auto;min-width:0;}
.book-num{
  font-family:'Sora',sans-serif;font-size:11px;font-weight:700;color:var(--gold);
  letter-spacing:.08em;margin:0 0 4px;
}
.book-info h3{font-size:15.5px;line-height:1.3;margin-bottom:6px;}
.book-desc{font-size:13.3px;color:var(--body);margin:0 0 6px;}
.book-best{font-size:12.3px;color:var(--gold);font-style:italic;margin:0;}
@media (max-width:760px){.book-grid{grid-template-columns:1fr;}}

/* ---- where to start table ---- */
.start-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden;
  box-shadow:0 2px 10px rgba(13,58,92,.06);}
.start-table thead th{
  background:var(--navy);color:#fff;text-align:left;padding:14px 16px;font-family:'Sora',sans-serif;
  font-size:13.5px;font-weight:600;
}
.start-table td{padding:14px 16px;font-size:14px;border-bottom:1px solid var(--divider);}
.start-table tbody tr:nth-child(even){background:#F2F6FA;}
.start-table td strong{color:var(--navy);}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ---- reading paths ---- */
.path-card{
  background:var(--card);border:1.4px solid var(--gold);border-radius:12px;
  padding:20px 22px;margin-bottom:18px;
}
.path-card h3{font-size:16.5px;margin-bottom:12px;}
.path-row{display:flex;align-items:center;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.path-circle{
  width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;
  font-weight:700;font-size:13px;flex:0 0 auto;
}
.path-arrow{color:var(--gold);font-size:18px;flex:0 0 auto;}
.path-card p{font-size:13.8px;color:var(--body);margin:0;}

/* ---- faq ---- */
.faq-item{
  background:var(--card);border:1px solid var(--divider);border-radius:10px;
  padding:14px 18px;margin-bottom:10px;
}
.faq-item summary{
  font-family:'Sora',sans-serif;font-weight:600;color:var(--navy);cursor:pointer;font-size:15px;
  list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';float:right;color:var(--gold);font-size:18px;font-weight:700;}
.faq-item[open] summary::after{content:'\2212';}
.faq-item p{font-size:14px;color:var(--body);margin:10px 0 0;}

/* ---- get series ---- */
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px;}
.tier-card{background:var(--card);border:1.4px solid var(--gold);border-radius:12px;padding:20px;}
.tier-card h3{font-size:16px;}
.tier-card p{font-size:13.6px;margin:0 0 8px;}
.tier-best{color:var(--gold);font-style:italic;font-size:12.8px;margin:0;}
.cta-box{
  background:#E4ECF5;border:1.4px solid var(--navy);border-radius:12px;padding:22px 24px;
  display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
}
.cta-box h3{margin-bottom:4px;font-size:17px;}
.cta-box p{margin:0;font-size:14px;color:var(--body);}
@media (max-width:760px){.tier-grid{grid-template-columns:1fr;}}

/* ---- pager (prev/next between pages) ---- */
.pager{
  display:flex;justify-content:space-between;gap:16px;padding:36px 0 8px;flex-wrap:wrap;
}
.pager a{
  display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--divider);
  border-radius:10px;padding:12px 18px;background:var(--card);min-width:160px;
}
.pager a:hover{border-color:var(--gold);}
.pager .dir{font-size:11px;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;font-family:'Sora',sans-serif;}
.pager .label{font-weight:600;color:var(--navy);font-size:14px;margin-top:2px;}
.pager .next{text-align:right;align-items:flex-end;margin-left:auto;}

/* ---- mini footer (inner pages) ---- */
footer.mini{
  border-top:1px solid var(--divider);padding:28px 0;margin-top:20px;
}
footer.mini .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
footer.mini p{margin:0;font-size:12.5px;color:var(--gray);}
footer.mini a{font-size:12.5px;color:var(--navy);text-decoration:none;font-weight:600;}

/* ---- full closing footer (last page) ---- */
footer.closing{
  background:var(--navy-deep);color:#cfd9e3;padding:64px 0 36px;text-align:center;margin-top:0;
}
footer.closing h2{color:#fff;font-size:clamp(22px,3.4vw,30px);max-width:680px;margin:0 auto 18px;}
footer.closing p.lead{font-style:italic;color:#cfd9e3;max-width:620px;margin:0 auto 22px;font-size:15.5px;}
footer.closing .url{font-family:'Sora',sans-serif;color:var(--gold-light);font-weight:600;margin-bottom:28px;}
footer.closing .disclaimer{
  max-width:680px;margin:0 auto;border:1px solid #34495d;border-radius:10px;padding:16px 18px;
  font-size:12.3px;color:#9fb0bf;text-align:left;
}
footer.closing .credit{margin-top:28px;font-size:12px;color:#6f8499;}

/* ================= STORE ADDITIONS ================= */

/* top utility bar */
.utility-bar{background:var(--navy-deep);color:#cfd9e3;font-size:12.5px;}
.utility-bar .wrap{
  padding:5px 24px;display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;column-gap:12px;
}
.utility-bar .wrap>span{justify-self:start;}
.utility-bar .wrap>a:last-child{justify-self:end;}
.utility-bar a{color:#cfd9e3;text-decoration:none;}
.utility-bar a:hover{color:var(--gold-light);}
.utility-logo{justify-self:center;display:flex;align-items:center;line-height:0;}
.utility-logo img{height:34px;width:auto;display:block;border-radius:4px;}
@media (max-width:640px){
  .utility-bar .wrap{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:6px;padding:10px 20px;text-align:center;
  }
  .utility-bar .wrap>span,
  .utility-bar .wrap>a:last-child{justify-self:auto;}
  .utility-logo img{height:30px;}
}

/* price block */
.price-row{display:flex;align-items:baseline;gap:8px;margin:6px 0;flex-wrap:wrap;}
.price-now{font-family:'Sora',sans-serif;font-weight:700;font-size:17px;color:var(--navy);}
.price-mrp{font-size:13px;color:#9a958a;text-decoration:line-through;}
.price-badge{
  display:inline-block;background:#FDEFD8;color:var(--gold);border:1px solid var(--gold);
  font-family:'Sora',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.03em;
  padding:2px 7px;border-radius:20px;
}

/* buy button */
.buy-btn{
  display:inline-block;background:var(--navy);color:#fff;font-family:'Sora',sans-serif;
  font-weight:600;font-size:13px;text-decoration:none;padding:9px 18px;border-radius:24px;
  margin-top:8px;transition:background .15s;border:none;cursor:pointer;
}
.buy-btn:hover{background:var(--gold);color:#1a1206;}
.buy-btn.big{padding:12px 26px;font-size:14.5px;}
.buy-btn.is-disabled{opacity:.45;pointer-events:none;}

/* book card: add-to-cart + buy-now pair */
.book-actions{display:flex;gap:8px;margin-top:8px;}
.book-actions .buy-btn{margin-top:0;flex:1 1 0;text-align:center;font-size:12.3px;padding:9px 10px;white-space:nowrap;}
.cart-add-btn{
  display:inline-block;background:#fff;color:var(--navy);font-family:'Sora',sans-serif;
  font-weight:600;font-size:12.3px;padding:9px 10px;border-radius:24px;border:1.4px solid var(--navy);
  cursor:pointer;flex:1 1 0;transition:background .15s,color .15s;
}
.cart-add-btn:hover{background:var(--navy);color:#fff;}
.cart-add-btn.is-added{background:var(--gold);border-color:var(--gold);color:#1a1206;}

/* nav cart icon + badge */
.cart-icon-btn{
  position:relative;background:none;border:none;cursor:pointer;color:var(--navy);
  margin-left:10px;padding:4px 4px;line-height:1;flex:0 0 auto;display:flex;align-items:center;
  transition:color .15s;
}
.cart-icon-btn:hover{color:var(--gold);}
.cart-icon-btn svg{width:21px;height:21px;display:block;}
.cart-badge{
  display:inline-flex;align-items:center;justify-content:center;position:absolute;
  top:-6px;right:-6px;background:var(--gold);color:#1a1206;font-family:'Sora',sans-serif;
  font-weight:700;font-size:10px;min-width:16px;height:16px;border-radius:20px;padding:0 4px;
}

/* nav search icon */
.search-icon-btn{
  position:relative;background:none;border:none;cursor:pointer;color:var(--navy);
  margin-left:10px;padding:4px 4px;line-height:1;flex:0 0 auto;display:flex;align-items:center;
  transition:color .15s;
}
.search-icon-btn:hover{color:var(--gold);}
.search-icon-btn svg{width:20px;height:20px;display:block;}

/* search overlay + panel (centered "command palette" style) */
.search-overlay{
  position:fixed;inset:0;background:rgba(8,40,65,.45);opacity:0;pointer-events:none;
  transition:opacity .2s;z-index:210;
}
.search-overlay.is-open{opacity:1;pointer-events:auto;}
.search-panel{
  position:fixed;top:8vh;left:50%;width:100%;max-width:560px;max-height:80vh;
  background:var(--cream);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.3);
  transform:translate(-50%,-14px);opacity:0;pointer-events:none;
  transition:transform .2s ease, opacity .2s ease;
  z-index:211;display:flex;flex-direction:column;overflow:hidden;
}
.search-panel.is-open{transform:translate(-50%,0);opacity:1;pointer-events:auto;}
.search-panel-head{
  display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--divider);flex:0 0 auto;
}
.search-panel-head svg{width:19px;height:19px;color:var(--gray);flex:0 0 auto;}
.search-panel-head input{
  flex:1 1 auto;border:none;background:none;outline:none;font-family:'Inter',sans-serif;
  font-size:15.5px;color:var(--body);min-width:0;
}
.search-close-btn{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--navy);flex:0 0 auto;}
.search-results{flex:1 1 auto;overflow-y:auto;padding:8px;}
.search-hint{padding:20px 14px;margin:0;font-size:13px;color:var(--gray);text-align:center;}
.search-result{
  display:flex;align-items:center;gap:12px;padding:10px 10px;border-radius:10px;text-decoration:none;
  color:inherit;transition:background .12s;
}
.search-result:hover,.search-result.is-active{background:#EAF0F6;}
.search-result-type{
  flex:0 0 auto;font-family:'Sora',sans-serif;font-weight:700;font-size:9.5px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--gold);background:#FDEFD8;border:1px solid var(--gold);
  padding:3px 7px;border-radius:20px;white-space:nowrap;
}
.search-result-body{flex:1 1 auto;min-width:0;}
.search-result-title{display:block;font-family:'Sora',sans-serif;font-weight:600;font-size:13.5px;color:var(--navy);}
.search-result-desc{display:block;font-size:12px;color:var(--gray);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.search-result-price{flex:0 0 auto;font-family:'Sora',sans-serif;font-weight:700;font-size:13px;color:var(--navy);}

@media (max-width:620px){
  .search-panel{top:0;left:0;transform:translateY(-14px);width:100%;max-width:100%;max-height:100%;height:100%;border-radius:0;}
  .search-panel.is-open{transform:translateY(0);}
}

/* brief glow used to draw the eye to a search result once you land on its page */
.search-target-highlight{
  animation:eynSearchGlow 2.6s ease;
  border-radius:12px;
}
@keyframes eynSearchGlow{
  0%{box-shadow:0 0 0 3px var(--gold-light);}
  70%{box-shadow:0 0 0 3px var(--gold-light);}
  100%{box-shadow:0 0 0 0 rgba(224,165,58,0);}
}

/* cart drawer */
.cart-overlay{
  position:fixed;inset:0;background:rgba(8,40,65,.45);opacity:0;pointer-events:none;
  transition:opacity .2s;z-index:200;
}
.cart-overlay.is-open{opacity:1;pointer-events:auto;}
.cart-drawer{
  position:fixed;top:0;right:0;height:100%;width:380px;max-width:90vw;background:var(--cream);
  box-shadow:-8px 0 30px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .25s ease;
  z-index:201;display:flex;flex-direction:column;
}
.cart-drawer.is-open{transform:translateX(0);}
.cart-drawer-head{
  display:flex;align-items:center;justify-content:space-between;padding:18px 20px;
  border-bottom:1px solid var(--divider);flex:0 0 auto;
}
.cart-drawer-head h3{margin:0;font-size:17px;}
.cart-close-btn{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--navy);}
.cart-items{flex:1 1 auto;overflow-y:auto;padding:12px 20px;}
.cart-item{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--divider);}
.cart-item img{width:44px;height:60px;object-fit:cover;border-radius:5px;flex:0 0 auto;background:#0b1726;}
.cart-item-info{flex:1 1 auto;min-width:0;}
.cart-item-title{font-size:12.8px;font-weight:600;color:var(--navy);margin:0 0 3px;line-height:1.3;}
.cart-item-price{font-size:12px;color:var(--gray);margin:0;}
.cart-item-remove{background:none;border:none;font-size:18px;color:var(--gray);cursor:pointer;flex:0 0 auto;padding:0 4px;}
.cart-item-remove:hover{color:var(--gold);}
.cart-empty-msg{display:none;padding:0 20px 20px;font-size:13px;color:var(--gray);}
.cart-drawer-foot{padding:16px 20px 20px;border-top:1px solid var(--divider);flex:0 0 auto;}
.cart-subtotal{display:flex;justify-content:space-between;font-family:'Sora',sans-serif;font-weight:700;font-size:15px;color:var(--navy);margin-bottom:12px;}
#cart-checkout-btn{display:block;width:100%;text-align:center;box-sizing:border-box;}
.cart-clear-btn{
  display:block;width:100%;text-align:center;background:none;border:none;color:var(--gray);
  font-size:12px;margin-top:10px;cursor:pointer;text-decoration:underline;
}
.cart-note{font-size:11.5px;color:var(--gray);text-align:center;margin:10px 0 0;}
body.cart-open-lock{overflow:hidden;}

/* toast */
.cart-toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--navy-deep);color:#fff;font-family:'Sora',sans-serif;font-size:13px;font-weight:600;
  padding:10px 20px;border-radius:24px;opacity:0;pointer-events:none;transition:opacity .2s, transform .2s;
  z-index:250;box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.cart-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0);}

@media (max-width:620px){
  .book-actions{flex-direction:column;}
  .cart-drawer{width:100%;max-width:100%;}
}

/* category chip on product card */
.cat-chip{
  display:inline-block;font-size:11px;color:var(--navy);background:#EAF0F6;border-radius:20px;
  padding:2px 9px;margin-bottom:8px;font-family:'Sora',sans-serif;font-weight:600;
}

/* shop grid + card (extends .book-card layout vertically for store) */
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.product-card{
  background:var(--card);border:1px solid var(--divider);border-radius:12px;padding:18px;
  display:flex;flex-direction:column;transition:transform .15s, box-shadow .15s;
}
.product-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(13,58,92,.12);}
.product-card .cover{
  width:100%;aspect-ratio:2/3;overflow:hidden;border-radius:8px;margin-bottom:12px;
  box-shadow:0 4px 12px rgba(0,0,0,.16);position:relative;background:#0b1726;
}
.product-card .cover img{width:100%;height:100%;object-fit:cover;}
.product-card .num{font-family:'Sora',sans-serif;font-size:11px;font-weight:700;color:var(--gold);letter-spacing:.08em;margin-bottom:4px;}
.product-card h3{font-size:15px;line-height:1.32;margin-bottom:6px;min-height:39px;}
.product-card .desc{font-size:12.8px;color:var(--body);margin:0 0 8px;flex:1 1 auto;}
@media (max-width:980px){.shop-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){
  .shop-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .product-card{padding:11px;}
  .product-card h3{font-size:13px;min-height:34px;}
  .product-card .desc{font-size:11.5px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
  .product-card .price-now{font-size:15px;}
  .book-actions{flex-direction:column;}
}

/* filter chips */
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;}
.filter-chip{
  font-family:'Sora',sans-serif;font-size:12.5px;font-weight:600;color:var(--navy);
  background:var(--card);border:1px solid var(--divider);border-radius:20px;padding:7px 14px;
  cursor:pointer;transition:all .15s;
}
.filter-chip:hover{border-color:var(--gold);}
.filter-chip.active{background:var(--navy);color:#fff;border-color:var(--navy);}

/* bundle cards */
.bundle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.bundle-card{
  background:var(--card);border:1.6px solid var(--gold);border-radius:14px;padding:26px 26px 22px;
  position:relative;display:flex;flex-direction:column;
}
.bundle-card.featured{background:var(--navy-deep);border-color:var(--gold-light);}
.bundle-card.featured h3, .bundle-card.featured .bundle-books{color:#fff;}
.bundle-card.featured .price-now{color:var(--gold-light);}
.bundle-card.featured .price-mrp{color:#7e95a8;}
.bundle-card.featured p{color:#cfd9e3;}
.bundle-ribbon{
  position:absolute;top:-12px;right:18px;background:var(--gold);color:#1a1206;
  font-family:'Sora',sans-serif;font-weight:700;font-size:11px;padding:4px 12px;border-radius:20px;
}
.bundle-card h3{font-size:20px;margin-bottom:4px;}
.bundle-books{font-size:12.5px;color:var(--gray);margin-bottom:12px;font-family:'Sora',sans-serif;font-weight:600;}
.bundle-card p.bundle-desc{font-size:13.6px;color:var(--body);margin:0 0 14px;flex:1 1 auto;}
.bundle-card.featured p.bundle-desc{color:#cfd9e3;}
.bundle-covers{display:flex;margin-bottom:14px;}
.bundle-covers img{
  width:46px;border-radius:4px;box-shadow:0 3px 8px rgba(0,0,0,.25);margin-right:-14px;
  border:2px solid var(--card);
}
/* "All Library" bundle shows all 20 covers, not just 6 — smaller thumbnails,
   tighter overlap, and wrapping so the full set still fits inside the card. */
.bundle-covers.bundle-covers-all{flex-wrap:wrap;row-gap:5px;}
.bundle-covers.bundle-covers-all img{width:26px;margin-right:-10px;}
@media (max-width:760px){.bundle-grid{grid-template-columns:1fr;}}

/* mini stat strip */
.stat-strip{display:flex;gap:0;border:1px solid var(--divider);border-radius:12px;overflow:hidden;background:var(--card);}
.stat-strip div{flex:1;text-align:center;padding:18px 10px;border-right:1px solid var(--divider);}
.stat-strip div:last-child{border-right:none;}
.stat-strip strong{display:block;font-family:'Sora',sans-serif;font-size:20px;color:var(--navy);}
.stat-strip span{font-size:11.5px;color:var(--gray);}
@media (max-width:620px){.stat-strip{flex-wrap:wrap;} .stat-strip div{flex:1 1 50%;border-bottom:1px solid var(--divider);}}

/* ---- legal pages ---- */
.legal-row{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:22px 0 0;}
.legal-row a{color:#9fb0bf;font-size:12.5px;text-decoration:none;}
.legal-row a:hover{color:var(--gold-light);}
.legal-body{max-width:720px;}
.legal-body h2{font-size:18px;margin-top:30px;margin-bottom:10px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p{font-size:14px;color:var(--body);margin:0 0 12px;line-height:1.65;}
.legal-body a{color:var(--navy);font-weight:600;text-decoration:underline;}

/* ---- blog index ---- */
.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.blog-card{
  background:var(--card);border:1px solid var(--divider);border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .15s, box-shadow .15s;text-decoration:none;
}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(13,58,92,.14);}
.blog-card .blog-thumb{width:100%;aspect-ratio:16/9;overflow:hidden;background:#0b1726;}
.blog-card .blog-thumb img{width:100%;height:100%;object-fit:cover;}
.blog-card .blog-card-body{padding:16px 17px 20px;}
.blog-card .blog-tag{
  display:inline-block;font-family:'Sora',sans-serif;font-weight:700;font-size:11px;letter-spacing:.04em;
  color:var(--gold);text-transform:uppercase;margin-bottom:8px;
}
.blog-card h3{font-size:15.5px;line-height:1.32;color:var(--navy);margin-bottom:8px;}
.blog-card p.blog-excerpt{font-size:12.6px;color:var(--body);margin:0 0 10px;line-height:1.5;}
.blog-card .blog-meta{font-size:11.5px;color:var(--gray);font-family:'Sora',sans-serif;font-weight:600;}
@media (max-width:980px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.blog-grid{grid-template-columns:1fr;}}

/* ---- newsletter signup ---- */
.newsletter-box{
  background:var(--navy);border-radius:18px;padding:40px 32px;text-align:center;
  max-width:620px;margin:0 auto;
}
.newsletter-box h3{color:#fff;font-size:23px;margin-bottom:8px;}
.newsletter-box p{color:#cfd9e3;font-size:14px;margin:0 0 22px;}
.newsletter-form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.newsletter-form input[type="email"]{
  flex:1 1 240px;padding:12px 16px;border-radius:30px;border:1px solid #2a4a63;
  background:#0f3350;color:#fff;font-size:14px;font-family:'Inter',sans-serif;
}
.newsletter-form input[type="email"]::placeholder{color:#88a0b3;}
.newsletter-form button{
  background:var(--gold);color:var(--navy-deep);border:none;padding:12px 26px;border-radius:30px;
  font-family:'Sora',sans-serif;font-weight:700;font-size:13.5px;cursor:pointer;flex:0 0 auto;
}
.newsletter-form button:hover{background:var(--gold-light);}
.newsletter-note{font-size:11.5px;color:#7e93a3;margin-top:14px;}
.newsletter-success{display:none;color:var(--gold-light);font-size:14px;font-weight:600;margin-top:6px;}

/* ---- blog post (article) ---- */
.post-hero{width:100%;aspect-ratio:16/9;overflow:hidden;background:#0b1726;}
.post-hero img{width:100%;height:100%;object-fit:cover;}
.post-meta-row{display:flex;gap:14px;align-items:center;font-family:'Sora',sans-serif;font-size:12px;
  color:#9fb0bf;margin-bottom:10px;flex-wrap:wrap;}
.post-meta-row .post-tag{
  background:rgba(200,134,10,.18);color:var(--gold-light);padding:3px 10px;border-radius:20px;
  font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:10.5px;
}
.post-body{max-width:700px;}
.post-body p{font-size:15.5px;line-height:1.75;color:var(--body);margin:0 0 18px;}
.post-body h2{font-size:23px;color:var(--navy);margin:38px 0 14px;line-height:1.3;}
.post-body h3{font-size:18px;color:var(--navy);margin:28px 0 10px;}
.post-body ul, .post-body ol{margin:0 0 18px;padding-left:22px;}
.post-body li{font-size:15.5px;line-height:1.7;color:var(--body);margin-bottom:8px;}
.post-body strong{color:#12283a;}
.post-lead{font-size:18px;line-height:1.6;color:#3a4350;font-style:italic;margin-bottom:28px;
  border-left:3px solid var(--gold);padding-left:18px;}
.stat-callout{
  display:flex;gap:18px;flex-wrap:wrap;background:var(--card);border:1px solid var(--divider);
  border-radius:12px;padding:20px 24px;margin:24px 0 30px;
}
.stat-callout .stat-item{flex:1 1 140px;}
.stat-callout .stat-num{font-family:'Sora',sans-serif;font-weight:800;font-size:24px;color:var(--navy);display:block;}
.stat-callout .stat-label{font-size:11.5px;color:var(--gray);}
.book-cta{
  display:flex;gap:18px;align-items:center;background:var(--navy-deep);border:1.4px solid var(--gold);
  border-radius:14px;padding:20px;margin:32px 0;
}
.book-cta img{width:64px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.3);flex:0 0 auto;}
.book-cta .book-cta-text{flex:1 1 auto;}
.book-cta .book-cta-text p.cta-label{font-size:10.5px;color:var(--gold-light);text-transform:uppercase;
  letter-spacing:.05em;font-weight:700;margin:0 0 4px;}
.book-cta .book-cta-text h4{color:#fff;font-size:16px;margin:0 0 6px;}
.book-cta .book-cta-text p.cta-desc{color:#cfd9e3;font-size:13px;margin:0 0 12px;}
@media (max-width:560px){.book-cta{flex-direction:column;align-items:flex-start;}}
.post-divider{border:none;border-top:1px solid var(--divider);margin:36px 0;}
.author-box{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--divider);
  border-radius:12px;padding:18px 20px;margin-top:36px;}
.author-box .author-initial{
  width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:flex;
  align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:700;flex:0 0 auto;
}
.author-box p{margin:0;font-size:13px;color:var(--body);}
.author-box strong{color:var(--navy);}

/* ================= MOBILE NAV (kept last so it always wins ties) ================= */
@media (max-width:760px){
  nav.topnav .wrap{overflow-x:visible;padding:8px 8px;gap:2px;}

  /* Primary tabs are NOT allowed to scroll horizontally any more — a
     scrolling ancestor here is what was clipping the dropdown below on
     iOS Safari (it silently clips any absolutely-positioned child that
     falls outside its own box, even one only overflowing vertically).
     Instead each tab shares the row equally, so spacing stays even
     regardless of label length or screen width. */
  nav.topnav .nav-links{display:flex;align-items:stretch;justify-content:flex-start;gap:2px;flex:1 1 0;min-width:0;overflow:visible;}
  nav.topnav .nav-links > a.navlink:not(.navlink-logo){
    flex:1 1 0;min-width:0;text-align:center;font-size:11.5px;line-height:1.15;padding:6px 2px;border-bottom:none;
    white-space:normal;word-break:break-word;display:flex;align-items:center;justify-content:center;
  }

  /* the single logo element: reordered to the very front visually, styled as the menu trigger */
  nav.topnav .nav-links a.navlink-logo{
    order:-1;display:flex;align-items:center;gap:2px;padding:0 4px 0 0;flex:0 0 auto;
  }
  nav.topnav .nav-links a.navlink-logo img{height:28px;width:auto;display:block;border-radius:6px;}
  nav.topnav .mobile-menu-caret{display:block;flex:0 0 auto;transition:transform .2s;color:var(--navy);}
  nav.topnav a.navlink-logo[aria-expanded="true"] .mobile-menu-caret{transform:rotate(180deg);}

  /* Dropdown visibility is now toggled directly on #nav-secondary-group
     itself (see nav-v3.js) rather than via a parent ".nav-links.is-open"
     rule, since the dropdown is no longer necessarily nested only for
     visual purposes — this keeps the show/hide rule independent of
     exactly where the element sits in the DOM. */
  nav.topnav .nav-secondary-group{
    display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);
    flex-direction:column;align-items:stretch;
    border-bottom:1px solid var(--divider);box-shadow:0 12px 24px rgba(8,40,65,.12);
    padding:6px 20px 14px;z-index:120;
  }
  nav.topnav .nav-secondary-group.is-open{display:flex;}
  nav.topnav .nav-secondary-group a.navlink{font-size:16px;padding:12px 2px;border-bottom:1px solid var(--divider);}
  nav.topnav .nav-secondary-group a.navlink:last-child{border-bottom:none;}
  nav.topnav .shop-quicklink{display:none;}
  nav.topnav .cart-icon-btn{margin-left:0;padding:4px 3px;}
  nav.topnav .search-icon-btn{margin-left:2px;padding:4px 3px;}
  nav.topnav .cart-icon-btn svg{width:19px;height:19px;}
  nav.topnav .search-icon-btn svg{width:18px;height:18px;}
}

@media (max-width:360px){
  nav.topnav .nav-links > a.navlink:not(.navlink-logo){font-size:11px;padding:6px 1px;}
}



