/* Cart refinements share the established storefront tokens. */
[hidden] { display: none !important; }
html { scrollbar-gutter: stable; scrollbar-color: var(--muted) var(--paper-2); scrollbar-width: thin; }
::selection { background: var(--yellow); color: var(--ink); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid var(--info); outline-offset:3px; }
button:disabled { cursor:not-allowed; opacity:.5; }
.cart-page { width:100%; padding-top:28px; padding-bottom:60px; }
.cart-heading { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin:24px 0; }
.cart-heading h1 { font-size:38px; margin:0; }
.cart-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr); align-items:start; gap:28px; }
.cart-products { overflow:hidden; }
.cart-row { display:grid; grid-template-columns:84px minmax(0,1fr) auto; gap:18px; padding:22px; align-items:center; }
.cart-row+.cart-row { border-top:1px solid var(--line); }
.cart-image { width:84px; height:84px; border-radius:var(--r-sm); background:var(--card); }
.cart-image img { width:100%; height:100%; object-fit:contain; }
.cart-item-info { display:flex; flex-direction:column; gap:6px; min-width:0; overflow-wrap:anywhere; }
.cart-item-name { font-weight:700; line-height:1.4; }
.cart-item-name:hover,.text-link:hover { text-decoration:underline; text-underline-offset:3px; }
.cart-item-controls { display:grid; justify-items:end; gap:10px; }
.cart-stepper { display:flex; border:1px solid var(--line-2); border-radius:var(--r-sm); overflow:hidden; }
.cart-stepper button,.cart-stepper input { width:42px; min-height:44px; border:0; text-align:center; background:var(--card); color:var(--ink); font-size:17px; }
.cart-stepper button:hover:not(:disabled) { background:var(--yellow-tint); }
.cart-stepper input { width:50px; font-size:16px; appearance:textfield; border-inline:1px solid var(--line); }
.cart-stepper input::-webkit-inner-spin-button { appearance:none; }
.cart-line-total { font-size:20px; font-variant-numeric:tabular-nums; }
.cart-remove { color:var(--danger); background:none; border:0; padding:6px 10px; min-height:36px; text-decoration:underline; text-underline-offset:3px; }
.cart-summary { position:sticky; top:106px; padding:24px; }
.cart-summary h2,.checkout-form h2 { margin:0 0 16px; font-size:26px; }
.cart-totals { margin:24px 0 16px; }
.cart-totals>div { display:flex; justify-content:space-between; gap:16px; margin:14px 0; }
.cart-totals dd { margin:0; text-align:right; font-weight:600; font-variant-numeric:tabular-nums; }
.cart-total { padding-top:20px; border-top:1px solid var(--line); align-items:baseline; }
.cart-total dd { font-family:var(--font-display); font-size:34px; }
#row-ahorro { color:#17623f; }
.cart-verification { min-height:52px; font-size:13px; color:#5b5751; margin:20px 0 10px; line-height:1.5; }
.cart-verification button { display:block; margin-top:6px; }
.checkout-help { line-height:1.5; text-align:center; }
.cart-page .muted { color:#68625b; }
.checkout-form { margin-top:28px; padding:24px; }
.checkout-form>p { margin:0 0 24px; line-height:1.5; }
.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.checkout-form .field { margin-bottom:18px; }
.checkout-form .input,.checkout-form .textarea { width:100%; font-size:16px; min-height:46px; }
.checkout-form .textarea { min-height:94px; resize:none; }
.checkout-form .checkout-contact-title { margin-top:32px; }
.delivery-options { padding:0; margin:0 0 24px; border:0; display:grid; gap:10px; }
.delivery-options legend { margin-bottom:12px; font-weight:600; }
.delivery-option { display:flex; align-items:center; gap:12px; padding:16px; border:1px solid var(--line-2); border-radius:var(--r-sm); cursor:pointer; }
.delivery-option:has(input:checked) { border-color:var(--yellow-600); background:var(--yellow-tint); }
.delivery-option input { accent-color:var(--ink); width:18px; height:18px; }
.delivery-option span { flex:1; }
.delivery-option small { display:block; margin-top:6px; line-height:1.45; color:#68625b; }
.shipping-status { padding:14px; background:var(--paper); border-radius:var(--r-sm); font-size:14px; line-height:1.6; margin:0 0 12px; }
.text-link { border:0; background:none; padding:0; color:var(--ink); text-decoration:underline; text-underline-offset:3px; font-size:14px; }
.field-error { color:#aa1630; font-size:14px; line-height:1.5; display:block; margin:8px 0 0; }
[aria-invalid=true] { border-color:var(--danger)!important; }
.cart-message { background:var(--yellow-tint); border:1px solid var(--yellow-300); padding:16px; border-radius:var(--r-sm); line-height:1.5; }
.cart-message.error { background:var(--danger-tint); border-color:var(--danger); color:#891027; }
.cart-empty { min-height:340px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:16px; text-align:center; }
.cart-empty h2 { font-size:30px; margin:0; }.cart-empty p { margin:0 0 8px; }
.cart-notice { position:fixed; bottom:24px; left:24px; z-index:80; width:min(520px,calc(100vw - 48px)); background:var(--ink); color:var(--card); border-radius:var(--r); padding:16px; box-shadow:var(--shadow-lg); display:flex; flex-wrap:wrap; align-items:center; gap:12px; line-height:1.5; }
.cart-notice.is-error { background:#8c1930; }
.cart-notice p { margin:0; flex:1 1 200px; }
.cart-notice a,.cart-notice button { color:inherit; background:none; border:0; font-size:14px; padding:8px; text-decoration:underline; }
.cart-notice .notice-close { padding:6px; min-width:36px; min-height:36px; text-decoration:none; }
.site-search input { padding-right:80px!important; min-height:44px; font-size:16px; }
.site-search .search-actions { display:flex; position:absolute; right:4px; align-items:center; }
.site-search button { color:white; border:0; background:none; min-height:40px; min-width:36px; display:grid; place-items:center; }
.national-shipping { font-size:12px; color:#d4d0c9; }
.product-cart-link { text-align:center; display:block; padding:10px; text-decoration:underline; }
@media(max-width:900px){.cart-grid{grid-template-columns:1fr}.cart-summary{position:static}.cart-heading h1{font-size:34px}}
@media(max-width:540px){.cart-page{padding-inline:16px}.cart-row{grid-template-columns:62px minmax(0,1fr);gap:12px;padding:16px}.cart-image{width:62px;height:62px}.cart-item-controls{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px}.cart-item-name{font-size:15px}.checkout-fields{grid-template-columns:1fr;gap:0}.checkout-form,.cart-summary{padding:20px}.cart-notice{bottom:12px;left:12px;width:calc(100vw - 24px)}.national-shipping{display:none}.cart-line-total{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
