/* Julia Gallery — cart and checkout */
body.commerce-open{overflow:hidden}
.gallery-cart,.gallery-checkout{--commerce-paper:#faf8f2;--commerce-ink:#18261f;--commerce-green:#06472c;--commerce-gold:#a3793a;--commerce-line:#dfddd2;color:var(--commerce-ink)}
.gallery-cart *,.gallery-checkout *{box-sizing:border-box}
.commerce-eyebrow,.commerce-step{display:block;font-size:10px;letter-spacing:2px;line-height:1.6;font-weight:500;color:var(--commerce-gold)}
.art-cart-overlay{background:rgba(13,21,18,.48);backdrop-filter:blur(4px)}
.gallery-cart{width:460px;height:100dvh;background:var(--commerce-paper);box-shadow:-20px 0 70px #1020191a}
.gallery-cart .art-cart-header{background:var(--commerce-paper);color:var(--commerce-ink);padding:28px 30px 24px;gap:16px;border-color:var(--commerce-line)}
.gallery-cart .art-cart-header h3{font:400 42px/1.15 'Playfair Display','Playfair Display',Georgia,serif;margin:9px 0 0;gap:15px}
.gallery-cart .art-cart-header h3 span{display:grid;place-items:center;width:27px;height:27px;padding:0;background:#e9eee6;color:var(--commerce-green);font:500 12px Arial,sans-serif}
.gallery-cart .commerce-close,.gallery-checkout .commerce-close{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid var(--commerce-line);background:transparent;color:var(--commerce-ink);border-radius:50%;font:300 26px/1 Arial,sans-serif;cursor:pointer;transition:background .2s}
.gallery-cart .commerce-close:hover,.gallery-checkout .commerce-close:hover{background:#eae8dd}
.gallery-cart .art-cart-body{padding:6px 30px;min-height:0;overscroll-behavior:contain}
.gallery-cart .art-cart-item{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;margin:0;padding:24px 0;border-bottom:1px solid var(--commerce-line)}
.gallery-cart .art-cart-item img{width:100px!important;height:100px!important;object-fit:contain!important;background:#efecdf;padding:6px;border:0;align-self:start}
.gallery-cart .art-cart-item strong{font:400 19px/1.3 'Playfair Display','Playfair Display',Georgia,serif;margin:0 0 7px}
.gallery-cart .art-cart-item .commerce-item-variants{font-size:11px;color:#73776e;line-height:1.6;margin-bottom:9px}
.gallery-cart .art-cart-item .commerce-item-price{font-size:14px;font-weight:500;color:var(--commerce-green);margin:0}
.commerce-item-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}
.gallery-cart .art-cart-qty{display:flex;align-items:center;gap:0;border:1px solid var(--commerce-line);margin:0}
.gallery-cart .art-cart-qty button{width:32px;height:32px;border:0;border-radius:0;background:transparent;color:var(--commerce-ink);font-size:18px}
.gallery-cart .art-cart-qty button:hover{background:#ecebdd}.gallery-cart .art-cart-qty button:disabled{opacity:.3;cursor:default}
.gallery-cart .art-cart-qty span{min-width:26px;font-size:12px}
.commerce-remove{padding:6px 0;background:transparent;border:0;border-bottom:1px solid #c4c7bc;color:#73776e;font-size:10px;cursor:pointer}
.commerce-remove:hover{color:#923c28;border-color:#923c28}
.gallery-cart .art-cart-footer{padding:25px 30px max(20px,env(safe-area-inset-bottom));background:#f0eee5;border-color:var(--commerce-line)}
.gallery-cart .art-cart-total{align-items:baseline;gap:12px;margin-bottom:9px;font-weight:400}
.gallery-cart .art-cart-total>span{font-size:12px;color:#616b60}
.gallery-cart .art-cart-total>strong{font:400 29px/1.2 'Playfair Display','Playfair Display',Georgia,serif;white-space:nowrap}
.commerce-payment-note{color:#65715f;font-size:11px;line-height:1.8;margin:8px 0 20px}
.commerce-payment-note>span{color:var(--commerce-gold);margin-right:5px}
.commerce-cart-actions{display:grid;gap:10px}
.gallery-cart .commerce-primary,.gallery-checkout .commerce-primary,.gallery-cart .commerce-secondary{width:100%;min-height:52px;padding:15px 20px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--commerce-green);border-radius:0;background:var(--commerce-green);color:#fff;font:500 11px/1.5 Geist,Arial,sans-serif;letter-spacing:1.1px;text-transform:uppercase;cursor:pointer;margin:0;transition:background .2s,box-shadow .2s}
.gallery-cart .commerce-primary{justify-content:space-between}
.gallery-cart .commerce-primary:hover,.gallery-checkout .commerce-primary:hover{background:#0b5739;box-shadow:0 5px 14px #06472c1a}
.gallery-cart .commerce-secondary{background:transparent;color:var(--commerce-green);border-color:#a6b5a3}
.gallery-cart .commerce-secondary:hover{background:#e5ebe0}.commerce-secondary i,.gallery-checkout .commerce-primary i{font-size:20px}
.gallery-cart button:disabled,.gallery-checkout button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.commerce-continue,.commerce-back{border:0;background:transparent;padding:0;color:#53654f;cursor:pointer;font-size:11px;text-decoration:underline;text-underline-offset:4px;line-height:1.8}
.commerce-continue{display:block;margin:18px auto 0;font-size:11px;text-decoration:none}
.commerce-continue span{margin-left:6px;color:var(--commerce-gold)}
.commerce-empty{min-height:290px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px 10px}
.commerce-empty-mark{font:42px Georgia,serif;color:var(--commerce-gold);border:1px solid var(--commerce-line);width:72px;height:72px;display:grid;place-items:center;border-radius:50%;margin-bottom:25px}
.commerce-empty h4{font:400 29px/1.2 'Playfair Display','Playfair Display',Georgia,serif;margin:0 0 12px}
.commerce-empty p{font-size:12px;line-height:1.9;color:#73776e;max-width:230px}
.gallery-checkout{padding:28px;z-index:11002;background:rgba(13,21,18,.60);backdrop-filter:blur(6px);overflow:auto;overscroll-behavior:contain}
.gallery-checkout .commerce-order-box{width:100%;max-width:870px;max-height:calc(100dvh - 56px);overflow-y:auto;overscroll-behavior:contain;padding:40px;background:var(--commerce-paper);border:1px solid #e4e0d3;border-radius:0;position:relative;box-shadow:0 30px 100px #0e191b3d;text-align:left}
.gallery-checkout .commerce-close{position:absolute;right:20px;top:20px}
.commerce-order-heading{padding-right:35px;margin-bottom:30px}
.gallery-checkout .commerce-order-heading h2{font:400 43px/1.1 'Playfair Display','Playfair Display',Georgia,serif;margin:14px 0 12px;color:var(--commerce-ink);text-align:left}
.commerce-order-heading h2 em{font-weight:400;color:var(--commerce-gold)}
.commerce-order-heading p{font-size:12px;color:#72786f;line-height:1.8;margin:0;max-width:550px}
.commerce-checkout-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:34px;align-items:start}
.gallery-checkout .art-order-summary{padding:24px;background:#eeece1;border:1px solid #e5e2d5;border-radius:0;margin:0}
.gallery-checkout h3{font:400 27px/1.2 'Playfair Display','Playfair Display',Georgia,serif;margin:9px 0 22px}
#cartOrderItems{max-height:275px;overflow:auto;overscroll-behavior:contain;margin-bottom:20px}
.gallery-checkout .art-cart-order-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;border-bottom:1px solid #d9d8ca;padding:15px 0;margin:0}
.gallery-checkout .art-cart-order-item:first-child{padding-top:0}
.gallery-checkout .art-cart-order-item img{width:58px;height:72px;object-fit:contain;border-radius:0;background:#e3e1d4;padding:3px}
.gallery-checkout .art-cart-order-item-details{min-width:0}
.gallery-checkout .art-cart-order-item-details strong{display:block;font-size:12px;font-weight:500;line-height:1.6;margin-bottom:5px}
.gallery-checkout .art-cart-order-item-details p{font-size:10px;color:#73776e;line-height:1.6;margin:4px 0}
.gallery-checkout .art-cart-order-item-details .commerce-summary-price{color:var(--commerce-green);font-size:12px;font-weight:500}
.commerce-summary-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;margin:20px 0 10px}
.commerce-summary-total strong{font:400 27px 'Playfair Display','Playfair Display',Georgia,serif;white-space:nowrap}
.commerce-delivery-form label{display:block;font-size:11px;font-weight:500;color:#4e5c50;margin:16px 0 8px}
.commerce-delivery-form input,.commerce-delivery-form textarea{display:block;width:100%;min-width:0;padding:13px 14px;border:1px solid #dcded2;border-radius:0;background:#fdfcf8;color:#1b3023;font:12px/1.6 Geist,Arial,sans-serif;box-shadow:none;transition:border-color .2s}
.commerce-delivery-form textarea{resize:vertical;min-height:94px}
.commerce-delivery-form input::placeholder,.commerce-delivery-form textarea::placeholder{color:#9a9e94;font-size:11px}
.commerce-delivery-form input:focus,.commerce-delivery-form textarea:focus{outline:1px solid var(--commerce-green);outline-offset:0;border-color:var(--commerce-green)}
.gallery-cart button:focus-visible,.gallery-checkout button:focus-visible{outline:2px solid var(--commerce-gold);outline-offset:4px}
.commerce-form-note{font-size:10px;color:#7a8275;line-height:1.9;margin:12px 0 20px}
.commerce-status{font-size:12px;line-height:1.8;padding:12px;margin-top:14px;border:1px solid transparent}
.commerce-status[data-type=error]{color:#903b2e;background:#f9ebe5;border-color:#edccc0}
.commerce-status[data-type=success]{color:#145331;background:#e8f0e2;border-color:#c9d8c2}
.gallery-checkout .commerce-whatsapp-box{max-width:620px}
.commerce-whatsapp-box .commerce-eyebrow{display:flex;align-items:center;gap:8px}.commerce-whatsapp-box .commerce-eyebrow i{font-size:18px;color:var(--commerce-green)}
.commerce-whatsapp-summary{display:flex;align-items:center;gap:18px;background:#eeece1;border-block:1px solid #e0dece;padding:17px 20px;margin-bottom:22px}
.commerce-whatsapp-summary>div{flex:1}.commerce-whatsapp-summary>div>span:last-child{display:block;font-size:12px;margin-top:4px}
.commerce-whatsapp-summary>strong{font:400 25px 'Playfair Display','Playfair Display',Georgia,serif;white-space:nowrap}
.commerce-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0}.commerce-field-row>div{min-width:0}
.commerce-whatsapp-note{font-size:10px;text-align:center;color:#788271;margin:15px 0 0}
@media(max-width:700px){.gallery-checkout{padding:12px;align-items:center}.gallery-checkout .commerce-order-box{padding:30px 22px;max-height:calc(100dvh - 24px)}.gallery-checkout .commerce-close{top:14px;right:14px;width:32px;height:32px}.commerce-order-heading{padding-right:14px;margin-bottom:24px}.commerce-order-heading .commerce-eyebrow{padding-right:20px;font-size:9px;letter-spacing:1.5px}.gallery-checkout .commerce-order-heading h2{font-size:36px}.commerce-checkout-grid{grid-template-columns:1fr;gap:24px}.gallery-checkout .art-order-summary{padding:20px}.gallery-checkout h3{font-size:25px;margin-bottom:18px}#cartOrderItems{max-height:180px}.commerce-field-row{grid-template-columns:1fr;gap:0}.commerce-whatsapp-summary{padding:15px;gap:12px;flex-wrap:wrap}.gallery-checkout .commerce-primary{font-size:10px;letter-spacing:.8px;min-height:50px}}
@media(max-width:480px){.gallery-cart{width:100%}.gallery-cart .art-cart-header{padding:24px 22px 20px}.gallery-cart .art-cart-body{padding:0 22px}.gallery-cart .art-cart-footer{padding:22px 22px max(18px,env(safe-area-inset-bottom))}.gallery-cart .art-cart-item{grid-template-columns:88px minmax(0,1fr);gap:15px}.gallery-cart .art-cart-item img{width:88px!important;height:88px!important}.gallery-cart .art-cart-item strong{font-size:18px}.gallery-cart .art-cart-header h3{font-size:38px}.commerce-eyebrow{font-size:9px;letter-spacing:1.6px}}
@media(prefers-reduced-motion:reduce){.gallery-cart,.art-cart-overlay,.gallery-cart button,.gallery-checkout button{transition:none}}

.gallery-cart .art-cart-header,.gallery-cart .art-cart-footer{flex-shrink:0}
@media(max-width:700px){.commerce-delivery-form input,.commerce-delivery-form textarea{font-size:16px}.commerce-delivery-form label{font-size:12px}.commerce-delivery-form input::placeholder,.commerce-delivery-form textarea::placeholder{font-size:12px}}

/* Deposit sits right under the total but reads clearly as a second, smaller
   figure — the total stays the number the eye lands on. */
.commerce-summary-deposit{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:-4px 0 10px;padding-top:9px;border-top:1px dashed var(--commerce-line);font-size:11px;color:#6b7566}
.commerce-summary-deposit strong{font:500 14px/1.2 Geist,Arial,sans-serif;color:var(--commerce-gold);white-space:nowrap}
.commerce-summary-deposit[hidden]{display:none}

/* While a modal is open the cart panel slides out of sight, so the modal is the
   only thing on screen. It keeps its .active class, so closing the modal still
   brings the panel back. */
body:has(.gallery-checkout.active) #cartSidebar,
body:has(.gallery-checkout.active) .art-cart-overlay{opacity:0;visibility:hidden;pointer-events:none}

/* Totals use the UI face with tabular figures, like the price on the product
   page — Playfair's old-style numerals read as decoration next to the amounts
   just above them. Sizes are unchanged. */
.gallery-cart .art-cart-total>strong{font:500 29px/1.2 'Geist',Arial,sans-serif;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.commerce-summary-total strong{font:500 27px/1.2 'Geist',Arial,sans-serif;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.commerce-whatsapp-summary>strong{font:500 25px/1.2 'Geist',Arial,sans-serif;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
