.shop-page{--black:#fff;--white:#a51d24;--silver:#786b67;--line:#e5ded9;--shop-red:#a51d24;--shop-ink:#292220;background:#fff;color:var(--shop-ink);color-scheme:light}
.shop-page .button{border-color:var(--shop-red);font-size:12px;gap:20px}
.shop-page .button-light:hover{background:#80151b;border-color:#80151b;color:#fff}
.shop-page .button-outline{color:var(--shop-red);background:transparent}
.shop-page .button-outline:hover{background:#fff2f0}
.shop-page :focus-visible{outline-color:var(--shop-red)}
.shop-header{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 var(--gutter);min-height:96px;border-bottom:1px solid var(--line)}
.shop-brand{color:var(--shop-red);font:800 35px/.9 var(--font-display);letter-spacing:.02em;flex:none}
.shop-brand span{display:block;margin-top:7px;font:500 8px/1.3 var(--font-body);letter-spacing:.13em}
.shop-navigation{display:flex;align-items:center;gap:32px;margin-left:auto;font-size:12px}
.shop-navigation a{display:flex;align-items:center;min-height:44px}
.shop-navigation a[aria-current],.shop-navigation a[href="/boutique"],.shop-navigation a:hover{color:var(--shop-red)}
.basket-link{display:flex;align-items:center;justify-content:center;gap:8px;min-width:60px;min-height:44px;border:1px solid var(--line);color:var(--shop-red);font-size:12px}
.shop-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,110px);align-items:center;padding:44px var(--gutter) 52px;max-width:1800px;margin:auto}
.shop-hero-copy>.eyebrow{margin-bottom:32px;color:var(--shop-red)}
.shop-hero h1{font-size:clamp(68px,8.2vw,134px);line-height:.92;color:var(--shop-red);letter-spacing:-.015em}
.shop-lead{font-size:clamp(20px,2.4vw,33px);line-height:1.35;margin-top:30px}
.shop-intro{max-width:340px;color:#736763;font-size:13px;line-height:1.8;margin:17px 0 27px}
.shop-payment-note{font-size:8px;line-height:1.8;letter-spacing:.11em;color:#736763;margin-top:24px}
.shop-hero-art{margin:0;position:relative;background:#f0ece9}
.shop-hero-art img{width:100%;height:auto}
.shop-hero-art figcaption{position:absolute;bottom:0;left:0;right:0;background:#fffefb;padding:14px 18px;font-size:8px;letter-spacing:.14em;color:#736763}
.shop-manifesto{padding:24px var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--shop-red);font:800 clamp(20px,3.7vw,56px)/1.1 var(--font-display);text-align:center}
.shop-section{padding:75px var(--gutter);max-width:1800px;margin:auto;scroll-margin-top:20px}
.shop-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}
.shop-section-heading .eyebrow{color:#887570;margin-bottom:16px;font-size:9px}
.shop-section h2{font:800 clamp(42px,5.4vw,76px)/1 var(--font-display);color:var(--shop-red)}
.shop-section-heading>p{font-size:12px;line-height:1.8;color:#736763;max-width:310px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}
.product-card{border:0;padding:0;background:none;color:inherit;text-align:left;min-width:0}
.product-info-button{display:block;width:100%;border:0;padding:0;background:none;color:inherit;text-align:left}
.product-gallery{position:relative;overflow:hidden;background:#f2eeeb}
.product-photo-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;color:inherit}
.product-photo-open img{width:100%;height:100%;object-fit:contain}
.gallery-arrow{position:absolute;z-index:1;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ded4ce;border-radius:50%;background:#ffffffeb;color:var(--shop-red);box-shadow:0 2px 8px #2922200d}
.gallery-arrow:hover{background:#fff;border-color:var(--shop-red)}
.gallery-arrow-left{left:8px}.gallery-arrow-right{right:8px}
.gallery-arrow .icon-arrow{width:19px;height:19px}
.gallery-count{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:4px 10px;border-radius:20px;background:#ffffffe8;color:var(--shop-ink);font-size:10px;white-space:nowrap;pointer-events:none}
.product-card-image{position:relative;aspect-ratio:3/4;overflow:hidden;background:#f2eeeb;container-type:inline-size}
.product-card-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s}
.product-card:hover img{transform:scale(1.025)}
.product-badge{position:absolute;top:15px;left:15px;background:#fff;padding:7px 10px;font-size:9px;letter-spacing:.05em;color:var(--shop-red)}
.product-card.is-sold-out .product-card-image img{opacity:.32}
.product-sold-out{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);color:var(--shop-red);font:800 clamp(36px,5.5vw,94px)/1 var(--font-display);font-size:clamp(36px,21cqw,94px);letter-spacing:-.01em;white-space:nowrap;pointer-events:none}
.product-card-copy{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0 9px}
.product-card h3,.product-card-title{font:800 clamp(27px,2.6vw,38px)/1 var(--font-display);text-transform:uppercase;color:var(--shop-red);overflow-wrap:anywhere}
.product-card-price{font-size:14px;white-space:nowrap}
.product-card-link{display:flex;justify-content:space-between;align-items:center;min-height:44px;border-bottom:1px solid var(--line);font-size:11px;color:#736763}
.shop-message{font-size:12px;line-height:1.7;color:#736763;margin:14px 0;white-space:pre-line}
.shop-message:empty{display:none}
.shop-message[data-kind=error]{color:#a51d24}
.shop-notice{padding:18px 20px;border-left:2px solid var(--shop-red);background:#fff5f2;color:#7f292a;font-size:13px;line-height:1.7;margin-bottom:28px}
.shop-empty{padding:50px;background:#faf6f3;border:1px solid var(--line)}
.shop-empty>.eyebrow{color:#887570;margin-bottom:20px}
.shop-empty h3{font:800 clamp(30px,4vw,54px)/1.05 var(--font-display);color:var(--shop-red)}
.shop-empty p:not(.eyebrow){max-width:470px;font-size:13px;color:#736763;margin:20px 0 25px}
.reservation-section{border-top:1px solid var(--line)}
.checkout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,120px);align-items:start}
.basket-item{display:grid;grid-template-columns:60px 1fr auto;align-items:start;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.basket-item img{width:60px;height:80px;object-fit:contain;background:#f4efec}
.basket-item h3{font-size:14px;font-weight:600;overflow-wrap:anywhere}
.basket-item p{font-size:11px;color:#736763;margin:4px 0}
.basket-item strong{font-size:12px;white-space:nowrap;font-weight:500}
.basket-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px}
.basket-controls input{width:55px;min-height:38px;padding:5px;border:1px solid #c9bab3;background:#fff;font-size:13px;color:var(--shop-ink)}
.basket-controls button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:#736763;font-size:10px;min-height:44px;padding:6px}
.basket-total{display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-size:14px}
.basket-total strong{font-size:23px;color:var(--shop-red)}
.pickup-box{background:#faf6f3;padding:24px;line-height:1.8}
.pickup-box h3,.reservation-form>h3{font-size:16px;font-weight:600;margin-bottom:14px}
.pickup-box p{font-size:12px;color:#736763;white-space:pre-line;overflow-wrap:anywhere}
.reservation-form{border:1px solid var(--line);padding:30px}
.shop-field{display:block;font-size:12px;font-weight:500;margin:18px 0}
.shop-field>span{font-size:10px;font-weight:400;color:#736763}
.shop-field input,.shop-field select{display:block;width:100%;min-height:48px;border:1px solid #c9bab3;background:#fff;color:var(--shop-ink);padding:12px;margin-top:8px;font-size:14px;border-radius:0}
.shop-data-note{font-size:10px;line-height:1.8;color:#736763;margin:17px 0;overflow-wrap:anywhere}
.shop-data-note a{text-decoration:underline;text-underline-offset:3px}
.reservation-form>.button{width:100%;font-size:11px;padding:14px 17px}
.shop-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.reservation-success{border:1px solid var(--shop-red);background:#fff8f5;padding:36px;max-width:760px;margin-bottom:30px;outline-offset:5px}
.reservation-success h3{font:800 38px/1 var(--font-display);color:var(--shop-red);margin-bottom:20px}
.reservation-success p{font-size:13px;line-height:1.8;white-space:pre-line;margin:14px 0;overflow-wrap:anywhere}
.reservation-success ul{padding-left:20px;font-size:13px;line-height:1.9}
.reservation-success .reservation-reference{font-size:20px;font-weight:600;color:var(--shop-red);letter-spacing:.06em}
.reservation-success .button{max-width:100%;white-space:normal;text-align:center;justify-content:center}
.shop-how{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:44px var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbf8f6}
.shop-how span{font-size:10px;color:#9f8c83}
.shop-how h3{font:800 clamp(24px,3vw,38px)/1 var(--font-display);color:var(--shop-red);margin:16px 0 12px}
.shop-how p{font-size:12px;color:#736763}
.product-dialog{border:0;padding:0;width:min(940px,calc(100% - 40px));max-width:none;max-height:90svh;overflow:auto;background:#fff;color:var(--shop-ink)}
.product-dialog::backdrop{background:#24161599}
.dialog-close{position:absolute;z-index:2;top:12px;right:12px;width:44px;height:44px;background:#fff;border:1px solid var(--line);color:var(--shop-red);font-size:26px;line-height:1}
.product-detail{display:grid;grid-template-columns:1fr 1fr}
.product-detail-gallery{min-width:0;background:#f3eeea}
.product-detail-gallery .product-gallery{width:100%;height:100%;min-height:500px;object-fit:contain;background:#f3eeea}
.product-detail-copy{padding:62px 38px 35px}
.product-detail-copy>.eyebrow{font-size:8px;color:#887570}
.product-detail h2{font:800 46px/1 var(--font-display);text-transform:uppercase;color:var(--shop-red);margin:22px 0 16px;overflow-wrap:anywhere}
.product-price{font-size:21px;margin-bottom:18px;color:var(--shop-red)}
#product-description{font-size:13px;line-height:1.8;color:#736763;white-space:pre-line;overflow-wrap:anywhere}
.quantity-field{max-width:100px}
.product-detail .button{width:100%}
.product-detail .button:disabled{cursor:not-allowed}
#product-availability.is-sold-out{font:800 clamp(42px,6vw,64px)/1 var(--font-display);color:var(--shop-red);margin:24px 0}
.shop-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;padding:60px var(--gutter) 35px}
.shop-footer-signature{font:800 clamp(35px,4.5vw,65px)/1 var(--font-display);color:var(--shop-red)}
.shop-footer>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px 24px;font-size:11px;color:#736763}
.shop-footer>div a{min-height:44px;display:flex;align-items:center}
.shop-footer>div>span{width:100%;text-align:right;font-size:9px}
.confirmation-main{max-width:960px;min-height:65svh}
.confirmation-main h1{font:800 clamp(44px,7vw,82px)/.98 var(--font-display);color:var(--shop-red)}
.confirmation-back{display:inline-flex;align-items:center;min-height:44px;color:var(--shop-red);font-size:12px;text-decoration:underline;text-underline-offset:5px;margin-top:18px}
@media(max-width:1000px){.shop-hero{gap:30px}.shop-hero h1{font-size:clamp(58px,8.3vw,85px)}.shop-hero-copy>.eyebrow{font-size:8px}.shop-hero .button{font-size:10px;padding:12px 17px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout{gap:30px}.reservation-form{padding:24px}.shop-navigation{gap:22px}}
@media(max-width:700px){.shop-header{display:grid;grid-template-columns:1fr auto;gap:0 15px;padding-top:20px;min-height:112px}.shop-brand{font-size:29px}.shop-brand span{font-size:7px}.shop-navigation{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:18px;width:100%;font-size:11px;margin-top:7px}.basket-link{grid-row:1;grid-column:2}.shop-hero{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:30px}.shop-hero h1{font-size:clamp(53px,15vw,90px)}.shop-hero-copy>.eyebrow{margin-bottom:23px}.shop-lead{font-size:21px;margin-top:24px}.shop-intro{font-size:12px;margin:15px 0 22px;max-width:360px}.shop-payment-note{font-size:7px;margin-top:17px}.shop-hero-art{max-width:440px;justify-self:center;width:100%}.shop-hero-art figcaption{font-size:6px;padding:12px}.shop-manifesto{font-size:23px;line-height:1.15;padding-top:20px;padding-bottom:20px}.shop-section{padding-top:42px;padding-bottom:42px}.shop-section-heading{display:block;margin-bottom:25px}.shop-section h2{font-size:43px}.shop-section-heading>p{margin-top:16px;font-size:11px}.product-grid{gap:28px 16px}.product-card-copy{display:block;padding-top:16px}.product-card h3,.product-card-title{font-size:27px}.product-card-price{display:block;font-size:12px;margin-top:10px}.product-badge{top:8px;left:8px;padding:5px;font-size:7px}.product-card-link{font-size:10px}.shop-empty{padding:28px}.shop-empty h3{font-size:34px}.checkout{grid-template-columns:1fr;gap:27px}.reservation-form{padding:23px}.shop-field input,.shop-field select{font-size:16px}.reservation-success{padding:25px}.reservation-success h3{font-size:32px}.reservation-reference{overflow-wrap:anywhere}.shop-how{grid-template-columns:1fr;gap:25px;padding-top:30px;padding-bottom:30px}.shop-how>div{display:grid;grid-template-columns:25px 1fr;gap:7px 12px}.shop-how h3{margin:0;font-size:28px}.shop-how p{grid-column:2;font-size:11px}.shop-how span{padding-top:3px}.product-dialog{width:calc(100% - 24px);max-height:92svh}.product-detail{grid-template-columns:1fr}.product-detail-gallery .product-gallery{height:auto;max-height:45svh;min-height:0;aspect-ratio:1}.product-detail-copy{padding:26px}.product-detail h2{font-size:36px;margin-top:18px}.shop-footer{display:block;padding-top:40px}.shop-footer-signature{font-size:41px}.shop-footer>div{margin-top:25px;justify-content:flex-start}.shop-footer>div>span{text-align:left}}
@media(max-width:360px){.product-grid{grid-template-columns:1fr}.product-card-copy{display:flex}.shop-section h2{font-size:38px}.reservation-form>.button{font-size:10px;gap:10px}}
