/* Homepage only. Shared navigation, product-card internals and other pages are untouched.
   Product shelves alternate with the restored editorial and subject sections. */
.esoterica .eso-home.eso-storefront{--esh-ink:#251d21;--esh-muted:#625c60;--esh-wine:#772c3d;--esh-line:#e7e0e2;--esh-soft:#f7f5f5;background:#fff;overflow:visible;color:var(--esh-ink);font-family:Inter,system-ui,sans-serif}
.eso-home.eso-storefront .esh-container{width:100%;max-width:1440px;margin-inline:auto;padding:24px 40px 0;box-sizing:border-box}
.eso-home.eso-storefront :is(.esh-heading,.esh-hero,.esh-topics,.esh-series-card,.esh-desk-panel,.esh-order){box-sizing:border-box;min-width:0}
.eso-home.eso-storefront :is(.esh-hero-copy,.esh-heading,.esh-desk-panel,.esh-order) :is(h1,h2,h3,p){margin:0}
.eso-home.eso-storefront .esh-eyebrow{font:700 11px/1.5 Inter,system-ui,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--esh-wine)}
.eso-home.eso-storefront .esh-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;min-height:342px;display:flex;align-items:center;background:#241e1c}
.eso-home.eso-storefront .esh-hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 57%}
.eso-home.eso-storefront .esh-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,19,18,.96) 0%,rgba(24,19,18,.91) 35%,rgba(24,19,18,.38) 65%,rgba(24,19,18,.05) 100%)}
.eso-home.eso-storefront .esh-hero-copy{width:min(650px,65%);padding:32px 40px;color:#fff}
.eso-home.eso-storefront .esh-hero .esh-eyebrow{color:#ead3ae}
.eso-home.eso-storefront .esh-hero h1{font:500 clamp(34px,3.6vw,50px)/1.08 "Playfair Display",Georgia,serif;letter-spacing:-1.3px;max-width:550px;margin:12px 0 16px;color:#fff}
.eso-home.eso-storefront .esh-hero-note{font-size:14px;line-height:1.65;max-width:440px;color:#f1e9e5}
.eso-home.eso-storefront .esh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:24px}
.eso-home.eso-storefront .esh-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:46px;padding:10px 19px;box-sizing:border-box;border:1px solid #fff;border-radius:9px;background:#fff;color:#39252c;text-decoration:none;font-size:13px;font-weight:700}
.eso-home.eso-storefront .esh-button:hover{background:#f2e7e9}
.eso-home.eso-storefront .esh-hero-link{color:#fff;font-size:13px;text-underline-offset:5px;padding-block:12px}
.eso-home.eso-storefront .esh-topics{display:flex;align-items:center;gap:20px;padding:22px 0 24px;border-bottom:1px solid var(--esh-line)}
.eso-home.eso-storefront .esh-topics-label{flex:none;font-size:12px;font-weight:700}
.eso-home.eso-storefront .esh-topic-links{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.eso-home.eso-storefront .esh-topic-links a{display:flex;align-items:center;gap:10px;min-height:38px;padding:7px 13px;box-sizing:border-box;border:1px solid var(--esh-line);border-radius:24px;font-size:12px;line-height:1.4;color:var(--esh-ink);text-decoration:none}
.eso-home.eso-storefront .esh-topic-links a:hover{border-color:var(--esh-wine);color:var(--esh-wine);background:#fbf7f8}
.eso-home.eso-storefront .esh-topic-links .esh-all-subjects{color:var(--esh-wine);font-weight:700;border-color:transparent}
.eso-home.eso-storefront .esh-shelf{padding:32px 0 34px;min-width:0;border-bottom:1px solid var(--esh-line)}
.eso-home.eso-storefront .esh-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}
.eso-home.eso-storefront .esh-heading>div{min-width:0}
.eso-home.eso-storefront .esh-heading h2{font:650 clamp(24px,2.1vw,30px)/1.2 Inter,system-ui,sans-serif;letter-spacing:-.85px;overflow-wrap:anywhere;color:var(--esh-ink);margin-top:5px}
.eso-home.eso-storefront .esh-note{font-size:13px;line-height:1.55;color:var(--esh-muted);margin-top:8px;max-width:730px}
.eso-home.eso-storefront .esh-text-link{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;max-width:100%;overflow-wrap:anywhere;box-sizing:border-box;min-height:44px;font-size:12px;line-height:1.5;font-weight:700;color:var(--esh-wine);text-decoration:none}
.eso-home.eso-storefront .esh-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.eso-home.eso-storefront .esh-products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;min-width:0;padding:4px 4px 10px;margin-inline:-4px}
.eso-home.eso-storefront .esh-products>.prod-card{min-width:0;scroll-snap-align:start}
.eso-home.eso-storefront .esh-scroll-hint{display:none;color:var(--esh-muted);font-size:12px;line-height:1.5}
.eso-home.eso-storefront .esh-series{padding:42px 0 24px}
.eso-home.eso-storefront :is(.esh-series,.esh-desk) .esh-heading h2{font:500 clamp(28px,3vw,38px)/1.16 "Playfair Display",Georgia,serif;letter-spacing:-.8px;margin-top:8px}
.eso-home.eso-storefront .esh-series .esh-note{margin-top:10px}
.eso-home.eso-storefront .esh-series-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:8px;background:#34222d;border:1px solid #34222d;border-radius:12px}
.eso-home.eso-storefront .esh-series-card{display:flex;flex-direction:column;align-items:stretch;gap:20px;min-height:213px;padding:23px 24px 18px;border:1px solid transparent;border-right-color:#634a57;border-radius:0;color:#fff;text-decoration:none;background:transparent;transition:background .18s ease,border-color .18s ease}
.eso-home.eso-storefront .esh-series-card:last-child{border-right-color:transparent}
.eso-home.eso-storefront .esh-series-label{font:600 9px/1.5 Inter,system-ui,sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:#d9bcc5}
.eso-home.eso-storefront .esh-series-card strong{display:block;flex:1;font:500 clamp(20px,1.8vw,25px)/1.27 "Playfair Display",Georgia,serif;letter-spacing:-.25px;overflow-wrap:anywhere;text-wrap:pretty;color:#fff}
.eso-home.eso-storefront .esh-series-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.eso-home.eso-storefront .esh-series-card small{font:400 12px/1.5 Inter,system-ui,sans-serif;color:#e0cfd6}
.eso-home.eso-storefront .esh-circle-arrow{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid #806572;border-radius:50%;color:#fff;transition:background .18s ease,color .18s ease}
.eso-home.eso-storefront .esh-series-card:hover{background:#49313e;border-color:#967583}
.eso-home.eso-storefront .esh-series-card:hover .esh-circle-arrow{background:#fff;color:#34222d;border-color:#fff}
.eso-home.eso-storefront .esh-series .esh-series-card:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.eso-home.eso-storefront .esh-desk{padding:30px 0 42px}
.eso-home.eso-storefront .esh-desk-grid{display:grid;grid-template-columns:minmax(0,.82fr) repeat(2,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid var(--esh-line);border-radius:12px;background:#fff}
.eso-home.eso-storefront .esh-desk-grid:has(.esh-desk-panel:only-of-type){grid-template-columns:minmax(0,.82fr) minmax(0,2fr)}
.eso-home.eso-storefront .esh-desk-photo{position:relative;min-height:360px;background:#342b24;overflow:hidden}
.eso-home.eso-storefront .esh-desk-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% center}
.eso-home.eso-storefront .esh-desk-panel{display:flex;flex-direction:column;padding:28px 28px 22px;border:0;border-radius:0;background:#f3f5f2;min-width:0}
.eso-home.eso-storefront .esh-desk-panel:last-child{background:#fff}
.eso-home.eso-storefront .esh-desk-panel header{display:block}
.eso-home.eso-storefront .esh-desk-kicker{display:block;font:600 9px/1.5 Inter,system-ui,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--esh-muted);margin-bottom:8px}
.eso-home.eso-storefront .esh-desk-panel h3{font:500 27px/1.25 "Playfair Display",Georgia,serif;color:var(--esh-ink);letter-spacing:-.5px}
.eso-home.eso-storefront .esh-desk-panel p{font-size:12px;line-height:1.65;color:var(--esh-muted);margin:10px 0 16px;max-width:34ch}
.eso-home.eso-storefront .esh-desk-panel ul{list-style:none;padding:0;margin:0 0 16px;flex:1}
.eso-home.eso-storefront .esh-desk-panel li+li{border-top:1px solid var(--esh-line)}
.eso-home.eso-storefront .esh-desk-panel li a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding-block:12px;box-sizing:border-box;font-size:13px;line-height:1.5;color:var(--esh-ink);text-decoration:none;overflow-wrap:anywhere}
.eso-home.eso-storefront .esh-desk-panel li a:hover{color:var(--esh-wine);text-decoration:underline;text-underline-offset:3px}
.eso-home.eso-storefront .esh-desk-panel li a span{flex:none;color:var(--esh-wine)}
.eso-home.eso-storefront #eso-home-recently-viewed:empty{display:none}
.eso-home.eso-storefront .esh-order{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:32px;padding:26px 0 32px;border-top:1px solid var(--esh-line)}
.eso-home.eso-storefront .esh-order h2{font:650 21px/1.35 Inter,system-ui,sans-serif;letter-spacing:-.5px;margin-top:6px;color:var(--esh-ink)}
.eso-home.eso-storefront .esh-order h3{font:650 14px/1.5 Inter,system-ui,sans-serif;color:var(--esh-ink)}
.eso-home.eso-storefront .esh-order p:not(.esh-eyebrow){font-size:13px;line-height:1.65;color:var(--esh-muted);margin-top:7px}
.eso-home.eso-storefront .esh-order a{color:var(--esh-wine);text-underline-offset:3px}
.eso-home.eso-storefront :is(a,button,[tabindex]):focus-visible{outline:3px solid #933b55;outline-offset:3px}
.eso-home.eso-storefront .esh-hero a:focus-visible{outline-color:#fff}
@media(max-width:1100px){
  .eso-home.eso-storefront .esh-container{padding-inline:28px}
  .eso-home.eso-storefront .esh-topics{align-items:flex-start;flex-direction:column;gap:10px;padding-block:18px}
  .eso-home.eso-storefront .esh-products{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3.25);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:4px;overscroll-behavior-x:contain;scrollbar-color:#ad7c8a #f4edf0;scrollbar-width:thin;padding-bottom:16px}
  .eso-home.eso-storefront .esh-scroll-hint{display:flex;justify-content:space-between;margin:-6px 0 10px}
  .eso-home.eso-storefront .esh-series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eso-home.eso-storefront .esh-series-card:nth-child(2n){border-right-color:transparent}
  .eso-home.eso-storefront .esh-series-card:nth-child(n+3){border-top-color:#634a57}
  .eso-home.eso-storefront .esh-desk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eso-home.eso-storefront .esh-desk-photo{grid-column:1/-1;min-height:185px;max-height:185px}
  .eso-home.eso-storefront .esh-desk-photo img{object-position:center 58%}
  .eso-home.eso-storefront .esh-desk-grid:has(.esh-desk-panel:only-of-type){grid-template-columns:1fr}
}
@media(max-width:800px){
  .eso-home.eso-storefront .esh-container{padding:18px 22px 0}
  .eso-home.eso-storefront .esh-hero-copy{width:74%;padding:28px}
  .eso-home.eso-storefront .esh-hero::before{background:linear-gradient(90deg,rgba(24,19,18,.95),rgba(24,19,18,.8) 45%,rgba(24,19,18,.15))}
  .eso-home.eso-storefront .esh-products{grid-auto-columns:calc((100% - 28px)/2.45);gap:14px}
  .eso-home.eso-storefront .esh-order{gap:22px;grid-template-columns:1fr 1fr}
  .eso-home.eso-storefront .esh-order>div:first-child{grid-column:1/-1}
  .eso-home.eso-storefront .esh-desk-panel{padding:18px}
}
@media(max-width:600px){
  .eso-home.eso-storefront .esh-container{padding:12px 16px 0}
  .eso-home.eso-storefront .esh-hero{min-height:332px;border-radius:16px}
  .eso-home.eso-storefront .esh-hero-copy{width:100%;padding:26px 22px}
  .eso-home.eso-storefront .esh-hero-image{object-position:65% center}
  .eso-home.eso-storefront .esh-hero::before{background:linear-gradient(90deg,rgba(24,19,18,.94),rgba(24,19,18,.82) 65%,rgba(24,19,18,.58))}
  .eso-home.eso-storefront .esh-hero h1{font-size:35px;letter-spacing:-.8px}
  .eso-home.eso-storefront .esh-hero-note{font-size:13px;line-height:1.6}
  .eso-home.eso-storefront .esh-actions{gap:4px 20px;margin-top:18px}
  .eso-home.eso-storefront .esh-topics{padding-block:16px}
  .eso-home.eso-storefront .esh-topic-links{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:#ad7c8a #f4edf0}
  .eso-home.eso-storefront .esh-topic-links a{flex:none;min-height:40px}
  .eso-home.eso-storefront .esh-shelf{padding:24px 0}
  .eso-home.eso-storefront .esh-heading{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:14px}
  .eso-home.eso-storefront .esh-heading h2{font-size:25px}
  .eso-home.eso-storefront .esh-note{font-size:13px}
  .eso-home.eso-storefront .esh-products{grid-auto-columns:72%;gap:12px}
  .eso-home.eso-storefront .esh-series-grid{grid-template-columns:1fr}
  .eso-home.eso-storefront .esh-series{padding:28px 0 14px}
  .eso-home.eso-storefront .esh-series-card{padding:17px 18px;min-height:0;gap:10px;border-right-color:transparent}
  .eso-home.eso-storefront .esh-series-card+.esh-series-card{border-top-color:#634a57}
  .eso-home.eso-storefront .esh-series-card strong{font-size:23px;max-width:30ch}
  .eso-home.eso-storefront .esh-desk{padding:22px 0 30px}
  .eso-home.eso-storefront .esh-desk-grid{grid-template-columns:1fr;gap:0}
  .eso-home.eso-storefront .esh-desk-panel{padding:24px}
  .eso-home.eso-storefront .esh-desk-panel p{max-width:none;font-size:13px}
  .eso-home.eso-storefront .esh-desk-panel li a{font-size:14px}
  .eso-home.eso-storefront .esh-desk-panel h3{font-size:28px}
  .eso-home.eso-storefront .esh-order{grid-template-columns:1fr;gap:20px}
}
@media(prefers-reduced-motion:reduce){
  .eso-home.eso-storefront :is(.esh-series-card,.esh-circle-arrow){transition:none}
}

/* Restore the bookstore's editorial routes without replacing the live product shelves. */
.eso-home.eso-storefront .esh-editorial{padding:42px 0;border-bottom:1px solid var(--esh-line)}
.eso-home.eso-storefront .esh-editorial .esh-heading h2{font:500 clamp(28px,3vw,38px)/1.16 "Playfair Display",Georgia,serif;letter-spacing:-.8px}
.eso-home.eso-storefront .eso-paths{grid-template-rows:repeat(2,230px)}
.eso-home.eso-storefront .eso-path__copy{padding:24px}
.eso-home.eso-storefront .eso-path__copy strong{font-size:29px}
.eso-home.eso-storefront .eso-path:first-child .eso-path__copy strong{font-size:36px}
.eso-home.eso-storefront .eso-path__copy .eso-path__cta>span{display:inline;color:inherit}
.eso-home.eso-storefront .esh-subject-section{padding:34px 24px;margin-block:14px;background:#f5eee3;border-radius:16px}
.eso-home.eso-storefront .eso-subjects{grid-template-columns:repeat(4,minmax(0,1fr))}
.eso-home.eso-storefront .eso-subject{min-height:170px;border-radius:14px}
.eso-home.eso-storefront .eso-subject:nth-child(-n+2){min-height:215px}
.eso-home.eso-storefront .esh-series-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;min-width:0}
.eso-home.eso-storefront .esh-series-layout:not(:has(.esh-series-grid)){grid-template-columns:1fr}
.eso-home.eso-storefront .esh-series-feature{position:relative;isolation:isolate;display:flex;align-items:end;overflow:hidden;min-height:390px;border-radius:12px;padding:30px;background:#201818;color:#fff;text-decoration:none;box-sizing:border-box}
.eso-home.eso-storefront .esh-series-feature>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.eso-home.eso-storefront .esh-series-feature:before{position:absolute;inset:0;z-index:-1;content:"";background:linear-gradient(180deg,transparent 10%,#191213d9 80%)}
.eso-home.eso-storefront .esh-series-feature>span{display:block;width:100%;min-width:0}
.eso-home.eso-storefront .esh-series-feature small{font:700 10px/1.5 Inter,system-ui,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#ead3ae}
.eso-home.eso-storefront .esh-series-feature strong{display:block;margin:14px 0 24px;font:500 clamp(32px,3.4vw,48px)/1.1 "Playfair Display",Georgia,serif;overflow-wrap:anywhere}
.eso-home.eso-storefront .esh-series-feature>span>span{display:flex;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid #ffffff50;font-size:13px}
.eso-home.eso-storefront .esh-series-layout .esh-series-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;border:0;background:transparent}
.eso-home.eso-storefront .esh-series-layout .esh-series-card{position:relative;isolation:isolate;overflow:hidden;min-height:205px;padding:20px;gap:15px;border:1px solid #634a57;border-radius:12px;background:#211a1e}
.eso-home.eso-storefront .esh-series-card-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.eso-home.eso-storefront .esh-series-layout .esh-series-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#19131b99,#19131be8)}
.eso-home.eso-storefront .esh-series-layout .esh-series-card:hover{border-color:#ad8292}
.eso-home.eso-storefront .esh-series-layout .esh-series-card:hover:before{background:linear-gradient(180deg,#19131b88,#19131be8)}
.eso-home.eso-storefront .esh-series-layout .esh-series-label{color:#f1dfc1}
.eso-home.eso-storefront .esh-series-layout .esh-series-card small{color:#f4ebef}
.eso-home.eso-storefront .esh-series-layout .esh-series-card:nth-child(2n){border-right-color:transparent}
.eso-home.eso-storefront .esh-series-layout .esh-series-card:nth-child(n+3){border-top-color:#634a57}
@media(max-width:1000px){
  .eso-home.eso-storefront .esh-series-layout{grid-template-columns:1fr}
  .eso-home.eso-storefront .esh-series-feature{min-height:300px}
}
@media(max-width:760px){
  .eso-home.eso-storefront .esh-editorial{padding:28px 0}
  .eso-home.eso-storefront .eso-paths{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:280px}
  .eso-home.eso-storefront .eso-path:first-child{grid-row:auto}
  .eso-home.eso-storefront .eso-path:first-child .eso-path__copy strong{font-size:30px}
  .eso-home.eso-storefront .esh-subject-section{padding:24px 14px}
  .eso-home.eso-storefront .eso-subjects{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .eso-home.eso-storefront .eso-subject:nth-child(-n+2){grid-column:auto;min-height:170px}
  .eso-home.eso-storefront .eso-subject__copy{padding:14px}
  .eso-home.eso-storefront .eso-subject__copy strong{font-size:18px;overflow-wrap:anywhere}
}
@media(max-width:600px){
  .eso-home.eso-storefront .esh-series-layout .esh-series-grid{grid-template-columns:1fr}
  .eso-home.eso-storefront .esh-series-layout .esh-series-card{min-height:195px}
}
@media(prefers-reduced-motion:reduce){
  .eso-home.eso-storefront :is(.eso-path img,.eso-subject,.eso-subject img){transition:none;transform:none}
}
