﻿/* Bag and checkout share the storefront's champagne finish. */
.commerce-store{background:radial-gradient(ellipse at 100% 0%,#e9d3a630,transparent 48%),#fbf8f1}
.commerce-store .shop-main{max-width:1280px;padding:0 40px 85px}
.commerce-store .shop-progress{padding:32px 0 0;gap:24px;font-size:11px;color:#a28d6c}
.commerce-store .shop-progress li{gap:9px}.commerce-store .shop-progress li+li:before{content:'';height:1px;width:30px;margin-right:8px;background:#dfcca7}
.commerce-store .shop-progress span{width:29px;height:29px;background:#fbf6e9;border-color:#dcc69f;color:#a48855}
.commerce-store .shop-progress [aria-current=step]{color:#8b6425}.commerce-store .shop-progress [aria-current=step] span{background:linear-gradient(135deg,#a67b32,#c09a56);color:#fff9ed;border-color:#b58a40;box-shadow:0 3px 10px #a67e3320}
.commerce-store .shop-intro{padding:34px 0 36px;border-bottom:1px solid #e4d5b9;margin-bottom:30px}
.commerce-store .shop-intro .eyebrow{font-size:10px;letter-spacing:2px;color:#a17a38;margin:0}
.commerce-store .shop-intro h1{font-size:clamp(40px,4.4vw,61px);line-height:1.12;margin:17px 0 17px;letter-spacing:-1px}
.commerce-store .shop-intro h1 em{color:#a57b32}.commerce-store .shop-intro>p:not(.eyebrow){font-size:14px;line-height:1.8;margin:0;color:#958365}
.commerce-store .checkout-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start}
.commerce-store .cart-items,.commerce-store .checkout-form{min-width:0;padding:28px;background:#fffdf7;border:1px solid #e2d1af;border-radius:20px;box-shadow:0 8px 28px #77521d05}
.commerce-store .cart-items>h2,.commerce-store .checkout-form>h2{font-size:32px;line-height:1.2;margin:0 0 12px;color:#614b2c}
.commerce-store .cart-items>h2 small{font-size:20px;color:#b18e51}
.commerce-store .cart-item{grid-template-columns:100px minmax(0,1fr) auto;gap:20px;padding:25px 0;align-items:start;border-color:#e9ddc7}
.commerce-store .cart-item:last-child{border-bottom:0;padding-bottom:0}
.commerce-store .cart-item img{display:block;width:100px;height:130px;object-fit:cover;border-radius:12px;border:1px solid #deca9e;transition:filter .3s}
.commerce-store .cart-item .eyebrow{font-size:8px;line-height:1.7;letter-spacing:1.5px;color:#af8b4c;margin:0 0 9px}
.commerce-store .cart-item h3{font-size:29px;margin:0 0 9px;line-height:1.2;color:#604929;overflow-wrap:anywhere}
.commerce-store .cart-item .subtle{font-size:11px;margin:0 0 15px;color:#9c8765;line-height:1.8}
.commerce-store .cart-line-total{font-size:13px;font-weight:500;white-space:nowrap;color:#937038;padding-top:2px}
.commerce-store .cart-quantity{display:inline-flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:11px;color:#88724d}
.commerce-store .cart-quantity input{width:58px;height:40px;padding:8px;border:1px solid #d9c093;background:#fffaf0;border-radius:10px;text-align:center;color:#7c5a29;font-size:12px;transition:border-color .25s,box-shadow .25s}
.commerce-store .cart-quantity input:focus-visible{outline:0;border-color:#a27b36;box-shadow:0 0 0 3px #d6b77830}
.commerce-store .remove-item{display:inline-flex;align-items:center;gap:5px;font-size:10px;text-decoration:none;margin-left:5px;padding:9px 10px;border-radius:20px;color:#a38a62;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s}
.commerce-store .remove-item:before{content:'×';font-size:16px;line-height:1}
.commerce-store .order-summary{min-width:0;padding:30px;background:linear-gradient(145deg,#f7eedc,#eee0c3);border:1px solid #d9bf8b;border-radius:20px;box-shadow:0 12px 32px #805a1710;overflow:hidden}
.commerce-store .order-summary>.eyebrow{font-size:9px;letter-spacing:1.8px;color:#a07a39;margin:0 0 16px}
.commerce-store .order-summary h2{font-size:31px;line-height:1.2;color:#654b24;margin:0 0 23px}
.commerce-store .summary-row{padding:15px 0;font-size:13px;color:#8b734b;gap:15px;align-items:baseline}
.commerce-store .summary-row>span:last-child{white-space:nowrap;text-align:right;color:#80602f}
.commerce-store .summary-total{font-size:21px;margin-top:13px;padding-top:23px;border-color:#d7c196;color:#79551d}
.commerce-store .order-summary>.subtle{font-size:10px;line-height:1.8;color:#a08a65;margin:14px 0 0}
.commerce-store .order-summary>.button{margin:25px 0 12px;min-height:49px;font-size:12px;text-align:center;padding:15px 12px}
.commerce-store .order-summary>.text-link{padding:10px 0;font-size:11px;border:0}
.commerce-store .empty-bag{background:linear-gradient(140deg,#fffdf7,#f4e9d2);border:1px solid #dfc99e;border-radius:22px;padding:65px 25px}
.commerce-store .empty-bag h2{font-size:45px;line-height:1.15}.commerce-store .empty-bag p{font-size:13px}.commerce-store .empty-bag>span{color:#be984f}
.commerce-store .checkout-form>h2{margin-bottom:25px}
.commerce-store .form-grid{gap:19px 18px}.commerce-store .form-grid label{font-size:12px;line-height:1.6;color:#897047;margin:0;min-width:0}
.commerce-store .form-grid input,.commerce-store .form-grid textarea{border:1px solid #ddc8a2!important;border-radius:11px!important;background:#fcf8ef!important;color:#735a35!important;padding:13px!important;font-size:13px!important;min-height:46px;transition:box-shadow .25s,border-color .25s;box-sizing:border-box}
.commerce-store .form-grid input::placeholder,.commerce-store .form-grid textarea::placeholder{color:#b09c7a}
.commerce-store .form-grid input:focus-visible,.commerce-store .form-grid textarea:focus-visible{outline:none;border-color:#b28a44!important;box-shadow:0 0 0 3px #d9bd8633}
.commerce-store .form-grid input:disabled{color:#a69476!important;background:#f0e7d5!important;opacity:1}
.commerce-store .form-grid .subtle{font-size:10px}.commerce-store .form-grid textarea{resize:vertical;max-height:250px}
.commerce-store .payment-options{min-width:0;padding:16px;border-radius:15px;border:1px solid #dfc99f;background:#fcf8ed;margin:29px 0 23px}
.commerce-store .payment-options legend{font-size:26px;color:#7d6033;padding:0 9px}
.commerce-store .payment-options label{padding:13px 10px;border:1px solid #e7d8bc;border-radius:11px;background:#fffdf7;margin:8px 0;transition:border-color .25s,background .25s;cursor:pointer}
.commerce-store .payment-options label:has(input:checked){border-color:#bd9857;background:#f4e7cb;box-shadow:0 0 0 1px #c5a36322}
.commerce-store .payment-options input{width:16px;height:16px;margin-top:3px;flex-shrink:0;accent-color:#a47a32}
.commerce-store .payment-options b{font-size:12px;color:#866331}.commerce-store .payment-options small{font-size:11px;line-height:1.7;color:#a08a66}.commerce-store .payment-options>.subtle{font-size:10px;line-height:1.8;margin:15px 4px 0}
.commerce-store .checkbox-label{font-size:11px!important;line-height:1.8;color:#94805e;padding:14px;border:1px solid #e6d6b7;border-radius:11px;background:#fbf6e9}
.commerce-store .checkbox-label input{width:16px;height:16px;accent-color:#a47a32}
.commerce-store .checkout-form>.subtle{font-size:10px;line-height:1.8;margin:17px 0;color:#ac9470}
.commerce-store .checkout-form>.button{width:100%;min-height:49px;font-size:13px;margin-top:10px}
.commerce-store .form-error:empty{display:none}.commerce-store .form-error{font-size:12px}
.commerce-store .order-line{gap:13px;font-size:12px;padding:16px 0;border-color:#dfcca7;align-items:center}
.commerce-store .order-line>img{width:56px;height:72px;border-radius:9px;border:1px solid #d5bc8e;object-fit:cover}
.commerce-store .order-line>div{min-width:0;color:#846333;overflow-wrap:anywhere}.commerce-store .order-line p{font-size:10px;line-height:1.7;color:#a18a62}.commerce-store .order-line>span{font-size:11px;color:#8c6d3b}
@media(hover:hover) and (pointer:fine){.commerce-store .remove-item:hover{color:#956438;background:#f6e9d5;border-color:#e4c99f}.commerce-store .cart-item img:hover{filter:brightness(1.08)}.commerce-store .payment-options label:hover{border-color:#c3a268;background:#f7eedb}}
@media(min-width:1000px){.commerce-store .order-summary{position:sticky;top:110px}}
@media(max-width:1000px){.commerce-store .shop-main{padding-inline:25px}.commerce-store .checkout-layout{gap:20px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.commerce-store .cart-items,.commerce-store .checkout-form,.commerce-store .order-summary{padding:23px}.commerce-store .cart-item{grid-template-columns:80px minmax(0,1fr);gap:16px}.commerce-store .cart-item img{width:80px;height:108px}.commerce-store .cart-line-total{grid-column:2;margin-top:-6px}.commerce-store .cart-item h3{font-size:27px}.commerce-store .order-summary h2{font-size:29px}.commerce-store .order-line{flex-wrap:wrap}.commerce-store .order-line>span{margin-left:auto}}
@media(max-width:760px){.commerce-store .shop-main{padding:0 6% 50px}.commerce-store .checkout-layout{grid-template-columns:1fr;gap:22px}.commerce-store .shop-progress{gap:10px;padding-top:24px;font-size:9px}.commerce-store .shop-progress li{gap:6px}.commerce-store .shop-progress li+li:before{width:12px;margin-right:2px}.commerce-store .shop-progress span{width:25px;height:25px;font-size:9px}.commerce-store .shop-intro{padding:28px 0;margin-bottom:24px}.commerce-store .shop-intro h1{font-size:43px}.commerce-store .shop-intro>p:not(.eyebrow){font-size:13px}.commerce-store .shop-intro .eyebrow{font-size:9px}.commerce-store .cart-items,.commerce-store .checkout-form,.commerce-store .order-summary{padding:22px 19px;border-radius:17px}.commerce-store .cart-items>h2{font-size:29px}.commerce-store .cart-item{gap:14px}.commerce-store .cart-item .eyebrow{font-size:7px;letter-spacing:1px}.commerce-store .cart-item .subtle{font-size:10px}.commerce-store .remove-item{margin-left:0;padding:8px 7px}.commerce-store .cart-quantity{font-size:10px}.commerce-store .cart-quantity input{width:50px;height:37px}.commerce-store .cart-line-total{font-size:12px}.commerce-store .form-grid{grid-template-columns:1fr;gap:17px}.commerce-store .form-grid .full{grid-column:auto}.commerce-store .order-summary h2{font-size:32px}.commerce-store .empty-bag{padding:48px 20px}.commerce-store .empty-bag .text-link{display:block;margin:18px 0 0}.commerce-store .empty-bag h2{font-size:39px}}

/* Signature packaging sits alongside the bag introduction, outside the live cart. */
.cart-store .bag-brand-header{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:center;position:relative;isolation:isolate;border-bottom:1px solid #e4d5b9;margin-bottom:30px;min-width:0}
.cart-store .bag-brand-copy{min-width:0;align-self:start}
.cart-store .bag-brand-header .shop-intro{border:0;margin-bottom:0;padding-bottom:36px}
.cart-store .bag-branding{margin:0;min-width:0;align-self:center;padding:10px 0 18px;text-align:center}
.cart-store .bag-brand-stage{position:relative;display:grid;place-items:center;isolation:isolate;min-width:0;height:282px;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.cart-store .bag-brand-stage::before{content:"";position:absolute;z-index:-2;inset:7% 5% 0;border-radius:50%;background:radial-gradient(ellipse,#e8d3a746,#e8d3a71a 48%,transparent 73%)}
.cart-store .bag-brand-stage::after{content:"";position:absolute;z-index:-1;width:64%;height:14px;left:18%;bottom:6px;border-radius:50%;background:radial-gradient(ellipse,#74501624,transparent 72%);filter:blur(5px)}
.cart-store .bag-brand-stage img{display:block;position:relative;width:100%;height:100%;max-width:420px;max-height:282px;object-fit:contain;filter:drop-shadow(0 10px 12px #4c3d5b13);animation:bag-packaging-arrival .85s cubic-bezier(.2,.7,.2,1) both,bag-packaging-float 7s ease-in-out .85s infinite;transform-origin:50% 75%}
.cart-store .bag-brand-orbit{position:absolute;z-index:-1;width:82%;height:74%;left:9%;top:12%;border:1px solid #c29b5433;border-radius:50%;transform:rotate(-15deg)}
.cart-store .bag-brand-spark{position:absolute;right:5%;top:18%;font-size:30px;line-height:1;color:#b58d49;opacity:.7}
.cart-store .bag-branding figcaption{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0 0;color:#9a7a43;font-family:var(--serif,Georgia,serif);font-size:18px;font-style:italic;line-height:1.4}
.cart-store .bag-branding figcaption>span{width:26px;height:1px;background:linear-gradient(90deg,transparent,#c8a969)}
.cart-store .bag-branding figcaption>span:last-child{transform:rotate(180deg)}
@keyframes bag-packaging-arrival{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes bag-packaging-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(hover:hover) and (pointer:fine){.cart-store .bag-branding:hover .bag-brand-stage{transform:translateY(-2px) scale(1.015)}}
@media(max-width:1000px) and (min-width:761px){.cart-store .bag-brand-header{gap:15px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.cart-store .bag-brand-stage{height:250px}.cart-store .bag-brand-stage img{max-height:250px}.cart-store .bag-brand-copy .shop-progress{gap:9px;font-size:9px}.cart-store .bag-brand-copy .shop-progress li{gap:6px}.cart-store .bag-brand-copy .shop-progress li+li:before{width:12px;margin-right:3px}}
@media(max-width:760px){.cart-store .bag-brand-header{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:24px}.cart-store .bag-brand-header .shop-intro{padding-bottom:8px}.cart-store .bag-branding{padding:5px 0 20px;max-width:370px;width:100%;justify-self:center}.cart-store .bag-brand-stage{height:218px}.cart-store .bag-brand-stage img{max-height:218px;max-width:320px}.cart-store .bag-brand-spark{font-size:24px;right:6%;top:18%}.cart-store .bag-branding figcaption{font-size:16px;margin-top:6px}.cart-store .bag-brand-orbit{width:78%;left:11%}}
@media(prefers-reduced-motion:reduce){.cart-store .bag-brand-stage,.cart-store .bag-brand-stage img{animation:none;transition:none}.cart-store .bag-branding:hover .bag-brand-stage{transform:none}}