.shop-page{background:var(--card)}
.shop-main{min-height:80vh}
.shop-hero{min-height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);border-bottom:1px solid var(--line)}
.shop-photo{position:relative;min-height:640px;overflow:hidden;background:#d7cfbd}
.shop-photo>img{width:100%;height:100%;object-fit:cover;filter:saturate(.88);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.shop-photo:hover>img{transform:scale(1.018)}
.shop-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,10,8,.38))}
.shop-photo>p{position:absolute;z-index:1;left:28px;bottom:24px;margin:0;color:#fff;font:600 10px Inter;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.shop-photo-empty{position:relative;height:100%;min-height:inherit;overflow:hidden;color:#F6EFDD;background:radial-gradient(70% 110% at 85% -15%,var(--bd-accent),transparent 55%),radial-gradient(75% 110% at var(--bd-shadow-x) 115%,var(--bd-shadow),transparent 60%),linear-gradient(160deg,var(--bd1),var(--bd2) 55%,var(--bd3))}
.shop-house-grain{position:absolute;inset:0;opacity:.5;background:radial-gradient(#ffffff10 1px,transparent 1px);background-size:5px 5px}
.shop-house-ghost{position:absolute;right:-.08em;top:42%;transform:translateY(-50%);max-width:115%;color:#F6EFDD;opacity:.065;white-space:nowrap;font:700 clamp(88px,15vw,240px)/.78 Georgia,serif;letter-spacing:-.06em;pointer-events:none}
.shop-house-mark{position:absolute;left:clamp(24px,4vw,64px);top:50%;transform:translateY(-50%);color:#F6EFDD;font:500 clamp(42px,8vw,110px) 'Cormorant Garamond',serif;letter-spacing:.35em;padding-left:.35em;text-shadow:0 1px 16px rgba(0,0,0,.18)}
.shop-intro{align-self:center;padding:72px clamp(42px,6vw,104px)}
.shop-crumb{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 38px;color:var(--sub);font:500 12px Inter;letter-spacing:.07em;text-transform:uppercase}
.shop-crumb a{border-bottom:1px solid transparent}.shop-crumb a:hover{border-color:var(--ink)}.shop-crumb span{color:var(--line)}
.shop-badge{display:inline-block;border:1px solid var(--gold);color:var(--gold2);padding:6px 10px;font:600 10px Inter;letter-spacing:.19em;text-transform:uppercase}
.shop-intro h1{max-width:720px;margin:22px 0 12px;font:500 clamp(54px,6.7vw,102px)/.92 'Bodoni Moda',Georgia,serif;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:anywhere}
.shop-place{margin:0;color:var(--sub);font:500 13px Inter;letter-spacing:.08em;text-transform:uppercase}
.shop-best{max-width:660px;margin:36px 0 40px;font:400 clamp(23px,2.15vw,34px)/1.25 'Cormorant Garamond',Georgia,serif;color:var(--ink);text-wrap:balance}
.shop-actions{display:flex;flex-wrap:wrap;gap:10px}
.shop-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--ink);border-radius:999px;padding:12px 19px;background:transparent;color:var(--ink);font:600 13px Inter;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.shop-action:hover{background:var(--ink);color:var(--paper)}.shop-action.primary{background:var(--ink);color:var(--paper)}.shop-action.primary:hover{background:var(--gold2);border-color:var(--gold2)}
.shop-action.save[aria-pressed="true"]{background:#8f2d2a;border-color:#8f2d2a;color:#fff}
.shop-body{max-width:1240px;margin:0 auto;padding:110px 40px 90px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(70px,10vw,150px);align-items:start}
.shop-story h2{max-width:820px;margin:17px 0 48px;font:400 clamp(28px,3.4vw,48px)/1.17 'Cormorant Garamond',Georgia,serif;color:var(--sub);text-wrap:balance}
.shop-prose{max-width:760px}.shop-prose p{margin:0 0 26px;font:400 18px/1.78 'Cormorant Garamond',Georgia,serif;font-size:21px}.shop-prose p:first-child::first-letter{float:left;margin:10px 10px 0 0;font:500 73px/.68 'Bodoni Moda',Georgia,serif;color:var(--gold2)}
.shop-aside{position:sticky;top:104px;border-top:1px solid var(--ink)}
.shop-aside section{padding:25px 0;border-bottom:1px solid var(--line)}
.shop-facts dl{margin:17px 0 0}.shop-facts dl>div{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:11px 0;border-top:1px solid rgba(220,212,192,.65)}.shop-facts dl>div:first-child{border-top:0}
.shop-facts dt{font:600 10px Inter;letter-spacing:.15em;text-transform:uppercase;color:var(--sub)}.shop-facts dd{margin:0;font:500 13.5px/1.48 Inter}.shop-facts dd a{border-bottom:1px solid var(--line)}
.shop-plates ul,.shop-sources ul{list-style:none;margin:16px 0 0;padding:0}.shop-plates li{display:inline-block;margin:0 5px 7px 0;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font:500 11px Inter;color:var(--sub)}
.shop-sources li{margin:0 0 10px;font:500 12.5px/1.45 Inter}.shop-sources a{border-bottom:1px solid var(--line)}.shop-sources a:hover{border-color:var(--ink)}
.shop-action.amazon{border-color:var(--gold2);background:#f5eee0;color:#4f3819}
.shop-research-links ul,.shop-related ul{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.shop-research-links li,.shop-related li{margin:0}.shop-research-links a,.shop-related a{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font:500 11px/1.35 Inter;color:var(--sub)}
.shop-published-address p:last-child{margin:14px 0 0;font:500 13px/1.5 Inter;color:var(--sub)}
.shop-atlas-state{display:block}.shop-state-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.shop-state-row button,.shop-state-row select{min-height:40px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);padding:8px 11px;font:600 11px Inter}.shop-state-row button{cursor:pointer}.shop-state-row button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.shop-note{display:block;margin-top:14px}.shop-note>span{display:block;margin-bottom:6px;font:600 10px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--sub)}.shop-note textarea{display:block;width:100%;min-height:76px;resize:vertical;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px;font:400 13px/1.45 Inter}
.shop-related{max-width:1240px;margin:0 auto 70px;padding:36px 40px;border-top:1px solid var(--line)}
.shop-next{max-width:1240px;margin:0 auto 110px;padding:40px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:1fr auto;align-items:end;transition:padding-left .3s;background:var(--paper)}
.shop-next:hover{padding-left:50px}.shop-next span{grid-column:1;display:block;font:600 10px Inter;letter-spacing:.19em;text-transform:uppercase;color:var(--gold2)}.shop-next b{grid-column:1;font:500 clamp(38px,6vw,76px)/1 'Bodoni Moda',Georgia,serif;margin-top:8px}.shop-next i{grid-column:2;grid-row:1/3;font:400 54px 'Cormorant Garamond',serif}
@media(max-width:900px){.shop-hero{min-height:0;display:block}.shop-photo{height:56vh;min-height:420px}.shop-intro{padding:46px 20px 62px}.shop-crumb{margin-bottom:28px}.shop-intro h1{font-size:clamp(50px,16vw,78px);overflow-wrap:anywhere}.shop-best{margin:28px 0 32px}.shop-actions{display:grid}.shop-action{width:100%}.shop-body{display:block;padding:74px 20px 62px}.shop-story h2{margin-bottom:38px}.shop-aside{position:static;margin-top:64px}.shop-related{margin:0 20px 52px;padding:28px 0}.shop-next{margin:0 20px 76px;padding:28px 20px}.shop-next:hover{padding-left:24px}.shop-next i{font-size:40px}}
@media(prefers-reduced-motion:reduce){.shop-photo>img{transition:none}.shop-next{transition:none}}
