/* ═══════════════════════════════════════════════
   Matmap Premium Account — Frontend v2.6.1
═══════════════════════════════════════════════ */
:root {
    --mm-navy:        #3a3972;
    --mm-navy-dark:   #2d2c5e;
    --mm-navy-light:  #4f4ea0;
    --mm-gold:        #e69130;
    --mm-gold-light:  #f5a83e;
    --mm-bg:          #f0f2f8;
    --mm-card:        #ffffff;
    --mm-border:      rgba(17,24,39,.08);
    --mm-text:        #111827;
    --mm-muted:       #6b7280;
    --mm-success:     #059669;
    --mm-success-bg:  #d1fae5;
    --mm-danger:      #dc2626;
    --mm-danger-bg:   #fee2e2;
    --mm-warning:     #d97706;
    --mm-warning-bg:  #fef3c7;
    --mm-radius:      16px;
    --mm-radius-sm:   10px;
    --mm-shadow:      0 4px 24px rgba(17,24,39,.08), 0 1px 4px rgba(17,24,39,.04);
    --mm-shadow-lg:   0 12px 40px rgba(17,24,39,.14), 0 4px 12px rgba(17,24,39,.06);
    --mm-shadow-sm:   0 1px 3px rgba(17,24,39,.05);
    --mm-font:        -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --mm-t:           .2s cubic-bezier(.4,0,.2,1);
    --mm-gradient:    linear-gradient(135deg, #2d2c5e 0%, #3a3972 45%, #4f4ea0 100%);
}

/* ── Base ───────────────────────────────────────────────────────── */
.mmpa-account-dashboard,
.mmpa-wishlist-page,
.mmpa-cupones-page,
.mmpa-direcciones-page { font-family: var(--mm-font); color: var(--mm-text); }

/* ══════════════════════════════════════════════════
   DASHBOARD — Hero
══════════════════════════════════════════════════ */
.mmpa-dashboard-welcome {
    display: flex;
    align-items: center;
    gap: 18px;
    background: var(--mm-gradient);
    color: #fff;
    border-radius: var(--mm-radius);
    padding: 28px 32px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
}
.mmpa-dashboard-welcome::before {
    content: '';
    position: absolute;
    right: -60px; top: -60px;
    width: 240px; height: 240px;
    border-radius: 50%;
    background: rgba(255,255,255,.04);
    pointer-events: none;
}
.mmpa-dashboard-welcome::after {
    content: '';
    position: absolute;
    right: 80px; bottom: -80px;
    width: 200px; height: 200px;
    border-radius: 50%;
    background: rgba(255,255,255,.04);
    pointer-events: none;
}
.mmpa-dashboard-avatar {
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}
.mmpa-dashboard-avatar img {
    border-radius: 50%;
    border: 3px solid rgba(255,255,255,.25);
    display: block;
    width: 72px; height: 72px;
    object-fit: cover;
}
.mmpa-dashboard-info {
    flex: 1;
    min-width: 0;
    position: relative;
    z-index: 1;
}
.mmpa-dashboard-info h2 {
    margin: 0 0 4px;
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}
.mmpa-dashboard-email {
    margin: 0;
    opacity: .6;
    font-size: .85rem;
    color: #fff;
}

/* Tier badge */
.mmpa-tier-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 12px;
    padding: 10px 16px;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.mmpa-tier-icon { font-size: 1.5rem; line-height: 1; }
.mmpa-tier-label {
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.9);
}

/* ── Stats ─────────────────────────────────────────────────────── */
.mmpa-stats-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}
.mmpa-stat-box {
    background: var(--mm-card);
    border: 1px solid var(--mm-border);
    border-radius: var(--mm-radius);
    padding: 20px 16px 18px;
    text-align: center;
    box-shadow: var(--mm-shadow-sm);
    transition: box-shadow var(--mm-t), transform var(--mm-t);
    position: relative;
    overflow: hidden;
}
.mmpa-stat-box::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    border-radius: 16px 16px 0 0;
    background: var(--mm-navy);
    opacity: .15;
}
.mmpa-stat-box--orders::before  { background: #6366f1; opacity: .7; }
.mmpa-stat-box--spent::before   { background: var(--mm-gold); opacity: .8; }
.mmpa-stat-box--wishlist::before { background: #dc2626; opacity: .7; }
.mmpa-stat-box:hover { box-shadow: var(--mm-shadow); transform: translateY(-2px); }
.mmpa-stat-icon {
    display: block;
    font-size: 1.3rem;
    line-height: 1;
    margin-bottom: 8px;
    opacity: .7;
}
.mmpa-stat-num {
    display: block;
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--mm-navy);
    line-height: 1.1;
    margin-bottom: 4px;
}
.mmpa-stat-num .woocommerce-Price-amount { font-size: inherit; color: inherit; }
.mmpa-stat-label {
    display: block;
    font-size: .72rem;
    font-weight: 700;
    color: var(--mm-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* ── Loyalty progress ───────────────────────────────────────────── */
.mmpa-tier-progress-wrap {
    background: var(--mm-card);
    border: 1px solid var(--mm-border);
    border-radius: var(--mm-radius);
    padding: 16px 20px;
    margin-bottom: 20px;
    box-shadow: var(--mm-shadow-sm);
}
.mmpa-tier-progress-wrap--top {
    text-align: center;
    font-size: .875rem;
    font-weight: 600;
    color: var(--mm-muted);
    background: linear-gradient(135deg, #f5f3ff, #ede9fe);
    border-color: #c4b5fd;
}
.mmpa-tier-progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: .82rem;
    color: var(--mm-muted);
}
.mmpa-tier-progress-header strong { color: var(--mm-text); }
.mmpa-tier-progress-pct {
    font-weight: 700;
    color: var(--mm-navy);
    font-size: .85rem;
}
.mmpa-tier-progress-bar {
    height: 8px;
    background: #e5e7eb;
    border-radius: 99px;
    overflow: hidden;
}
.mmpa-tier-progress-fill {
    height: 100%;
    border-radius: 99px;
    background: var(--tier-color, var(--mm-gold));
    transition: width .6s cubic-bezier(.4,0,.2,1);
}
.mmpa-tier-progress-hint {
    margin: 6px 0 0;
    font-size: .78rem;
    color: var(--mm-muted);
}

/* ── Recent orders ─────────────────────────────────────────────── */
.mmpa-recent-orders { margin-bottom: 24px; }
.mmpa-recent-orders h3 {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--mm-muted);
    margin: 0 0 10px;
}
.mmpa-orders-list { display: flex; flex-direction: column; gap: 8px; }
.mmpa-order-row {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--mm-card);
    border: 1px solid var(--mm-border);
    border-radius: var(--mm-radius-sm);
    padding: 13px 16px;
    transition: border-color var(--mm-t), box-shadow var(--mm-t);
}
.mmpa-order-row:hover { border-color: rgba(58,57,114,.2); box-shadow: var(--mm-shadow-sm); }
.mmpa-order-meta { flex: 1; min-width: 0; }
.mmpa-order-meta strong { display: block; font-size: .9rem; font-weight: 700; color: var(--mm-navy); }
.mmpa-order-date { font-size: .75rem; color: var(--mm-muted); margin-top: 1px; }
.mmpa-order-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: .7rem;
    font-weight: 700;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.mmpa-order-status--completed,
.mmpa-order-status--processing { background: var(--mm-success-bg); color: var(--mm-success); }
.mmpa-order-status--pending,
.mmpa-order-status--on-hold    { background: var(--mm-warning-bg); color: var(--mm-warning); }
.mmpa-order-status--cancelled,
.mmpa-order-status--refunded   { background: var(--mm-danger-bg); color: var(--mm-danger); }
.mmpa-order-status--failed     { background: #f3f4f6; color: var(--mm-muted); }
.mmpa-order-total { font-weight: 700; font-size: .9rem; white-space: nowrap; }
.mmpa-order-actions { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.mmpa-order-link {
    font-size: .78rem; font-weight: 600; color: var(--mm-navy);
    text-decoration: none; padding: 4px 10px;
    border: 1px solid rgba(58,57,114,.25); border-radius: 6px;
    transition: all var(--mm-t);
}
.mmpa-order-link:hover { background: var(--mm-navy); color: #fff; }
.mmpa-reorder-link {
    font-size: .78rem; font-weight: 600; color: var(--mm-muted);
    text-decoration: none; padding: 4px 10px;
    border: 1px solid var(--mm-border); border-radius: 6px;
    transition: all var(--mm-t);
}
.mmpa-reorder-link:hover { border-color: var(--mm-gold); color: var(--mm-gold); }
.mmpa-link-all {
    display: inline-block; margin-top: 10px;
    font-size: .8rem; color: var(--mm-muted);
    text-decoration: none; font-weight: 500;
    transition: color var(--mm-t);
}
.mmpa-link-all:hover { color: var(--mm-navy); }

/* ── Nav grid ──────────────────────────────────────────────────── */
.mmpa-account-nav-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px;
}
.mmpa-nav-card {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    background: var(--mm-card);
    border: 1px solid var(--mm-border);
    border-radius: var(--mm-radius);
    padding: 20px 10px;
    text-align: center; text-decoration: none;
    color: var(--mm-text);
    font-size: .8rem; font-weight: 600;
    transition: border-color var(--mm-t), box-shadow var(--mm-t), transform var(--mm-t), color var(--mm-t);
    position: relative;
    overflow: hidden;
}
.mmpa-nav-card::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 0;
    background: linear-gradient(135deg, var(--mm-navy), var(--mm-navy-light));
    transition: height var(--mm-t);
    border-radius: 16px 16px 0 0;
}
.mmpa-nav-card:hover {
    border-color: var(--mm-navy);
    box-shadow: 0 6px 20px rgba(58,57,114,.15);
    transform: translateY(-3px);
    color: var(--mm-navy);
}
.mmpa-nav-card:hover::after { height: 3px; }
.mmpa-nav-icon { font-size: 1.6rem; line-height: 1; position: relative; z-index: 1; }
.mmpa-nav-badge {
    position: absolute;
    top: 8px; right: 8px;
    background: var(--mm-danger);
    color: #fff;
    font-size: .62rem;
    font-weight: 800;
    padding: 1px 5px;
    border-radius: 99px;
    min-width: 18px;
    text-align: center;
}

/* ══════════════════════════════════════════════════
   WISHLIST PAGE
══════════════════════════════════════════════════ */
.mmpa-wishlist-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.mmpa-wishlist-page h2,
.mmpa-cupones-page h2 {
    font-size: 1.15rem; font-weight: 800;
    color: var(--mm-navy); margin: 0;
    display: flex; align-items: center; gap: 10px;
}
.mmpa-wishlist-count {
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--mm-danger);
    color: #fff;
    font-size: .7rem; font-weight: 800;
    border-radius: 99px;
    min-width: 22px; height: 22px;
    padding: 0 6px;
}
.mmpa-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}
.mmpa-wishlist-card {
    background: var(--mm-card);
    border: 1px solid var(--mm-border);
    border-radius: var(--mm-radius);
    overflow: hidden;
    box-shadow: var(--mm-shadow-sm);
    display: flex; flex-direction: column;
    transition: box-shadow var(--mm-t), transform var(--mm-t);
}
.mmpa-wishlist-card:hover { box-shadow: var(--mm-shadow); transform: translateY(-3px); }
.mmpa-wishlist-img {
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #f3f4f6;
    position: relative;
}
.mmpa-wishlist-img img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .4s cubic-bezier(.4,0,.2,1);
}
.mmpa-wishlist-card:hover .mmpa-wishlist-img img { transform: scale(1.06); }

/* Stock badges */
.mmpa-stock-badge {
    position: absolute;
    bottom: 8px; left: 8px;
    font-size: .67rem; font-weight: 800;
    padding: 3px 8px; border-radius: 6px;
    letter-spacing: .03em;
    text-transform: uppercase;
    backdrop-filter: blur(4px);
}
.mmpa-stock-badge--out  { background: rgba(220,38,38,.9); color: #fff; }
.mmpa-stock-badge--low  { background: rgba(217,119,6,.9);  color: #fff; }

.mmpa-wishlist-body { padding: 13px; display: flex; flex-direction: column; gap: 7px; flex: 1; }
.mmpa-wishlist-name {
    font-size: .85rem; font-weight: 700;
    color: var(--mm-navy); text-decoration: none; line-height: 1.35;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    transition: color var(--mm-t);
}
.mmpa-wishlist-name:hover { color: var(--mm-navy-light); }
.mmpa-wishlist-price {
    font-size: .95rem; font-weight: 800; color: var(--mm-gold);
}
.mmpa-wishlist-price .woocommerce-Price-amount { color: inherit; }
.mmpa-wishlist-actions { display: flex; flex-direction: column; gap: 6px; margin-top: auto; }
.mmpa-wishlist-remove {
    background: none; border: none;
    font-size: .75rem; color: var(--mm-muted);
    cursor: pointer; padding: 0;
    text-decoration: none; transition: color var(--mm-t);
    text-align: center;
}
.mmpa-wishlist-remove:hover { color: var(--mm-danger); }
.mmpa-out-of-stock {
    display: block; font-size: .78rem; font-weight: 600;
    color: var(--mm-muted); background: #f3f4f6;
    border-radius: 8px; padding: 9px 12px; text-align: center;
}

/* ══════════════════════════════════════════════════
   CUPONES — Ticket design
══════════════════════════════════════════════════ */
.mmpa-cupones-grid {
    display: flex; flex-direction: column; gap: 14px;
}
.mmpa-cupon-ticket {
    display: flex;
    align-items: stretch;
    background: var(--mm-card);
    border-radius: var(--mm-radius);
    box-shadow: var(--mm-shadow);
    overflow: hidden;
    position: relative;
    min-height: 100px;
}
.mmpa-cupon-ticket--active { border: 1.5px solid rgba(230,145,48,.3); }
.mmpa-cupon-ticket--used   { border: 1.5px solid var(--mm-border); opacity: .6; }

.mmpa-cupon-ticket-left {
    background: linear-gradient(135deg, var(--mm-navy), var(--mm-navy-light));
    color: #fff;
    padding: 20px 24px;
    display: flex; flex-direction: column;
    justify-content: center; align-items: center;
    min-width: 130px;
    text-align: center;
    flex-shrink: 0;
}
.mmpa-cupon-ticket--used .mmpa-cupon-ticket-left { background: #9ca3af; }
.mmpa-cupon-discount { display: flex; flex-direction: column; gap: 2px; }
.mmpa-cupon-amount {
    font-size: 1.8rem; font-weight: 900; line-height: 1;
    color: #fff;
}
.mmpa-cupon-amount .woocommerce-Price-amount { color: inherit; font-size: inherit; font-weight: inherit; }
.mmpa-cupon-type { font-size: .7rem; font-weight: 600; opacity: .8; text-transform: uppercase; letter-spacing: .05em; }
.mmpa-cupon-min { font-size: .68rem; opacity: .7; margin: 6px 0 0; }

/* Perforated divider */
.mmpa-cupon-ticket-divider {
    display: flex; align-items: center; flex-shrink: 0;
    position: relative; width: 1px;
}
.mmpa-cupon-ticket-divider::before,
.mmpa-cupon-ticket-divider::after {
    content: '';
    position: absolute;
    width: 18px; height: 18px;
    background: var(--mm-bg);
    border-radius: 50%;
    left: -9px;
    z-index: 2;
}
.mmpa-cupon-ticket-divider::before { top: -9px; }
.mmpa-cupon-ticket-divider::after  { bottom: -9px; }
.mmpa-cupon-ticket-divider span {
    display: block; width: 1px; height: 100%;
    background: repeating-linear-gradient(
        to bottom,
        var(--mm-border) 0px,
        var(--mm-border) 6px,
        transparent 6px,
        transparent 12px
    );
}

.mmpa-cupon-ticket-right {
    flex: 1; padding: 20px 22px;
    display: flex; flex-direction: column; justify-content: center; gap: 8px;
}
.mmpa-cupon-code-box {
    display: flex; align-items: center; gap: 10px;
    background: #f8fafc;
    border: 1.5px dashed rgba(58,57,114,.2);
    border-radius: 8px; padding: 10px 14px;
}
.mmpa-cupon-code-text {
    flex: 1; font-family: 'Courier New', monospace;
    font-size: 1.05rem; font-weight: 800; letter-spacing: .12em;
    color: var(--mm-navy);
}
.mmpa-copy-code {
    flex-shrink: 0; background: none; border: none;
    font-size: 1rem; cursor: pointer;
    padding: 2px 4px; border-radius: 4px;
    transition: transform var(--mm-t);
}
.mmpa-copy-code:hover { transform: scale(1.15); }
.mmpa-cupon-expiry { font-size: .78rem; color: var(--mm-muted); margin: 0; }
.mmpa-cupon-expiry--urgent  { color: var(--mm-warning); font-weight: 700; }
.mmpa-cupon-expiry--expired { color: var(--mm-danger); }
.mmpa-cupon-apply-btn {
    display: inline-block; align-self: flex-start;
    background: var(--mm-gold); color: #fff;
    font-size: .8rem; font-weight: 800; text-decoration: none;
    padding: 7px 14px; border-radius: 8px;
    transition: filter var(--mm-t), transform var(--mm-t);
    letter-spacing: .01em;
}
.mmpa-cupon-apply-btn:hover { filter: brightness(1.08); transform: translateY(-1px); color: #fff; }
.mmpa-cupon-ticket-stamp {
    position: absolute; top: 50%; right: 18px;
    transform: translateY(-50%) rotate(-12deg);
    font-size: .75rem; font-weight: 900; letter-spacing: .12em;
    color: var(--mm-danger); border: 2.5px solid var(--mm-danger);
    border-radius: 6px; padding: 3px 8px; opacity: .4;
    pointer-events: none;
}

/* ══════════════════════════════════════════════════
   WISHLIST BUTTONS — En tienda y ficha de producto
══════════════════════════════════════════════════ */

/* Aseguramos position:relative en los productos del loop WC */
.woocommerce ul.products li.product { position: relative; }

.mmpa-wishlist-btn {
    cursor: pointer;
    font-size: 1rem; line-height: 1;
    padding: 0;
    border-radius: 50%;
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.92);
    border: none;
    color: var(--mm-muted);
    transition: color var(--mm-t), transform var(--mm-t), box-shadow var(--mm-t), background var(--mm-t);
    box-shadow: 0 2px 8px rgba(17,24,39,.12);
    backdrop-filter: saturate(180%) blur(8px);
    -webkit-backdrop-filter: saturate(180%) blur(8px);
}
.mmpa-wishlist-btn:hover {
    color: var(--mm-danger);
    box-shadow: 0 4px 14px rgba(220,38,38,.2);
    transform: scale(1.1);
}
.mmpa-wishlist-btn.mmpa-wishlist-active {
    color: var(--mm-danger);
    background: #fff;
    box-shadow: 0 4px 14px rgba(220,38,38,.18);
}
@keyframes mmpa-heart-pop {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.35); }
    70%  { transform: scale(.9); }
    100% { transform: scale(1); }
}
.mmpa-wishlist-btn.mmpa-heart-anim { animation: mmpa-heart-pop .35s ease; }

/* Loop: floating over image — la regla canónica está en la sección v2.1 abajo */
/* Este bloque es un alias de baja especificidad mantenido por compatibilidad */
.mmpa-wishlist-loop {
    position: absolute !important;
    top: 10px !important; left: 10px !important; right: auto !important;
    z-index: 9999 !important;
    display: inline-flex !important;
    pointer-events: auto !important;
}

/* Custom mm-card */
.mm-card__media .mmpa-wishlist-btn.mmpa-wishlist-loop {
    top: 10px; left: 10px; right: auto;
    width: 34px; height: 34px;
    font-size: 17px;
    color: var(--mm-navy);
}
.mm-card__media .mmpa-wishlist-btn.mmpa-wishlist-loop:hover { color: var(--mm-danger); }
.mm-card__media .mmpa-wishlist-btn.mmpa-wishlist-loop.mmpa-wishlist-active { color: var(--mm-danger); }

/* Ficha de producto */
.mmpa-wishlist-detail {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; border-radius: 10px;
    height: auto; padding: 11px 18px;
    font-size: .875rem; font-weight: 700;
    letter-spacing: .01em; text-align: center;
    background: #fff;
    border: 1.5px solid var(--mm-border);
    color: var(--mm-muted);
    margin-top: 10px;
    transition: all var(--mm-t);
}
.mmpa-wishlist-detail:hover {
    border-color: var(--mm-danger); color: var(--mm-danger);
    background: #fff8f8;
}
.mmpa-wishlist-detail.mmpa-wishlist-active {
    border-color: var(--mm-danger); color: var(--mm-danger); background: #fff8f8;
}

/* ══════════════════════════════════════════════════
   AUTH PAGE — Escape de columnas Divi + layout premium
══════════════════════════════════════════════════ */

/* Ocultar formularios nativos de WooCommerce cuando usamos los propios */
body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .woocommerce > .u-columns,
body.woocommerce-account:not(.logged-in) .woocommerce > .col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login-toggle { display: none !important; }

/* Full-bleed: escapa de la columna Divi y ocupa el ancho completo */
.mmpa-auth-page {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 36px 20px 56px !important;
    background: #eaecf4 !important;
    box-sizing: border-box !important;
    margin-top: -8px !important;
    margin-bottom: 0 !important;
}

/* Tarjeta split */
.mmpa-auth-card {
    display: grid;
    grid-template-columns: 340px 1fr;
    max-width: 900px;
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(17,24,39,.14), 0 4px 16px rgba(17,24,39,.07);
    min-height: 540px;
}

/* Panel izquierdo — marca / beneficios */
.mmpa-auth-brand-panel {
    background: var(--mm-gradient);
    padding: 44px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    position: relative;
    overflow: hidden;
}
.mmpa-auth-brand-panel::before {
    content: '';
    position: absolute;
    top: -80px; right: -80px;
    width: 280px; height: 280px;
    border-radius: 50%;
    background: rgba(255,255,255,.05);
    pointer-events: none;
}
.mmpa-auth-brand-panel::after {
    content: '';
    position: absolute;
    bottom: -60px; left: -40px;
    width: 220px; height: 220px;
    border-radius: 50%;
    background: rgba(255,255,255,.04);
    pointer-events: none;
}
.mmpa-auth-logo-dots {
    display: flex;
    gap: 5px;
    position: relative; z-index: 1;
}
.mmpa-auth-logo-dot {
    border-radius: 50%;
    display: block;
    background: rgba(255,255,255,.9);
}
.mmpa-auth-logo-dot:nth-child(1) { width: 8px; height: 8px; }
.mmpa-auth-logo-dot:nth-child(2) { width: 13px; height: 13px; margin-top: -2px; background: var(--mm-gold); }
.mmpa-auth-logo-dot:nth-child(3) { width: 8px; height: 8px; opacity: .45; }
.mmpa-auth-brand-title {
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #fff !important;
    margin: 0 !important;
    position: relative; z-index: 1;
}
.mmpa-auth-brand-desc {
    font-size: .875rem !important;
    color: rgba(255,255,255,.75) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    position: relative; z-index: 1;
}
.mmpa-auth-benefits {
    list-style: none !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative; z-index: 1;
}
.mmpa-auth-benefits li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .85rem;
    color: rgba(255,255,255,.9);
    font-weight: 500;
}
.mmpa-auth-benefit-icon {
    width: 28px; height: 28px;
    border-radius: 8px;
    background: rgba(255,255,255,.15);
    display: flex; align-items: center; justify-content: center;
    font-size: .85rem;
    flex-shrink: 0;
}

/* Panel derecho — formularios */
.mmpa-auth-forms-panel {
    background: #fff;
    padding: 36px 36px 32px;
    display: flex;
    flex-direction: column;
}

/* Tabs */
.mmpa-auth-tabs {
    display: flex;
    gap: 4px;
    background: #f3f4f6;
    border-radius: 10px;
    padding: 4px;
    margin-bottom: 24px;
    flex-shrink: 0;
}
.mmpa-auth-tab-btn {
    flex: 1;
    padding: 9px 12px;
    border: none;
    border-radius: 7px;
    background: none;
    font-size: .875rem;
    font-weight: 600;
    color: var(--mm-muted);
    cursor: pointer;
    transition: all var(--mm-t);
    white-space: nowrap;
    font-family: var(--mm-font);
}
.mmpa-auth-tab-btn.is-active {
    background: #fff;
    color: var(--mm-navy);
    box-shadow: 0 1px 3px rgba(17,24,39,.1);
}
.mmpa-auth-tab-btn:hover:not(.is-active) { color: var(--mm-text); }

/* Tab panes */
.mmpa-tab-pane { flex: 1; }
.mmpa-tab-pane[hidden] { display: none !important; }

/* Campos de formulario propios (no dependen de WC) */
.mmpa-field { margin-bottom: 15px; }
.mmpa-field label {
    display: block;
    font-size: .8rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 5px;
}
.mmpa-field input[type="text"],
.mmpa-field input[type="email"],
.mmpa-field input[type="password"],
.mmpa-field input[type="tel"],
.mmpa-field select {
    width: 100% !important;
    box-sizing: border-box !important;
    background: #f8fafc !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    padding: 11px 14px !important;
    font-size: .875rem !important;
    color: var(--mm-text) !important;
    outline: none !important;
    transition: border-color .2s, box-shadow .2s, background .2s !important;
    line-height: 1.5 !important;
    height: auto !important;
    box-shadow: none !important;
    font-family: var(--mm-font) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}
.mmpa-field input:focus,
.mmpa-field select:focus {
    background: #fff !important;
    border-color: var(--mm-navy) !important;
    box-shadow: 0 0 0 3px rgba(58,57,114,.1) !important;
}
.mmpa-field input::placeholder { color: #b0b7cc !important; }
/* Phone prefix select in auth forms */
.mmpa-field .mmpa-phone-wrap .mmpa-phone-prefix {
    background: #f0f0fa !important;
    border-right: 1.5px solid #e5e7eb !important;
    border-radius: 10px 0 0 10px !important;
    padding: 11px 20px 11px 14px !important;
    font-weight: 600 !important;
    color: var(--mm-navy) !important;
    width: 78px !important;
}
.mmpa-field .mmpa-phone-wrap input[type="tel"] {
    border-radius: 0 10px 10px 0 !important;
    border-left: none !important;
}
.mmpa-field-pw { position: relative; }
.mmpa-field-pw input { padding-right: 40px !important; }
.mmpa-pw-toggle-btn {
    position: absolute;
    right: 11px; top: 50%;
    transform: translateY(-50%);
    background: none; border: none;
    cursor: pointer; padding: 2px;
    color: var(--mm-muted); line-height: 1;
    display: flex; align-items: center;
    transition: color var(--mm-t);
}
.mmpa-pw-toggle-btn:hover { color: var(--mm-navy); }
.mmpa-pw-toggle-btn.is-visible { color: var(--mm-navy); }
.mmpa-field-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.mmpa-check-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .82rem;
    color: var(--mm-muted);
    cursor: pointer;
    user-select: none;
}
.mmpa-check-label input[type="checkbox"] {
    accent-color: var(--mm-navy);
    width: 15px; height: 15px;
    cursor: pointer; flex-shrink: 0;
}
.mmpa-link-forgot {
    font-size: .8rem; color: var(--mm-muted);
    text-decoration: none; transition: color var(--mm-t);
    white-space: nowrap;
}
.mmpa-link-forgot:hover { color: var(--mm-navy); text-decoration: underline; }

/* Botón de acción en el auth */
.mmpa-btn-auth {
    width: 100%;
    padding: 13px;
    background: var(--mm-navy);
    color: #fff !important;
    border: none;
    border-radius: 10px;
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
    transition: filter var(--mm-t), box-shadow var(--mm-t), transform .1s;
    margin-top: 4px;
    letter-spacing: .01em;
    font-family: var(--mm-font);
    display: block;
    text-align: center;
}
.mmpa-btn-auth:hover {
    filter: brightness(1.1);
    box-shadow: 0 6px 18px rgba(58,57,114,.3);
    transform: translateY(-1px);
}
.mmpa-btn-auth:active { transform: translateY(0); }
.mmpa-btn-auth:disabled { opacity: .65; cursor: not-allowed; transform: none; filter: none; }

/* Aviso de error/éxito bajo el formulario */
.mmpa-form-notice {
    margin-top: 10px;
    font-size: .82rem;
    border-radius: 8px;
    padding: 9px 13px;
    line-height: 1.4;
    display: none;
}
.mmpa-form-notice.is-error   { background: var(--mm-danger-bg);  color: var(--mm-danger);  display: block; }
.mmpa-form-notice.is-success { background: var(--mm-success-bg); color: var(--mm-success); display: block; }

/* Consentimientos RGPD / Marketing */
.mmpa-consent-box {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 14px 16px;
    margin: 14px 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}
.mmpa-consent-item {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: .81rem;
    color: var(--mm-text);
    cursor: pointer;
    user-select: none;
    line-height: 1.45;
}
.mmpa-consent-item input[type="checkbox"] {
    accent-color: var(--mm-navy);
    width: 15px; height: 15px;
    flex-shrink: 0;
    margin-top: 2px;
    cursor: pointer;
}
.mmpa-consent-item--marketing { color: var(--mm-muted); }
.mmpa-consent-text a { color: var(--mm-navy); text-decoration: underline; text-underline-offset: 2px; }
.mmpa-required-star { color: var(--mm-danger); margin-left: 1px; }

/* ── Selector particular / profesional ─────────────────────── */
/* Bloque destacado — da peso visual a la decisión sin añadir un paso/fricción.
   Marco propio con fondo suave para que "salte a la vista" dentro del formulario. */
.mmpa-type-block {
    background: linear-gradient(180deg, #f7f7fc 0%, #f2f2fa 100%);
    border: 1px solid #e4e4f0;
    border-radius: 16px;
    padding: 16px 16px 18px;
    margin-bottom: 20px;
}
/* Encabezado de la pregunta — deja claro que es una decisión importante */
.mmpa-type-question {
    font-size: .92rem;
    font-weight: 700;
    color: var(--mm-text);
    margin: 0 0 12px;
    letter-spacing: -.01em;
    text-align: center;
}
.mmpa-type-selector {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 0;
}
.mmpa-type-card {
    position: relative;
    border: 2px solid #d8dce8;
    border-radius: 14px;
    padding: 18px 12px 14px;
    cursor: pointer;
    text-align: center;
    transition: border-color var(--mm-t), background var(--mm-t), box-shadow var(--mm-t), transform var(--mm-t);
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    user-select: none;
}
.mmpa-type-card input[type="radio"] { display: none; }
/* Estado seleccionado — inconfundible: fondo navy claro, borde grueso, halo y check */
.mmpa-type-card:has(input:checked),
.mmpa-type-card.is-selected {
    border-color: var(--mm-navy);
    background: rgba(58,57,114,.07);
    box-shadow: 0 0 0 4px rgba(58,57,114,.14);
    transform: translateY(-1px);
}
/* Check de selección (esquina superior derecha) */
.mmpa-type-card::after {
    content: "✓";
    position: absolute;
    top: 8px;
    right: 8px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--mm-navy);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    opacity: 0;
    transform: scale(.5);
    transition: opacity .15s, transform .15s;
}
.mmpa-type-card:has(input:checked)::after,
.mmpa-type-card.is-selected::after { opacity: 1; transform: scale(1); }
.mmpa-type-card:hover:not(.is-selected) { border-color: var(--mm-navy); background: #f5f4ff; }
.mmpa-type-icon { font-size: 1.6rem; line-height: 1; display: block; color: var(--mm-muted); transition: color var(--mm-t); }
.mmpa-type-card:has(input:checked) .mmpa-type-icon,
.mmpa-type-card.is-selected .mmpa-type-icon { color: var(--mm-navy); }
.mmpa-type-label {
    font-size: .95rem;
    font-weight: 700;
    color: var(--mm-text);
    display: block;
    margin-top: 4px;
}
.mmpa-type-card:has(input:checked) .mmpa-type-label,
.mmpa-type-card.is-selected .mmpa-type-label { color: var(--mm-navy); }
.mmpa-type-hint { font-size: .74rem; color: var(--mm-muted); display: block; }

/* Campos de empresa — aparecen con animación */
.mmpa-pro-fields[hidden] { display: none !important; }
.mmpa-pro-fields:not([hidden]) {
    animation: mmpa-slide-down .22s cubic-bezier(.4,0,.2,1);
}
@keyframes mmpa-slide-down {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Divisor "o continúa con" */
.mmpa-auth-or-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
    color: var(--mm-muted);
    font-size: .8rem; font-weight: 500;
}
.mmpa-auth-or-divider::before,
.mmpa-auth-or-divider::after { content: ''; flex: 1; height: 1px; background: var(--mm-border); }

/* Nota legal inferior */
.mmpa-auth-legal {
    font-size: .74rem !important;
    color: var(--mm-muted) !important;
    margin: 12px 0 0 !important;
    line-height: 1.5 !important;
    text-align: center;
}
.mmpa-auth-legal a { color: var(--mm-navy) !important; }

/* Responsive — mobile */
@media (max-width: 680px) {
    .mmpa-auth-page { padding: 0 0 40px !important; }
    .mmpa-auth-card {
        grid-template-columns: 1fr;
        border-radius: 0;
        box-shadow: none;
        min-height: 0;
    }
    .mmpa-auth-brand-panel { padding: 28px 20px 22px; gap: 10px; }
    .mmpa-auth-brand-title { font-size: 1.35rem !important; }
    .mmpa-auth-benefits { display: none !important; }
    .mmpa-auth-forms-panel { padding: 24px 20px 28px; }
}

/* Bloque legacy: compatibilidad con CSS antiguo — se puede eliminar cuando no queden referencias */
.mmpa-register-fallback { display: none !important; }
.mmpa-register-fallback-card .mmpa-form-row input {
    background: #f8fafc !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    padding: 11px 16px !important;
    font-size: .875rem !important;
    color: var(--mm-text) !important;
    transition: border-color .2s, box-shadow .2s !important;
    outline: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.mmpa-register-fallback-card .mmpa-form-row input:focus {
    background: #fff !important;
    border-color: var(--mm-navy) !important;
    box-shadow: 0 0 0 3px rgba(58,57,114,.1) !important;
}
.mmpa-register-privacy {
    font-size: .75rem !important;
    color: var(--mm-muted) !important;
    margin: 0 0 16px !important;
}
.mmpa-register-privacy a { color: var(--mm-navy) !important; }
.mmpa-rg-msg.error   { color: var(--mm-danger); font-size: .82rem; }
.mmpa-rg-msg.success { color: var(--mm-success); font-size: .82rem; }

/* Layout de dos columnas: login WC + registro fallback */
.woocommerce-account .mmpa-auth-two-col-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 920px;
    margin: 0 auto;
}

/* Responsive login/registro */
@media (max-width: 680px) {
    .woocommerce-account .u-columns.col2-set {
        grid-template-columns: 1fr !important;
    }
    .mmpa-auth-title { font-size: 1.6rem !important; }
    .mmpa-auth-perks { gap: 8px; }
    .mmpa-register-fallback { margin-top: 16px; }
}

/* ══════════════════════════════════════════════════
   GOOGLE SIGN-IN
══════════════════════════════════════════════════ */
.mmpa-google-wrap {
    margin-top: 20px;
}
.mmpa-google-divider {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 16px; color: var(--mm-muted);
    font-size: .8rem; font-weight: 500;
}
.mmpa-google-divider::before,
.mmpa-google-divider::after {
    content: ''; flex: 1;
    height: 1px; background: var(--mm-border);
}
.mmpa-google-btn-container {
    display: flex; justify-content: center;
}
/* Forzar ancho completo en el iframe de GIS */
.mmpa-google-btn-container iframe {
    width: 100% !important;
}
/* Variante prominente — primera opción en modal y auth page */
.mmpa-google-btn--primary {
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(17,24,39,.10);
    margin-bottom: 2px;
}

/* ══════════════════════════════════════════════════
   TOAST NOTIFICATIONS
══════════════════════════════════════════════════ */
.mmpa-toast-wrap {
    position: fixed;
    bottom: 24px; right: 24px;
    z-index: 999999;
    display: flex; flex-direction: column; gap: 8px;
    pointer-events: none;
}
.mmpa-toast {
    display: flex; align-items: center; gap: 10px;
    background: #1f2937;
    color: #fff;
    font-size: .875rem; font-weight: 500;
    padding: 12px 18px;
    border-radius: 10px;
    box-shadow: 0 8px 28px rgba(0,0,0,.25);
    pointer-events: all;
    animation: mmpa-toast-in .3s cubic-bezier(.34,1.56,.64,1);
    max-width: 340px;
    line-height: 1.4;
}
.mmpa-toast--success { background: #064e3b; border-left: 3px solid var(--mm-success); }
.mmpa-toast--error   { background: #7f1d1d; border-left: 3px solid var(--mm-danger); }
.mmpa-toast--info    { background: var(--mm-navy-dark); border-left: 3px solid var(--mm-navy-light); }
.mmpa-toast-icon { font-size: 1.1rem; flex-shrink: 0; }
@keyframes mmpa-toast-in {
    from { opacity: 0; transform: translateX(40px) scale(.92); }
    to   { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes mmpa-toast-out {
    to   { opacity: 0; transform: translateX(40px) scale(.92); }
}
.mmpa-toast.mmpa-toast--leaving { animation: mmpa-toast-out .25s ease forwards; }

/* ══════════════════════════════════════════════════
   BOTONES GLOBALES
══════════════════════════════════════════════════ */
.mmpa-btn-primary {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--mm-navy);
    color: #fff !important;
    border: none; border-radius: 10px;
    padding: 10px 20px;
    font-size: .875rem; font-weight: 700;
    cursor: pointer; text-decoration: none;
    transition: filter var(--mm-t), box-shadow var(--mm-t), transform var(--mm-t);
    line-height: 1.4; text-align: center;
    white-space: nowrap;
}
.mmpa-btn-primary:hover {
    filter: brightness(1.1);
    box-shadow: 0 6px 18px rgba(58,57,114,.3);
    transform: translateY(-1px);
    color: #fff !important;
}
.mmpa-btn-primary:active { transform: translateY(0); }

.mmpa-btn-ghost {
    display: inline-flex; align-items: center; gap: 6px;
    background: none; color: var(--mm-muted);
    border: 1px solid var(--mm-border); border-radius: 10px;
    padding: 10px 18px; font-size: .875rem; font-weight: 600;
    cursor: pointer; text-decoration: none;
    transition: all var(--mm-t);
}
.mmpa-btn-ghost:hover { border-color: var(--mm-navy); color: var(--mm-navy); }

.mmpa-btn-sm {
    display: inline-flex; align-items: center; gap: 4px;
    background: var(--mm-card); color: var(--mm-text);
    border: 1px solid var(--mm-border); border-radius: 7px;
    padding: 5px 12px; font-size: .78rem; font-weight: 600;
    cursor: pointer; text-decoration: none;
    transition: all var(--mm-t);
}
.mmpa-btn-sm:hover { border-color: var(--mm-navy); color: var(--mm-navy); }
.mmpa-link--danger:hover { border-color: var(--mm-danger) !important; color: var(--mm-danger) !important; }

/* ══════════════════════════════════════════════════
   EMPTY STATES
══════════════════════════════════════════════════ */
.mmpa-empty-state {
    text-align: center; padding: 64px 20px;
    color: var(--mm-muted);
}
.mmpa-empty-icon { font-size: 3.5rem; margin-bottom: 16px; opacity: .35; line-height: 1; }
.mmpa-empty-state p { font-size: .95rem; margin: 0 0 8px; color: var(--mm-muted); }
.mmpa-hint { font-size: .82rem !important; opacity: .75; }
.mmpa-empty-state .mmpa-btn-primary { margin-top: 20px; }

/* ══════════════════════════════════════════════════
   MIS DIRECCIONES
══════════════════════════════════════════════════ */
.mmpa-dir-page-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 22px; flex-wrap: wrap; gap: 10px;
}
.mmpa-section-title { font-size: 1.1rem; font-weight: 800; color: var(--mm-navy); margin: 0; }
.mmpa-address-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
}
.mmpa-address-book-card {
    background: var(--mm-card); border: 1px solid var(--mm-border);
    border-radius: var(--mm-radius); padding: 18px;
    display: flex; flex-direction: column; gap: 12px;
    box-shadow: var(--mm-shadow-sm); transition: box-shadow var(--mm-t);
}
.mmpa-address-book-card:hover { box-shadow: var(--mm-shadow); }
.mmpa-address-book-card--default { border-color: var(--mm-navy); border-left: 3px solid var(--mm-navy); }
.mmpa-address-book-card-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mmpa-address-book-label {
    font-size: .78rem; font-weight: 800; color: var(--mm-navy);
    text-transform: uppercase; letter-spacing: .06em;
}
.mmpa-address-default-pill {
    font-size: .65rem; font-weight: 700; padding: 2px 8px;
    border-radius: 20px; background: var(--mm-navy); color: #fff; letter-spacing: .03em;
}
.mmpa-address-book-body {
    display: flex; flex-direction: column; gap: 2px;
    font-size: .84rem; color: var(--mm-text); flex: 1; line-height: 1.55;
}
.mmpa-address-book-phone { color: var(--mm-muted); font-size: .78rem; margin-top: 4px; }
.mmpa-address-book-actions {
    display: flex; gap: 6px; flex-wrap: wrap;
    border-top: 1px solid var(--mm-border); padding-top: 12px;
}
.mmpa-address-add-card {
    border: 2px dashed var(--mm-border); border-radius: var(--mm-radius);
    background: none; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 8px; padding: 30px; color: var(--mm-muted);
    font-size: .84rem; font-weight: 600;
    transition: border-color var(--mm-t), color var(--mm-t);
    min-height: 160px;
}
.mmpa-address-add-card:hover { border-color: var(--mm-navy); color: var(--mm-navy); }
.mmpa-address-add-icon { font-size: 1.8rem; line-height: 1; }

/* Modal */
.mmpa-dir-modal {
    position: fixed; inset: 0;
    background: rgba(17,24,39,.5);
    z-index: 99999; display: flex;
    align-items: center; justify-content: center; padding: 20px;
    backdrop-filter: blur(3px);
}
.mmpa-dir-modal-inner {
    background: #fff; border-radius: var(--mm-radius);
    padding: 28px; max-width: 560px; width: 100%;
    max-height: 90vh; overflow-y: auto;
    box-shadow: var(--mm-shadow-lg);
    animation: mmpa-modal-in .25s cubic-bezier(.34,1.56,.64,1);
}
@keyframes mmpa-modal-in {
    from { opacity: 0; transform: scale(.94) translateY(10px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}
.mmpa-dir-modal-header {
    display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;
}
#mmpa-dir-modal-title { font-size: 1rem; font-weight: 800; color: var(--mm-navy); }
#mmpa-dir-modal-close {
    background: none; border: none; font-size: 1.2rem;
    cursor: pointer; color: var(--mm-muted); padding: 0; line-height: 1;
    transition: color var(--mm-t);
}
#mmpa-dir-modal-close:hover { color: var(--mm-text); }
.mmpa-dir-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.mmpa-dir-span2 { grid-column: span 2; }
.mmpa-form-row { display: flex; flex-direction: column; gap: 4px; padding: 8px 0; }
.mmpa-form-row label { font-size: .8rem; font-weight: 600; color: var(--mm-muted); }
.mmpa-form-row input {
    border: 1px solid #d1d5db; border-radius: 8px;
    padding: 9px 12px; font-size: .875rem; color: var(--mm-text);
    transition: border-color var(--mm-t), box-shadow var(--mm-t);
    outline: none;
}
.mmpa-form-row input:focus { border-color: var(--mm-navy); box-shadow: 0 0 0 3px rgba(58,57,114,.1); }
.mmpa-help { color: var(--mm-muted); font-weight: 400; }
.mmpa-form-actions {
    display: flex; align-items: center; gap: 10px;
    margin-top: 16px; flex-wrap: wrap;
}
#mmpa-dir-msg { font-size: .82rem; }
#mmpa-dir-msg.success { color: var(--mm-success); }
#mmpa-dir-msg.error   { color: var(--mm-danger); }

/* ══════════════════════════════════════════════════
   CHECKOUT — Address widget
══════════════════════════════════════════════════ */
#mmpa-address-trigger {
    display: none; background: #fff;
    border: 1px solid rgba(58,57,114,.2); border-radius: 10px;
    padding: 10px 16px; font-size: .875rem; font-weight: 600;
    color: var(--mm-navy); cursor: pointer; margin-bottom: 16px;
    transition: box-shadow var(--mm-t);
}
#mmpa-address-trigger:hover { box-shadow: 0 2px 8px rgba(58,57,114,.15); }
#mmpa-address-widget {
    position: fixed; inset: 0;
    background: rgba(17,24,39,.5);
    z-index: 99999; display: none;
    align-items: center; justify-content: center; padding: 20px;
    backdrop-filter: blur(3px);
}
.mmpa-address-widget-inner {
    background: #fff; border-radius: var(--mm-radius);
    padding: 26px; max-width: 520px; width: 100%;
    max-height: 80vh; overflow-y: auto;
    box-shadow: var(--mm-shadow-lg);
}
.mmpa-address-widget-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--mm-border);
}
.mmpa-address-widget-title { font-size: 1rem; font-weight: 700; color: var(--mm-navy); }
#mmpa-address-widget-close {
    background: none; border: none; font-size: 1.2rem;
    cursor: pointer; color: var(--mm-muted); line-height: 1; padding: 0;
}
.mmpa-address-card {
    border: 1px solid var(--mm-border); border-radius: 10px;
    padding: 13px 15px; margin-bottom: 10px;
    cursor: pointer; transition: border-color var(--mm-t), box-shadow var(--mm-t);
}
.mmpa-address-card:hover { border-color: var(--mm-navy); box-shadow: var(--mm-shadow-sm); }
.mmpa-address-card-meta { margin-bottom: 3px; }
.mmpa-address-card-label { font-size: .78rem; font-weight: 700; color: var(--mm-navy); }
.mmpa-address-default-badge {
    font-size: .65rem; background: var(--mm-navy); color: #fff;
    padding: 1px 7px; border-radius: 10px; margin-left: 5px; font-weight: 700;
}
.mmpa-address-type {
    font-size: .72rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .05em; color: var(--mm-muted); margin-bottom: 5px;
}
.mmpa-address-use-btn {
    display: block; width: 100%; margin-top: 10px;
    background: var(--mm-navy); color: #fff; border: none;
    border-radius: 8px; padding: 9px;
    font-size: .82rem; font-weight: 700; cursor: pointer;
    transition: filter var(--mm-t);
}
.mmpa-address-use-btn:hover { filter: brightness(1.1); }
.mmpa-address-widget-manage {
    margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--mm-border);
    text-align: center; font-size: .8rem;
}
.mmpa-address-widget-manage a { color: var(--mm-muted); text-decoration: none; }
.mmpa-address-widget-manage a:hover { color: var(--mm-navy); }
.mmpa-save-address-row { margin: 12px 0 20px; }
.mmpa-save-address-row label {
    display: flex; align-items: center; gap: 8px;
    font-size: .875rem; color: var(--mm-muted); cursor: pointer;
}
.mmpa-save-address-row input[type="checkbox"] { accent-color: var(--mm-navy); }

/* ══════════════════════════════════════════════════
   POST-PURCHASE REGISTER
══════════════════════════════════════════════════ */
.mmpa-register-box {
    border: 1px solid var(--mm-border); border-radius: var(--mm-radius);
    padding: 28px; margin: 30px 0; background: #f8fafc;
}
.mmpa-register-box h3 { margin: 0 0 6px; color: var(--mm-navy); font-size: 1.1rem; }
.mmpa-register-box p  { color: var(--mm-muted); font-size: .9rem; margin-bottom: 18px; }
.mmpa-register-msg { font-size: .85rem; padding: 8px 12px; border-radius: 6px; margin-top: 10px; }
.mmpa-register-msg.success { background: var(--mm-success-bg); color: var(--mm-success); }
.mmpa-register-msg.error   { background: var(--mm-danger-bg); color: var(--mm-danger); }

/* ══════════════════════════════════════════════════
   ACCOUNT PAGE — Nav sidebar + content layout
══════════════════════════════════════════════════ */

/* Override WC float layout with flex */
.woocommerce-account.logged-in .woocommerce {
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
    margin-top: 32px !important;
    margin-bottom: 40px !important;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    float: none !important;
    width: 210px !important;
    flex-shrink: 0 !important;
}
.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    float: none !important;
    width: auto !important;
    flex: 1 !important;
    min-width: 0 !important;
}

/* Nav card */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--mm-card);
    border: 1px solid var(--mm-border);
    border-radius: var(--mm-radius);
    box-shadow: var(--mm-shadow-sm);
    overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 6px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li::before {
    display: none !important;
    content: '' !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 9px 11px !important;
    border-radius: 8px !important;
    font-size: .84rem !important;
    font-weight: 600 !important;
    color: var(--mm-muted) !important;
    text-decoration: none !important;
    transition: background var(--mm-t), color var(--mm-t) !important;
    line-height: 1.3 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #f3f4f6 !important;
    color: var(--mm-navy) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a {
    background: var(--mm-navy) !important;
    color: #fff !important;
}

/* Nav icons via ::before */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
    font-style: normal !important;
    font-size: 1rem !important;
    width: 18px !important;
    text-align: center !important;
    flex-shrink: 0 !important;
    opacity: .7 !important;
    display: block !important;
}
.woocommerce-account-navigation-link--mmpa-dashboard a::before   { content: '⊞' !important; }
.woocommerce-account-navigation-link--orders a::before           { content: '≡' !important; }
.woocommerce-account-navigation-link--mmpa-wishlist a::before    { content: '♡' !important; }
.woocommerce-account-navigation-link--mmpa-cupones a::before     { content: '◇' !important; }
.woocommerce-account-navigation-link--mmpa-direcciones a::before { content: '◎' !important; }
.woocommerce-account-navigation-link--payment-methods a::before  { content: '▢' !important; }
.woocommerce-account-navigation-link--edit-account a::before     { content: '✎' !important; }
.woocommerce-account-navigation-link--customer-logout a::before  { content: '←' !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a::before { opacity: 1 !important; }

/* Logout item — danger colour */
.woocommerce-account-navigation-link--customer-logout a {
    color: var(--mm-danger) !important;
    opacity: .85 !important;
}
.woocommerce-account-navigation-link--customer-logout a:hover {
    background: var(--mm-danger-bg) !important;
    color: var(--mm-danger) !important;
    opacity: 1 !important;
}

/* Content area card */
.woocommerce-account .woocommerce-MyAccount-content {
    background: var(--mm-card);
    border: 1px solid var(--mm-border);
    border-radius: var(--mm-radius);
    padding: 28px !important;
    box-shadow: var(--mm-shadow-sm);
}
.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3 {
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    color: var(--mm-navy) !important;
    margin: 0 0 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--mm-border) !important;
}

/* WC notices */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-error {
    border-radius: 10px !important;
    border-top: none !important;
    border-left: 4px solid !important;
    padding: 12px 16px !important;
    margin-bottom: 16px !important;
    font-size: .875rem !important;
}
.woocommerce-MyAccount-content .woocommerce-message { border-color: var(--mm-success) !important; background: var(--mm-success-bg) !important; color: #065f46 !important; }
.woocommerce-MyAccount-content .woocommerce-info    { border-color: var(--mm-navy) !important; background: #ede9fe !important; color: var(--mm-navy-dark) !important; }
.woocommerce-MyAccount-content .woocommerce-error   { border-color: var(--mm-danger) !important; background: var(--mm-danger-bg) !important; color: var(--mm-danger) !important; }

/* Orders table */
.woocommerce-MyAccount-content .woocommerce-orders-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: .875rem !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table th {
    background: #f8fafc !important;
    font-size: .72rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: var(--mm-muted) !important;
    font-weight: 700 !important;
    padding: 10px 14px !important;
    border-bottom: 2px solid var(--mm-border) !important;
    text-align: left !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table td {
    padding: 11px 14px !important;
    border-bottom: 1px solid var(--mm-border) !important;
    vertical-align: middle !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:last-child td { border-bottom: none !important; }
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:hover td { background: #f8fafc !important; }

/* ── Botones de acción de la tabla de pedidos (Ver / Cancelar) ──────
   Apilados, mismo ancho, estilos coherentes. Arregla el descuadre del
   botón de cancelar heredado del tema. */
.woocommerce-orders-table__cell-order-actions {
    display: flex !important;
    flex-direction: column;
    gap: 7px;
    align-items: flex-end;
}
.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-orders-table__cell-order-actions a.woocommerce-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 170px;
    margin: 0 !important;
    padding: 9px 16px !important;
    border-radius: 9px !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    border: 1.5px solid transparent !important;
    box-shadow: none !important;
    transition: background .15s, border-color .15s, color .15s, filter .15s !important;
}
/* "Ver" → primario navy */
.woocommerce-orders-table__cell-order-actions .button.view {
    background: var(--mm-navy) !important;
    color: #fff !important;
    border-color: var(--mm-navy) !important;
}
.woocommerce-orders-table__cell-order-actions .button.view:hover {
    filter: brightness(1.08) !important;
    color: #fff !important;
}
/* "Cancelar pedido" → secundario outline rojo suave (clase contiene mmpa-cancel-) */
.woocommerce-orders-table__cell-order-actions .button[class*="mmpa-cancel-"] {
    background: #fff !important;
    color: #c0392b !important;
    border-color: #e7c3c0 !important;
}
.woocommerce-orders-table__cell-order-actions .button[class*="mmpa-cancel-"]:hover {
    background: #fdf2f2 !important;
    border-color: #c0392b !important;
    color: #c0392b !important;
}
/* Estado "En revisión" — informativo, no clicable */
.woocommerce-orders-table__cell-order-actions .button.mmpa_cancel_pending {
    background: #fffbeb !important;
    color: #92722a !important;
    border-color: #e8d9a8 !important;
    cursor: default !important;
    pointer-events: none;
}

/* ── Detalle del pedido (view-order) ─────────────────────────────
   La tabla de detalles de WooCommerce salía sin estilar. */
.woocommerce-MyAccount-content .woocommerce-order-details__title,
.woocommerce-MyAccount-content .woocommerce-column__title {
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: var(--mm-text) !important;
    margin: 0 0 16px !important;
    letter-spacing: -.01em;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid var(--mm-border) !important;
    border-radius: 12px !important;
    overflow: hidden;
    margin-bottom: 26px !important;
    font-size: .9rem;
    background: #fff;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details th,
.woocommerce-MyAccount-content .woocommerce-table--order-details td {
    padding: 13px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--mm-border) !important;
    text-align: left !important;
    vertical-align: top !important;
    line-height: 1.5;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details thead th {
    background: #f8fafc !important;
    font-weight: 700 !important;
    color: var(--mm-text) !important;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th {
    font-weight: 700 !important;
    color: var(--mm-muted) !important;
    width: 38%;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot td {
    font-weight: 600 !important;
    color: var(--mm-text) !important;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: none !important;
    font-size: 1.05rem;
    color: var(--mm-navy) !important;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details .shipped_via {
    display: block;
    margin-top: 4px;
    font-size: .78rem;
    color: var(--mm-muted);
    font-weight: 400 !important;
    line-height: 1.45;
}
/* Botón "Repetir pedido" dentro de la fila de Acciones del detalle */
.woocommerce-MyAccount-content .order-actions--heading {
    vertical-align: middle !important;
    color: var(--mm-muted) !important;
}
.woocommerce-MyAccount-content .order-actions-button,
.woocommerce-MyAccount-content .woocommerce-table--order-details td .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: var(--mm-navy) !important;
    color: #fff !important;
    border: 1.5px solid var(--mm-navy) !important;
    border-radius: 9px !important;
    padding: 9px 18px !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
.woocommerce-MyAccount-content .order-actions-button:hover { filter: brightness(1.08); color:#fff !important; }
/* Si el action de cancelar aparece en el detalle, en rojo outline */
.woocommerce-MyAccount-content .order-actions-button[class*="mmpa-cancel-"] {
    background: #fff !important;
    color: #c0392b !important;
    border-color: #e7c3c0 !important;
}
.woocommerce-MyAccount-content .order-actions-button.mmpa_cancel_pending {
    background: #fffbeb !important;
    color: #92722a !important;
    border-color: #e8d9a8 !important;
    pointer-events: none;
}

/* Edit account / address forms */
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row label,
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row label {
    font-size: .8rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row input,
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row input,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row select,
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row select {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-size: .875rem !important;
    transition: border-color .2s, box-shadow .2s !important;
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row input:focus,
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row input:focus {
    border-color: var(--mm-navy) !important;
    box-shadow: 0 0 0 3px rgba(58,57,114,.1) !important;
    outline: none !important;
}
.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content button[name="save_account_details"],
.woocommerce-MyAccount-content button[name="saveaddress"] {
    background: var(--mm-navy) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 11px 22px !important;
    font-size: .875rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: filter var(--mm-t), box-shadow var(--mm-t) !important;
}
.woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-MyAccount-content button[name="save_account_details"]:hover,
.woocommerce-MyAccount-content button[name="saveaddress"]:hover {
    filter: brightness(1.1) !important;
    box-shadow: 0 6px 18px rgba(58,57,114,.3) !important;
    color: #fff !important;
}

/* Mobile: nav drawer lateral deslizante */

/* Toggle oculto en desktop */
.mmpa-nav-toggle { display: none; }

@media (max-width: 768px) {
    /* El contenedor en columna; la nav sale del flujo con position:fixed */
    .woocommerce-account.logged-in .woocommerce {
        flex-direction: column !important;
        gap: 0 !important;
        margin-top: 8px !important;
        margin-bottom: 24px !important;
    }

    /* Botón toggle */
    .mmpa-nav-toggle {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        background: var(--mm-card) !important;
        border: 1px solid var(--mm-border) !important;
        border-radius: var(--mm-radius-sm) !important;
        padding: 13px 16px !important;
        font-size: .9rem !important;
        font-weight: 600 !important;
        color: var(--mm-navy) !important;
        cursor: pointer !important;
        width: 100% !important;
        box-shadow: var(--mm-shadow-sm) !important;
        box-sizing: border-box !important;
        text-align: left !important;
        margin-bottom: 10px !important;
        font-family: var(--mm-font) !important;
        transition: box-shadow var(--mm-t) !important;
    }
    .mmpa-nav-toggle:hover { box-shadow: var(--mm-shadow) !important; }
    .mmpa-nav-toggle-icon { font-size: 1.1rem; line-height: 1; flex-shrink: 0; }
    .mmpa-nav-toggle-label { flex: 1; }
    .mmpa-nav-toggle-arrow {
        color: var(--mm-muted); font-size: .9rem;
        transition: transform var(--mm-t);
    }
    .mmpa-nav-toggle[aria-expanded="true"] .mmpa-nav-toggle-arrow { transform: rotate(90deg); }

    /* Overlay oscuro */
    .mmpa-nav-drawer-overlay {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(17,24,39,.52) !important;
        z-index: 99998 !important;
        backdrop-filter: blur(2px) !important;
        -webkit-backdrop-filter: blur(2px) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity .25s !important;
    }
    .mmpa-nav-drawer-overlay.is-open {
        opacity: 1 !important;
        pointer-events: all !important;
    }

    /* Drawer */
    .woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        position: fixed !important;
        top: 0 !important; left: 0 !important; bottom: 0 !important;
        width: 78vw !important;
        max-width: 300px !important;
        z-index: 99999 !important;
        transform: translateX(-105%) !important;
        transition: transform .3s cubic-bezier(.4,0,.2,1) !important;
        border-radius: 0 var(--mm-radius) var(--mm-radius) 0 !important;
        box-shadow: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
    .woocommerce-account.logged-in .woocommerce-MyAccount-navigation.is-open {
        transform: translateX(0) !important;
        box-shadow: 8px 0 32px rgba(17,24,39,.2) !important;
    }

    /* Cabecera del drawer */
    .mmpa-nav-drawer-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 16px !important;
        border-bottom: 1px solid var(--mm-border) !important;
        position: sticky !important;
        top: 0 !important;
        background: var(--mm-card) !important;
        z-index: 1 !important;
    }
    .mmpa-nav-drawer-logo {
        display: flex; gap: 4px; align-items: center;
    }
    .mmpa-nav-drawer-logo span {
        display: block; border-radius: 50%;
    }
    .mmpa-nav-drawer-logo span:nth-child(1) { width:7px; height:7px; background:var(--mm-navy); }
    .mmpa-nav-drawer-logo span:nth-child(2) { width:11px; height:11px; background:var(--mm-gold); }
    .mmpa-nav-drawer-logo span:nth-child(3) { width:7px; height:7px; background:var(--mm-navy); opacity:.35; }
    .mmpa-nav-drawer-title {
        font-size: .875rem !important;
        font-weight: 800 !important;
        color: var(--mm-navy) !important;
    }
    .mmpa-nav-close {
        background: #f3f4f6 !important;
        border: none !important;
        border-radius: 8px !important;
        width: 34px !important; height: 34px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        font-size: 1rem !important;
        color: var(--mm-muted) !important;
        flex-shrink: 0 !important;
        transition: background var(--mm-t) !important;
    }
    .mmpa-nav-close:hover { background: #e5e7eb !important; }

    /* Lista vertical dentro del drawer */
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
        padding: 10px !important;
        gap: 2px !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
        flex-shrink: unset !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 13px 14px !important;
        font-size: .9rem !important;
        min-height: 50px !important;
        white-space: normal !important;
        border-radius: 10px !important;
        gap: 12px !important;
    }
    /* Iconos visibles en el drawer */
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
        display: block !important;
        font-size: 1.05rem !important;
        width: 20px !important;
    }

    /* Contenido a ancho completo */
    .woocommerce-account.logged-in .woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
        flex: none !important;
        padding: 18px !important;
        border-radius: var(--mm-radius-sm) !important;
        min-width: unset !important;
    }
}

/* ══════════════════════════════════════════════════
   RESPONSIVE — 640px
══════════════════════════════════════════════════ */
@media (max-width: 640px) {
    /* Dashboard — welcome hero */
    .mmpa-dashboard-welcome  { padding: 18px 16px; gap: 12px; flex-wrap: wrap; }
    .mmpa-dashboard-welcome::before,
    .mmpa-dashboard-welcome::after { display: none; }
    .mmpa-dashboard-avatar img { width: 54px; height: 54px; }
    .mmpa-dashboard-info h2 { font-size: 1.1rem; }
    .mmpa-tier-badge { position: static; margin-left: auto; padding: 8px 12px; }

    /* Dashboard — stats */
    .mmpa-stats-row  { grid-template-columns: 1fr 1fr; gap: 8px; }
    .mmpa-stats-row .mmpa-stat-box:last-child { grid-column: span 2; }
    .mmpa-stat-num { font-size: 1.35rem; }

    /* Dashboard — recent orders */
    .mmpa-order-row  { flex-wrap: wrap; gap: 8px; padding: 11px 12px; }
    .mmpa-order-actions { width: 100%; justify-content: flex-end; }
    .mmpa-order-link, .mmpa-reorder-link { padding: 6px 14px; min-height: 38px;
        display: inline-flex; align-items: center; }

    /* Dashboard — nav grid */
    .mmpa-account-nav-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .mmpa-nav-card { padding: 16px 8px; font-size: .75rem; }
    .mmpa-nav-icon { font-size: 1.3rem; }

    /* Wishlist */
    .mmpa-wishlist-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

    /* Cupones — apilados verticalmente */
    .mmpa-cupon-ticket { flex-direction: column; }
    .mmpa-cupon-ticket-divider { width: 100%; height: 1px; flex-direction: row; }
    .mmpa-cupon-ticket-divider::before { top: -9px; left: -9px; }
    .mmpa-cupon-ticket-divider::after  { bottom: auto; top: -9px; right: -9px; left: auto; }
    .mmpa-cupon-ticket-divider span { width: 100%; height: 1px;
        background: repeating-linear-gradient(to right, var(--mm-border) 0, var(--mm-border) 6px, transparent 6px, transparent 12px);
    }
    .mmpa-cupon-ticket-left { min-width: unset; flex-direction: row; gap: 16px; padding: 16px 18px; }
    .mmpa-cupon-amount { font-size: 1.5rem; }

    /* Mis direcciones — modal formulario */
    .mmpa-dir-form-grid { grid-template-columns: 1fr; }
    .mmpa-dir-span2 { grid-column: span 1; }
    .mmpa-dir-modal-inner { padding: 20px 16px; }

    /* Address book */
    .mmpa-address-grid { grid-template-columns: 1fr; }

    /* WC orders table — scroll horizontal en vez de overflow */
    .woocommerce-MyAccount-content .woocommerce-orders-table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        white-space: nowrap !important;
        border: none !important;
        font-size: .8rem !important;
    }
    .woocommerce-MyAccount-content .woocommerce-orders-table th,
    .woocommerce-MyAccount-content .woocommerce-orders-table td {
        padding: 9px 12px !important;
    }

    /* WC account form — columna única en mobile */
    .woocommerce-MyAccount-content .form-row-first,
    .woocommerce-MyAccount-content .form-row-last {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        clear: both !important;
    }
    .woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset {
        margin: 16px 0 0 !important;
        padding: 0 !important;
        border: none !important;
    }
    .woocommerce-MyAccount-content .woocommerce-EditAccountForm legend {
        font-size: .8rem !important;
        font-weight: 700 !important;
        color: var(--mm-muted) !important;
        text-transform: uppercase !important;
        letter-spacing: .06em !important;
        margin-bottom: 12px !important;
    }
    .woocommerce-MyAccount-content .woocommerce-Button,
    .woocommerce-MyAccount-content button[name="save_account_details"],
    .woocommerce-MyAccount-content button[name="saveaddress"] {
        width: 100% !important;
        padding: 14px !important;
        font-size: .9rem !important;
        margin-top: 8px !important;
    }

    /* Tier progress */
    .mmpa-tier-progress-wrap { padding: 14px 16px; }

    /* Toast notifications */
    .mmpa-toast-wrap { bottom: 12px; right: 12px; left: 12px; }
    .mmpa-toast { max-width: 100%; font-size: .82rem; }
}

/* ── 480px — pantallas muy pequeñas ─────────────────────────── */
@media (max-width: 480px) {
    /* Stats: 1 columna en pantallas muy pequeñas */
    .mmpa-stats-row { grid-template-columns: 1fr 1fr; }

    /* Wishlist: 2 cols se mantiene pero con gap mínimo */
    .mmpa-wishlist-grid { gap: 8px; }
    .mmpa-wishlist-body { padding: 10px; }
    .mmpa-wishlist-name { font-size: .8rem; }

    /* Nav grid dashboard: 3 col */
    .mmpa-account-nav-grid { grid-template-columns: repeat(3, 1fr); }

    /* Content menos padding */
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 14px !important;
    }

    /* Headings dentro del content */
    .woocommerce-MyAccount-content > h2,
    .woocommerce-MyAccount-content > h3 {
        font-size: .95rem !important;
        margin: 0 0 14px !important;
        padding-bottom: 10px !important;
    }
}

@media (max-width: 400px) {
    .mmpa-wishlist-grid { grid-template-columns: 1fr; }
    .mmpa-stats-row { grid-template-columns: 1fr; }
    .mmpa-stats-row .mmpa-stat-box:last-child { grid-column: span 1; }
}

/* ═══════════════════════════════════════════════════════════
   AUTH MODAL — Popup de registro/login
═══════════════════════════════════════════════════════════ */
#mmpa-auth-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 100001;
    background: rgba(17,24,39,.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    align-items: center;
    justify-content: center;
    padding: 16px;
}
#mmpa-auth-modal.is-open {
    display: flex;
    animation: mmpaOverlayIn .2s ease;
}
@keyframes mmpaOverlayIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.mmpa-modal-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(17,24,39,.24);
    width: 100%;
    max-width: 440px;
    max-height: 92vh;
    overflow-y: auto;
    padding: 28px 28px 20px;
    position: relative;
    animation: mmpaCardIn .3s cubic-bezier(.34,1.56,.64,1);
    scrollbar-width: thin;
}
@keyframes mmpaCardIn {
    from { opacity: 0; transform: translateY(22px) scale(.96); }
    to   { opacity: 1; transform: translateY(0)    scale(1);   }
}
.mmpa-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}
.mmpa-modal-head-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
    letter-spacing: -.01em;
}
.mmpa-modal-close {
    background: none;
    border: none;
    cursor: pointer;
    color: #9ca3af;
    font-size: 1rem;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background .15s, color .15s;
    padding: 0;
    flex-shrink: 0;
}
.mmpa-modal-close:hover { background: #f3f4f6; color: #374151; }
.mmpa-modal-skip {
    display: block;
    width: 100%;
    background: none;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    cursor: pointer;
    color: #374151;
    font-size: .9rem;
    font-weight: 500;
    text-align: center;
    padding: 10px 16px;
    margin: 10px 0 0;
    transition: border-color .15s, color .15s, background .15s;
    letter-spacing: .01em;
}
.mmpa-modal-skip:hover {
    border-color: #9ca3af;
    background: #f9fafb;
    color: #111827;
}

/* ── Select / Sector ────────────────────────────────── */
.mmpa-field select {
    width: 100%;
    padding: 10px 36px 10px 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    font-size: .92rem;
    color: #111827;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
}
.mmpa-field select:focus {
    outline: none;
    border-color: #1e3a5f;
    box-shadow: 0 0 0 3px rgba(30,58,95,.1);
}
.mmpa-field select option[value=""][disabled] { color: #9ca3af; }

/* ── Compartir wishlist ─────────────────────────────── */
.mmpa-wishlist-header-btns {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.mmpa-btn-share {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f8f9fa;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    color: #374151;
    font-size: .88rem;
    font-weight: 500;
    padding: 9px 16px;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    white-space: nowrap;
}
.mmpa-btn-share:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
    color: #111827;
}

/* ── Página pública wishlist ─────────────────────────── */
.mmpa-shared-wishlist-page {
    padding: 40px 0 60px;
}
.mmpa-shared-wishlist-page .mmpa-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
.mmpa-shared-wishlist-header {
    text-align: center;
    margin-bottom: 40px;
}
.mmpa-shared-wishlist-icon {
    display: block;
    font-size: 2.8rem;
    margin-bottom: 12px;
    color: var(--mm-navy, #3a3972);
}
.mmpa-shared-wishlist-header h1 {
    font-size: 1.8rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px;
}
.mmpa-shared-wishlist-sub {
    color: #6b7280;
    font-size: .95rem;
    margin: 0;
}
.mmpa-shared-wishlist-cta {
    text-align: center;
    margin-top: 52px;
    padding: 36px 24px;
    background: linear-gradient(135deg, #f8f9fa 0%, #f0f2f8 100%);
    border-radius: 16px;
    border: 1px solid #e5e7eb;
}
.mmpa-shared-wishlist-cta p {
    font-size: 1rem;
    color: #374151;
    margin-bottom: 16px;
    font-weight: 500;
}

/* ── Wishlist compartida: layout a ancho completo + hero de marca (v2.9.4) ── */
body.mmpa-share-page #sidebar,
body.mmpa-share-page .et_pb_widget_area_left,
body.mmpa-share-page .et_pb_widget_area_right { display: none !important; }
body.mmpa-share-page #left-area {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    float: none !important;
}
body.mmpa-share-page #main-content .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}
body.mmpa-share-page .single .entry-title,
body.mmpa-share-page .et_post_meta_wrapper > h1 { display: none; }

.mmpa-shared-wishlist-page { padding: 0 0 64px; }
.mmpa-share-hero {
    background: linear-gradient(135deg, var(--mm-navy, #3a3972) 0%, #2b2a57 100%);
    color: #fff;
    text-align: center;
    padding: 56px 0 48px;
    margin-bottom: 44px;
}
.mmpa-share-hero .mmpa-container { max-width: 760px; margin: 0 auto; padding: 0 24px; }
.mmpa-share-hero-eyebrow {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(255, 255, 255, .14);
    color: #fff; font-size: .78rem; font-weight: 600;
    letter-spacing: .03em; text-transform: uppercase;
    padding: 6px 14px; border-radius: 999px; margin-bottom: 16px;
}
.mmpa-share-hero-eyebrow .mmpa-ico { color: #fff; }
.mmpa-share-hero-title {
    font-size: 2.2rem; font-weight: 800; line-height: 1.15;
    color: #fff; margin: 0 0 10px;
}
.mmpa-share-hero-meta { font-size: 1rem; color: rgba(255, 255, 255, .82); margin: 0; }
.mmpa-share-hero-meta strong { color: #fff; }

.mmpa-share-cta-title { font-size: 1.35rem; font-weight: 700; color: #111827; margin: 0 0 8px; }
.mmpa-share-cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 18px; }
.mmpa-btn-ghost-light {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 12px 22px; border-radius: 10px; font-weight: 600;
    background: #fff; color: var(--mm-navy, #3a3972);
    border: 1.5px solid var(--mm-navy, #3a3972); text-decoration: none;
    transition: background .15s, color .15s;
}
.mmpa-btn-ghost-light:hover { background: var(--mm-navy, #3a3972); color: #fff; }
.mmpa-share-footnote { text-align: center; color: #9ca3af; font-size: .85rem; margin: 28px 0 0; }

@media (max-width: 600px) {
    .mmpa-share-hero { padding: 40px 0 34px; margin-bottom: 32px; }
    .mmpa-share-hero-title { font-size: 1.7rem; }
}

@media (max-width: 480px) {
    .mmpa-modal-card {
        padding: 20px 16px 16px;
        border-radius: 12px;
        max-height: 96vh;
    }
}

/* ══════════════════════════════════════════════════
   PREMIUM v1.9.0 — Hero actions, notifications, etc.
══════════════════════════════════════════════════ */

.mmpa-hero-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

/* ── Bell de notificaciones ─────────────────────────────────── */
.mmpa-notif-bell {
    position: relative;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
    transition: background .2s, transform .2s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mmpa-notif-bell:hover {
    background: rgba(255,255,255,.22);
    transform: scale(1.05);
}
.mmpa-notif-bell.is-open {
    background: rgba(255,255,255,.28);
}
.mmpa-notif-badge {
    position: absolute;
    top: 2px; right: 2px;
    min-width: 18px; height: 18px;
    padding: 0 4px;
    border-radius: 9px;
    background: #ef4444;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0,0,0,.18);
    animation: mmpaPulse 2.4s ease-in-out infinite;
}
@keyframes mmpaPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,.55); }
    50%      { box-shadow: 0 0 0 6px rgba(239,68,68,0); }
}

/* ── Panel de notificaciones ────────────────────────────────── */
.mmpa-notif-panel {
    position: absolute;
    top: 92px; right: 32px;
    width: min(380px, calc(100vw - 32px));
    max-height: 480px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(17,24,39,.18), 0 4px 12px rgba(17,24,39,.08);
    overflow: hidden;
    z-index: 50;
    display: flex;
    flex-direction: column;
    transform: translateY(-8px);
    opacity: 0;
    transition: opacity .18s, transform .18s;
    pointer-events: none;
}
.mmpa-notif-panel.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.mmpa-notif-panel[hidden] { display: none; }
.mmpa-notif-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--mm-border);
    background: linear-gradient(180deg, #fafafd, #fff);
}
.mmpa-notif-panel-head strong {
    font-size: .95rem;
    color: var(--mm-text);
}
.mmpa-notif-mark-all {
    background: none;
    border: none;
    color: var(--mm-navy);
    font-size: .78rem;
    font-weight: 500;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background .15s;
}
.mmpa-notif-mark-all:hover { background: #f3f4f6; }
.mmpa-notif-panel-list {
    overflow-y: auto;
    max-height: 420px;
    flex: 1;
    scrollbar-width: thin;
}
.mmpa-notif-item {
    display: flex;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
    transition: background .15s;
    position: relative;
    text-decoration: none;
    color: inherit;
}
.mmpa-notif-item:hover { background: #f9fafb; }
.mmpa-notif-item--unread { background: rgba(58,57,114,.04); }
.mmpa-notif-item--unread::before {
    content: '';
    position: absolute;
    left: 6px; top: 50%;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--mm-navy);
    transform: translateY(-50%);
}
.mmpa-notif-icon {
    flex-shrink: 0;
    width: 36px; height: 36px;
    border-radius: 10px;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
}
.mmpa-notif-body { flex: 1; min-width: 0; }
.mmpa-notif-title {
    font-size: .88rem;
    font-weight: 600;
    color: var(--mm-text);
    margin: 0 0 2px;
    line-height: 1.3;
}
.mmpa-notif-msg {
    font-size: .8rem;
    color: var(--mm-muted);
    margin: 0;
    line-height: 1.4;
}
.mmpa-notif-time {
    font-size: .7rem;
    color: #9ca3af;
    margin-top: 4px;
    display: block;
}
.mmpa-notif-dismiss {
    background: none;
    border: none;
    color: #d1d5db;
    cursor: pointer;
    font-size: .9rem;
    padding: 0 4px;
    align-self: flex-start;
    transition: color .15s;
    opacity: 0;
}
.mmpa-notif-item:hover .mmpa-notif-dismiss { opacity: 1; }
.mmpa-notif-dismiss:hover { color: #6b7280; }
.mmpa-notif-empty {
    padding: 40px 20px;
    text-align: center;
    color: var(--mm-muted);
    font-size: .88rem;
}
.mmpa-notif-empty-icon {
    font-size: 2rem;
    margin-bottom: 8px;
    opacity: .5;
}
.mmpa-notif-loading {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ── Skeleton loaders ───────────────────────────────────────── */
.mmpa-skeleton {
    display: block;
    background: linear-gradient(90deg, #f3f4f6 0%, #e5e7eb 50%, #f3f4f6 100%);
    background-size: 200% 100%;
    border-radius: 6px;
    animation: mmpaShimmer 1.4s ease-in-out infinite;
}
.mmpa-skeleton--line { height: 14px; }
.mmpa-skeleton--block { height: 80px; }
@keyframes mmpaShimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ── Smart suggestion card ──────────────────────────────────── */
.mmpa-suggestion {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    margin-bottom: 16px;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1.5px solid var(--mm-border);
    transition: transform .15s, box-shadow .15s, border-color .15s;
    cursor: pointer;
}
.mmpa-suggestion:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(17,24,39,.06);
    border-color: var(--mm-navy-light);
}
.mmpa-suggestion-icon {
    flex-shrink: 0;
    width: 40px; height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    background: #f3f4f6;
}
.mmpa-suggestion-text {
    flex: 1;
    font-size: .92rem;
    color: var(--mm-text);
    font-weight: 500;
}
.mmpa-suggestion-cta {
    flex-shrink: 0;
    font-size: .82rem;
    font-weight: 600;
    color: var(--mm-navy);
    white-space: nowrap;
}
.mmpa-suggestion--drop {
    background: linear-gradient(135deg, #fef9c3 0%, #fef3c7 100%);
    border-color: #fde68a;
}
.mmpa-suggestion--drop .mmpa-suggestion-icon { background: rgba(255,255,255,.7); }
.mmpa-suggestion--drop .mmpa-suggestion-cta { color: #b45309; }

.mmpa-suggestion--coupon {
    background: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 100%);
    border-color: #f9a8d4;
}
.mmpa-suggestion--coupon .mmpa-suggestion-icon { background: rgba(255,255,255,.7); }
.mmpa-suggestion--coupon .mmpa-suggestion-cta { color: #be185d; }

.mmpa-suggestion--welcome {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
    border-color: #93c5fd;
}
.mmpa-suggestion--welcome .mmpa-suggestion-icon { background: rgba(255,255,255,.7); }
.mmpa-suggestion--welcome .mmpa-suggestion-cta { color: #1d4ed8; }

.mmpa-suggestion--wishlist {
    background: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 100%);
    border-color: #f9a8d4;
}
.mmpa-suggestion--wishlist .mmpa-suggestion-icon { background: rgba(255,255,255,.7); }
.mmpa-suggestion--wishlist .mmpa-suggestion-cta { color: #be185d; }

/* ── Stat pill ──────────────────────────────────────────────── */
.mmpa-stat-pill {
    display: inline-block;
    margin-top: 6px;
    font-size: .7rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 10px;
    background: #fef3c7;
    color: #b45309;
    line-height: 1.2;
}
.mmpa-stat-pill--drop {
    background: linear-gradient(135deg, #fef9c3, #fde68a);
    color: #92400e;
}

/* ── Sections (Buy again, Recently viewed) ──────────────────── */
.mmpa-section {
    margin: 24px 0;
    background: #fff;
    border-radius: var(--mm-radius);
    padding: 20px 22px;
    box-shadow: var(--mm-shadow-sm);
    border: 1px solid var(--mm-border);
}
.mmpa-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 14px;
    gap: 12px;
    flex-wrap: wrap;
}
.mmpa-section-head h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--mm-text);
}
.mmpa-section-sub {
    font-size: .8rem;
    color: var(--mm-muted);
}
.mmpa-product-strip {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 14px;
}
.mmpa-product-card {
    border: 1px solid var(--mm-border);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: transform .2s, box-shadow .2s;
    display: flex;
    flex-direction: column;
}
.mmpa-product-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(17,24,39,.08);
}
.mmpa-product-card-img {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f9fafb;
}
.mmpa-product-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
}
.mmpa-product-card:hover .mmpa-product-card-img img { transform: scale(1.05); }
.mmpa-product-card-body {
    padding: 10px 12px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}
.mmpa-product-card-name {
    font-size: .82rem;
    font-weight: 500;
    color: var(--mm-text);
    text-decoration: none;
    line-height: 1.3;
    min-height: 2.6em;
}
.mmpa-product-card-name:hover { color: var(--mm-navy); }
.mmpa-product-card-price {
    font-size: .9rem;
    font-weight: 700;
    color: var(--mm-text);
}
.mmpa-product-card-price del {
    color: #9ca3af;
    font-weight: 400;
    margin-right: 4px;
    font-size: .8rem;
}
.mmpa-product-card-btn {
    margin-top: auto;
    display: inline-block;
    text-align: center;
    padding: 7px 12px;
    background: var(--mm-navy);
    color: #fff;
    font-size: .78rem;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none;
    transition: background .15s;
}
.mmpa-product-card-btn:hover { background: var(--mm-navy-dark); }
.mmpa-product-card-out {
    margin-top: auto;
    text-align: center;
    padding: 7px 12px;
    font-size: .75rem;
    color: var(--mm-muted);
    background: #f3f4f6;
    border-radius: 6px;
}

/* ── Wishlist: price drop badges ─────────────────────────────── */
.mmpa-wishlist-alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: linear-gradient(135deg, #fef9c3 0%, #fde68a 100%);
    border: 1.5px solid #fbbf24;
    color: #78350f;
    font-size: .92rem;
}
.mmpa-wishlist-alert-icon { font-size: 1.4rem; }

.mmpa-stock-badge--drop {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%) !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(245,158,11,.35);
}

.mmpa-wishlist-card--drop {
    border: 1.5px solid #fbbf24 !important;
    box-shadow: 0 4px 16px rgba(251,191,36,.18) !important;
    position: relative;
}

.mmpa-wishlist-price--drop {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.mmpa-price-old {
    color: #9ca3af;
    text-decoration: line-through;
    font-size: .82rem;
    font-weight: 400;
}
.mmpa-price-new {
    color: #b45309;
    font-weight: 700;
    font-size: 1.05rem;
}
.mmpa-price-saving {
    color: #059669;
    font-size: .72rem;
    font-weight: 600;
    background: #d1fae5;
    padding: 2px 6px;
    border-radius: 4px;
    align-self: flex-start;
    margin-top: 2px;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 720px) {
    .mmpa-hero-actions {
        flex-direction: column;
        align-items: flex-end;
        gap: 8px;
    }
    .mmpa-notif-panel {
        right: 8px;
        top: auto;
        bottom: auto;
        position: fixed;
        top: 16px;
        right: 8px;
        left: 8px;
        width: auto;
        max-height: 70vh;
    }
    .mmpa-suggestion {
        flex-wrap: wrap;
    }
    .mmpa-suggestion-cta {
        width: 100%;
        text-align: right;
    }
    .mmpa-product-strip {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }
}

/* ══════════════════════════════════════════════════
   v2.1 — Wishlist button (data-active SVG toggle)
══════════════════════════════════════════════════ */

/* Botón wishlist en el listado / loop — TOP-LEFT */
.mmpa-wishlist-btn.mmpa-wishlist-loop {
    position: absolute !important;
    top: 10px !important; left: 10px !important; right: auto !important;
    z-index: 9999 !important;
    width: 36px; height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,.95);
    box-shadow: 0 2px 8px rgba(17,24,39,.14);
    cursor: pointer;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    transition: color .15s, background .15s, transform .15s, box-shadow .15s;
    padding: 0;
    pointer-events: auto !important;
}
.mmpa-wishlist-btn.mmpa-wishlist-loop:hover {
    background: #fff;
    color: var(--mm-navy);
    transform: scale(1.08);
    box-shadow: 0 4px 14px rgba(17,24,39,.18);
}
.mmpa-wishlist-btn.mmpa-wishlist-active.mmpa-wishlist-loop {
    color: #dc2626;
}

/* Botón wishlist en ficha de producto */
.mmpa-wishlist-btn.mmpa-wishlist-detail {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1.5px solid var(--mm-border);
    background: #fff;
    border-radius: 8px;
    cursor: pointer;
    color: var(--mm-text);
    font-size: .92rem;
    font-weight: 500;
    transition: border-color .15s, color .15s, background .15s;
}
.mmpa-wishlist-btn.mmpa-wishlist-detail:hover {
    border-color: var(--mm-navy);
    color: var(--mm-navy);
}
.mmpa-wishlist-btn.mmpa-wishlist-active.mmpa-wishlist-detail {
    color: #dc2626;
    border-color: #fca5a5;
    background: #fef2f2;
}

/* Swap de iconos por estado data-active */
.mmpa-wishlist-btn .mmpa-wl-icon { display: inline-flex; align-items: center; line-height: 1; }
.mmpa-wishlist-btn .mmpa-wl-icon--on,
.mmpa-wishlist-btn[data-active="0"] .mmpa-wl-icon--on { display: none; }
.mmpa-wishlist-btn[data-active="1"] .mmpa-wl-icon--off { display: none; }
.mmpa-wishlist-btn[data-active="1"] .mmpa-wl-icon--on  { display: inline-flex; }

/* Swap de etiqueta texto */
.mmpa-wishlist-btn .mmpa-wl-label--on,
.mmpa-wishlist-btn[data-active="0"] .mmpa-wl-label--on  { display: none; }
.mmpa-wishlist-btn[data-active="1"] .mmpa-wl-label--off { display: none; }
.mmpa-wishlist-btn[data-active="1"] .mmpa-wl-label--on  { display: inline; }

/* Estado loading */
.mmpa-wishlist-btn.is-loading { opacity: .6; cursor: wait; }

/* Animación de pulso al click */
.mmpa-heart-anim { animation: mmpaHeartPulse .4s ease-out; }
@keyframes mmpaHeartPulse {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.22); }
    100% { transform: scale(1); }
}

/* Icono SVG genérico — alinea con texto */
.mmpa-ico { display: inline-block; vertical-align: middle; }

/* Botones con icono + label alineados */
.mmpa-btn-primary,
.mmpa-btn-share,
.mmpa-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}
.mmpa-btn-primary .mmpa-ico,
.mmpa-btn-share .mmpa-ico,
.mmpa-btn-ghost .mmpa-ico { flex-shrink: 0; }

/* Hero actions — bell con SVG en vez de emoji */
.mmpa-notif-bell { color: #fff; }
.mmpa-notif-bell .mmpa-ico { color: #fff; }

/* Tier badge — medalla SVG */
.mmpa-tier-badge .mmpa-ico { color: var(--tier-color, #fff); }

/* Stat icons */
.mmpa-stat-icon .mmpa-ico { color: var(--mm-navy); }

/* Nav icons */
.mmpa-nav-icon .mmpa-ico { color: var(--mm-navy); opacity: .75; }
.mmpa-nav-card:hover .mmpa-nav-icon .mmpa-ico { opacity: 1; }

/* Suggestion */
.mmpa-suggestion-icon .mmpa-ico { color: inherit; }
.mmpa-suggestion-cta { display: inline-flex; align-items: center; gap: 4px; }

/* Reorder link icon */
.mmpa-reorder-link { display: inline-flex; align-items: center; gap: 4px; }

/* Empty state icons — SVG bigger */
.mmpa-empty-icon .mmpa-ico {
    width: 48px; height: 48px;
    color: var(--mm-muted);
    opacity: .5;
}

/* Compartir / share / btn ghost-share */
.mmpa-btn-share {
    padding: 9px 16px;
    background: #fff;
    border: 1.5px solid var(--mm-border);
    color: var(--mm-text);
    border-radius: 8px;
    font-size: .88rem;
    font-weight: 500;
    cursor: pointer;
    transition: border-color .15s, color .15s;
}
.mmpa-btn-share:hover {
    border-color: var(--mm-navy);
    color: var(--mm-navy);
}

/* Wishlist remove btn — limpio */
.mmpa-wishlist-remove {
    background: transparent;
    border: 1px solid var(--mm-border);
    color: var(--mm-muted);
    font-size: .82rem;
    padding: 6px 12px;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color .15s, border-color .15s;
}
.mmpa-wishlist-remove:hover {
    color: #dc2626;
    border-color: #fca5a5;
}

/* Address loaded state (sin emoji) */
.mmpa-checkout-address-trigger.is-loaded {
    color: #059669;
    border-color: #a7f3d0;
    background: #ecfdf5;
}

/* Direcciones — icono + en card add */
.mmpa-address-add-icon { display: inline-flex; align-items: center; justify-content: center; }
.mmpa-address-add-icon .mmpa-ico { width: 28px; height: 28px; opacity: .55; }

/* Address book phone — sin emoji, estilo limpio */
.mmpa-address-book-phone {
    color: var(--mm-muted);
    font-size: .85rem;
}

/* Shared wishlist icon (sin emoji) */
.mmpa-shared-wishlist-icon .mmpa-ico {
    width: 36px; height: 36px;
    color: var(--mm-navy);
}

/* ══════════════════════════════════════════════════
   WISHLIST — Overlay en galería de producto
══════════════════════════════════════════════════ */
.woocommerce-product-gallery { position: relative !important; }

.mmpa-wishlist-gallery-overlay {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    right: auto !important;
    z-index: 20 !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.14) !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    transition: transform .2s var(--mm-t), box-shadow .2s var(--mm-t);
    padding: 0 !important;
}
.mmpa-wishlist-gallery-overlay:hover {
    transform: scale(1.12);
    box-shadow: 0 4px 16px rgba(0,0,0,.18) !important;
}
.mmpa-wishlist-gallery-overlay .mmpa-wl-label--off,
.mmpa-wishlist-gallery-overlay .mmpa-wl-label--on { display: none !important; }

/* ══════════════════════════════════════════════════
   ABANDONED CART MODAL — #mmpa-ac-modal
══════════════════════════════════════════════════ */
#mmpa-ac-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 100001;
    background: rgba(17,24,39,.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    align-items: center;
    justify-content: center;
    padding: 16px;
}
#mmpa-ac-modal.is-open {
    display: flex !important;
    animation: mmpaOverlayIn .2s ease;
}
.mmpa-ac-modal-card {
    max-width: 480px;
    width: 100%;
}
.mmpa-ac-modal-sub {
    color: var(--mm-muted);
    font-size: .88rem;
    line-height: 1.55;
    text-align: center;
    margin: 0 0 20px;
}
.mmpa-ac-google-wrap {
    margin-bottom: 10px;
}
/* Botón "Continuar sin guardar datos" — ghost discreto */
.mmpa-ac-guest-btn {
    display: block;
    width: 100%;
    padding: 10px 16px;
    background: transparent;
    border: 1.5px solid var(--mm-border);
    border-radius: var(--mm-radius-sm);
    color: var(--mm-muted);
    font-size: .82rem;
    font-family: var(--mm-font);
    cursor: pointer;
    text-align: center;
    transition: border-color .18s, color .18s;
    margin-bottom: 4px;
    line-height: 1.4;
}
.mmpa-ac-guest-btn:hover {
    border-color: #d1d5db;
    color: #374151;
}
.mmpa-ac-guest-btn:disabled {
    opacity: .5;
    cursor: default;
}

/* Divider inside AC modal */
.mmpa-ac-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 12px 0 16px;
    color: var(--mm-muted);
    font-size: .78rem;
}
.mmpa-ac-divider::before,
.mmpa-ac-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--mm-border);
}
.mmpa-ac-divider span { white-space: nowrap; }

/* Note under guest button */
.mmpa-ac-guest-note {
    font-size: .74rem;
    color: var(--mm-muted);
    margin: 0 0 8px;
    line-height: 1.4;
    text-align: center;
}

/* Form fields — !important to override theme styles */
.mmpa-ac-field { margin-bottom: 10px; }
.mmpa-ac-input {
    display: block !important;
    width: 100% !important;
    padding: 11px 14px !important;
    border: 1.5px solid var(--mm-border) !important;
    border-radius: var(--mm-radius-sm) !important;
    font-size: .875rem !important;
    font-family: var(--mm-font) !important;
    color: var(--mm-text) !important;
    background: #f8fafc !important;
    transition: border-color .18s, box-shadow .18s !important;
    box-sizing: border-box !important;
    height: auto !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}
.mmpa-ac-input:focus {
    background: #fff !important;
    border-color: var(--mm-navy) !important;
    box-shadow: 0 0 0 3px rgba(58,57,114,.1) !important;
}
.mmpa-ac-input::placeholder { color: #b0b7cc !important; }
.mmpa-ac-input--required { border-color: rgba(58,57,114,.35) !important; }
.mmpa-ac-field-hint {
    display: block;
    font-size: .73rem;
    color: var(--mm-muted);
    margin-top: 4px;
}
.mmpa-ac-privacy-field { margin-top: 12px; }
.mmpa-ac-privacy-label {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-size: .82rem;
    cursor: pointer;
    color: var(--mm-text);
}
.mmpa-ac-privacy-label input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; }
.mmpa-ac-privacy-label a { color: var(--mm-navy); }
.mmpa-ac-submit-btn {
    display: block;
    width: 100%;
    padding: 12px 20px;
    margin-top: 14px;
    background: var(--mm-navy);
    color: #fff;
    border: none;
    border-radius: var(--mm-radius-sm);
    font-size: .95rem;
    font-weight: 600;
    font-family: var(--mm-font);
    cursor: pointer;
    transition: background .18s;
}
.mmpa-ac-submit-btn:hover { background: var(--mm-navy-dark); }
.mmpa-ac-submit-btn:disabled { opacity: .6; cursor: default; }
.mmpa-ac-msg {
    margin-top: 8px;
    font-size: .83rem;
    min-height: 18px;
}
.mmpa-ac-msg.is-error { color: var(--mm-danger); }
.mmpa-ac-msg.is-success { color: var(--mm-success); }
.mmpa-ac-privacy-note {
    font-size: .74rem;
    color: var(--mm-muted);
    text-align: center;
    margin: 10px 0 0;
    line-height: 1.4;
}

/* ══════════════════════════════════════════════════
   WISHLIST — Badges en listados (precio caído / stock)
   Asegurar que el botón en listados standard sea visible
══════════════════════════════════════════════════ */
/* Contexto de posicionamiento para el botón wishlist (fallback si no hay .woocommerce-LoopProduct-link) */
ul.products li.product,
.related li.product,
.upsells li.product,
.cross-sells li.product { position: relative; }

/* El enlace de imagen recibe position:relative vía JS — garantizamos que no lo rompa el tema */
ul.products li.product a.woocommerce-LoopProduct-link,
ul.products li.product a.woocommerce-loop-product__link,
.related li.product a.woocommerce-LoopProduct-link,
.upsells li.product a.woocommerce-LoopProduct-link,
.cross-sells li.product a.woocommerce-LoopProduct-link { position: relative; overflow: visible !important; }

/* ══════════════════════════════════════════════════
   v2.3.0 — AC Modal context sections + header icons
══════════════════════════════════════════════════ */

/* Context blocks — ver carrito / finalizar compra */
.mmpa-ac-ctx { margin-bottom: 14px; }
.mmpa-ac-ctx-desc {
    font-size: .85rem;
    color: var(--mm-muted);
    text-align: center;
    margin: 0 0 10px;
    line-height: 1.5;
}

/* "Añadir a wishlist" checkbox inside view-cart context */
.mmpa-ac-wishlist-opt {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .84rem;
    color: var(--mm-text);
    cursor: pointer;
    padding: 9px 12px;
    border: 1.5px solid var(--mm-border);
    border-radius: var(--mm-radius-sm);
    transition: border-color .18s;
}
.mmpa-ac-wishlist-opt:hover { border-color: var(--mm-navy); }
.mmpa-ac-wishlist-opt input[type="checkbox"] { flex-shrink: 0; accent-color: var(--mm-navy); }

/* Benefits list inside checkout context */
.mmpa-ac-benefits {
    list-style: none;
    margin: 0 0 4px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.mmpa-ac-benefits li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .85rem;
    color: var(--mm-text);
    line-height: 1.4;
}
.mmpa-ac-benefits li::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--mm-navy);
    flex-shrink: 0;
}

/* Wishlist loop button — z-index bumped for priority-1 hook position */
.mmpa-wishlist-btn.mmpa-wishlist-loop { z-index: 9999 !important; }

/* ── Wishlist en contenedores externos: mm-card, Flatsome, WC blocks ── */
/* SPECIFICITY BOOST: usamos selectores con article./body. para vencer al CSS
   del plugin matmap-plp-filters que pone overflow:hidden en .mm-card */
body article.mm-card,
body .mm-grid > .mm-card,
body .mm-card[data-mm-product-id],
body .product-small,
body .wc-block-grid__product,
body .wp-block-woocommerce-product-template > li {
    position: relative !important;
    overflow: visible !important;
}

/* Posicionamiento TOP-LEFT consistente en todos los listados */
article.mm-card > .mmpa-wishlist-btn.mmpa-wishlist-loop,
.mm-card > .mmpa-wishlist-btn.mmpa-wishlist-loop,
.product-small > .mmpa-wishlist-btn.mmpa-wishlist-loop,
.wc-block-grid__product > .mmpa-wishlist-btn.mmpa-wishlist-loop,
.wp-block-woocommerce-product-template > li > .mmpa-wishlist-btn.mmpa-wishlist-loop {
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    z-index: 9999 !important;
}

/* ── Save Cart Modal v2.3.3 — Minimalista ── */
.mmpa-ac-modal-card {
    max-width: 420px;
    padding: 28px 28px 22px;
}
.mmpa-ac-modal-card .mmpa-modal-head {
    margin-bottom: 6px;
    border-bottom: 0;
    padding-bottom: 0;
}
.mmpa-ac-modal-card .mmpa-modal-head-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--mm-text);
}
.mmpa-ac-modal-card .mmpa-ac-modal-sub {
    color: var(--mm-muted);
    font-size: .88rem;
    line-height: 1.5;
    margin: 0 0 18px;
    text-align: left;
}
.mmpa-ac-modal-card .mmpa-ac-field { margin-bottom: 12px; }

.mmpa-ac-create-account-label,
.mmpa-ac-privacy-label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: .82rem;
    line-height: 1.45;
    color: var(--mm-text);
    cursor: pointer;
    margin: 10px 0;
}
.mmpa-ac-create-account-label input[type="checkbox"],
.mmpa-ac-privacy-label input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--mm-navy);
}

.mmpa-ac-skip-btn {
    display: block;
    width: 100%;
    margin-top: 10px;
    padding: 8px;
    background: transparent;
    border: 0;
    color: var(--mm-muted);
    font-size: .82rem;
    cursor: pointer;
    text-align: center;
    font-family: inherit;
}
.mmpa-ac-skip-btn:hover { color: var(--mm-text); text-decoration: underline; }

/* ══════════════════════════════════════════════════
   v2.4.0 — Floating Wishlist Widget + Modal Unification
═══════════════════════════════════════════════════ */

/* ── Floating wishlist (bottom-left) ── */
.mmpa-fwl {
    position: fixed;
    left: 22px;
    bottom: 90px;
    z-index: 99998;
    font-family: var(--mm-font);
}
.mmpa-fwl[hidden] { display: none !important; }

.mmpa-fwl-toggle {
    position: relative;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--mm-navy);
    color: #fff;
    border: 0;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(58,57,114,.32), 0 2px 8px rgba(17,24,39,.18);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    padding: 0;
}
.mmpa-fwl-toggle:hover {
    transform: translateY(-2px) scale(1.04);
    background: var(--mm-navy-dark);
    box-shadow: 0 12px 32px rgba(58,57,114,.42), 0 4px 12px rgba(17,24,39,.22);
}
.mmpa-fwl-toggle:active { transform: scale(.96); }
.mmpa-fwl-icon { display: flex; align-items: center; justify-content: center; line-height: 1; }
.mmpa-fwl-icon svg { width: 22px; height: 22px; }

.mmpa-fwl-count {
    position: absolute;
    top: -4px; right: -4px;
    min-width: 22px; height: 22px;
    padding: 0 6px;
    background: var(--mm-gold);
    color: #fff;
    border-radius: 11px;
    font-size: 11px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
    box-sizing: border-box;
    box-shadow: 0 2px 6px rgba(230,145,48,.40);
    border: 2px solid #fff;
}
.mmpa-fwl-count:empty { display: none; }

/* ── Drawer (slides from left) ── */
.mmpa-fwl-drawer {
    position: fixed;
    left: 22px;
    bottom: 160px;
    width: 360px;
    max-width: calc(100vw - 44px);
    max-height: calc(100vh - 130px);
    background: #fff;
    border-radius: var(--mm-radius);
    box-shadow: 0 20px 60px rgba(17,24,39,.22), 0 4px 12px rgba(17,24,39,.08);
    display: flex;
    flex-direction: column;
    opacity: 0;
    transform: translateY(12px) scale(.96);
    transform-origin: bottom left;
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
    z-index: 99997;
    overflow: hidden;
}
.mmpa-fwl-drawer.is-open {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.mmpa-fwl-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px 14px;
    border-bottom: 1px solid var(--mm-border);
    background: linear-gradient(180deg, #fafbfd 0%, #ffffff 100%);
}
.mmpa-fwl-head-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--mm-text);
    font-size: .95rem;
}
.mmpa-fwl-head-title strong { font-weight: 700; }
.mmpa-fwl-head-heart { color: #dc2626; display: inline-flex; }
.mmpa-fwl-head-heart svg { width: 16px; height: 16px; }
.mmpa-fwl-head-count {
    background: var(--mm-navy);
    color: #fff;
    border-radius: 10px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 700;
    min-width: 22px;
    text-align: center;
}
.mmpa-fwl-close {
    background: transparent; border: 0; cursor: pointer;
    width: 28px; height: 28px;
    color: var(--mm-muted);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    transition: background .15s, color .15s;
    font-size: 14px;
}
.mmpa-fwl-close:hover { background: var(--mm-border); color: var(--mm-text); }

.mmpa-fwl-body {
    flex: 1;
    overflow-y: auto;
    padding: 6px 8px;
}
.mmpa-fwl-loading, .mmpa-fwl-empty {
    text-align: center;
    padding: 32px 18px;
    color: var(--mm-muted);
    font-size: .88rem;
    line-height: 1.5;
}
.mmpa-fwl-empty span {
    display: block;
    margin-top: 6px;
    font-size: .8rem;
    opacity: .85;
}

.mmpa-fwl-list { list-style: none; margin: 0; padding: 0; }
.mmpa-fwl-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border-radius: var(--mm-radius-sm);
    transition: background .15s;
}
.mmpa-fwl-item:hover { background: #f8f9fc; }
.mmpa-fwl-item + .mmpa-fwl-item { border-top: 1px solid var(--mm-border); margin-top: 2px; padding-top: 12px; }

.mmpa-fwl-img {
    flex-shrink: 0;
    width: 56px; height: 56px;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f6fa;
    display: block;
}
.mmpa-fwl-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.mmpa-fwl-info { flex: 1; min-width: 0; }
.mmpa-fwl-name {
    display: block;
    color: var(--mm-text);
    font-size: .86rem;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.mmpa-fwl-name:hover { color: var(--mm-navy); }
.mmpa-fwl-price {
    margin-top: 4px;
    font-size: .82rem;
    color: var(--mm-gold);
    font-weight: 600;
}
.mmpa-fwl-price del { color: var(--mm-muted); font-weight: 400; opacity: .7; margin-right: 4px; }

.mmpa-fwl-remove {
    flex-shrink: 0;
    width: 28px; height: 28px;
    background: transparent;
    border: 1px solid var(--mm-border);
    border-radius: 50%;
    color: var(--mm-muted);
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px;
    transition: all .15s;
}
.mmpa-fwl-remove:hover { background: #fef2f2; border-color: #fca5a5; color: #dc2626; }

.mmpa-fwl-foot {
    padding: 12px 14px;
    border-top: 1px solid var(--mm-border);
    background: #fafbfd;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.mmpa-fwl-addall {
    display: block;
    width: 100%;
    padding: 10px 14px;
    background: var(--mm-navy);
    color: #fff;
    border: 0;
    border-radius: 10px;
    font-size: .88rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s, transform .12s;
}
.mmpa-fwl-addall:hover { background: var(--mm-navy-dark); }
.mmpa-fwl-addall:active { transform: scale(.98); }
.mmpa-fwl-addall:disabled { opacity: .6; cursor: default; }
.mmpa-fwl-link {
    display: block;
    text-align: center;
    color: var(--mm-muted);
    font-size: .8rem;
    text-decoration: none;
    padding: 4px;
    border-radius: 6px;
    transition: color .15s;
}
.mmpa-fwl-link:hover { color: var(--mm-navy); text-decoration: underline; }

/* "Ver producto" link en cada item del drawer */
.mmpa-fwl-view {
    display: inline-block;
    margin-top: 6px;
    padding: 5px 10px;
    background: transparent;
    border: 1px solid var(--mm-navy);
    color: var(--mm-navy);
    border-radius: 6px;
    font-size: .76rem;
    font-weight: 600;
    text-decoration: none;
    font-family: inherit;
    transition: background .15s, color .15s;
}
.mmpa-fwl-view:hover { background: var(--mm-navy); color: #fff; }

/* Guest quick button arriba del save-cart modal (1ª opción, discreta) */
.mmpa-ac-guest-quick {
    display: block;
    width: 100%;
    padding: 11px 14px;
    background: transparent;
    border: 1.5px solid var(--mm-border);
    color: var(--mm-text);
    border-radius: 10px;
    font-size: .88rem;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    transition: border-color .15s, background .15s, color .15s;
    margin-bottom: 14px;
}
.mmpa-ac-guest-quick:hover {
    border-color: var(--mm-navy);
    color: var(--mm-navy);
    background: #f8f9fc;
}

@media (max-width: 480px) {
    .mmpa-fwl { left: 14px; bottom: 80px; }
    .mmpa-fwl-toggle { width: 52px; height: 52px; }
    .mmpa-fwl-drawer {
        left: 14px;
        right: 14px;
        bottom: 144px;
        width: auto;
        max-width: none;
    }
}

/* ══════════════════════════════════════════════════
   v2.4.0 — Modal style unification (auth + save-cart)
═══════════════════════════════════════════════════ */

/* Card base — applies to all .mmpa-modal-card variants */
.mmpa-modal-overlay {
    background: rgba(17,24,39,.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.mmpa-modal-overlay .mmpa-modal-card,
.mmpa-modal-overlay .mmpa-ac-modal-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(17,24,39,.28), 0 4px 12px rgba(17,24,39,.08);
    padding: 26px 28px 22px;
    max-width: 440px;
    width: 100%;
    max-height: 92vh;
    overflow-y: auto;
}

/* Modal head: title + close, consistent across modals */
.mmpa-modal-overlay .mmpa-modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    padding-bottom: 0;
    border-bottom: 0;
}
.mmpa-modal-overlay .mmpa-modal-head-title {
    font-size: 1.18rem;
    font-weight: 700;
    color: var(--mm-text);
    line-height: 1.3;
    letter-spacing: -.01em;
}
.mmpa-modal-overlay .mmpa-modal-close {
    background: #f4f5f8;
    border: 0;
    width: 30px; height: 30px;
    border-radius: 50%;
    color: var(--mm-muted);
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px;
    transition: background .15s, color .15s;
    flex-shrink: 0;
}
.mmpa-modal-overlay .mmpa-modal-close:hover { background: #e5e7eb; color: var(--mm-text); }

/* Subtitle text — used in save-cart and others */
.mmpa-ac-modal-sub {
    color: var(--mm-muted);
    font-size: .9rem;
    line-height: 1.5;
    margin: 0 0 18px;
}

/* Inputs — consistent style across modals */
.mmpa-modal-overlay input[type="email"],
.mmpa-modal-overlay input[type="tel"],
.mmpa-modal-overlay input[type="text"],
.mmpa-modal-overlay input[type="password"],
.mmpa-modal-overlay select,
.mmpa-ac-input {
    display: block;
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    font-size: .92rem;
    font-family: var(--mm-font);
    color: var(--mm-text);
    background: #fff;
    transition: border-color .18s, box-shadow .18s;
    box-sizing: border-box;
    line-height: 1.3;
}
.mmpa-modal-overlay input:focus,
.mmpa-modal-overlay select:focus,
.mmpa-ac-input:focus {
    outline: none;
    border-color: var(--mm-navy);
    box-shadow: 0 0 0 3px rgba(58,57,114,.12);
}

/* Primary CTA button — consistent across modals */
.mmpa-ac-submit-btn,
.mmpa-btn-auth {
    display: block;
    width: 100%;
    padding: 13px 20px;
    margin-top: 14px;
    background: var(--mm-navy);
    color: #fff;
    border: 0;
    border-radius: 10px;
    font-size: .98rem;
    font-weight: 600;
    font-family: var(--mm-font);
    cursor: pointer;
    transition: background .18s, transform .12s, box-shadow .18s;
    box-shadow: 0 2px 8px rgba(58,57,114,.18);
}
.mmpa-ac-submit-btn:hover,
.mmpa-btn-auth:hover {
    background: var(--mm-navy-dark);
    box-shadow: 0 6px 16px rgba(58,57,114,.28);
    transform: translateY(-1px);
}
.mmpa-ac-submit-btn:disabled,
.mmpa-btn-auth:disabled { opacity: .6; cursor: default; transform: none; box-shadow: 0 2px 8px rgba(58,57,114,.18); }

/* Google sign-in container in modals */
.mmpa-ac-google-wrap { margin: 4px 0 14px; }
.mmpa-ac-google-wrap .g_id_signin > div { margin: 0 auto !important; }

/* Divider — used between Google and form */
.mmpa-ac-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 14px 0 16px;
    color: var(--mm-muted);
    font-size: .78rem;
}
.mmpa-ac-divider::before,
.mmpa-ac-divider::after {
    content: ''; flex: 1; height: 1px;
    background: var(--mm-border);
}

/* Checkboxes — consistent across modals (privacy + create-account) */
.mmpa-ac-create-account-label,
.mmpa-ac-privacy-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: .85rem;
    line-height: 1.5;
    color: var(--mm-text);
    cursor: pointer;
    margin: 10px 0;
    padding: 8px 10px;
    border-radius: 8px;
    transition: background .15s;
}
.mmpa-ac-create-account-label:hover,
.mmpa-ac-privacy-label:hover { background: #f8f9fc; }
.mmpa-ac-create-account-label input[type="checkbox"],
.mmpa-ac-privacy-label input[type="checkbox"] {
    margin-top: 2px;
    width: 16px; height: 16px;
    flex-shrink: 0;
    accent-color: var(--mm-navy);
    cursor: pointer;
}
.mmpa-ac-privacy-label a { color: var(--mm-navy); font-weight: 500; }

/* Message feedback (success/error) */
.mmpa-ac-msg {
    margin-top: 10px;
    font-size: .85rem;
    min-height: 18px;
    text-align: center;
}
.mmpa-ac-msg.is-error   { color: #dc2626; }
.mmpa-ac-msg.is-success { color: var(--mm-success); }

/* ── Header icons — [mmpa_wishlist_icon] / [mmpa_account_icon] ── */
.mmpa-header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: inherit;
    text-decoration: none;
    line-height: 1;
    transition: opacity .18s;
}
.mmpa-header-icon:hover { opacity: .75; }
.mmpa-header-icon svg { display: block; }

.mmpa-header-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    background: var(--mm-danger, #dc2626);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    font-family: var(--mm-font);
    line-height: 17px;
    border-radius: 9px;
    text-align: center;
    box-sizing: border-box;
}
.mmpa-header-badge:empty { display: none; }

/* ══════════════════════════════════════════════════
   v2.5.0 — Save-Cart modal redesign + responsive polish
═══════════════════════════════════════════════════ */

/* Card del save-cart: centrado, aireado */
.mmpa-modal-overlay .mmpa-ac-modal-card {
    max-width: 432px;
    padding: 30px 30px 24px;
    text-align: center;
    position: relative;
}

/* Close absoluto en esquina */
.mmpa-modal-close--abs {
    position: absolute;
    top: 14px; right: 14px;
    z-index: 2;
}

/* Icono circular arriba */
.mmpa-ac-icon {
    width: 52px; height: 52px;
    margin: 2px auto 14px;
    border-radius: 50%;
    background: #f0f0f8;
    color: var(--mm-navy);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Título + subtítulo centrados */
.mmpa-ac-title {
    font-size: 1.22rem;
    font-weight: 700;
    color: var(--mm-text);
    line-height: 1.3;
    margin: 0 0 8px;
    letter-spacing: -.01em;
}
.mmpa-modal-overlay .mmpa-ac-modal-sub {
    color: var(--mm-muted);
    font-size: .88rem;
    line-height: 1.5;
    margin: 0 0 20px;
    text-align: center;
}

/* Botón "Continuar como invitado" — ghost, primera opción */
.mmpa-ac-guest-quick {
    display: block;
    width: 100%;
    padding: 12px 16px;
    background: #fff;
    border: 1.5px solid #e5e7eb;
    color: var(--mm-text);
    border-radius: 11px;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
    font-family: var(--mm-font);
    transition: border-color .15s, background .15s, color .15s;
}
.mmpa-ac-guest-quick:hover {
    border-color: var(--mm-navy);
    background: #f8f9fc;
    color: var(--mm-navy);
}

/* Divisores */
.mmpa-modal-overlay .mmpa-ac-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 0;
    color: var(--mm-muted);
    font-size: .76rem;
    text-transform: lowercase;
}
.mmpa-modal-overlay .mmpa-ac-divider::before,
.mmpa-modal-overlay .mmpa-ac-divider::after {
    content: ''; flex: 1; height: 1px; background: var(--mm-border);
}

/* Form — labels alineados a la izquierda */
.mmpa-ac-register-form { text-align: left; }
.mmpa-ac-field { margin-bottom: 13px; }
.mmpa-ac-label {
    display: block;
    font-size: .8rem;
    font-weight: 600;
    color: var(--mm-text);
    margin-bottom: 5px;
}
.mmpa-ac-req { color: var(--mm-danger); }

/* Checkbox "crear cuenta" — destacado */
.mmpa-modal-overlay .mmpa-ac-create-account-label {
    background: #f8f9fc;
    border: 1px solid var(--mm-border);
    border-radius: 10px;
    padding: 11px 12px;
    margin: 14px 0 0;
    font-size: .84rem;
}
.mmpa-ac-create-account-label em {
    display: block;
    font-style: normal;
    font-size: .76rem;
    color: var(--mm-muted);
    margin-top: 2px;
}

/* Bloque selector tipo de cuenta */
.mmpa-ac-type-block {
    margin: 10px 0 4px;
    padding: 12px;
    background: #f0f0f8;
    border-radius: 10px;
}
.mmpa-ac-type-q {
    display: block;
    font-size: .8rem;
    font-weight: 600;
    color: var(--mm-text);
    margin-bottom: 8px;
}
.mmpa-ac-type-options {
    display: flex;
    gap: 8px;
}
.mmpa-ac-type-opt {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 8px;
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    font-size: .82rem;
    font-weight: 600;
    color: var(--mm-text);
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.mmpa-ac-type-opt:hover { border-color: var(--mm-navy); }
.mmpa-ac-type-opt.is-selected {
    border-color: var(--mm-navy);
    background: #f5f5fb;
    color: var(--mm-navy);
}
.mmpa-ac-type-opt input { position: absolute; opacity: 0; pointer-events: none; }
.mmpa-ac-type-opt svg { flex-shrink: 0; }

/* Checkbox privacidad */
.mmpa-modal-overlay .mmpa-ac-privacy-label {
    font-size: .8rem;
    margin: 12px 0 0;
    padding: 0;
    background: transparent;
}
.mmpa-modal-overlay .mmpa-ac-privacy-label:hover { background: transparent; }

/* "No, gracias" link */
.mmpa-ac-skip-btn {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 6px;
    background: transparent;
    border: 0;
    color: var(--mm-muted);
    font-size: .82rem;
    cursor: pointer;
    font-family: var(--mm-font);
}
.mmpa-ac-skip-btn:hover { color: var(--mm-text); text-decoration: underline; }

/* ── Responsive: modales en móvil ── */
@media (max-width: 520px) {
    .mmpa-modal-overlay {
        padding: 0;
        align-items: flex-end;
    }
    .mmpa-modal-overlay .mmpa-modal-card,
    .mmpa-modal-overlay .mmpa-ac-modal-card {
        max-width: 100%;
        border-radius: 18px 18px 0 0;
        padding: 24px 20px 20px;
        max-height: 94vh;
    }
    .mmpa-ac-title { font-size: 1.1rem; }
    .mmpa-fwl-toggle { width: 50px; height: 50px; }
}

/* ── Responsive: floating widget no choca con el botón de chat ── */
@media (max-width: 380px) {
    .mmpa-fwl { bottom: 142px; }
    .mmpa-fwl-drawer { bottom: 200px; }
}

/* ══════════════════════════════════════════════════
   v2.5.1 — Tipo de cuenta en "Detalles de la cuenta"
═══════════════════════════════════════════════════ */
.mmpa-account-type-fieldset {
    border: 1px solid var(--mm-border);
    border-radius: 12px;
    padding: 18px 20px 6px;
    margin: 22px 0 12px;
    background: #fafbfd;
}
.mmpa-account-type-fieldset legend {
    padding: 0 8px;
    font-weight: 700;
    color: var(--mm-text);
    font-size: .95rem;
}
.mmpa-account-type-help {
    color: var(--mm-muted);
    font-size: .85rem;
    margin: 0 0 14px;
    line-height: 1.5;
}
.mmpa-acct-type-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 16px;
}
.mmpa-acct-type-opt {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1.5px solid var(--mm-border);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.mmpa-acct-type-opt:hover { border-color: var(--mm-navy-light); }
.mmpa-acct-type-opt.is-selected {
    border-color: var(--mm-navy);
    background: #f5f5fb;
    box-shadow: 0 2px 8px rgba(58,57,114,.08);
}
.mmpa-acct-type-opt input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.mmpa-acct-type-opt svg { color: var(--mm-navy); flex-shrink: 0; }
.mmpa-acct-type-lbl { display: flex; flex-direction: column; line-height: 1.3; }
.mmpa-acct-type-lbl strong { font-size: .92rem; color: var(--mm-text); font-weight: 700; }
.mmpa-acct-type-lbl em { font-style: normal; font-size: .76rem; color: var(--mm-muted); margin-top: 2px; }

.mmpa-acct-company-fields {
    padding-top: 4px;
    border-top: 1px dashed var(--mm-border);
    margin-top: 4px;
}
.mmpa-acct-company-fields[hidden] { display: none !important; }

@media (max-width: 520px) {
    .mmpa-acct-type-options { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════
   v2.5.2 — Multi-step modal: method cards + step navigation
═══════════════════════════════════════════════════ */

/* Ocultar pasos inactivos */
.mmpa-modal-step[hidden],
.mmpa-ac-step[hidden] { display: none !important; }

/* Animación de entrada al cambiar de paso */
.mmpa-modal-step:not([hidden]),
.mmpa-ac-step:not([hidden]) {
    animation: mmpaStepIn .2s cubic-bezier(.4,0,.2,1);
}
@keyframes mmpaStepIn {
    from { opacity: 0; transform: translateX(12px); }
    to   { opacity: 1; transform: translateX(0); }
}

/* ── Botón volver ── */
.mmpa-step-back {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--mm-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px; height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
    transition: background .15s, color .15s;
}
.mmpa-step-back:hover { background: #f3f4f6; color: var(--mm-text); }
.mmpa-step-back[hidden] { display: none !important; }

/* ── Mensaje contextual (wishlist / checkout) ── */
.mmpa-modal-ctx-msg {
    background: #f0f2f8;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: .84rem;
    color: var(--mm-navy);
    margin-bottom: 18px;
    line-height: 1.45;
}
.mmpa-modal-ctx-msg[hidden] { display: none !important; }

/* ── Tarjetas de método (method-btn) ── */
.mmpa-method-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    cursor: pointer;
    font-family: var(--mm-font);
    text-align: left;
    transition: border-color .15s, background .15s, box-shadow .15s, transform .12s;
    margin-bottom: 10px;
    border: 1.5px solid var(--mm-border);
    background: #fff;
}

/* Botón principal — fondo navy */
.mmpa-method-btn--primary {
    background: var(--mm-navy);
    border-color: var(--mm-navy);
    color: #fff;
    box-shadow: 0 2px 10px rgba(58,57,114,.18);
}
.mmpa-method-btn--primary:hover {
    background: var(--mm-navy-dark);
    box-shadow: 0 6px 18px rgba(58,57,114,.28);
    transform: translateY(-1px);
}
.mmpa-method-btn--primary .mmpa-method-btn-body strong { color: #fff; }
.mmpa-method-btn--primary .mmpa-method-btn-body span   { color: rgba(255,255,255,.7); }
.mmpa-method-btn--primary .mmpa-method-btn-arrow       { color: rgba(255,255,255,.65); }

/* Botón ghost — borde fino */
.mmpa-method-btn--ghost {
    background: #fafbfd;
    border-color: var(--mm-border);
    color: var(--mm-text);
}
.mmpa-method-btn--ghost:hover {
    border-color: #d1d5db;
    background: #fff;
}
.mmpa-method-btn--ghost .mmpa-method-btn-arrow { color: var(--mm-muted); }

/* Cuerpo del botón de método */
.mmpa-method-btn-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.mmpa-method-btn-body strong {
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--mm-text);
}
.mmpa-method-btn-body span {
    font-size: .78rem;
    color: var(--mm-muted);
    line-height: 1.3;
}

/* Flecha del método */
.mmpa-method-btn-arrow {
    font-size: 1.4rem;
    font-weight: 300;
    line-height: 1;
    color: var(--mm-muted);
    flex-shrink: 0;
}

/* ── Enlace "¿Ya tienes cuenta?" ── */
.mmpa-method-link {
    display: block;
    width: 100%;
    background: none;
    border: none;
    padding: 10px 0;
    text-align: center;
    font-size: .875rem;
    color: var(--mm-muted);
    cursor: pointer;
    font-family: var(--mm-font);
    transition: color .15s;
    margin-top: 2px;
}
.mmpa-method-link:hover { color: var(--mm-navy); }
.mmpa-method-link strong { color: var(--mm-navy); font-weight: 700; }

/* Icono de la save-cart + subtítulo en paso 1 */
.mmpa-ac-step .mmpa-ac-icon { margin-bottom: 10px; }
.mmpa-ac-step .mmpa-ac-modal-sub {
    text-align: center;
    margin-bottom: 20px;
}

/* Responsive móvil */
@media (max-width: 520px) {
    .mmpa-method-btn { padding: 12px 14px; }
    .mmpa-method-btn-body strong { font-size: .88rem; }
}

/* ── Header account component (2026) ──────────────────────────── */
/* Guest "Entrar" pill */
.mmpa-header-login {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    padding: 7px 14px !important;
    border: 1.5px solid var(--mm-border, #e2e4ee);
    border-radius: 22px;
    color: var(--mm-navy, #3a3972) !important;
    text-decoration: none !important;
    font-size: .85rem;
    font-weight: 600;
    line-height: 1;
    transition: background .15s, border-color .15s;
    background: #fff;
}
.mmpa-header-login:hover { background: #f5f4ff; border-color: #c7c5f0; }
.mmpa-header-login svg { flex-shrink: 0; }
@media (max-width: 600px) {
    .mmpa-header-login { padding: 8px !important; border: none; }
    .mmpa-header-login-label { display: none; }
}

/* Logged-in: avatar + dropdown */
.mmpa-header-account {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
}
.mmpa-hd-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, var(--mm-navy, #3a3972) 0%, #5a58a8 100%);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .95rem;
    font-weight: 700;
    font-family: var(--mm-font, inherit);
    padding: 0;
    box-shadow: 0 1px 4px rgba(30,27,75,.2);
    transition: transform .15s, box-shadow .15s;
}
.mmpa-hd-avatar:hover { transform: scale(1.06); box-shadow: 0 3px 10px rgba(30,27,75,.3); }
.mmpa-hd-avatar-initial { line-height: 1; }

.mmpa-hd-menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 220px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(17,24,39,.16), 0 4px 12px rgba(17,24,39,.08);
    padding: 8px;
    z-index: 99995;
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    transition: opacity .16s, transform .16s;
}
/* Puente invisible que cubre el hueco entre el avatar y el menú,
   para que el ratón pueda cruzar sin perder el :hover y cerrarlo. */
.mmpa-hd-menu::before {
    content: "";
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    height: 12px;
}
.mmpa-header-account.is-open .mmpa-hd-menu {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
/* Desktop: also open on hover */
@media (hover: hover) and (min-width: 783px) {
    .mmpa-header-account:hover .mmpa-hd-menu {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
}
.mmpa-hd-menu-greeting {
    padding: 10px 12px 8px;
    font-size: .82rem;
    color: var(--mm-muted, #6b7280);
    border-bottom: 1px solid #f3f4f6;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mmpa-hd-menu-greeting strong { color: var(--mm-text, #1e1b4b); }
.mmpa-hd-menu-item {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 8px;
    color: var(--mm-text, #374151) !important;
    text-decoration: none !important;
    font-size: .86rem;
    font-weight: 500;
    transition: background .12s, color .12s;
    line-height: 1.3;
}
.mmpa-hd-menu-item svg { color: var(--mm-muted, #9ca3af); flex-shrink: 0; }
.mmpa-hd-menu-item:hover { background: #f5f4ff; color: var(--mm-navy, #3a3972) !important; }
.mmpa-hd-menu-item:hover svg { color: var(--mm-navy, #3a3972); }
.mmpa-hd-menu-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    margin-left: 4px;
    background: var(--mm-navy, #3a3972);
    color: #fff;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
}
.mmpa-hd-menu-sep { height: 1px; background: #f3f4f6; margin: 6px 4px; }
.mmpa-hd-menu-item--logout { color: #c0392b !important; }
.mmpa-hd-menu-item--logout svg { color: #c0392b; }
.mmpa-hd-menu-item--logout:hover { background: #fef2f2; color: #c0392b !important; }

/* Mobile: dropdown full-width-ish, anchored right */
@media (max-width: 600px) {
    .mmpa-hd-avatar { width: 34px; height: 34px; font-size: .88rem; }
    .mmpa-hd-menu { min-width: 200px; right: -8px; }
}

/* ── Multi-list tabs (wishlist page) ──────────────────────────── */
.mmpa-list-tabs-wrap {
    margin-bottom: 20px;
}
.mmpa-list-tabs {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    border-bottom: 2px solid var(--mm-border, #e2e4ee);
    padding-bottom: 0;
}
.mmpa-list-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    font-size: .85rem;
    font-weight: 600;
    color: var(--mm-muted, #6b7280);
    text-decoration: none;
    border-radius: 8px 8px 0 0;
    border: 1px solid transparent;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color .15s, background .15s;
    background: none;
    cursor: pointer;
    font-family: inherit;
}
.mmpa-list-tab:hover { color: var(--mm-navy, #3a3972); background: #f5f4ff; }
.mmpa-list-tab.is-active {
    color: var(--mm-navy, #3a3972);
    border-color: var(--mm-border, #e2e4ee);
    border-bottom-color: #fff;
    background: #fff;
}
.mmpa-list-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--mm-navy, #3a3972);
    color: #fff;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
}
.mmpa-list-tab:not(.is-active) .mmpa-list-tab-count {
    background: #e2e4ee;
    color: #6b7280;
}
.mmpa-list-tab-new {
    color: var(--mm-muted, #6b7280) !important;
    border-style: dashed !important;
    border-color: #e2e4ee !important;
    font-size: .8rem;
    margin-left: 4px;
}
.mmpa-list-tab-new:hover { border-color: #c7c5f0 !important; color: var(--mm-navy, #3a3972) !important; }

/* New list inline form */
.mmpa-new-list-form {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 12px;
    background: #f8f9fc;
    border-radius: 8px;
    border: 1px solid #e2e4ee;
}
.mmpa-new-list-input {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #e2e4ee;
    border-radius: 8px;
    font-size: .88rem;
    font-family: inherit;
    color: var(--mm-text, #1e1b4b);
    max-width: 320px;
}
.mmpa-new-list-input:focus { outline: none; border-color: var(--mm-navy, #3a3972); box-shadow: 0 0 0 3px rgba(58,57,114,.1); }

/* Wishlist title rename button */
.mmpa-list-rename-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--mm-muted, #9ca3af);
    padding: 2px 6px;
    border-radius: 4px;
    display: inline-flex;
    transition: color .15s, background .15s;
    vertical-align: middle;
}
.mmpa-list-rename-btn:hover { color: var(--mm-navy, #3a3972); background: #f0f0ff; }

/* Inline rename input */
.mmpa-inline-rename {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--mm-text, #1e1b4b);
    border: none;
    border-bottom: 2px solid var(--mm-navy, #3a3972);
    background: transparent;
    padding: 0 4px 2px;
    font-family: inherit;
    width: auto;
    min-width: 100px;
}
.mmpa-inline-rename:focus { outline: none; }

/* ── Phone input with prefix selector ─────────────────────────── */
.mmpa-phone-wrap {
    display: flex;
    gap: 0;
    align-items: stretch;
}
.mmpa-phone-wrap .mmpa-phone-prefix {
    flex-shrink: 0;
    width: 72px;
    border: 1px solid var(--mm-border, #e2e4ee);
    border-right: 0;
    border-radius: var(--mm-radius-sm, 8px) 0 0 var(--mm-radius-sm, 8px);
    padding: 0 6px;
    font-size: .85rem;
    font-family: inherit;
    color: var(--mm-text, #1e1b4b);
    background: #f8f9fc;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 6px center;
    padding-right: 20px;
}
.mmpa-phone-wrap .mmpa-phone-prefix:focus {
    outline: none;
    border-color: var(--mm-navy, #3a3972);
}
.mmpa-phone-wrap input[type="tel"] {
    flex: 1;
    border-radius: 0 var(--mm-radius-sm, 8px) var(--mm-radius-sm, 8px) 0 !important;
    min-width: 0;
}
/* In .mmpa-ac-field (save-cart form uses .mmpa-ac-input) */
.mmpa-phone-wrap .mmpa-ac-input {
    border-radius: 0 8px 8px 0 !important;
    flex: 1;
}
.mmpa-field-hint {
    display: block;
    margin-top: 4px;
    font-size: .78rem;
    color: var(--mm-muted, #6b7280);
}

/* ── Google button container — sized to fill available width ─── */
.mmpa-google-btn-container,
.mmpa-ac-google-btn {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Google iframe inside the container */
.mmpa-google-btn-container > div,
.mmpa-ac-google-btn > div {
    width: 100% !important;
}
.mmpa-google-btn-container iframe,
.mmpa-ac-google-btn iframe {
    width: 100% !important;
}

/* ── Order Cancellation ────────────────────────────────────────── */

/* Botón "Solicitar cancelación" en el detalle del pedido */
button.mmpa-cancel-btn {
    cursor: pointer;
    background: #fff !important;
    color: var(--mm-danger, #c0392b) !important;
    border: 1.5px solid #e7c3c0 !important;
    border-radius: 9px !important;
    padding: 9px 18px !important;
    font-size: .85rem !important;
    font-weight: 600 !important;
    transition: background .15s, border-color .15s !important;
}
button.mmpa-cancel-btn:hover {
    background: #fdf2f2 !important;
    border-color: var(--mm-danger, #c0392b) !important;
    color: var(--mm-danger, #c0392b) !important;
}

/* ── Modal de cancelación (overlay + tarjeta) ──────────────────────
   Estas clases las genera el JS (ensureModal). Sin este CSS el modal
   aparecía sin overlay ni estilo. */
.mmpa-modal {
    position: fixed;
    inset: 0;
    z-index: 100100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(17, 24, 39, .55);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}
.mmpa-modal.is-open { opacity: 1; visibility: visible; }
.mmpa-modal-inner {
    width: 100%;
    max-width: 440px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(17, 24, 39, .28);
    overflow: hidden;
    transform: translateY(12px) scale(.98);
    transition: transform .22s cubic-bezier(.4, 0, .2, 1);
    max-height: 90vh;
    overflow-y: auto;
}
.mmpa-modal.is-open .mmpa-modal-inner { transform: translateY(0) scale(1); }
/* Cabecera del modal de cancelación (override del margin genérico) */
.mmpa-modal-inner .mmpa-modal-head {
    margin-bottom: 0;
    padding: 18px 24px;
    border-bottom: 1px solid #eef0f5;
    background: linear-gradient(180deg, #fafbfd, #fff);
}
.mmpa-modal-body { padding: 20px 24px 24px; }
/* Campos del modal */
.mmpa-modal .mmpa-field-label {
    display: block;
    font-size: .8rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 6px;
}
.mmpa-modal .mmpa-input {
    width: 100%;
    box-sizing: border-box;
    border: 1.5px solid #e2e4ee;
    border-radius: 10px;
    padding: 11px 14px;
    font-size: .9rem;
    font-family: inherit;
    color: var(--mm-text, #1e1b4b);
    background: #fff;
    transition: border-color .18s, box-shadow .18s;
    -webkit-appearance: none;
    appearance: none;
}
.mmpa-modal select.mmpa-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 34px;
}
.mmpa-modal .mmpa-input:focus {
    outline: none;
    border-color: var(--mm-navy, #3a3972);
    box-shadow: 0 0 0 3px rgba(58, 57, 114, .12);
}
/* Botón primario del modal */
.mmpa-modal .mmpa-btn--primary {
    background: var(--mm-navy, #3a3972);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 13px;
    font-size: .92rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: filter .15s, box-shadow .15s;
}
.mmpa-modal .mmpa-btn--primary:hover { filter: brightness(1.08); box-shadow: 0 6px 18px rgba(58,57,114,.3); }
.mmpa-modal .mmpa-btn--primary:disabled { opacity: .65; cursor: default; }
/* Mensajes de estado dentro del modal */
.mmpa-modal .mmpa-form-notice.is-error   { color: #b91c1c; font-size: .85rem; }
.mmpa-modal .mmpa-form-notice.is-success { color: #15803d; font-size: .85rem; }

/* Inline notice on order detail */
.mmpa-cancel-notice {
    margin: 18px 0 0;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: .9rem;
    line-height: 1.5;
}
.mmpa-cancel-notice--pending  { background: #fff8e1; color: #856404; border: 1px solid #ffe082; }
.mmpa-cancel-notice--approved { background: #e8f5e9; color: #1b5e20; border: 1px solid #a5d6a7; }
.mmpa-cancel-notice--rejected { background: #fce4ec; color: #880e4f; border: 1px solid #f48fb1; }

.mmpa-cancel-detail-wrap { margin-top: 18px; }

/* Admin badges */
.mmpa-badge {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}
.mmpa-badge--warn { background: #fff3cd; color: #856404; }
.mmpa-badge--ok   { background: #d4edda; color: #155724; }
.mmpa-badge--err  { background: #f8d7da; color: #721c24; }

/* ── Quick Tools panel (admin-only floating) ──────────────────── */
/* Positioned on the LEFT — same side as the customer wishlist widget */
.mmpa-qt-wrap {
    position: fixed;
    left: 22px;
    bottom: 90px;
    z-index: 99990;
    font-family: var(--mm-font, -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif);
}
/* Defensive: keep everything inside the panel boxed and prevent horizontal overflow */
.mmpa-qt-panel, .mmpa-qt-panel * { box-sizing: border-box !important; }
.mmpa-qt-panel { overflow-x: hidden !important; }
.mmpa-qt-body { overflow-x: hidden !important; }
.mmpa-qt-panel input, .mmpa-qt-panel select, .mmpa-qt-panel textarea { max-width: 100% !important; }

/* Floating trigger button */
.mmpa-qt-trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px 10px 12px;
    background: #1e1b4b;
    color: #fff;
    border: none;
    border-radius: 24px;
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 18px rgba(30,27,75,.35);
    transition: background .15s, transform .15s, box-shadow .15s;
    white-space: nowrap;
}
.mmpa-qt-trigger:hover { background: #3a3972; transform: translateY(-1px); box-shadow: 0 8px 24px rgba(30,27,75,.40); }
.mmpa-qt-trigger:active { transform: scale(.97); }
.mmpa-qt-trigger.is-open { background: #374151; }

/* Panel card — opens upward from the left */
.mmpa-qt-panel {
    position: absolute;
    left: 0;
    bottom: calc(100% + 10px);
    width: 360px;
    max-height: 85vh;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 48px rgba(17,24,39,.18), 0 4px 16px rgba(17,24,39,.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: mmpaQtIn .18s cubic-bezier(.4,0,.2,1);
}
.mmpa-qt-panel[hidden] { display: none !important; }
@keyframes mmpaQtIn {
    from { opacity:0; transform:translateY(8px) scale(.97); }
    to   { opacity:1; transform:translateY(0) scale(1); }
}

/* Header */
.mmpa-qt-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: linear-gradient(135deg, #1e1b4b 0%, #3a3972 100%);
    flex-shrink: 0;
}
.mmpa-qt-head-title {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mmpa-qt-close {
    background: rgba(255,255,255,.15);
    border: none;
    color: #fff;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
    flex-shrink: 0;
}
.mmpa-qt-close:hover { background: rgba(255,255,255,.25); }

/* Body (scrollable) */
.mmpa-qt-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    overscroll-behavior: contain;
}

/* Fields */
.mmpa-qt-row { display: flex; gap: 10px; }
.mmpa-qt-row .mmpa-qt-field { flex: 1; }
.mmpa-qt-field { margin-bottom: 12px; }
.mmpa-qt-label {
    display: block;
    font-size: .78rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 4px;
    letter-spacing: .01em;
}
/* Override any theme/WP styles that creep into the floating panel fields */
.mmpa-qt-panel input.mmpa-qt-input,
.mmpa-qt-panel select.mmpa-qt-input,
.mmpa-qt-panel textarea.mmpa-qt-input,
.mmpa-qt-panel .mmpa-qt-input {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1.5px solid #dde1f0 !important;
    border-radius: 10px !important;
    font-size: .875rem !important;
    line-height: 1.5 !important;
    color: #1e1b4b !important;
    background: #fff !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
    font-weight: 400 !important;
    box-shadow: 0 1px 3px rgba(30,27,75,.06) !important;
    transition: border-color .18s, box-shadow .18s !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
    height: auto !important;
}
.mmpa-qt-panel input.mmpa-qt-input:focus,
.mmpa-qt-panel select.mmpa-qt-input:focus,
.mmpa-qt-panel .mmpa-qt-input:focus {
    outline: none !important;
    border-color: #3a3972 !important;
    box-shadow: 0 0 0 3px rgba(58,57,114,.13), 0 1px 3px rgba(30,27,75,.06) !important;
}
.mmpa-qt-panel input.mmpa-qt-input::placeholder {
    color: #b0b7cc !important;
    font-weight: 400 !important;
}
/* Phone prefix select inside panel */
.mmpa-qt-panel .mmpa-phone-prefix {
    background-color: #f5f6fb !important;
    border-right: 1.5px solid #dde1f0 !important;
    border-radius: 10px 0 0 10px !important;
    padding: 10px 22px 10px 10px !important;
    color: #3a3972 !important;
    font-weight: 600 !important;
    font-size: .875rem !important;
}
/* Type selector cards in panel */
.mmpa-qt-panel .mmpa-qt-type {
    border: 1.5px solid #dde1f0 !important;
    border-radius: 10px !important;
    padding: 9px 14px !important;
    font-size: .85rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    background: #fff !important;
}
.mmpa-qt-panel .mmpa-qt-type.is-selected {
    border-color: #3a3972 !important;
    background: #f0f0ff !important;
    color: #3a3972 !important;
}
/* Submit button in panel */
.mmpa-qt-panel .mmpa-qt-submit {
    padding: 13px !important;
    border-radius: 10px !important;
    font-size: .92rem !important;
    letter-spacing: -.2px !important;
}
/* Labels */
.mmpa-qt-panel .mmpa-qt-label {
    font-size: .78rem !important;
    font-weight: 700 !important;
    color: #4b5563 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    margin-bottom: 5px !important;
}
/* Phone wrap inside the panel — fix overflow: prefix fixed width, input fills rest.
   Overrides the generic .mmpa-qt-panel input/select width:100% !important. */
.mmpa-qt-panel .mmpa-phone-wrap {
    display: flex !important;
    width: 100% !important;
    gap: 0 !important;
}
.mmpa-qt-panel .mmpa-phone-wrap .mmpa-phone-prefix {
    flex: 0 0 76px !important;
    width: 76px !important;
    border-radius: 10px 0 0 10px !important;
    border-right: 0 !important;
}
.mmpa-qt-panel .mmpa-phone-wrap input[type="tel"] {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    border-radius: 0 10px 10px 0 !important;
}

/* Type selector */
.mmpa-qt-type-row { display: flex; gap: 8px; }
.mmpa-qt-type {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    cursor: pointer;
    font-size: .82rem;
    font-weight: 600;
    color: #374151;
    transition: all .15s;
}
.mmpa-qt-type input { margin: 0; }
.mmpa-qt-type.is-selected {
    border-color: #3a3972;
    background: #f5f4ff;
    color: #3a3972;
}

/* Product search results */
.mmpa-qt-search-results {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-top: 0;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
    max-height: 300px;
    overflow-y: auto;
    margin-top: -1px;
}
.mmpa-qt-search-results[hidden] { display: none !important; }
.mmpa-qt-result {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    cursor: pointer;
    transition: background .1s;
    border-bottom: 1px solid #f3f4f6;
}
.mmpa-qt-result:last-child { border-bottom: none; }
.mmpa-qt-result:hover { background: #f5f4ff; }
.mmpa-qt-result-img {
    width: 42px; height: 42px; flex: none;
    object-fit: cover; border-radius: 6px;
    background: #f3f4f6; border: 1px solid #eceef3;
}
.mmpa-qt-result-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mmpa-qt-result-name {
    font-size: .85rem; color: #1e1b4b; font-weight: 600; line-height: 1.3;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.mmpa-qt-result-price { font-size: .8rem; color: #3a3972; font-weight: 700; }
.mmpa-qt-no-results { padding: 10px 12px; font-size: .82rem; color: #9ca3af; }

/* Selected product pills */
.mmpa-qt-selected-products { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; min-height: 0; }
.mmpa-qt-pill {
    display: flex;
    align-items: center;
    gap: 5px;
    background: #f0f0ff;
    border: 1px solid #c7c5f0;
    border-radius: 20px;
    padding: 4px 8px 4px 10px;
    font-size: .78rem;
    color: #3a3972;
    font-weight: 600;
}
.mmpa-qt-pill small { color: #6366f1; font-weight: 500; }
.mmpa-qt-pill-remove {
    background: none;
    border: none;
    cursor: pointer;
    color: #9ca3af;
    font-size: 14px;
    line-height: 1;
    padding: 0 2px;
    transition: color .1s;
}
.mmpa-qt-pill-remove:hover { color: #dc2626; }

/* Notify checkbox */
.mmpa-qt-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: .8rem;
    color: #6b7280;
    margin-bottom: 14px;
    cursor: pointer;
    line-height: 1.4;
}
.mmpa-qt-check input { margin-top: 2px; flex-shrink: 0; }

/* Messages */
.mmpa-qt-msg {
    padding: 10px 12px;
    border-radius: 8px;
    font-size: .82rem;
    margin-bottom: 10px;
    line-height: 1.4;
}
.mmpa-qt-msg--success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.mmpa-qt-msg--error   { background: #fef2f2; color: #991b1b; border: 1px solid #fca5a5; }

/* Submit button */
.mmpa-qt-submit {
    width: 100%;
    padding: 12px;
    background: #3a3972;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s, transform .12s;
}
.mmpa-qt-submit:hover { background: #2d2c60; }
.mmpa-qt-submit:active { transform: scale(.98); }
.mmpa-qt-submit:disabled { opacity: .6; cursor: default; transform: none; }

/* Panel views */
.mmpa-qt-view { display: flex; flex-direction: column; }
.mmpa-qt-view[hidden] { display: none !important; }

/* Trigger badge (product count) */
.mmpa-qt-trigger-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: #e11d48;
    color: #fff;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
    margin-left: 2px;
}
.mmpa-qt-trigger-badge[hidden] { display: none !important; }

/* Back button in panel header */
.mmpa-qt-back {
    background: rgba(255,255,255,.15);
    border: none;
    color: #fff;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
    margin-right: 4px;
}
.mmpa-qt-back:hover { background: rgba(255,255,255,.25); }
.mmpa-qt-back[hidden] { display: none !important; }

/* Search wrap with icon */
.mmpa-qt-search-wrap { position: relative; }

/* Divider between search and create */
.mmpa-qt-divider {
    text-align: center;
    color: #9ca3af;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 8px 0;
    position: relative;
}
.mmpa-qt-divider::before, .mmpa-qt-divider::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 40%;
    height: 1px;
    background: #e5e7eb;
}
.mmpa-qt-divider::before { left: 0; }
.mmpa-qt-divider::after  { right: 0; }

/* Ghost create button */
.mmpa-qt-btn-ghost {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    padding: 10px;
    background: #f8f9fc;
    border: 1px dashed #c7c5f0;
    border-radius: 8px;
    color: #3a3972;
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s;
}
.mmpa-qt-btn-ghost:hover { background: #f0f0ff; }

/* Client info bar (view B) */
.mmpa-qt-client-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    background: #f8f9fc;
    border-bottom: 1px solid #e8eaf0;
    flex-shrink: 0;
}
.mmpa-qt-client-info { display: flex; flex-direction: column; gap: 1px; }
.mmpa-qt-client-name { font-size: .88rem; font-weight: 700; color: #1e1b4b; }
.mmpa-qt-client-phone { font-size: .75rem; color: #6b7280; }
.mmpa-qt-change-btn {
    background: none;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 4px 10px;
    font-size: .75rem;
    font-weight: 600;
    color: #3a3972;
    cursor: pointer;
    transition: all .15s;
}
.mmpa-qt-change-btn:hover { background: #f0f0ff; border-color: #c7c5f0; }

/* Products list (view B) */
.mmpa-qt-products-list {
    flex: 1;
    overflow-y: auto;
    min-height: 80px;
    max-height: 220px;
}
.mmpa-qt-prod-list { list-style: none; margin: 0; padding: 8px 0; }
.mmpa-qt-prod-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-bottom: 1px solid #f3f4f6;
}
.mmpa-qt-prod-item:last-child { border-bottom: none; }
.mmpa-qt-prod-img {
    width: 40px; height: 40px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
    background: #f5f6fa;
}
.mmpa-qt-prod-info { flex: 1; min-width: 0; }
.mmpa-qt-prod-name {
    font-size: .8rem;
    font-weight: 600;
    color: #1e1b4b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mmpa-qt-prod-price { font-size: .75rem; color: #3a3972; font-weight: 600; margin-top: 2px; }
.mmpa-qt-prod-remove {
    background: none;
    border: none;
    cursor: pointer;
    color: #9ca3af;
    font-size: 16px;
    line-height: 1;
    padding: 2px 4px;
    flex-shrink: 0;
    transition: color .1s;
}
.mmpa-qt-prod-remove:hover { color: #dc2626; }
.mmpa-qt-no-products {
    text-align: center;
    padding: 20px 16px;
    color: #9ca3af;
    font-size: .82rem;
    line-height: 1.5;
}
.mmpa-qt-loading { text-align: center; padding: 20px; color: #9ca3af; font-size: .82rem; }

/* Delete project button (admin panel) */
.mmpa-qt-delete-list {
    background: none;
    border: none;
    color: #c0392b;
    font-size: .75rem;
    font-weight: 600;
    cursor: pointer;
    padding: 4px;
    text-align: center;
    width: 100%;
    font-family: inherit;
    transition: color .15s;
}
.mmpa-qt-delete-list:hover { color: #e11d48; text-decoration: underline; }
.mmpa-qt-delete-list[hidden] { display: none !important; }

/* List tabs inside the panel (admin multi-list) */
.mmpa-qt-list-tabs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    padding: 10px 16px 0;
    border-bottom: 1px solid #e8eaf0;
    background: #fff;
    flex-shrink: 0;
}
.mmpa-qt-ltab {
    padding: 5px 10px;
    font-size: .75rem;
    font-weight: 600;
    color: #6b7280;
    background: none;
    border: 1px solid #e2e8f0;
    border-bottom: none;
    border-radius: 6px 6px 0 0;
    cursor: pointer;
    font-family: inherit;
    transition: all .12s;
    margin-bottom: -1px;
}
.mmpa-qt-ltab:hover { color: #3a3972; background: #f5f4ff; border-color: #c7c5f0; }
.mmpa-qt-ltab.is-active { color: #3a3972; background: #fff; border-color: #e2e8f0; border-bottom-color: #fff; }
.mmpa-qt-ltab-n { background: #3a3972; color: #fff; border-radius: 6px; padding: 0 4px; font-size: 10px; margin-left: 3px; }
.mmpa-qt-ltab-add { border-style: dashed; color: #9ca3af; }
.mmpa-qt-ltab-add:hover { color: #3a3972; border-color: #c7c5f0; }

/* Browse hint */
.mmpa-qt-browse-hint {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .75rem;
    color: #6b7280;
    background: #f8f9fc;
    padding: 8px 12px;
    border-radius: 6px;
    margin: 0 0 10px;
}

/* Actions bar (view B, fixed bottom) */
.mmpa-qt-actions {
    padding: 12px 16px;
    border-top: 1px solid #e8eaf0;
    background: #fff;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.mmpa-qt-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: .83rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    border: none;
    transition: background .15s, transform .1s;
}
.mmpa-qt-action-btn:active { transform: scale(.98); }
.mmpa-qt-action-btn--wa    { background: #25d366; color: #fff; }
.mmpa-qt-action-btn--wa:hover { background: #1ebe5d; }
.mmpa-qt-action-btn--copy  { background: #f3f4f6; color: #374151; flex: 1; }
.mmpa-qt-action-btn--copy:hover { background: #e5e7eb; }
.mmpa-qt-action-btn--email { background: #f3f4f6; color: #374151; flex: 1; }
.mmpa-qt-action-btn--email:hover { background: #e5e7eb; }

/* Hint text in picker view */
.mmpa-qt-hint {
    font-size: .8rem;
    color: #6b7280;
    margin: 0 0 12px;
    line-height: 1.4;
}

/* Responsive — full width on small screens */
@media (max-width: 420px) {
    .mmpa-qt-wrap { left: 10px; bottom: 70px; }
    .mmpa-qt-panel { width: calc(100vw - 20px); left: 0; }
}

/* Mobile experience polish */
@media (max-width: 782px) {
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding: 8px 2px 12px;
        margin: 0 0 16px;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation li a {
        min-height: 40px;
        display: inline-flex;
        align-items: center;
        border: 1px solid var(--mm-border);
        border-radius: 8px;
        padding: 0 13px;
        background: #fff;
        font-weight: 700;
        white-space: nowrap;
    }
    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
        overflow: visible;
    }
    .mmpa-dashboard-welcome {
        align-items: flex-start;
        padding: 18px;
        border-radius: 8px;
    }
    .mmpa-dashboard-avatar img {
        width: 52px;
        height: 52px;
    }
    .mmpa-dashboard-info h2 {
        font-size: 1.05rem;
        line-height: 1.25;
    }
    .mmpa-dashboard-email {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
    .mmpa-stats-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .mmpa-stat-box {
        border-radius: 8px;
        padding: 14px 10px;
    }
    .mmpa-stat-num {
        font-size: 1.25rem;
    }
    .mmpa-account-nav-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .mmpa-nav-card {
        min-height: 58px;
        border-radius: 8px;
        padding: 12px;
    }
    .mmpa-list-tabs-wrap,
    .mmpa-wishlist-header,
    .mmpa-shared-wishlist-header,
    .mmpa-cupones-page h2 {
        padding-left: max(14px, env(safe-area-inset-left));
        padding-right: max(14px, env(safe-area-inset-right));
    }
    .mmpa-list-tabs {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 8px;
        -webkit-overflow-scrolling: touch;
    }
    .mmpa-list-tab {
        flex: 0 0 auto;
        min-height: 40px;
        border-radius: 8px;
    }
    .mmpa-wishlist-header {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        align-items: stretch;
    }
    .mmpa-wishlist-title {
        font-size: 1.15rem;
        overflow-wrap: anywhere;
    }
    .mmpa-wishlist-header-btns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .mmpa-btn-share,
    .mmpa-delete-list-btn,
    .mmpa-wishlist-actions a,
    .mmpa-wishlist-actions button {
        min-height: 42px;
        justify-content: center;
        border-radius: 8px;
    }
    .mmpa-wishlist-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding-left: max(10px, env(safe-area-inset-left));
        padding-right: max(10px, env(safe-area-inset-right));
    }
    .mmpa-wishlist-card {
        border-radius: 8px;
        overflow: hidden;
        min-width: 0;
    }
    .mmpa-wishlist-img {
        aspect-ratio: 1 / 1;
    }
    .mmpa-wishlist-body {
        padding: 10px;
    }
    .mmpa-wishlist-name {
        min-height: 38px;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }
    .mmpa-wishlist-actions {
        display: grid;
        gap: 7px;
    }
    .mmpa-cupones-grid {
        display: grid;
        gap: 12px;
        padding: 0 max(10px, env(safe-area-inset-right)) 8px max(10px, env(safe-area-inset-left));
    }
    .mmpa-cupon-ticket {
        border-radius: 8px;
        overflow: hidden;
    }
    .mmpa-cupon-code-box {
        max-width: 100%;
    }
    .mmpa-cupon-code-text {
        overflow-wrap: anywhere;
    }
    .mmpa-shared-wishlist-page .mmpa-container {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    .mmpa-shared-wishlist-header h1 {
        font-size: 1.28rem;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 420px) {
    .mmpa-stats-row,
    .mmpa-account-nav-grid,
    .mmpa-wishlist-grid {
        grid-template-columns: 1fr;
    }
    .mmpa-wishlist-header-btns {
        grid-template-columns: 1fr;
    }
    .mmpa-dashboard-welcome {
        gap: 12px;
    }
}

/* ── Wishlist compartida: quitar el divisor vertical de Divi + asegurar full-width (v2.9.6) ── */
body.mmpa-share-page #main-content .container:before { display:none !important; content:none !important; }
body.mmpa-share-page #sidebar { display:none !important; }
body.mmpa-share-page #left-area { width:100% !important; max-width:100% !important; padding:0 !important; float:none !important; }
body.mmpa-share-page #content-area { display:block !important; }
body.mmpa-share-page #main-content .container { width:100% !important; max-width:100% !important; padding:0 !important; }
body.mmpa-share-page #left-area, body.mmpa-share-page #content-area, body.mmpa-share-page #main-content { border:none !important; box-shadow:none !important; }
/* ═══════════════════════════════════════════════════════════════════════
   MOBILE-FIRST — refinamiento de la experiencia en móvil (v2.9.7)
   Aditivo y acotado a clases .mmpa-* (no afecta a Divi ni al escritorio).
   ═══════════════════════════════════════════════════════════════════════ */

/* Inputs MMPA a 16px: evita el zoom automático de iOS al enfocar */
.mmpa-account-dashboard input, .mmpa-auth-page input, .mmpa-auth-modal input,
.mmpa-account-dashboard select, .mmpa-auth-page select {
    font-size: 16px;
}
.mmpa-shared-wishlist-page, .mmpa-account-dashboard, .mmpa-auth-page { max-width: 100%; }

@media (max-width: 600px) {
    /* — Panel de cuenta — */
    .mmpa-account-dashboard { padding-left: 2px; padding-right: 2px; }

    .mmpa-dashboard-welcome { gap: 12px; align-items: center; }
    .mmpa-dashboard-welcome .mmpa-dashboard-avatar img { width: 54px; height: 54px; }
    .mmpa-dashboard-info h2 { font-size: 1.2rem; }
    .mmpa-dashboard-email { font-size: .82rem; word-break: break-all; }

    /* Sugerencia inteligente: apilada y legible */
    .mmpa-suggestion { flex-direction: column; align-items: flex-start; text-align: left; gap: 8px; padding: 16px; }
    .mmpa-suggestion-cta { width: 100%; }

    /* Estadísticas: 2 columnas táctiles */
    .mmpa-stats-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .mmpa-stat-box { padding: 14px 12px; }
    .mmpa-stat-num { font-size: 1.35rem; }

    /* Tiras de producto: deslizables con snap (gesto natural en móvil) */
    .mmpa-product-strip {
        display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch; padding-bottom: 6px; scrollbar-width: none;
    }
    .mmpa-product-strip::-webkit-scrollbar { display: none; }
    .mmpa-product-strip .mmpa-product-card { flex: 0 0 62%; scroll-snap-align: start; }

    /* Pedidos: cada uno como tarjeta apilada */
    .mmpa-order-row {
        display: flex; flex-direction: column; align-items: stretch; gap: 8px;
        padding: 14px; border-radius: 12px;
    }
    .mmpa-order-actions { display: flex; gap: 8px; }
    .mmpa-order-actions a { flex: 1; text-align: center; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; }

    /* Rejilla de navegación: 2 columnas, tarjetas amplias */
    .mmpa-account-nav-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .mmpa-nav-card { min-height: 92px; padding: 16px 12px; }

    /* Botones de acción a ancho completo y táctiles */
    .mmpa-product-card-btn, .mmpa-link-all, .mmpa-btn-primary,
    .mmpa-shared-wishlist-cta .mmpa-btn-primary, .mmpa-btn-ghost-light {
        min-height: 46px; display: inline-flex; align-items: center; justify-content: center;
    }
    .mmpa-share-cta-actions { flex-direction: column; }
    .mmpa-share-cta-actions a { width: 100%; }

    /* Panel de notificaciones: ocupa el ancho de pantalla, sin desbordar */
    .mmpa-notif-panel {
        position: fixed !important; left: 10px !important; right: 10px !important;
        top: 64px !important; width: auto !important; max-width: none !important;
    }

    /* — Login / registro — una sola columna, sin el panel decorativo — */
    .mmpa-auth-card { flex-direction: column; border-radius: 14px; }
    .mmpa-auth-brand-panel { display: none; }
    .mmpa-auth-forms-panel { width: 100%; padding: 24px 18px; }
    .mmpa-auth-page input { min-height: 46px; }
    .mmpa-auth-tabs { position: sticky; top: 0; }
}

@media (max-width: 400px) {
    .mmpa-stats-row { grid-template-columns: 1fr; }
    .mmpa-product-strip .mmpa-product-card { flex-basis: 78%; }
}