.cart-order-retry[hidden]{display:none}
.cart-head{position:sticky;top:0;z-index:5;flex:0 0 auto;margin:0 -27px 0;padding:27px 27px 20px;background:var(--paper)}.cart-head #close-cart{flex:0 0 auto;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;background:var(--paper);color:var(--ink);font-size:28px;line-height:28px}
.order-history-view{position:fixed;inset:76px 0 0;z-index:4;overflow-y:auto;overflow-x:hidden;background:var(--paper);padding:40px clamp(20px,8vw,140px) 72px}.order-history-shell{max-width:1050px;margin:0 auto}.order-history-view .section-heading{margin-bottom:28px}
@media(max-width:700px){.cart-head{top:0;margin:0 -20px 0;padding:20px 20px 16px}.order-history-view{inset:65px 0 calc(58px + env(safe-area-inset-bottom));padding:30px 20px}.order-history-view .section-heading{margin-bottom:20px}}

/* Ajustes de la primera ronda de marca. */
.hero-image{aspect-ratio:1/1.12;position:relative;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;margin:0}
.hero-image img{width:78%;height:78%;object-fit:contain;mix-blend-mode:multiply}
.hero-image figcaption{position:absolute;bottom:24px;font:10px 'DM Mono',monospace;letter-spacing:.12em;color:var(--ink);text-transform:uppercase}
@media(max-width:700px){.hero-image{max-height:390px}.main-nav{justify-content:center;gap:45px}}
.whatsapp-qr{display:flex;align-items:center;gap:14px;margin:26px 0 0}.whatsapp-qr img{width:106px;height:106px;background:#fff;padding:5px}.whatsapp-qr figcaption{max-width:150px;color:#ead8d6;font-size:13px}
@media(max-width:700px){.whatsapp-qr img{width:118px;height:118px}}
.hero{min-height:360px;padding:clamp(28px,4.5vw,65px) clamp(20px,8vw,140px)}
.contact>div:first-child{align-self:center;transform:none}
@media(max-width:700px){.hero{min-height:0;padding:34px 20px 0}.contact>div:first-child{transform:none}}
.bag-button{display:inline-flex;align-items:center;gap:7px}.cart-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bag-button #cart-count{margin-left:0}
.benefits div{background:#f2f3f3}
.product-image.has-image:after,.detail-art.has-image:after{display:none}.product-image img,.detail-art img{display:block;width:100%;height:100%;object-fit:cover}.catalog-state{grid-column:1/-1;padding:28px;border:1px solid var(--line);color:var(--muted)}.catalog-error{border-color:#9a1525;color:#6d1c28}
/* Catálogo compacto: cuatro columnas en escritorio, imágenes cuadradas sin recorte. */
.product-image{aspect-ratio:1}.product-image img{object-fit:contain;background:#fff}
@media(min-width:1000px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}.product-meta{padding:12px 2px}.product-meta h3{font-size:19px;line-height:1.18;margin-bottom:6px}.units{margin:4px 0 12px}}
.product-code{margin:0 0 5px;color:var(--ink);font:500 14px/1.35 'DM Mono',monospace;letter-spacing:.03em}
.detail-code{margin:10px 0 16px;color:var(--ink);font:500 17px/1.35 'DM Mono',monospace;letter-spacing:.02em}
.product-search{min-width:240px;max-width:100%;border:1px solid var(--line);padding:9px 14px;background:transparent;color:var(--ink)}
@media(max-width:700px){.product-search{flex-basis:100%;min-width:0}}
#product-grid .product-image{box-sizing:border-box;width:100%!important;height:auto!important;min-height:0;padding:0;aspect-ratio:1 / 1!important;display:grid;place-items:center;overflow:hidden}
#product-grid .product-image>img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain;object-position:center}

/* La ficha conserva la proporción original; la cuadrícula usa su propia versión cuadrada. */
.detail-art.has-image{display:flex;min-height:0;aspect-ratio:1 / 1;background:#fff}
.detail-art.has-image img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center}
@media(min-width:701px){.product-dialog #product-detail{align-items:stretch}.detail-art.has-image{height:auto;aspect-ratio:auto;align-self:stretch}}
.account-button{font-size:16px}
.catalog-load-more{display:flex;justify-content:center;margin:42px 0 0}.catalog-load-more .button{border:1px solid var(--ink);background:transparent;color:var(--ink)}
@media(max-width:700px){.account-button{font:500 11px 'DM Mono',monospace;letter-spacing:.03em}.catalog-load-more{margin-top:30px}}
/* Contacto: datos directos y mapa con la misma jerarquía visual. */
@media(min-width:701px){.main-nav .account-button{font:inherit;line-height:normal;padding:0 0 2px}.contact{grid-template-columns:minmax(250px,.72fr) minmax(0,1.5fr);gap:34px}.contact-details{display:grid;grid-template-columns:minmax(265px,.9fr) minmax(280px,1.1fr);gap:28px;align-items:start}.contact-map{margin:0;min-height:310px;background:#fff;align-self:center;transform:translateY(16px)}.contact-map iframe{display:block;width:100%;height:310px;border:0}.contact .contact-whatsapp-hint{margin:5px 0 18px;font-size:12px;line-height:1.4;color:#ead8d6}.contact .whatsapp-qr{margin-top:18px}}
@media(max-width:700px){.contact-details{display:grid;gap:26px}.contact-map{margin:0}.contact-map iframe{display:block;width:100%;height:280px;border:0}.contact .contact-whatsapp-hint{margin:5px 0 18px;font-size:12px;line-height:1.4;color:#ead8d6}}
.delivery-methods{border:0;border-top:1px solid var(--line);margin:15px 0 0;padding:15px 0 0}.delivery-methods legend{padding:0;margin:0 0 10px;font:500 12px 'DM Mono',monospace;letter-spacing:.04em;color:var(--ink)}.delivery-option{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);padding:10px;margin:7px 0;background:transparent;cursor:pointer}.delivery-option.is-selected{border-color:#6d2030;background:#f2e9e8}.delivery-option input{margin:3px 0 0;accent-color:#6d2030}.delivery-option span{display:grid;gap:2px}.delivery-option b{font-size:14px}.delivery-option small{color:var(--muted);font-size:12px}.shipping-note.is-blocking{color:#8f1626;font-weight:600}.shipping-note.is-ready{color:#2d6848}
@media(max-width:700px){.delivery-option{padding:11px}.delivery-methods legend{font-size:11px}}

/* Solo móvil: la cabecera conserva la identidad y los accesos de sesión sin alterar el diseño de escritorio. */
@media(max-width:700px){
  .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 12px;backdrop-filter:none}
  .brand{display:inline-flex;min-width:0;font-size:12px;gap:6px}
  .brand-name{display:inline}
  .brand img{width:30px;height:30px;flex:0 0 auto}
  .header-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:6px}
  .header-actions #customer-nav-entry{display:flex;align-items:center;flex:0 0 auto;gap:12px}
  .account-button{display:inline-flex;align-items:center;white-space:nowrap}
  .account-signout-icon{display:inline-flex;flex:0 0 auto;padding:6px 3px}
  .benefits{margin-top:28px;background:var(--paper)}
  .benefits div{min-height:108px;padding:18px 10px;background:var(--paper);align-items:center;justify-content:center;text-align:center}
}

@media(max-width:420px){
  .site-header{gap:5px;padding:0 9px}
  .brand{font-size:11px;letter-spacing:.05em}
  .brand img{width:28px;height:28px}
  .bag-button{padding:7px 8px}
  .bag-button .cart-label{display:none}
  .header-actions #customer-nav-entry{gap:10px}
}

/* Pulido del catálogo y controles públicos. */
.catalog-filter-utilities{margin-left:0;order:1}.category-levels{order:2}.catalog-load-more[hidden],.back-to-top[hidden],.cart-toast[hidden],.detail-cart-toast[hidden]{display:none}
.catalog-filter-utilities .clear-filter{min-height:38px;padding:8px 12px;border:1px solid #cdbfba;background:#fffaf6;color:#6d2030;font-size:13px;font-weight:600;text-decoration:none}
.product-grid{align-items:start}.product-card{align-self:start}.product-card .special-price{margin:4px 0}.product-card .offer-badge{margin-bottom:2px}.product-card .product-meta{min-width:0}
.card-offer-badge{position:absolute;top:8px;left:8px;z-index:3;display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;background:var(--brand-red);color:#fff;font:600 10px 'DM Mono',monospace;letter-spacing:.06em;line-height:1;white-space:nowrap}.product-card .special-price .offer-badge{display:none}
.floating-cart{position:fixed;right:24px;bottom:86px;z-index:8;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--brand-red);box-shadow:0 5px 16px #2e222633;font:600 12px/1 'DM Mono',monospace}.floating-cart:not(.floating-cart--detail){display:none}.floating-cart:hover{background:var(--ink);color:#fff}.floating-cart--detail{position:fixed;right:24px;bottom:24px;top:auto;z-index:6}.floating-cart--detail .cart-icon{width:16px;height:16px}
.back-to-top{position:fixed;right:24px;bottom:28px;z-index:8;width:42px;height:42px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font:600 22px/1 'DM Sans',sans-serif;box-shadow:0 5px 16px #2e222633}.back-to-top:hover,.back-to-top:focus-visible{background:var(--ink);color:#fff;outline:none}
.cart-toast{position:fixed;top:50%;left:50%;z-index:20;padding:11px 15px;border:1px solid var(--line);background:#fff;color:var(--ink);font:500 12px 'DM Mono',monospace;letter-spacing:.02em;box-shadow:0 8px 20px #2e222633;transform:translate(-50%,-50%)}#product-detail{position:relative}.detail-cart-toast{position:absolute;top:50%;left:50%;z-index:5;max-width:calc(100% - 36px);padding:12px 16px;background:#e7e4e1;color:var(--ink);font:500 12px 'DM Mono',monospace;letter-spacing:.02em;text-align:center;white-space:nowrap;pointer-events:none;box-shadow:0 8px 20px #2e222633;transform:translate(-50%,-50%)}
.product-dialog{max-height:90dvh;overflow:auto}.product-dialog .close{position:sticky;top:12px;float:right;right:auto;margin:12px 14px -44px 0;z-index:4;background:var(--paper);border:1px solid var(--line);border-radius:50%;width:34px;height:34px;line-height:28px}.quantity input[data-quantity-input]{width:42px;min-height:32px;border:1px solid var(--line);background:#fff;text-align:center;font:600 13px 'DM Mono',monospace}.quantity input[data-quantity-input]::-webkit-inner-spin-button,.quantity input[data-quantity-input]::-webkit-outer-spin-button{margin:0}.customer-signout-button{display:block;margin:18px auto 0}
.account-dialog{max-height:90dvh;overflow:auto}.account-dialog>.close{position:sticky;top:12px;float:right;right:auto;margin:12px 14px -44px 0;z-index:4;background:var(--paper);border:1px solid var(--line);border-radius:50%;width:34px;height:34px;line-height:28px}
.close{-webkit-tap-highlight-color:transparent;appearance:none;box-shadow:none}.close:focus{outline:none;box-shadow:none}.close:focus-visible{outline:none;box-shadow:none}
@media(max-width:700px){.catalog-filter-utilities .clear-filter{min-height:40px;font-size:14px}.back-to-top{right:16px;bottom:72px}.floating-cart{right:16px;bottom:calc(126px + env(safe-area-inset-bottom));z-index:8}.floating-cart--detail{top:60px;right:14px;bottom:auto}.cart-toast{top:78px;left:16px;right:16px;text-align:center;transform:none}.detail-cart-toast{width:calc(100% - 36px);white-space:normal}.bag-button .cart-icon{stroke:var(--brand-red)}.product-dialog{width:min(100% - 18px,900px);max-height:94dvh}.product-dialog .close,.account-dialog>.close{top:9px;margin:9px 10px -43px 0}.account-dialog{max-height:94dvh}.quantity input[data-quantity-input]{width:38px}.cart-head{position:sticky;top:-20px;z-index:4;margin:0 -20px;padding:20px;background:var(--paper)}.cart-head #close-cart{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:#3f3a3b;font-size:28px;line-height:28px}}
@media(max-width:700px){.catalog-filter-utilities .clear-filter{min-height:40px;font-size:14px}.back-to-top{right:16px;bottom:72px}.floating-cart{right:16px;bottom:calc(126px + env(safe-area-inset-bottom));z-index:8}.floating-cart--detail{right:14px;bottom:84px;top:auto}.cart-toast{top:50%;left:16px;right:16px;text-align:center;transform:translateY(-50%)}.detail-cart-toast{width:calc(100% - 36px);white-space:normal}.bag-button .cart-icon{stroke:var(--brand-red)}.product-dialog{width:min(100% - 18px,900px);max-height:94dvh}.product-dialog .close,.account-dialog>.close{top:9px;margin:9px 10px -43px 0}.account-dialog{max-height:94dvh}.quantity input[data-quantity-input]{width:38px}.cart-head{position:sticky;top:-20px;z-index:4;margin:0 -20px;padding:20px;background:var(--paper)}.cart-head #close-cart{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:#3f3a3b;font-size:28px;line-height:28px}}

/* El panel y la lista de paquetes pueden desplazarse de forma independiente. */
.cart{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.cart-items{position:relative;z-index:0;min-width:0;contain:paint;flex:1 1 0;min-height:320px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:4px}.cart-summary,.cart>.whatsapp,.cart>.fine-print{flex:0 0 auto}.cart-item-copy del{color:var(--muted);font-size:12px}.cart-item-copy strong{color:var(--brand-red)}
.cart-item .product-category{display:none}.cart-item h3{font-size:16px;line-height:1.25}
.cart-item.is-unavailable{opacity:.72}.cart-item-unavailable{color:#9a1525!important;font-weight:700}
.cart-coupon{flex:0 0 auto;padding:12px 0;border-top:1px solid var(--line)}.cart-coupon p{margin:0;color:var(--muted);font-size:13px}.cart-coupon.is-applied p{color:#15703a}.cart-coupon .text-link{font-size:13px;margin-left:6px;background:transparent;border-left:0;border-right:0;border-top:0}.cart-coupon-toggle{padding:2px 0;background:transparent;border-left:0;border-right:0;border-top:0;font-size:13px}.cart-coupon-form{display:grid;gap:7px;margin-top:9px}.cart-coupon-form label{font-size:12px;color:var(--muted)}.cart-coupon-form>div{display:flex;gap:8px;min-width:0}.cart-coupon-form input{min-width:0;flex:1;padding:9px 10px;border:1px solid var(--line);background:#fff;text-transform:uppercase}.cart-coupon-form .button{padding:9px 12px;white-space:nowrap}.cart-coupon-message{min-height:18px}.cart-coupon-message.is-error{color:#8f1626}
@media(max-width:700px){.tabs button{color:var(--ink)}.tabs button.active{color:var(--brand-red)}.cart-items{min-height:300px}}
@media(max-width:700px){.cart-coupon-form>div{flex-wrap:wrap}.cart-coupon-form input{min-width:100%}.cart-coupon-form .button{width:auto}}
@media(max-width:700px){.cart-item h3{font-size:15px}}
@media(max-width:700px){body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.main-nav{height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top-color:#cfc4bc;box-shadow:0 -6px 18px #2e222614}.main-nav a{color:#4f4446;font-weight:600}}

.store-address-callout{display:flex;justify-content:center;padding:17px clamp(20px,8vw,140px);border-bottom:1px solid var(--line);background:var(--paper)}.store-address-callout a{color:var(--ink);font:500 15px 'DM Sans',sans-serif;text-decoration:none;border-bottom:1px solid #b9aaa5;padding-bottom:2px}.store-address-callout a:hover,.store-address-callout a:focus-visible{color:#6d2030;border-bottom-color:currentColor}
/* Mobile Safari avoids focus zoom when text-entry controls are at least 16px. */
@media(max-width:700px){input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select{font-size:16px}.store-address-callout{padding:13px 20px}.store-address-callout a{font-size:14px}}

.hero-image figcaption{bottom:34px}.hero-address{position:absolute;bottom:10px;left:50%;z-index:1;max-width:calc(100% - 28px);color:var(--ink);font:500 12px 'DM Sans',sans-serif;text-align:center;text-decoration:none;white-space:nowrap;transform:translateX(-50%)}.hero-address:hover,.hero-address:focus-visible{color:#6d2030;text-decoration:underline;text-underline-offset:3px}.hero-copy .purchase-steps{display:flex;align-items:center;gap:9px;margin:0 0 25px;color:var(--muted);font:500 12px 'DM Sans',sans-serif}.hero-copy .purchase-steps span{display:flex;align-items:center;gap:5px;white-space:nowrap}.purchase-step-number{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--ink);border-radius:50%;color:var(--ink);font:500 10px 'DM Mono',monospace;font-style:normal}.purchase-step-icon{font-size:13px;font-style:normal;line-height:1}.purchase-step-arrow{color:var(--muted);font-style:normal}.customer-auth-form .turnstile-wrap + .captcha-notice,.customer-auth-form .customer-auth-message{margin:0}.customer-auth-form .button{margin-top:-4px}.customer-auth-form + .customer-signout-button{margin-top:10px}
.order-history{padding:80px clamp(20px,8vw,140px);background:#f2f3f3}.order-history-list{display:grid;gap:12px;max-width:860px}.order-history-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px;border:1px solid var(--line);background:var(--paper)}.order-history-card h3,.order-detail h2{font:500 27px 'Playfair Display';margin:0 0 5px}.order-history-card p{margin:4px 0;color:var(--muted);font-size:14px}.order-history-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.order-history-actions .button{padding:10px 12px;border:1px solid var(--ink);background:transparent;color:var(--ink)}.order-history-actions .detail{color:#9a1525;font-size:13px}.order-dialog{width:min(760px,94vw);max-height:90dvh;border:0;padding:0;background:var(--paper);overflow:auto}.order-dialog::backdrop{background:#2d171c99}.order-dialog>.close{position:sticky;float:right;top:12px;z-index:2;margin:12px 14px -45px 0;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;background:var(--paper);color:var(--ink)}.order-detail{padding:48px}.order-detail-meta{margin:0 0 24px;color:var(--muted)}.order-detail-items{display:grid;gap:14px}.order-detail-item{display:grid;grid-template-columns:106px 1fr;gap:15px;padding:14px 0;border-top:1px solid var(--line)}.order-detail-image{width:106px;height:128px;display:grid;place-items:center;overflow:hidden;background:var(--sand);color:var(--muted);font:10px 'DM Mono';text-align:center}.order-detail-image img{width:100%;height:100%;object-fit:cover}.order-detail-item h3{margin:0;font:500 20px 'Playfair Display'}.order-detail-item p{margin:3px 0;font-size:13px;color:var(--muted)}.order-detail-summary{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.order-detail-summary>p{display:flex;justify-content:space-between;gap:18px;margin:6px 0;color:var(--muted);font-size:14px}.order-detail-summary>p b{color:var(--ink)}.order-detail-total{display:flex;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:21px}.order-detail #order-detail-message:empty{display:none}.order-detail-actions{display:flex;justify-content:flex-end;margin-top:10px}.cart-order-message{min-height:0;margin:9px 0 0;color:var(--muted);font-size:12px}.cart-order-message.is-error{color:#8f1626}.cart-order-retry{display:block;margin:8px 0 0;padding:0;border:0;background:transparent;color:#6d2030;font-size:12px}
.order-history-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:860px;margin-top:20px;color:var(--muted);font:500 11px 'DM Mono',monospace;letter-spacing:.03em}.order-history-pagination div{display:flex;gap:8px;flex-wrap:wrap}.order-history-pagination button{border:1px solid var(--line);background:transparent;padding:8px 11px;color:var(--ink);font:inherit}.order-history-pagination button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.hero-address{bottom:9px;font-size:11px}.hero-copy .purchase-steps{gap:7px;margin-bottom:22px;font-size:11px}.purchase-step-number{width:17px;height:17px;font-size:9px}.customer-auth-form .button{margin-top:-6px}}
@media(max-width:700px){.main-nav{gap:20px}.order-history{padding:56px 20px}.order-history-card{align-items:flex-start;flex-direction:column;gap:14px;padding:16px}.order-history-actions{width:100%;justify-content:space-between}.order-history-pagination{align-items:flex-start;flex-direction:column}.order-history-pagination div{width:100%;justify-content:space-between}.order-history-pagination button{flex:1 1 auto}.order-dialog{width:min(100% - 18px,760px);max-height:94dvh}.order-detail{padding:38px 20px 28px}.order-detail-item{grid-template-columns:78px 1fr;gap:12px}.order-detail-image{width:78px;height:96px}.order-detail h2{font-size:30px}.order-detail-item h3{font-size:18px}.order-detail-actions{justify-content:flex-end}}

.customer-password-control{margin-top:14px;max-width:100%}.customer-password-toggle{padding:0;border:0;background:transparent;color:#6d2030;font-size:13px;text-decoration:underline;text-underline-offset:3px}.customer-password-form{margin-top:18px;padding-top:20px;border-top:1px solid var(--line);max-width:100%}.customer-password-form h3{margin:0 0 12px;font:500 23px 'Playfair Display';color:var(--ink)}
@media(max-width:700px){.cart-head{top:0;z-index:5;flex:0 0 auto;margin:0 -20px 0;padding:20px 20px 16px}}

/* Capa modal del pedido: supera cabeceras y controles fijos, sin tocar sus dos zonas de scroll. */
.overlay{z-index:40;isolation:isolate}.cart{z-index:41;isolation:isolate}.cart-toast{z-index:42}

/* Historial usa el desplazamiento del documento; conserva su vista independiente sin un segundo scrollbar. */
body.history-open main>section:not(#historial){display:none}.order-history-view{position:static;z-index:auto;overflow:visible;padding:40px clamp(20px,8vw,140px) 72px}.order-history-view[hidden]{display:none}
@media(max-width:700px){body.history-open{overflow:hidden}.order-history-view{position:fixed;inset:65px 0 calc(58px + env(safe-area-inset-bottom));z-index:4;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;padding:30px 20px calc(72px + env(safe-area-inset-bottom))}}

/* Los enlaces secundarios comparten el tratamiento ligero del sitio. */
.customer-auth .text-link,.cart-coupon .text-link,.cart-order-retry,.order-history-pagination .detail{justify-self:start;color:#6d2030;font:500 12px 'DM Sans',sans-serif;text-decoration:none;border:0;border-bottom:1px solid currentColor;padding:0 0 2px;background:transparent}.customer-auth .text-link{border-bottom:0;padding:0}.password-recovery-link{justify-self:end;margin-top:-7px;font-size:12px}.customer-auth .password-recovery-return{justify-self:center;margin-top:2px}.recovery-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:2px}.recovery-actions .text-link{font-size:12px}.customer-password-form[hidden]{display:none!important}.account-dialog>.close{margin-right:20px}

/* El ingreso queda próximo al CAPTCHA, sin eliminar la línea reservada para errores. */
#customer-login-form{row-gap:8px}#customer-login-form .customer-auth-message{min-height:16px;line-height:1.25}#customer-login-submit{margin-top:-5px}
#customer-login-form .password-recovery-link{justify-self:end;margin-top:-6px;margin-bottom:-1px}#customer-register-submit{margin-top:-8px}

/* Fallback no bloqueante cuando el navegador impide abrir WhatsApp. */
.cart-order-fallback{margin-top:10px;padding:11px 12px;border:1px solid var(--line);background:#fff}.cart-order-fallback[hidden]{display:none}.cart-order-fallback p{margin:0 0 7px;color:var(--muted);font-size:12px}.cart-order-fallback pre{max-width:100%;max-height:210px;overflow:auto;margin:0 0 9px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font:500 11px/1.45 'DM Mono',monospace}.cart-order-fallback .text-link{font-size:12px}
@media(max-width:700px){.password-recovery-link{margin-top:-4px}.recovery-actions{gap:12px}.account-dialog>.close{margin-right:16px}.cart-order-fallback{padding:10px}.cart-order-fallback pre{max-height:180px;font-size:10px}}

@media(max-width:700px){/* compact-cart-controls */
  .catalog-filter-utilities .clear-filter{min-height:36px;padding:6px 9px;font-size:13px}
  .cart-coupon-form>div{display:flex;flex-wrap:nowrap;align-items:stretch}
  .cart-coupon-form input{min-width:0;flex:1 1 0}
  .cart-coupon-form .button{margin-left:auto;background:#f2e9e8;color:#6d2030;border-color:#cdbfba}
}

/* Cart regions remain in normal flow. The package viewport alone clips and scrolls its children. */
.cart{padding:0;display:grid;grid-template-rows:auto minmax(320px,1fr) auto;align-content:start}.cart-head{position:sticky;top:0;z-index:1;flex:0 0 auto;margin:0;padding:27px 27px 20px;background:var(--paper)}.cart-items{min-width:0;min-height:320px;margin:0 27px;overflow-y:auto;overflow-x:hidden;contain:paint;overscroll-behavior:contain}.cart-footer{min-width:0;display:grid;gap:10px;padding:0 27px 27px;background:var(--paper)}.cart-footer .cart-summary,.cart-footer>.whatsapp,.cart-footer>.fine-print,.cart-footer>.cart-order-message,.cart-footer>.cart-order-retry,.cart-footer>.cart-order-fallback{margin:0;min-width:0}.cart-footer .cart-order-fallback{display:grid;gap:9px}.cart-footer .cart-order-fallback p,.cart-footer .cart-order-fallback pre{margin:0}.cart-footer .cart-order-retry{justify-self:start}
.customer-profile-actions{display:grid;grid-template-columns:minmax(0,360px);justify-content:center;justify-items:center;gap:9px;width:100%;max-width:100%}.customer-profile-actions>.customer-password-toggle{justify-self:center}.customer-profile-actions>.button-dark{width:100%;min-width:220px}.customer-profile-actions>.customer-signout-button{margin:0;padding:0;border:0;background:transparent;color:#6d2030;font:500 12px 'DM Sans',sans-serif;letter-spacing:0;text-transform:none}.customer-password-control{display:grid;justify-items:start;gap:0;clear:both;width:100%;margin:22px 0 0;max-width:100%}.customer-password-toggle{display:block}.customer-password-form{width:100%;max-width:100%}
@media(max-width:700px){.cart{grid-template-rows:auto minmax(300px,1fr) auto}.cart-head{margin:0;padding:20px 20px 16px}.cart-items{min-height:300px;margin:0 20px}.cart-footer{padding:0 20px calc(20px + env(safe-area-inset-bottom))}}
@media(max-width:700px){.customer-profile-actions{grid-template-columns:minmax(0,100%)}}

/* Recuperación: el botón sigue al CAPTCHA cuando no hay mensajes pendientes. */
#customer-password-recovery-form{row-gap:8px}#customer-password-recovery-form .captcha-notice:empty,#customer-password-recovery-form .customer-auth-message:empty{display:none}#customer-password-recovery-submit{margin-top:0}
@media(max-width:700px){#customer-password-recovery-submit{margin-top:0}}

/* El reintento precede al aviso y ambos permanecen en el flujo del footer. */
.cart-footer .cart-order-retry{justify-self:center}.cart-footer .cart-order-message{text-align:left}

/* Confirmación posterior al regreso de WhatsApp; no interviene en los scrolls del carrito. */
.whatsapp-order-confirm-dialog{width:min(100% - 32px,480px);border:0;padding:0;background:var(--paper);color:var(--ink)}.whatsapp-order-confirm-dialog::backdrop{background:#2d171c99}.whatsapp-order-confirm-dialog section{display:grid;gap:18px;padding:30px}.whatsapp-order-confirm-dialog h2{font-size:30px}.whatsapp-order-confirm-dialog p{margin:0;color:var(--muted)}.whatsapp-order-confirm-dialog section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}.whatsapp-order-confirm-dialog .button,.whatsapp-order-confirm-dialog .text-link{width:100%;min-height:46px;text-align:center}.whatsapp-order-confirm-dialog .text-link{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);background:#fff;color:#6d2030;font-size:13px;text-decoration:none}@media(max-width:700px){.whatsapp-order-confirm-dialog{width:min(100% - 24px,480px)}.whatsapp-order-confirm-dialog section{padding:24px 20px}.whatsapp-order-confirm-dialog h2{font-size:27px}}

.repeat-order-confirm-dialog{width:min(100% - 32px,420px);border:0;padding:0;background:var(--paper);color:var(--ink)}.repeat-order-confirm-dialog::backdrop{background:#2d171c99}.repeat-order-confirm-dialog section{display:grid;gap:18px;padding:30px}.repeat-order-confirm-dialog h2{font-size:30px}.repeat-order-confirm-dialog p{margin:0;color:var(--muted)}.repeat-order-confirm-dialog section>div{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.repeat-order-confirm-dialog .button,.repeat-order-confirm-dialog .text-link{min-height:42px;text-align:center}.repeat-order-confirm-dialog .text-link{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);background:#fff;color:#6d2030;font-size:13px;text-decoration:none}@media(max-width:700px){.repeat-order-confirm-dialog{width:min(100% - 24px,420px)}.repeat-order-confirm-dialog section{padding:24px 20px}.repeat-order-confirm-dialog h2{font-size:27px}.repeat-order-confirm-dialog section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.repeat-order-confirm-dialog .button,.repeat-order-confirm-dialog .text-link{width:100%;padding-inline:8px}}
.repeat-order-confirm-dialog .text-link{-webkit-tap-highlight-color:transparent}.repeat-order-confirm-dialog .text-link:focus:not(:focus-visible){outline:none;box-shadow:none}.repeat-order-confirm-dialog .text-link:focus-visible{outline:2px solid var(--brand-red);outline-offset:2px}

/* Aviso único cuando Administración aprueba la cuenta del cliente. */
.approval-notice-dialog{width:min(100% - 32px,440px);border:0;padding:0;background:var(--paper);color:var(--ink)}.approval-notice-dialog::backdrop{background:#2d171c99}.approval-notice-dialog section{display:grid;gap:16px;padding:30px;text-align:center}.approval-notice-dialog h2{margin:0;font:500 30px 'Playfair Display'}.approval-notice-dialog p{margin:0;color:var(--muted)}.approval-notice-dialog .approval-notice-message:empty{display:none}.approval-notice-dialog .approval-notice-message{color:#8f1626;font-size:13px}.approval-notice-dialog .button{justify-self:center;min-width:126px}
@media(max-width:700px){.approval-notice-dialog{width:min(100% - 24px,440px)}.approval-notice-dialog section{padding:24px 20px}.approval-notice-dialog h2{font-size:27px}}

#catalogo{scroll-margin-top:76px}

/* Una sola escala móvil: los módulos públicos parten del mismo ancho útil y gutter. */
@media(max-width:700px){
  :root{--mobile-page-gutter:20px;--mobile-dialog-gutter:12px}
  .hero,.catalog-section,.wholesale,.contact,.store-address-callout{padding-inline:var(--mobile-page-gutter)}
  .hero>*,.catalog-section>*,.wholesale>*,.contact>*,.contact-details,.filters,.product-grid{min-width:0;max-width:100%}
  .detail-copy{padding-inline:var(--mobile-page-gutter)}
  .customer-auth{padding-inline:var(--mobile-page-gutter)}
  .product-dialog,.account-dialog,.order-dialog,.repeat-order-confirm-dialog,.whatsapp-order-confirm-dialog,.approval-notice-dialog{width:calc(100% - (var(--mobile-dialog-gutter) * 2));max-width:900px}
  .cart-items,.cart-footer,.order-history-view{min-width:0}
}
