/* Carrito: conservar contenido de productos y campos de Elementor/Gravity Forms. */
.elementor-menu-cart__main { --memora-wine: #781b1b; padding: 0 20px 24px !important; }
.elementor-menu-cart__main .memora-cart-heading { flex-shrink: 0; margin: 0 -20px 24px; padding: 24px 54px 20px 20px; background: #f6f4f1; color: var(--memora-wine); font-size: 24px; font-weight: 500; line-height: 1.35; }
.elementor-menu-cart__main .elementor-menu-cart__close-button { position: absolute; top: 29px; right: 20px; margin: 0; }
.elementor-menu-cart__main .memora-cart-preview { flex-shrink: 0; margin: 20px 0 16px; text-align: center; color: #333; font-size: 12px; line-height: 1.5; font-weight: 400; }
.elementor-menu-cart__main .elementor-menu-cart__subtotal { margin-bottom: 0; padding-bottom: 4px; }
.elementor-menu-cart__main .memora-cart-delivery { flex-shrink: 0; margin: 0 0 20px; text-align: right; color: #929292; font-size: 10px; font-weight: 400; line-height: 1.5; }
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons { display: flex; flex-direction: column; gap: 14px; }
.elementor-menu-cart__main .elementor-button--view-cart { display: none !important; }
.elementor-menu-cart__main .elementor-button--checkout,
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.checkout { display: block; width: 100%; padding: 15px 10px !important; background: var(--memora-wine) !important; color: #fff !important; border: 0 !important; border-radius: 7px !important; font-family: inherit; font-size: 12px !important; font-weight: 500; letter-spacing: 1.1px; text-transform: uppercase; text-align: center; line-height: 1.4; }
.elementor-menu-cart__main .memora-cart-continue { align-self: center; padding: 0; border: 0; border-radius: 0; color: #777; background: transparent; font-family: inherit; font-size: 13px; font-weight: 400; line-height: 1.5; text-decoration: underline; cursor: pointer; }
.memora-order-busy { opacity: .6; cursor: wait !important; }
.memora-order-error { grid-column: 1 / -1; flex-basis: 100%; margin: 12px 0 0; color: #a32929; font-size: 14px; line-height: 1.5; }
/* Confirmación: diseño aportado por la usuaria. Hereda la tipografía del sitio. */
.memora-order-dialog { box-sizing: border-box; position: fixed; inset: 0; margin: auto; width: min(570px, calc(100vw - 28px)); max-height: calc(100dvh - 40px); overflow: auto; border: 7px solid #f4f4f4; border-radius: 0; padding: 32px 36px 26px; background: #fff; color: #4b4b4b; text-align: center; box-shadow: 0 20px 70px #0002; font-family: inherit; }
.memora-order-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.memora-order-dialog .memora-order-close { position: absolute; top: 8px; right: 9px; border: 0; padding: 0 5px; background: transparent; color: #999; font-size: 29px; font-weight: 300; line-height: 1; cursor: pointer; }
.memora-order-check { display: grid; place-items: center; width: 46px; height: 46px; margin: 0 auto 24px; border-radius: 50%; background: #b8cfa4; color: #fff; }
.memora-order-check svg { width: 32px; height: 32px; }
.memora-order-dialog h2 { margin: 0 0 12px; color: #494949; font-family: inherit; font-size: 26px; font-weight: 500; line-height: 1.3; overflow-wrap: anywhere; }
.memora-order-dialog #memora-order-description { margin: 0 auto; max-width: 465px; color: #505050; font-size: 15px; font-weight: 300; line-height: 1.5; }
.memora-order-dialog strong { font-weight: 600; }
.memora-order-dialog .memora-order-contact { margin: 24px 0 0; color: #666; font-size: 12px; font-weight: 300; line-height: 1.6; }
.memora-order-contact a { display: inline-flex; align-items: center; gap: 4px; color: inherit; white-space: nowrap; text-decoration: none; }
.memora-order-contact a span { text-decoration: underline; text-underline-offset: 2px; }
.memora-order-contact svg { width: 13px; height: 13px; color: #b8cfa4; }
.memora-order-dialog :focus-visible, .memora-cart-continue:focus-visible { outline: 2px solid #781b1b; outline-offset: 4px; }
@media (max-width: 480px) {
  .memora-order-dialog { padding: 28px 20px 24px; }
  .memora-order-dialog h2 { font-size: 23px; }
  .memora-order-dialog #memora-order-description { font-size: 14px; }
}
