.shop-page{background:var(--paper);color:var(--ink)}
.shop-page [hidden]{display:none!important}
.shop-header{background:var(--pine);color:var(--pale)}
.shop-header .current-shop{color:var(--gold)}

/* Let the supplied artwork introduce the shop before the catalogue. */
.shop-hero{position:relative;isolation:isolate;min-height:280px;height:clamp(280px,28vw,380px);display:flex;align-items:flex-end;background:var(--pine);color:var(--pale);padding:40px 6%;overflow:hidden}
.shop-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-2}
.shop-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,20,14,.83),rgba(10,20,14,.3) 48%,transparent 75%),linear-gradient(0deg,rgba(10,20,14,.3),transparent 60%)}
.shop-hero-copy{max-width:660px}
.shop-hero-copy h1{font-size:clamp(58px,6vw,86px);letter-spacing:-1.5px;margin:8px 0 12px}
.shop-hero-copy>p:not(.eyebrow){color:var(--pale);font-size:17px}
.shop-hero .eyebrow{font-size:11px}

.shop-products-section{max-width:1600px;margin:0 auto;padding:26px 5% 72px}
.shop-breadcrumb{display:flex;gap:12px;align-items:center;font-size:13px;color:#59614f;margin-bottom:32px}
.shop-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.shop-catalog-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:40px;align-items:start}
.shop-sidebar{border-right:1px solid #cabc9f;padding-right:24px}
.shop-sidebar h2{font-size:25px;letter-spacing:-.3px;line-height:1.15;padding-bottom:18px;border-bottom:1px solid #cabc9f}
.product-filters{display:flex;flex-direction:column;gap:3px;margin:15px 0 24px}
.filter-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;text-align:left;background:transparent;color:#42513c;border-left:2px solid transparent;padding:10px 10px 10px 12px;font-size:14px;line-height:1.5}
.filter-chip>span:first-child{overflow-wrap:anywhere}
.filter-chip:hover{background:#e3dac7}
.filter-chip.is-active{background:#ded6c2;border-left-color:var(--pine);color:var(--pine);font-weight:600}
.filter-chip:focus-visible,.shop-breadcrumb a:focus-visible,.shop-sidebar-help:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.filter-count{font-size:11px;flex-shrink:0;color:#5e674f;font-variant-numeric:tabular-nums}
.shop-sidebar-help{display:block;padding-top:18px;border-top:1px solid #cabc9f;font-size:12px;color:#53604b}
.shop-catalog-results{min-width:0}
.shop-sidebar[hidden]+.shop-catalog-results{grid-column:1/-1}
.shop-section-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid #cabc9f}
.shop-section-heading h2{font-size:clamp(32px,3vw,42px);color:var(--ink);letter-spacing:-.5px;overflow-wrap:anywhere}
.shop-section-heading>p{max-width:340px;color:#5a6452;font-size:13px;line-height:1.8}
.product-count{font-size:12px;color:#626a57;margin-top:10px}
.shop-status{display:flex;align-items:flex-start;gap:12px;border:1px solid #b8aa89;background:#eee5d4;padding:14px 17px;margin:24px 0;color:#4e5946;font-size:14px}
.shop-status-dot{width:9px;height:9px;border-radius:50%;background:#a68b55;margin-top:7px;flex:0 0 auto}
.shop-status.is-error{border-color:#c3a18e;background:#eee0d7}
.shop-status.is-error .shop-status-dot{background:#9a6548}
.shop-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}
.shop-product-card{background:#f7f1e5;border:1px solid #cabd9d;display:flex;flex-direction:column;min-width:0}
.shop-product-image{aspect-ratio:1;height:auto;position:relative;background:#e5dece;overflow:hidden}
.shop-product-image img{display:block;width:100%;height:100%;object-fit:contain}
.shop-product-image.contain-image img{object-fit:contain;padding:16px}
.shop-product-copy{padding:20px;display:flex;flex-direction:column;flex:1;overflow-wrap:anywhere}
.product-kicker{font-size:10px;letter-spacing:.1em;color:#74603b;margin-bottom:8px}
.shop-product-copy h3{font-size:28px;color:var(--ink);margin-bottom:13px;line-height:1.1}
.product-description{font-size:13px;line-height:1.75;color:#58604e;margin-bottom:18px}
.product-meta{border-top:1px solid #d6c9ab;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#5a624d}
.product-meta strong{font-family:var(--serif);font-size:25px;font-weight:500;color:#394635;text-align:right}
.stock-ok{color:#426748;font-weight:600}.stock-out{color:#8d5f4a;font-weight:600}
.product-options{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0 18px}
.product-options span{border:1px solid #b8aa89;border-radius:999px;padding:5px 9px;font-size:10px;color:#59614f}
.shop-buy{margin-top:auto;background:var(--pine);color:var(--pale);border:1px solid var(--pine);min-height:46px;width:100%;cursor:pointer;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.shop-buy:hover{background:#2c4937}.shop-buy:disabled{background:#ddd3bd;color:#766d5d;cursor:not-allowed;border-color:#ddd3bd}

.fulfilment-strip{background:#203428;color:var(--pale);display:grid;grid-template-columns:repeat(3,1fr);padding:0 5%;border-bottom:1px solid var(--line)}
.fulfilment-strip>div{display:flex;gap:16px;align-items:center;padding:25px 24px;border-right:1px solid var(--line)}
.fulfilment-strip>div:first-child{padding-left:0}.fulfilment-strip>div:last-child{border-right:0}
.fulfilment-strip>div>span{font-family:var(--serif);font-size:29px;color:var(--gold);min-width:32px}
.fulfilment-strip p{line-height:1.4}.fulfilment-strip strong{display:block;font-family:var(--serif);font-weight:500;font-size:21px}
.fulfilment-strip small{display:block;color:#c4cbbb;font-size:12px;margin-top:5px;line-height:1.5}
.shop-contact-cta{text-align:center;padding:70px 6%;background:#e7dcc6;color:var(--ink)}
.shop-contact-cta .shop-star{font-size:50px;color:#8d7040}.shop-contact-cta .eyebrow{color:#766037}
.shop-contact-cta h2{font-size:50px;margin:8px auto 18px;max-width:760px}.shop-contact-cta h2 em{color:#786038}
.shop-contact-cta>p:not(.eyebrow){color:#626756}
.shop-contact-cta>div{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:28px;flex-wrap:wrap}
.shop-contact-cta .gold{background:var(--pine);color:var(--pale);border-color:var(--pine)}

@media(max-width:1100px){.shop-catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:26px}.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-section-heading{display:block}.shop-section-heading>p{margin-top:14px}.shop-sidebar{padding-right:18px}}
@media(max-width:760px){.shop-hero{height:260px;min-height:260px;padding:28px 6%}.shop-hero-image{object-position:58% center}.shop-hero .eyebrow{font-size:10px;letter-spacing:.13em}.shop-hero-copy h1{font-size:62px}.shop-hero-copy>p:not(.eyebrow){font-size:15px}.shop-products-section{padding:22px 5% 48px}.shop-breadcrumb{margin-bottom:24px}.shop-catalog-layout{grid-template-columns:minmax(0,1fr);gap:28px}.shop-sidebar{border-right:0;border-bottom:1px solid #cabc9f;padding:0 0 18px}.shop-sidebar h2{border:0;padding:0;font-size:26px}.product-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:14px 0 0}.shop-sidebar-help{display:none}.shop-product-grid{gap:16px}.shop-section-heading>p{margin-top:12px;max-width:none}.fulfilment-strip{grid-template-columns:1fr}.fulfilment-strip>div,.fulfilment-strip>div:first-child{padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}.fulfilment-strip>div:last-child{border-bottom:0}}
@media(max-width:560px){.shop-product-grid{grid-template-columns:minmax(0,1fr)}.shop-product-image{aspect-ratio:1.1}.shop-product-copy{padding:22px}.shop-contact-cta h2{font-size:39px}.filter-chip{font-size:13px;padding:9px 8px;gap:6px}.shop-hero-copy h1{font-size:58px}.shop-hero .eyebrow{max-width:240px}}

.checkout-dialog{width:min(560px,calc(100% - 30px));max-height:90svh;border:1px solid var(--gold);background:var(--pine);color:var(--pale);padding:36px;overscroll-behavior:contain}
.checkout-dialog::backdrop{background:rgba(6,13,8,.82);backdrop-filter:blur(4px)}
.checkout-dialog h2{font-size:42px;margin:8px 0 18px}.checkout-dialog .dialog-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:1px solid var(--line);background:#182a20;color:var(--pale);font-size:27px}
.checkout-help{font-size:13px;color:#c8ccbe;line-height:1.65;border:1px solid var(--line);padding:12px 14px;margin-bottom:20px}.checkout-help strong{color:var(--gold)}
.checkout-dialog form{display:grid;gap:14px}.checkout-dialog label{display:grid;gap:6px;font-size:12px;color:#d4d7cb}
.checkout-dialog input{width:100%;min-height:46px;border:1px solid rgba(215,183,121,.35);background:#0f2017;color:var(--pale);padding:10px 12px;font:inherit}
.checkout-dialog input[readonly]{color:#b9c0b5}.checkout-error{min-height:20px;color:#f0b49c;font-size:12px}
.checkout-submit{width:100%}.checkout-submit:disabled{opacity:.6;cursor:wait}
@media(max-width:560px){.checkout-dialog{padding:30px 20px 22px}.checkout-dialog h2{font-size:35px;padding-right:30px}}

.checkout-options{border:1px solid rgba(215,183,121,.35);padding:12px 14px;display:grid;gap:8px}
.checkout-options legend{font-size:12px;color:var(--gold);padding:0 6px}
.checkout-options label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important}
.checkout-options input[type="radio"]{width:18px!important;min-height:18px!important;accent-color:#d7b779}
.checkout-options label[hidden]{display:none!important}
.checkout-options label:has(input:disabled){opacity:.55}
.delivery-option-note{margin:0;font-size:12px;line-height:1.5;opacity:.8}
#pickup-fields{display:grid;gap:14px}#pickup-fields[hidden]{display:none}

.order-success{background:#e5eadf;color:#27452f;border-bottom:1px solid #9cad92;padding:13px 6.5%;font-size:13px;text-align:center}
.checkout-dialog{width:min(570px,calc(100% - 30px));max-height:92svh;overflow:auto}
.checkout-dialog .checkout-help{background:transparent;border:0;padding:0;margin:-3px 0 0;color:#b9c0b5;font-size:11px;line-height:1.55}
.checkout-dialog input[type="number"]{appearance:textfield}
