/* Homepage-only refinement. Product imagery here is editorial scene photography,
   never a substitute for authorized catalogue covers. */
.refined-home { --navy:#10264c; --blue:#2846a5; --mint:#55cdba; --pale:#eaf6f8; --ivory:#f5f1ea; color:var(--navy); }
.approved-home .approved-header { min-height:104px; padding:10px 4vw 37px; column-gap:22px; }
.approved-home .brand-image { width:164px; height:51px; flex:none; overflow:hidden; }
.approved-home .brand-image img { width:100%; height:100%; object-fit:contain; object-position:left center; }
.approved-home .header-actions button span { font-size:20px; line-height:1; }
.approved-home .header-actions { gap:17px; }
.approved-home .header-actions small { font-size:10px; }
.refined-hero { min-height:442px; grid-template-columns:minmax(360px,.86fr) minmax(540px,1.14fr); padding:34px 4.8vw 0; gap:24px; align-items:stretch; background:linear-gradient(110deg,#eef8fc 0%,#f9fcfd 53%,#dff7f1 100%); }
.refined-hero .hero-copy { align-self:center; padding:12px 0 34px; }
.refined-hero .hero-copy>.eyebrow { color:#536781; font-size:10px; margin-bottom:15px; }
.refined-hero .hero-copy h1 { font-size:clamp(54px,5.8vw,80px); line-height:.91; letter-spacing:-4.5px; }
.refined-hero .hero-copy>p:not(.eyebrow) { color:#20385f; font-size:clamp(18px,1.8vw,23px); margin:15px 0 19px; }
.refined-hero .hero-search { width:min(540px,100%); height:54px; border:1px solid #dce5ed; padding:5px; }
.refined-hero .hero-search input { font-size:13px; }
.refined-hero .hero-search button { width:44px; height:44px; cursor:pointer; }
.refined-hero .popular-searches { gap:6px; margin-top:13px; }
.refined-hero .popular-searches a { padding:5px 9px; }
.refined-hero .spine-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; justify-content:stretch; gap:12px; height:100%; padding:8px 0 0; min-width:0; }
.refined-hero .spine { display:flex; width:100%; max-width:none; min-width:0; height:100%; min-height:345px; padding:18px 14px 23px; justify-content:flex-end; align-items:flex-start; text-decoration:none; overflow:hidden; position:relative; isolation:isolate; border-radius:100px 100px 0 0; box-shadow:0 12px 25px #10264c22; transition:transform .22s ease,box-shadow .22s ease; }
.refined-hero .spine:hover,.refined-hero .spine:focus-visible { transform:translateY(-8px); box-shadow:0 19px 32px #10264c38; outline:3px solid #55cdba; outline-offset:3px; }
.refined-hero .spine img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:center 42%; }
.refined-hero .spine:before { content:""; position:absolute; inset:28% 0 0; z-index:-1; background:linear-gradient(180deg,transparent 0%,#06152bcc 100%); opacity:.98; }
.refined-hero .spine span { color:white; font:700 clamp(16px,1.6vw,21px)/1 var(--sans); letter-spacing:-.5px; }
.refined-hero .spine small { color:#fff; font-size:10px; line-height:1.25; margin-top:7px; max-width:130px; }
.refined-hero .spine.discover,.refined-hero .spine.explore,.refined-hero .spine.for-you,.refined-hero .spine.offers { height:100%; }
.home-section { padding:34px 4vw 28px; }
.home-heading { align-items:end; margin-bottom:12px; }
.home-heading h2 { font:700 clamp(25px,2.8vw,34px)/1.05 var(--sans); letter-spacing:-1px; }
.home-heading .eyebrow { color:#78879a; margin:0 0 7px; }
.home-heading a { color:var(--navy); font-size:12px; font-weight:700; }
.fixture-note { color:#596b80; font-size:11px; margin:8px 0 14px; }
.fixture-rail { display:flex; gap:17px; overflow-x:auto; overflow-y:hidden; padding:7px 2px 15px; scroll-snap-type:x mandatory; scrollbar-color:#a7bccb #eff4f5; scrollbar-width:thin; }
.refined-fixture { flex:0 0 clamp(176px,17vw,218px); min-width:0; scroll-snap-align:start; border:1px solid #e7ebef; border-radius:10px; padding:10px; background:#fff; cursor:default; }
.refined-fixture .fixture-art { width:100%; height:auto; aspect-ratio:2/3; padding:15px; display:flex; flex-direction:column; justify-content:space-between; color:#19345e; background:linear-gradient(145deg,#eaf6f8,#f6f1e8); border:1px solid #d5e0e8; text-align:center; }
.refined-fixture:nth-child(3n+2) .fixture-art { background:linear-gradient(145deg,#f7eee6,#e5eef8); }
.refined-fixture:nth-child(3n) .fixture-art { background:linear-gradient(145deg,#e5f2eb,#f5f1ea); }
.refined-fixture .fixture-art span { font:9px var(--mono); letter-spacing:1.3px; }
.refined-fixture .fixture-art b { font:500 18px/1.15 var(--serif); }
.refined-fixture-copy { padding:12px 2px 2px; }
.refined-fixture-copy .eyebrow { color:#65758b; font-size:8px; margin:0 0 6px; letter-spacing:.7px; }
.refined-fixture-copy h3 { margin:0; min-height:0; color:var(--navy); font:600 16px/1.2 var(--sans); }
.refined-fixture-copy p { margin:6px 0; color:#58677b; font-size:12px; }
.refined-fixture-copy small { color:#8a5a28; font-size:10px; }
.refined-fixture:hover { box-shadow:0 8px 20px #10264c14; transform:translateY(-2px); }
.refined-moods { margin:8px 4vw; padding:27px 30px; display:grid; grid-template-columns:minmax(190px,.75fr) 2.4fr; align-items:center; gap:22px; border-radius:16px; background:#eff8fb; }
.refined-moods h2 { color:var(--navy); font:700 clamp(24px,2.4vw,31px)/1.02 var(--sans); letter-spacing:-1px; margin:0; }
.refined-moods .eyebrow { color:#6c7c91; margin-bottom:9px; }
.refined-moods p:not(.eyebrow) { font-size:12px; color:#576a85; }
.refined-moods .mood-links { display:grid; grid-template-columns:repeat(5,minmax(90px,1fr)); gap:10px; }
.mood-tile { min-height:119px; border-radius:12px; padding:10px; position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; background:white; color:var(--navy); box-shadow:0 3px 12px #10264c0c; transition:transform .18s,box-shadow .18s; }
.mood-tile:hover,.mood-tile:focus-visible { transform:translateY(-4px); box-shadow:0 9px 18px #10264c1c; outline:2px solid var(--mint); }
.mood-tile svg { width:100%; height:60px; fill:none; stroke:#2846a5; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.mood-tile:nth-child(3n+2) svg { stroke:#367e82; }
.mood-tile:nth-child(3n) svg { stroke:#bd8062; }
.mood-tile span { font-size:11px; line-height:1.1; font-weight:700; }
.refined-moods .mood-tile span { position:static; right:auto; top:auto; align-self:flex-start; text-align:left; opacity:1; font:700 11px/1.1 var(--sans); color:#10264c; }
.mood-tile>b { position:absolute; right:9px; top:8px; color:#788ba2; font-size:12px; }
.refined-promos { margin:18px 4vw; gap:13px; }
.refined-promos .promo-card { min-height:156px; border-radius:15px; padding:18px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; isolation:isolate; background-size:cover; background-position:center; }
.refined-promos .promo-card:before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(255,253,248,.2); }
.refined-promos .promo-card h3 { max-width:60%; margin:0 0 5px; color:#10264c; font:700 20px/1.05 var(--sans); }
.refined-promos .promo-card p { max-width:57%; margin:0 0 10px; color:#334968; font-size:11px; }
.refined-promos .promo-card span { width:max-content; background:#10264c; color:white; border-radius:18px; padding:7px 11px; font-size:10px; font-weight:700; }
.refined-promos .peach { background-image:url("assets/homepage/promo-299-approved.jpg"); }
.refined-promos .aqua { background-image:url("assets/homepage/promo-under-499-approved.jpg"); }
.refined-promos .mint-promo { background-image:url("assets/homepage/promo-offers-approved.jpg"); }
.refined-recommend { margin:18px 4vw; grid-template-columns:1.12fr .88fr; gap:14px; }
.refined-recommend .recommends { min-height:302px; padding:27px 0 27px 30px; position:relative; isolation:isolate; border-radius:16px; background:#10264c; }
.refined-recommend .recommends>img { position:absolute; inset:0; z-index:-1; width:100%; height:100%; object-fit:cover; object-position:center; }
.refined-recommend .recommends:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#10264cf5 0%,#10264ccc 42%,transparent 100%); }
.refined-recommend .recommends-copy { position:relative; z-index:1; }
.refined-recommend .recommends .eyebrow { color:#a9c3d7; margin-bottom:10px; }
.refined-recommend .recommends h2 { color:#fff; font:700 clamp(31px,3.3vw,43px)/.95 var(--sans); letter-spacing:-1.7px; }
.refined-recommend .recommends p:not(.eyebrow) { color:#e1e9f0; font-size:13px; margin:10px 0 18px; }
.recommend-cta,.little-reader-cta { display:inline-flex; align-items:center; gap:18px; padding:10px 14px; background:white; color:#10264c; border-radius:24px; font-size:12px; font-weight:700; }
.refined-recommend .little-readers { min-height:302px; position:relative; padding:27px; border-radius:16px; overflow:hidden; background:var(--ivory); }
.refined-recommend .little-readers .eyebrow { color:#718095; margin:0 0 8px; }
.refined-recommend .little-readers h2 { color:var(--navy); font:700 28px var(--sans); margin:0; }
.refined-recommend .little-readers p:not(.eyebrow) { color:#5b6a7e; font-size:12px; max-width:250px; }
.little-reader-cta { position:relative; z-index:1; background:#10264c; color:white; }
.little-art { position:absolute; right:12px; bottom:13px; width:53%; height:116px; display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(-4deg); border-radius:7px 22px 7px 22px; color:#18375f; background:linear-gradient(140deg,#fff,#e7f4f3); box-shadow:0 10px 24px #10264c18; font:500 23px/1.1 var(--serif); }
.little-art span:nth-child(2) { color:#288b88; }
.refined-india { margin:18px 4vw; padding:0; min-height:232px; display:grid; grid-template-columns:.85fr 1.15fr; border-radius:16px; overflow:hidden; background:#eaf4ec; }
.refined-india>div { align-self:center; padding:26px 30px; }
.refined-india .eyebrow { color:#587164; margin:0 0 9px; }
.refined-india h2 { margin:0; color:#10264c; font:700 31px var(--sans); letter-spacing:-1px; }
.refined-india p:not(.eyebrow) { color:#344f49; max-width:370px; font-size:13px; line-height:1.5; }
.refined-india a { display:inline-flex; gap:15px; align-items:center; background:#10264c; color:white; border-radius:24px; padding:10px 15px; font-size:11px; font-weight:700; }
.refined-india img { width:100%; height:100%; min-height:232px; object-fit:cover; object-position:67% center; }
.fresh-section { padding-top:26px; }
.refined-hundred { margin:18px 4vw; padding:25px 28px; min-height:207px; grid-template-columns:145px minmax(220px,.85fr) 1.15fr; align-items:center; gap:22px; border-radius:16px; background:linear-gradient(100deg,#edf7fa,#e6f6f3); }
.hundred-mark { display:block; width:100%; max-width:145px; height:132px; object-fit:contain; object-position:center; }
.hundred-copy .eyebrow { color:#657990; margin:0 0 6px; }
.hundred-copy h2 { margin:0; color:#10264c; font:700 28px var(--sans); letter-spacing:-1px; }
.hundred-copy p:not(.eyebrow) { color:#51647a; font-size:12px; line-height:1.4; }
.hundred-copy a { display:inline-flex; gap:14px; background:#10264c; color:white; border-radius:22px; padding:9px 13px; font-size:11px; font-weight:700; }
.cover-assets-pending { min-height:112px; padding:17px 20px; border-left:1px solid #becdd8; color:#334d67; }
.cover-assets-pending span { font:10px var(--mono); text-transform:uppercase; letter-spacing:.8px; color:#647c93; }
.cover-assets-pending p { max-width:350px; font:500 16px/1.35 var(--serif); }
.refined-publishers { grid-template-columns:1fr 1fr; padding:21px 4vw 30px; }
.refined-publishers h2 { color:#10264c; font:700 25px var(--serif); }
.refined-publishers>p { color:#6c7987; font-size:12px; align-self:center; }
.refined-home footer { background:#10264c; }
@media(max-width:1000px) {
  .refined-hero { grid-template-columns:minmax(310px,.86fr) minmax(440px,1.14fr); padding-left:3vw; padding-right:3vw; gap:15px; }
  .refined-hero .spine-nav { gap:8px; }
  .refined-hero .spine { min-height:316px; padding:15px 10px 19px; }
  .refined-moods { grid-template-columns:1fr; }
  .refined-moods .mood-links { grid-template-columns:repeat(5,minmax(85px,1fr)); }
  .refined-hundred { grid-template-columns:115px minmax(200px,.8fr) 1.2fr; gap:14px; padding:20px; }
}
@media(max-width:700px) {
  .approved-home .approved-header { min-height:0; padding:8px 5vw 11px; gap:9px; }
  .approved-home .brand-image { width:112px; height:38px; }
  .approved-home .header-actions { gap:8px; }
  .approved-home .header-actions { display:flex; }
  .approved-home .header-actions button { display:grid; padding:2px; }
  .approved-home .header-actions button small { display:none; }
  .approved-home .header-actions button b { top:-3px; right:-4px; height:13px; width:13px; font-size:8px; }
  .approved-home .header-actions button span { font-size:18px; }
  .approved-home .header-search { order:3; flex-basis:100%; height:39px; }
  .approved-home .header-search button { height:39px; }
  .approved-home .commerce-nav { order:4; display:flex; overflow-x:auto; flex-basis:100%; gap:19px; padding:5px 0 3px; scrollbar-width:none; }
  .approved-home .commerce-nav a { white-space:nowrap; font-size:10px; }
  .refined-hero { display:flex; flex-direction:column; min-height:0; padding:28px 5vw 0; gap:9px; }
  .refined-hero .hero-copy { padding:0 0 8px; }
  .refined-hero .hero-copy h1 { font-size:clamp(43px,12vw,60px); letter-spacing:-3px; }
  .refined-hero .hero-copy>p:not(.eyebrow) { font-size:17px; margin:12px 0 15px; }
  .refined-hero .hero-search { height:48px; }
  .refined-hero .hero-search button { width:38px; height:38px; }
  .refined-hero .popular-searches { gap:5px; }
  .refined-hero .popular-searches>span { width:100%; }
  .refined-hero .spine-nav { display:flex; width:100%; height:218px; gap:7px; align-items:end; overflow-x:auto; padding:2px 1px 0; scrollbar-width:none; }
  .refined-hero .spine { flex:0 0 calc((100vw - 10vw - 21px)/4); width:auto; height:204px; min-height:204px; padding:11px 8px 13px; border-radius:48px 48px 0 0; }
  .refined-hero .spine span { font-size:13px; }
  .refined-hero .spine small { font-size:8px; }
  .home-section { padding:25px 5vw 20px; }
  .home-heading h2 { font-size:24px; }
  .refined-fixture { flex-basis:165px; padding:8px; }
  .refined-fixture .fixture-art { height:190px; }
  .refined-fixture-copy h3 { font-size:14px; }
  .refined-moods { margin:12px 5vw; padding:18px; gap:10px; }
  .refined-moods h2 { font-size:25px; }
  .refined-moods .mood-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .mood-tile { min-height:107px; }
  .mood-tile svg { height:50px; }
  .refined-promos { margin:12px 5vw; grid-template-columns:1fr; gap:8px; }
  .refined-promos .promo-card { min-height:134px; }
  .refined-promos .promo-card h3 { font-size:19px; }
  .refined-promos .promo-card p { max-width:62%; }
  .refined-recommend { margin:12px 5vw; grid-template-columns:1fr; }
  .refined-recommend .recommends { min-height:240px; padding:22px; }
  .refined-recommend .recommends h2 { font-size:34px; }
  .refined-recommend .little-readers { min-height:220px; padding:21px; }
  .refined-india { margin:12px 5vw; grid-template-columns:1fr; }
  .refined-india>div { padding:21px; }
  .refined-india img { min-height:180px; max-height:220px; }
  .refined-hundred { margin:12px 5vw; grid-template-columns:72px 1fr; gap:12px; padding:17px; }
  .hundred-mark { height:95px; }
  .hundred-copy h2 { font-size:22px; }
  .cover-assets-pending { grid-column:1/-1; min-height:0; border-left:0; border-top:1px solid #becdd8; padding:11px 0 0; }
  .cover-assets-pending p { font-size:14px; margin:7px 0 0; }
  .refined-publishers { grid-template-columns:1fr; gap:5px; padding:16px 5vw 25px; }
}
@media(prefers-reduced-motion:reduce) { .refined-home *, .refined-home *:before, .refined-home *:after { scroll-behavior:auto!important; transition:none!important; } }

/* Supplied category illustrations: a native, touch-friendly discovery rail. */
.refined-moods { display:block; margin:18px 3.5vw; padding:22px 24px 20px; }
.refined-moods .mood-heading { display:grid; grid-template-columns:1fr auto; grid-template-areas:"eyebrow controls" "title controls" "copy controls"; align-items:center; column-gap:20px; margin-bottom:15px; }
.refined-moods .mood-heading .eyebrow { grid-area:eyebrow; margin:0 0 5px; }
.refined-moods .mood-heading h2 { grid-area:title; font-size:clamp(23px,2.1vw,29px); }
.refined-moods .mood-heading>p:not(.eyebrow) { grid-area:copy; margin:5px 0 0; font-size:13px; }
.mood-controls { grid-area:controls; display:flex; align-items:center; gap:9px; }
.mood-controls span { min-width:75px; text-align:center; color:#52647c; font:600 11px/1 var(--sans); font-variant-numeric:tabular-nums; }
.mood-controls button,.mood-next { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; padding:0; border:1px solid #dce5ed; border-radius:50%; background:#fff; color:#10264c; box-shadow:0 3px 10px #10264c12; font:500 23px/1 var(--sans); cursor:pointer; transition:background .18s,color .18s,transform .18s,box-shadow .18s; }
.mood-controls button:hover:not(:disabled),.mood-next:hover:not(:disabled) { transform:translateY(-2px); background:#10264c; color:#fff; box-shadow:0 6px 14px #10264c20; }
.mood-controls button:disabled,.mood-next:disabled { opacity:.42; cursor:default; }
.mood-carousel { display:grid; grid-template-columns:minmax(0,1fr) 42px; align-items:center; gap:11px; }
.refined-moods .mood-links { display:flex; min-width:0; width:100%; gap:8px; overflow-x:auto; overflow-y:hidden; padding:2px 2px 5px; scrollbar-width:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-x:contain; touch-action:pan-x; }
.refined-moods .mood-links::-webkit-scrollbar { display:none; }
.refined-moods .mood-links .mood-tile { flex:0 0 calc((100% - 72px)/10); min-width:0; height:auto; min-height:0; padding:0; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:8px; overflow:visible; border-radius:0; background:transparent; box-shadow:none; color:#10264c; text-align:center; scroll-snap-align:start; transition:transform .18s; }
.refined-moods .mood-tile:hover { transform:translateY(-3px); box-shadow:none; outline:0; }
.refined-moods .mood-links .mood-tile img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; border:0; border-radius:0; }
.refined-moods .mood-links .mood-tile span { display:flex; min-height:2.4em; align-items:flex-start; justify-content:center; padding:0 2px; color:#10264c; text-align:center; font:600 11px/1.18 var(--sans); }
.refined-moods .mood-tile:focus-visible,.mood-controls button:focus-visible,.mood-next:focus-visible { outline:3px solid #2846a5; outline-offset:3px; }
.refined-moods .mood-links:focus-visible { outline:2px solid #2846a5; outline-offset:3px; }
@media(max-width:1100px) {
  .refined-moods .mood-links .mood-tile { flex-basis:calc((100% - 40px)/6); }
}
@media(max-width:700px) {
  .refined-moods { margin:12px 5vw; padding:18px 15px 16px; }
  .refined-moods .mood-heading { grid-template-columns:1fr; grid-template-areas:"eyebrow" "title" "copy" "controls"; row-gap:0; margin-bottom:12px; }
  .refined-moods .mood-heading h2 { font-size:24px; }
  .refined-moods .mood-heading>p:not(.eyebrow) { font-size:12px; }
  .mood-controls { justify-self:end; gap:7px; margin-top:-36px; }
  .mood-controls button,.mood-next { width:38px; height:38px; flex-basis:38px; }
  .mood-controls span { min-width:66px; font-size:10px; }
  .mood-carousel { grid-template-columns:minmax(0,1fr) 38px; gap:7px; }
  .refined-moods .mood-links { gap:7px; }
  .refined-moods .mood-links .mood-tile { flex-basis:calc((100% - 14px)/3); gap:6px; }
  .refined-moods .mood-links .mood-tile span { font-size:10px; }
}

/* Larger illustrated tiles, paged in a fixed ten-slot responsive grid. */
.refined-moods { --mood-label-height:31.2px; }
.mood-carousel { grid-template-columns:minmax(0,1fr) 42px; align-items:center; gap:12px; }
.mood-pages { min-width:0; }
.mood-grid-page { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:start; gap:16px 12px; }
.mood-grid-page[hidden] { display:none!important; }
.refined-moods .mood-grid-page .mood-tile { width:100%; min-width:0; height:auto; min-height:0; padding:0; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:8px; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; color:#10264c; text-align:center; text-decoration:none; transition:transform .18s ease; }
.refined-moods .mood-grid-page .mood-tile:hover { transform:translateY(-3px); outline:0; box-shadow:none; }
.refined-moods .mood-grid-page .mood-tile img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; border:0; border-radius:0; }
.refined-moods .mood-grid-page .mood-tile span { display:flex; min-height:var(--mood-label-height); align-items:flex-start; justify-content:center; padding:0 3px; color:#10264c; text-align:center; font:600 13px/1.2 var(--sans); }
.mood-spacer { display:flex; width:100%; flex-direction:column; gap:8px; visibility:hidden; }
.mood-spacer::before { content:""; display:block; width:100%; aspect-ratio:1/1; }
.mood-spacer::after { content:""; display:block; height:var(--mood-label-height); }
.trend-actions { display:flex; align-items:center; gap:18px; }
.trend-controls { display:flex; align-items:center; gap:8px; }
.trend-controls span { min-width:72px; color:#52647c; text-align:center; font:600 11px/1 var(--sans); font-variant-numeric:tabular-nums; }
.trend-controls button,.book-carousel-next { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid #dce5ed; border-radius:50%; background:#fff; color:#10264c; box-shadow:0 3px 10px #10264c12; font:500 22px/1 var(--sans); cursor:pointer; transition:background .18s,color .18s,transform .18s,box-shadow .18s; }
.trend-controls button:hover:not(:disabled),.book-carousel-next:hover { background:#10264c; color:#fff; box-shadow:0 6px 14px #10264c20; }
.trend-controls button:disabled { opacity:.42; cursor:default; }
.trend-controls button:focus-visible,.book-carousel-next:focus-visible { outline:3px solid #2846a5; outline-offset:3px; }
.book-carousel-wrap { position:relative; min-width:0; }
.book-carousel-section .trend-rail { display:flex; flex-wrap:nowrap; gap:17px; padding:7px 0 15px; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -ms-overflow-style:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-x:contain; touch-action:pan-x; }
.book-carousel-section .trend-rail::-webkit-scrollbar { display:none; width:0; height:0; }
.book-carousel-section .trend-rail .fixture-card { display:block; flex:0 0 calc((100% - 68px)/5); min-width:0; scroll-snap-align:start; }
.book-carousel-next { position:absolute; z-index:2; top:50%; right:-19px; transform:translateY(-50%); }
.book-carousel-next:hover { transform:translateY(-50%); }
.book-carousel-next[hidden] { display:none!important; }
@media(max-width:1100px) {
  .book-carousel-section .trend-rail { gap:14px; }
  .book-carousel-section .trend-rail .fixture-card { flex-basis:calc((100% - 28px)/3); }
  .refined-moods { --mood-label-height:28.8px; }
  .mood-grid-page { grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px 14px; }
  .refined-moods .mood-grid-page .mood-tile span { font-size:12px; }
}
@media(max-width:700px) {
  .trend-actions { gap:8px; }
  .trend-controls { gap:5px; }
  .trend-controls button { width:38px; height:38px; }
  .trend-controls span { min-width:68px; font-size:10px; }
  .book-carousel-section .trend-rail { gap:10px; }
  .book-carousel-section .trend-rail .fixture-card { flex-basis:calc((100% - 20px)/3); }
  .book-carousel-next { right:-13px; width:38px; height:38px; }
  .refined-moods { --mood-label-height:26.4px; }
  .mood-carousel { grid-template-columns:minmax(0,1fr) 38px; gap:7px; }
  .mood-grid-page { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 10px; }
  .refined-moods .mood-grid-page .mood-tile { gap:6px; }
  .refined-moods .mood-grid-page .mood-tile span { font-size:11px; }
  .mood-spacer { gap:6px; }
}
@media(max-width:600px) {
  .book-carousel-section .trend-rail .fixture-card { flex-basis:calc((100% - 10px)/2); }
}

/* Editorial pairing: 40% Bookworld Recommends, 60% Little Readers. */
.refined-recommend { grid-template-columns:minmax(0,2fr) minmax(0,3fr); align-items:stretch; gap:14px; }
.refined-recommend>.recommends,.refined-recommend>.little-readers { height:410px; min-height:0; border-radius:16px; overflow:hidden; }
.refined-recommend>.recommends { padding:30px; }
.refined-recommend .recommends>img { object-position:right center; }
.refined-recommend .recommends:after { background:linear-gradient(90deg,#10264cf7 0%,#10264ce8 39%,#10264c54 70%,#10264c08 100%); }
.refined-recommend .recommends-copy { max-width:290px; }
.refined-recommend .recommends h2 { max-width:270px; }
.refined-recommend .recommend-cta { margin-top:7px; text-decoration:none; }
.refined-recommend>.little-readers { display:flex; flex-direction:column; padding:23px 24px 17px; background:#f7f1e8; }
.little-readers-heading { flex:0 0 auto; }
.refined-recommend .little-readers .eyebrow { margin:0 0 5px; }
.refined-recommend .little-readers h2 { font-size:clamp(24px,2.4vw,32px); line-height:1.05; }
.refined-recommend .little-readers .little-readers-heading p:not(.eyebrow) { margin:5px 0 12px; max-width:none; font-size:13px; }
.reader-age-filters { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 8px; }
.reader-age-filter { min-height:32px; padding:5px 13px; border:1px solid #d5dce3; border-radius:20px; background:#fff; color:#243b60; font:600 11px/1 var(--sans); cursor:pointer; transition:background .16s,color .16s,border-color .16s,box-shadow .16s; }
.reader-age-filter:hover { border-color:#9aacc1; }
.reader-age-filter[aria-pressed="true"] { border-color:#10264c; background:#10264c; color:#fff; box-shadow:0 3px 9px #10264c1a; }
.reader-age-filter:focus-visible,.reader-fixture:focus-visible,.reader-carousel button:focus-visible { outline:3px solid #2846a5; outline-offset:3px; }
.reader-fixture-note { flex:0 0 auto; margin:0 0 4px; color:#65758b; font:10px/1.35 var(--sans); }
.reader-carousel { position:relative; display:flex; flex:1 1 auto; align-items:center; min-height:0; margin:0 -2px; }
.reader-cover-track { display:flex; width:100%; min-width:0; gap:10px; overflow-x:auto; overflow-y:hidden; padding:8px 0; scrollbar-width:none; -ms-overflow-style:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-x:contain; touch-action:pan-x; }
.reader-cover-track::-webkit-scrollbar { display:none; width:0; height:0; }
.reader-fixture { flex:0 0 calc((100% - 40px)/5); min-width:0; scroll-snap-align:start; cursor:default; }
.reader-cover-placeholder { width:100%; aspect-ratio:2/3; display:flex; flex-direction:column; align-items:center; justify-content:space-between; padding:10px 7px; overflow:hidden; border:1px solid #ffffffb3; border-radius:7px; background:var(--fixture-cover); color:#344762; text-align:center; }
.reader-cover-placeholder span { font:600 8px/1.2 var(--sans); letter-spacing:.5px; text-transform:uppercase; }
.reader-cover-placeholder strong { font:600 clamp(9px,1vw,13px)/1.15 var(--sans); }
.reader-fixture>p { min-height:2.4em; margin:6px 0 0; color:#6a7786; text-align:center; font:9px/1.2 var(--sans); }
.reader-fixture:focus-visible { border-radius:8px; }
.reader-carousel button { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:40px; height:40px; padding:0; transform:translateY(-50%); border:1px solid #dce5ed; border-radius:50%; background:#fff; color:#10264c; box-shadow:0 3px 10px #10264c20; font:500 21px/1 var(--sans); cursor:pointer; transition:background .16s,color .16s,box-shadow .16s; }
.reader-carousel button:hover:not(:disabled) { background:#10264c; color:#fff; box-shadow:0 6px 14px #10264c30; }
.reader-carousel button:disabled { opacity:.42; cursor:default; }
.reader-carousel .reader-carousel-prev { left:-17px; }
.reader-carousel .reader-carousel-next { right:-17px; }
.reader-carousel button[hidden] { display:none!important; }
.reader-carousel-status { flex:0 0 auto; align-self:flex-end; margin:0; color:#65758b; font:10px/1.2 var(--sans); font-variant-numeric:tabular-nums; }
@media(max-width:1100px) {
  .reader-fixture { flex-basis:calc((100% - 30px)/4); }
}
@media(max-width:700px) {
  .refined-recommend { grid-template-columns:minmax(0,1fr); gap:12px; }
  .refined-recommend>.recommends { height:270px; min-height:270px; padding:24px; }
  .refined-recommend>.little-readers { height:430px; min-height:430px; padding:21px; }
  .reader-age-filters { gap:6px; }
  .reader-fixture { flex-basis:calc((100% - 30px)/4); }
  .reader-cover-placeholder { padding:8px 5px; }
}
@media(max-width:480px) {
  .refined-recommend>.little-readers { height:450px; min-height:450px; padding:18px; }
  .reader-fixture { flex-basis:calc((100% - 10px)/2); }
  .reader-carousel .reader-carousel-prev { left:-12px; }
  .reader-carousel .reader-carousel-next { right:-12px; }
}
.api-book-card { color:inherit; text-decoration:none; }
.api-book-card .api-cover { padding:0; overflow:hidden; }
.api-book-card .api-cover img { width:100%; height:100%; object-fit:contain; }
.api-book-card .api-cover-missing { margin:auto; color:#52657d; font:500 12px/1.4 var(--sans); }
.api-book-card .api-price { display:block; margin:4px 0; color:var(--navy); font:700 14px/1.3 var(--sans); }
.api-india-cover { padding:0; overflow:hidden; background:transparent; border:0; box-shadow:none; }
.api-india-cover img { display:block; width:100%; height:100%; object-fit:contain; }
.api-india-cover span { padding:8px; }
.api-detail-cover img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.editorial-mode-note { margin:0 0 20px; color:#65758b; font-size:12px; }
.api-empty-state { margin:8px 0; color:#52657d; font:500 13px/1.45 var(--sans); }
.api-loading { margin:8px 0; color:#718095; font:500 12px/1.4 var(--sans); }
.book-carousel-section .fixture-note:empty { display:none; }
.hundred-carousel { position:relative; min-width:0; }
.hundred-cover-track { display:flex; gap:10px; min-width:0; overflow-x:auto; overflow-y:hidden; padding:7px 3px 10px; scrollbar-width:none; -ms-overflow-style:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-x:contain; touch-action:pan-x; }
.hundred-cover-track::-webkit-scrollbar { display:none; width:0; height:0; }
.hundred-cover-slot { display:flex; flex:0 0 clamp(66px,7.5vw,92px); aspect-ratio:2/3; align-items:center; justify-content:center; overflow:hidden; scroll-snap-align:start; text-decoration:none; background:#ffffff8c; box-shadow:0 4px 12px #10264c14; }
.hundred-cover-slot img { display:block; width:100%; height:100%; object-fit:contain; }
.hundred-cover-slot .api-cover-missing { padding:6px; color:#52657d; text-align:center; font:500 10px/1.35 var(--sans); }
.hundred-carousel > button { position:absolute; z-index:2; top:50%; display:grid; width:38px; height:38px; place-items:center; padding:0; transform:translateY(-50%); border:1px solid #dce5ed; border-radius:50%; background:#fff; color:#10264c; box-shadow:0 3px 10px #10264c20; font:500 21px/1 var(--sans); cursor:pointer; }
.hundred-carousel > button:hover:not(:disabled) { background:#10264c; color:#fff; }
.hundred-carousel > button:disabled,.hundred-carousel > button[hidden] { display:none; }
.hundred-carousel > button:focus-visible,.hundred-cover-track:focus-visible { outline:3px solid #2846a5; outline-offset:3px; }
.hundred-carousel-prev { left:-18px; }
.hundred-carousel-next { right:-18px; }
.hundred-carousel-status { margin:2px 0 0; color:#65758b; font:10px/1.2 var(--sans); font-variant-numeric:tabular-nums; }
.api-cover-missing { display:flex; align-items:center; justify-content:center; width:100%; min-height:90px; padding:10px; color:#52657d; text-align:center; font:500 11px/1.4 var(--sans); }
.product-subjects { display:flex; align-items:center; flex-wrap:wrap; gap:6px 9px; margin:0 0 17px; opacity:1; }
.product-subject-link { display:inline-flex; align-items:center; gap:6px; color:#657367; font:500 10px/1.35 var(--mono); letter-spacing:.45px; text-decoration:underline; text-decoration-color:#b7c2b9; text-underline-offset:3px; }
.product-subject-link:hover { color:#10264c; text-decoration-color:currentColor; }
.product-subject-link--primary { color:#18201d; font-weight:600; }
.subject-primary-label { padding:2px 5px; border:1px solid #cbd4c8; border-radius:999px; color:#546357; font:500 8px/1.2 var(--sans); letter-spacing:.2px; text-decoration:none; text-transform:none; }
.product-subject-link:focus-visible { outline:2px solid #2846a5; outline-offset:3px; border-radius:2px; }
.product-subject-separator { display:none; }
.api-state { color:#52657d; font:500 14px/1.5 var(--sans); }
.api-pagination { display:flex; align-items:center; justify-content:center; gap:18px; margin:24px 0; }
.api-pagination button { padding:10px 15px; border:1px solid #d5e0e8; border-radius:24px; background:#fff; color:var(--navy); }

/* Final 10-category discovery rail: retain the original illustrations and make the visible group container-responsive. */
.refined-moods .mood-carousel { grid-template-columns:minmax(0,1fr) 42px; align-items:center; gap:12px; }
.refined-moods .mood-track { --mood-gap:clamp(12px,1.1vw,18px); display:flex; width:100%; min-width:0; gap:var(--mood-gap); overflow-x:auto; overflow-y:hidden; padding:4px 3px 8px; scrollbar-width:none; -ms-overflow-style:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-x:contain; touch-action:pan-x; }
.refined-moods .mood-track::-webkit-scrollbar { display:none; width:0; height:0; }
.refined-moods .mood-track .mood-tile { flex:0 0 var(--mood-card-width,calc((100% - 70px) / 6)); min-width:0; height:auto; min-height:0; padding:0; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:8px; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; color:#10264c; text-align:center; text-decoration:none; scroll-snap-align:start; transition:transform .18s ease; }
.refined-moods .mood-track .mood-tile:hover { transform:translateY(-3px); outline:0; box-shadow:none; }
.refined-moods .mood-track .mood-tile:focus-visible { outline:3px solid #2846a5; outline-offset:3px; border-radius:6px; }
.refined-moods .mood-track .mood-tile img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; border:0; border-radius:0; }
.refined-moods .mood-track .mood-tile span { display:flex; min-height:2.5em; align-items:flex-start; justify-content:center; padding:0 3px; color:#10264c; text-align:center; font:600 13px/1.2 var(--sans); }
.refined-moods .mood-prev[hidden],.refined-moods .mood-next[hidden] { display:none!important; }
@media(max-width:700px) {
  .refined-moods .mood-carousel { grid-template-columns:minmax(0,1fr) 38px; gap:7px; }
  .refined-moods .mood-track { --mood-gap:10px; padding:3px 2px 7px; }
  .refined-moods .mood-track .mood-tile { gap:6px; }
  .refined-moods .mood-track .mood-tile span { font-size:12px; }
}
