.store-announcement{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);z-index:100;background:var(--deep);border:1px solid #b08d55;color:var(--paper);padding:14px 22px;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100vw - 40px)}
.store-announcement.visible{transform:translate(-50%,0);opacity:1}
.cart-drawer{inset:0 0 0 auto;margin:0;padding:0;width:500px;max-width:100vw;height:100%;max-height:100dvh;border:0;background:var(--paper);color:var(--ink);overflow:auto}
.cart-drawer::backdrop{background:#080a07a8;backdrop-filter:blur(12px)}
.cart-drawer[open]{animation:drawer-in .4s var(--ease)}
.cart-shell{display:flex;flex-direction:column;min-height:100%;padding:0 34px 28px}
.cart-heading{position:sticky;top:0;z-index:2;background:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0 22px;border-bottom:1px solid var(--line)}
.cart-heading .eyebrow{color:#887e67;margin-bottom:12px}
.cart-close{width:44px;height:44px;display:grid;place-items:center;flex:none}
.cart-reference{background:#e6dfd0;padding:14px 16px;margin-top:20px;color:#7e725a}
.cart-count-text{color:#837e6d;margin-top:20px}
.cart-item{display:grid;grid-template-columns:95px minmax(0,1fr);gap:22px;padding:27px 0;border-bottom:1px solid var(--line)}
.cart-item>img{width:95px;height:150px;object-fit:cover;object-position:50% 60%}
.cart-item-copy>.eyebrow{color:#93856b}
.cart-item-copy h3{margin-top:10px}
.cart-item-copy>p{color:#817b6a;margin-top:8px}
.cart-item-price{display:block;margin-top:10px}
.cart-item-actions{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:12px}
.cart-quantity{display:flex;align-items:center;border:1px solid #bbb3a0;height:46px}
.cart-quantity button{width:44px;height:44px}
.cart-quantity output{min-width:28px;text-align:center}
.cart-remove{text-decoration:underline;text-underline-offset:4px;min-height:44px;min-width:44px;color:#8c7550}
.cart-lower{margin-top:auto;padding-top:30px}
.cart-subtotal{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.cart-freight{color:#88806d;margin-top:11px}
.cart-lower .button{width:100%;margin-top:23px}
.cart-lower .button svg{width:22px;height:22px}
.continue-shopping{display:block;text-align:center;text-decoration:underline;text-underline-offset:5px;margin:13px auto 0;padding:9px 0;min-height:44px}
.cart-legal{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;color:#8b816c}
.cart-empty{text-align:center;margin:auto;padding:50px 0 35px}
.cart-empty>img{width:58px;height:auto;margin:0 auto 25px;opacity:.8}
.cart-empty h3 em{color:#a67f45}
.cart-empty p{color:#807c69;margin:22px auto 29px;max-width:290px}
.checkout-page{background:var(--paper);color:var(--ink)}
.checkout-header{background:var(--night);color:var(--paper);height:95px;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid #d1ab5b22}
.checkout-header>div{display:flex;gap:27px;align-items:center}
.checkout-header-caption{color:#cab287}
.checkout-back{color:#e1dacb;min-height:44px;display:flex;align-items:center}
.checkout-main{max-width:1400px;margin:0 auto;padding:35px var(--gutter) 80px}
.preview-notice{border:1px solid #caba97;background:#e9e1d0;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#73664e}
.preview-notice strong{display:block}
.preview-notice p{margin-top:4px}
.preview-notice button{flex:none;min-height:44px;border-bottom:1px solid #b7a687}
.preview-notice button span{margin-left:12px}
.checkout-title{padding:43px 0 37px}
.checkout-title .eyebrow{color:#918266;margin-bottom:20px}
.checkout-title h1 em{color:#a47c43}
.checkout-title>p{color:#827a67;margin-top:15px}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:clamp(35px,5vw,85px);align-items:start}
.checkout-flow{min-width:0}
.checkout-steps{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;gap:18px;scroll-margin-top:20px}
.checkout-steps button{display:flex;gap:9px;align-items:center;color:#9a927e;min-height:44px}
.checkout-steps button>span{width:27px;height:27px;border:1px solid #c7beaa;border-radius:50%;display:grid;place-items:center}
.checkout-steps button[aria-current=step]{color:var(--ink)}
.checkout-steps button[aria-current=step]>span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.checkout-steps button.completed>span{background:#ddd2bb;border-color:#b6a487;color:#5e5139}
.checkout-step{padding-top:36px;animation:panel-in .4s var(--ease)}
.step-heading{margin-bottom:30px}
.step-heading>.eyebrow{color:#a08a64;margin-bottom:17px}
.step-heading h2 em{color:#a07c42}
.step-heading>p{color:#827c69;margin-top:14px}
.form-field{margin-bottom:23px;min-width:0}
.form-field>label{display:block;margin-bottom:9px;color:#514f42}
.form-field>label span{opacity:.7;margin-left:6px}
.form-field>input,.form-field>select{width:100%;height:54px;border:1px solid #c8bfac;background:#f8f5ef;border-radius:0;padding:0 15px;color:var(--ink);transition:border-color .2s,box-shadow .2s;accent-color:#9e7841}
.form-field>input::placeholder{color:#a69c88}
.form-field>input:focus,.form-field>select:focus{border-color:#a07c42;outline:0;box-shadow:0 0 0 1px #a07c42}
.form-field input[aria-invalid=true],.form-field select[aria-invalid=true]{border-color:#a24e35}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.city-grid{grid-template-columns:1fr 120px}
.postcode-field{max-width:220px}
.field-help{display:block;color:#8e836d;margin-top:7px}
.field-error{display:block;color:#a04d34;margin:7px 0 0}
.age-check{display:flex;align-items:center;gap:12px;color:#77715c;margin:8px 0 23px;min-height:44px;cursor:pointer}
.age-check input{margin:0;accent-color:var(--ink);width:18px;height:18px;flex:none}
.age-check+.field-error{margin-top:-14px;margin-bottom:20px}
.form-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-top:29px}
.form-submit>span{color:#938873;max-width:125px}
.form-submit .button{min-height:56px;padding:16px 20px;gap:25px}
.form-submit .button svg{width:20px;height:20px;flex:none}
.checkout-previous{min-height:44px;flex:none;color:#8d7955}
.completed-step{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:27px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.completed-step>div>span{color:#9b8c70}
.completed-step p{color:#726b57;margin-top:7px;word-break:break-word}
.completed-step button{border-bottom:1px solid var(--line);padding:4px 0;min-height:44px;min-width:44px;color:#967b4e}
.shipping-choices{margin:3px 0 18px}
.shipping-preview{border:1px solid #d1c6b1;display:flex;align-items:center;padding:19px 16px;gap:15px;background:#e9e2d3}
.shipping-preview>svg{width:30px;height:30px;stroke:#99845e;stroke-width:1;fill:none;flex:none}
.shipping-preview strong{display:block}
.shipping-preview>div>span{display:block;color:#8f836a;margin-top:5px}
.shipping-value{margin-left:auto;color:#927a53;flex:none}
.shipping-option{border:1px solid #c9bda5;padding:16px;display:flex;gap:12px;align-items:center;margin-bottom:10px;min-height:56px}
.shipping-option input{accent-color:var(--ink)}
.shipping-option span{margin-left:auto}
.form-status{color:#9b7041;margin-top:15px}
.payment-options{padding:0;border:0;margin:0}
.payment-option{display:flex;gap:15px;align-items:center;border:1px solid #cbc1aa;padding:20px 18px;margin-bottom:15px;cursor:pointer;min-height:95px;transition:background .25s,border-color .25s}
.payment-option:has(input:checked){border-color:#9e7b40;background:#e5dac5;box-shadow:inset 0 0 0 1px #9e7b40}
.payment-option input{margin:0;accent-color:#967440;width:18px;height:18px;flex:none}
.payment-option svg{width:31px;height:31px;stroke:#9e8150;stroke-width:1;fill:none;flex:none}
.payment-option strong{display:block}
.payment-option small{display:block;color:#8a7d62;margin-top:5px}
.payment-explanation{padding:8px 0 23px;color:#7d725b}
.payment-explanation>span{display:block;color:#a1804d;margin-top:10px}
.checkout-safety{display:flex;gap:12px;padding:20px 0;border-top:1px solid var(--line);color:#998d72;align-items:center}
.checkout-safety>svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.1;fill:none;flex:none}
.checkout-safety p{max-width:350px}
.order-summary{position:sticky;top:30px;background:#e9e2d5;border:1px solid #d1c5ae;padding:28px 26px 24px}
.summary-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:23px;border-bottom:1px solid #ccbea3;gap:15px}
.summary-title button{border-bottom:1px solid #b3a081;min-height:44px;color:#90774e}
.summary-toggle,.summary-quick-total,.summary-mobile-edit{display:none}
.summary-product{display:flex;gap:22px;padding:26px 0;border-bottom:1px solid #cdbfa5}
.summary-product>img{width:88px;height:130px;object-fit:cover;object-position:50% 55%;flex:none}
.summary-product .eyebrow{color:#9c8864}
.summary-product h3{margin-top:13px}
.summary-product h3 em{color:#a0814d}
.summary-product p{color:#8b7d62;margin-top:12px}
.summary-quantity{display:block;color:#8b7d62;margin-top:9px}
.summary-quantity strong{color:var(--ink)}
.order-totals{margin:24px 0 0}
.order-totals>div{display:flex;justify-content:space-between;gap:18px;margin:13px 0;color:#8b7c5f}
.order-totals dd{margin:0;color:#5f523b}
.order-totals .order-total{padding-top:22px;border-top:1px solid #ccbea3;margin-top:24px;align-items:baseline;color:var(--ink)}
.order-total dd{white-space:nowrap;color:var(--ink)}
.summary-freight-note{color:#96866a;margin-top:14px}
.summary-reference{border-top:1px solid #cdbfa5;margin-top:24px;padding-top:18px;color:#9d845a}
.summary-brand{display:flex;align-items:center;gap:15px;padding-top:24px;margin-top:23px;border-top:1px solid #cdbfa5}
.summary-brand img{width:25px;height:auto;opacity:.9}
.summary-brand span{color:#a18b64}
.checkout-footer{border-top:1px solid var(--line);padding:25px var(--gutter);display:flex;justify-content:space-between;gap:20px;color:#9b8d72}
.checkout-footer a{color:#867047;min-height:44px;display:flex;align-items:center}
.empty-checkout{text-align:center;padding:60px 0 85px}
.empty-checkout>img{margin:0 auto 28px;opacity:.8;width:65px;height:auto}
.empty-checkout>.eyebrow{color:#a18c68}
.empty-checkout h1{margin-top:30px}
.empty-checkout h1 em{color:#a58550}
.empty-checkout>p{color:#8c7e62;margin:28px 0}
.preview-finish{border:1px solid #b4a07b;background:var(--paper);color:var(--ink);max-width:510px;width:calc(100vw - 30px);max-height:90dvh;padding:37px 38px 32px;overflow:auto;inset:0;margin:auto}
.preview-finish::backdrop{background:#0c1008bf;backdrop-filter:blur(14px)}
.preview-finish>button:first-child{position:absolute;right:10px;top:8px;width:44px;height:44px}
.preview-finish>img{margin-bottom:25px;width:43px;height:auto;opacity:.9}
.preview-finish>.eyebrow{color:#9d8966;margin-bottom:20px}
.preview-finish h2 em{color:#a17d44}
.preview-finish>p{color:#87785b;margin-top:26px}
.preview-finish>div{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}
.preview-finish>div>span{color:#a48b60}
.preview-finish>div>p{margin-top:12px;color:#8b7a5d}
.preview-finish>strong{display:block;color:#a17e43;margin-top:22px}
.preview-finish>.button{width:100%;margin-top:25px}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:1100px){.checkout-layout{gap:40px;grid-template-columns:minmax(0,1.35fr) minmax(290px,1fr)}
.order-summary{padding:26px 23px}
.summary-product{gap:17px}
.summary-product>img{width:76px;height:115px}
.form-submit .button{gap:15px;padding-left:16px;padding-right:16px}
.form-submit>span{max-width:95px}
}
@media(max-width:800px){.checkout-header-caption{display:none}
.checkout-layout{grid-template-columns:1fr;gap:30px}
.checkout-main{max-width:720px;padding:28px 30px 60px}
.order-summary{position:static;order:-1;max-width:none;padding:18px 20px}
.summary-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.summary-title h2{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.summary-toggle{display:flex;grid-column:1;grid-row:1;align-items:center;justify-self:start;text-align:left;border:0!important;min-height:44px}
.summary-quick-total{display:block;grid-column:2;grid-row:1;max-width:135px;text-align:right;color:#7c633a}
.summary-edit{display:none}
.summary-collapsed .summary-title{padding:0;border:0}
.summary-mobile-edit{display:block;min-height:44px;padding-top:10px;text-decoration:underline;text-underline-offset:4px;color:#8a7045}
.summary-product>img{width:75px;height:105px}
.summary-product h3 br{display:none}
.summary-product h3 em{margin-left:3px}
.summary-product p,.summary-quantity{display:inline-block;margin-right:14px}
.summary-title{padding-bottom:18px}
.summary-brand{display:none}
.summary-reference{padding-top:15px;margin-top:18px}
.checkout-title{padding-top:30px}
.checkout-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 0;gap:10px}
.checkout-steps button{flex-direction:column;justify-content:center;gap:7px;min-height:64px}
.checkout-steps button>span{width:26px;height:26px}
.age-check input{width:20px;height:20px}
.form-submit{flex-direction:column-reverse;align-items:stretch;gap:13px}
.form-submit>.button{width:100%;min-height:58px;padding:17px 20px;gap:20px}
.form-submit>span{max-width:none;text-align:center}
.checkout-previous{text-align:center;min-height:44px}
.form-grid:not(.city-grid){grid-template-columns:1fr;gap:0}
.city-grid{grid-template-columns:minmax(0,1fr) 90px;gap:15px}
.shipping-preview{display:grid;grid-template-columns:28px minmax(0,1fr);padding:17px 15px;gap:10px 13px}
.shipping-value{grid-column:2;margin:0}
.checkout-safety p{max-width:none}
}
@media(max-width:620px){.cart-shell{padding:0 24px 25px}
.cart-heading{padding-top:24px;padding-bottom:20px;gap:15px}
.cart-item{grid-template-columns:75px minmax(0,1fr);gap:17px;padding:25px 0}
.cart-item>img{width:75px;height:130px}
.cart-item-actions{gap:9px;flex-wrap:wrap}
.cart-quantity button{width:44px}
.cart-quantity output{min-width:25px}
.cart-lower .button{min-height:58px}
.checkout-header{height:81px;padding:0 22px;gap:17px}
.checkout-header .brand img{width:104px}
.checkout-header>div{gap:15px}
.checkout-main{padding:23px 23px 50px}
.preview-notice{padding:14px 15px;display:block}
.preview-notice button{display:inline-flex;align-items:center;gap:10px;margin-top:4px}
.preview-notice button span{margin:0}
.checkout-title{padding:28px 0 28px}
.checkout-title .eyebrow{margin-bottom:15px}
.checkout-title>p{margin-top:14px}
.checkout-layout{gap:25px}
.order-summary{padding:14px 15px}
.summary-quick-total{max-width:115px}
.summary-product{gap:16px;padding:21px 0}
.summary-product>img{width:65px;height:100px}
.order-totals{margin-top:20px}
.checkout-step{padding-top:28px}
.step-heading{margin-bottom:26px}
.step-heading>.eyebrow{margin-bottom:17px}
.step-heading>p{margin-top:13px}
.form-field{margin-bottom:23px}
.form-field>input,.form-field>select{height:54px;padding:0 14px}
.age-check{padding:8px 0;margin-bottom:20px}
.completed-step{align-items:flex-start;gap:14px}
.payment-option{padding:19px 15px;gap:13px}
.payment-option input{width:19px;height:19px}
.payment-option svg{width:28px;height:28px}
.checkout-safety{align-items:flex-start;gap:12px}
.checkout-footer{display:grid;grid-template-columns:1fr 1fr;padding:22px;gap:10px;align-items:center}
.checkout-footer>a{grid-column:2;grid-row:1;text-align:right;justify-content:flex-end}
.checkout-footer>span:last-child{grid-column:1/-1}
.empty-checkout{padding:40px 0 50px}
.empty-checkout .button{min-height:58px}
.preview-finish{padding:32px 26px max(28px,env(safe-area-inset-bottom))}
.preview-finish>.button{min-height:58px}
}
@media(max-width:360px){.cart-shell{padding-left:20px;padding-right:20px}
.cart-item{grid-template-columns:64px minmax(0,1fr);gap:13px}
.cart-item>img{width:64px;height:115px}
.checkout-header{padding:0 17px;gap:12px}
.checkout-header>div{gap:9px}
.checkout-header .brand img{width:94px}
.checkout-main{padding-left:18px;padding-right:18px}
.summary-quick-total{max-width:102px}
.summary-title{gap:9px}
.checkout-steps{gap:6px}
}
@media(prefers-reduced-motion:reduce){.cart-drawer[open]{animation:none}
}
