/* Shop catalogue and enquiry flow; uses the site's existing colour and type system. */
.shop-page [hidden]{display:none!important}
.shop-page .shop-intro{padding-top:clamp(24px,3vw,44px);padding-bottom:clamp(28px,4vw,48px)}
.shop-page .shop-intro .lede{max-width:46em;margin-top:18px}
.shop-page .shop-intro h1{font-size:clamp(36px,4.8vw,66px);max-width:19em}
.shop-page .shop-policy{max-width:74ch;margin-top:18px;font-size:14px;line-height:1.7;color:var(--ink-soft)}
.shop-page #catalogue,.shop-page #models,.shop-page #enquiry{scroll-margin-top:110px}
.shop-page .shop-catalogue,.shop-page .shop-models{padding-top:clamp(24px,3vw,40px)}
.shop-page .shop-catalogue{background:var(--bg-alt)}
.shop-page .shop-filters{display:grid;grid-template-columns:1fr .7fr 1.2fr auto;align-items:end;gap:18px;padding:22px;background:var(--bg);border:1px solid var(--line)}
.shop-page .shop-filters>div,.shop-page .shop-form-row>div{min-width:0}
.shop-page label{display:block;font-size:12px;line-height:1.5;margin-bottom:8px;color:var(--ink-soft)}
.shop-page label span{color:var(--ink-faint)}
.shop-page input,.shop-page select,.shop-page textarea{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:0;background:var(--white);padding:12px;color:var(--ink);font:inherit;font-size:16px;line-height:1.5;min-height:48px}
.shop-page input:focus,.shop-page select:focus,.shop-page textarea:focus{outline:2px solid var(--ink);outline-offset:2px}
.shop-page textarea{resize:vertical}
.shop-page button{cursor:pointer;font-family:inherit}
.shop-page .shop-reset{min-height:48px;border:0;background:none;padding:12px 4px;font-size:13px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.shop-page a:focus-visible,.shop-page button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.shop-page .shop-result-count{font-size:13px;color:var(--ink-soft);margin:22px 0}
.shop-page .shop-catalogue-grid{align-items:stretch}
.shop-page .shop-range{display:flex;flex-direction:column;min-width:0}
.shop-page .shop-range img{aspect-ratio:1/1}
.shop-page .shop-range .fbody{display:flex;flex:1;flex-direction:column;padding:22px}
.shop-page .shop-range h3{font-size:clamp(23px,2vw,27px);margin-bottom:0}
.shop-page .shop-range .shop-card-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.shop-page .shop-range .fmeta{margin-top:12px;font-size:10px;letter-spacing:.08em}
.shop-page .shop-range .shop-card-policy{font-size:12px;line-height:1.5;padding:14px 0 18px}
.shop-page .shop-card-link{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;gap:12px}
.shop-page .shop-empty{padding:36px 20px;text-align:center;border:1px solid var(--line);background:var(--bg)}
.shop-page .shop-empty h3{font-size:28px;margin:0 0 12px}
.shop-page .shop-guide-grid,.shop-page .shop-order-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.shop-page .shop-guide-grid h3,.shop-page .shop-order-steps h3{font-size:27px;margin:0 0 14px}
.shop-page .shop-guide-grid p,.shop-page .shop-order-steps p{font-size:15px;color:var(--ink-soft)}
.shop-page .shop-guide-grid a{font-size:13px}
.shop-page .shop-material-guide{border-bottom:1px solid var(--line)}
.shop-page .shop-order-steps{padding:0;margin:0;list-style:none}
.shop-page .shop-order-steps li{padding-top:20px;border-top:1px solid var(--line)}
.shop-page .shop-order-steps span{display:block;font-size:12px;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:18px}
.shop-page .shop-order-guide .shop-form-note{margin-top:24px}
.shop-page .shop-range-policy{max-width:80ch;font-size:14px;color:var(--ink-soft);margin:0 0 28px}
.shop-page .shop-enquiry{background:var(--bg-alt)}
.shop-page .shop-enquiry-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,72px)}
.shop-page .shop-enquiry h2{font-size:clamp(35px,4vw,50px);margin:0 0 24px}
.shop-page .shop-enquiry-layout>div,.shop-page .shop-enquiry form{min-width:0}
.shop-page .shop-enquiry form{background:var(--bg);border:1px solid var(--line);padding:clamp(20px,3vw,32px)}
.shop-page .shop-enquiry input,.shop-page .shop-enquiry textarea{margin-bottom:20px}
.shop-page .shop-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.shop-page .shop-form-note{font-size:12px;line-height:1.6;color:var(--ink-soft)}
.shop-page .shop-enquiry .shop-form-note{margin:12px 0 22px}
.shop-page .shop-draft{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}
.shop-page .shop-draft p[role=status]{font-size:14px;margin:0 0 16px}
.shop-page .shop-draft textarea{font-size:14px}
.shop-page .shop-enquiry .btn{white-space:normal;text-align:center;justify-content:center;line-height:1.5}
@media(max-width:1000px){.shop-page .shop-filters{grid-template-columns:1fr 1fr}.shop-page .shop-reset{justify-self:start}.shop-page .shop-enquiry-layout{grid-template-columns:1fr}.shop-page .shop-enquiry-layout>div{max-width:70ch}}
@media(max-width:640px){.shop-page .shop-filters{padding:18px;gap:16px}.shop-page .shop-filters>div:nth-child(3){grid-column:1/-1}.shop-page .shop-guide-grid,.shop-page .shop-order-steps{grid-template-columns:1fr;gap:28px}.shop-page .shop-form-row{grid-template-columns:1fr;gap:0}.shop-page .shop-range .fbody{padding:22px}.shop-page .shop-enquiry .btn{width:100%;padding-left:14px;padding-right:14px}.shop-page .shop-intro .cta-row{gap:12px}}
