/* =====================================================================
   MSP IMPORT EC 4.0 — rediseño visual (ficha de producto + portada)
   Identidad propia azul/celeste MSP. Tipografía: Inter Tight (titulares
   gruesos) + Instrument Serif cursiva (palabra de acento) + Plus Jakarta.
   Se carga al final: no elimina funciones, solo cambia la apariencia.
   ===================================================================== */
:root{
  --m4-bg:#eef3f8;--m4-bg2:#f6f8fb;--m4-card:#fcfdfe;--m4-ink:#0b1a2e;--m4-muted:#5a6b80;
  --m4-line:#dfe7f0;--m4-blue:#1557a6;--m4-blue2:#0a3a75;--m4-navy:#0a1c36;--m4-celeste:#5cb6e8;
  --m4-soft:#e1ecf8;--m4-soft2:#d3e4f6;--m4-warm:#fbe3a4;--m4-warm-ink:#5a4100;--m4-save:#17784a;
  --m4-head:'Inter Tight','Inter Display','Inter','Sora','Plus Jakarta Sans',system-ui,Arial,sans-serif;
  --m4-serif:'Instrument Serif','Iowan Old Style','Palatino Linotype',Georgia,serif;
  --m4-body:'Plus Jakarta Sans',system-ui,Arial,sans-serif;
  --m4-r:28px;--m4-shadow:0 18px 40px -22px rgba(10,40,80,.35);
}

/* ---------- Ficha de producto ---------- */
#dlgProducto:has(.msp4){background:var(--m4-bg)}
#dlgProducto .msp4{min-height:100%;background:var(--m4-bg);color:var(--m4-ink);font-family:var(--m4-body);padding-bottom:110px;overflow-x:hidden;position:relative}
#dlgProducto .msp4 em{font-family:var(--m4-serif);font-style:italic;font-weight:400;color:var(--m4-blue);letter-spacing:-.01em}
#dlgProducto .msp4 svg{width:22px;height:22px;flex-shrink:0}

/* cinta superior animada */
.msp4-ticker{background:var(--m4-navy);color:#e6f1ff;overflow:hidden;white-space:nowrap;font-weight:700;font-size:13px}
.msp4-ticker>div{display:inline-flex;gap:34px;padding:11px 0;animation:m4-marquee 26s linear infinite}
.msp4-ticker span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--m4-celeste);margin:0 10px 1px 0;vertical-align:middle}
@keyframes m4-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* cabecera */
.msp4-head{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--m4-bg2);border-bottom:1px solid var(--m4-line);position:sticky;top:0;z-index:30}
.msp4-brand{display:flex;align-items:center;gap:9px;min-width:0;flex:1}
.msp4-brand img{width:42px;height:42px;border-radius:13px;background:#fff;object-fit:contain;box-shadow:0 2px 8px #0a3a7520}
.msp4-brand span{font-family:var(--m4-head);font-weight:900;font-size:19px;letter-spacing:-.04em;color:var(--m4-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#dlgProducto .msp4-brand em{font-size:21px;margin-left:2px}
.msp4-head-actions{display:flex;gap:8px}
.msp4-round{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--m4-line);background:#fff;color:var(--m4-ink);cursor:pointer;text-decoration:none;padding:0}
.msp4-round:hover{border-color:var(--m4-blue)}
.msp4-round.msp4-dark{background:var(--m4-navy);color:#fff;border-color:var(--m4-navy)}
.msp4-back{background:transparent}
.msp4-cart-n{position:absolute;top:-3px;right:-3px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--m4-blue);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;font-family:var(--m4-body)}
.msp4-cart-n:empty,.msp4-cart-n:is([data-n="0"]){display:none}

/* galería */
.msp4-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding:18px 16px 8px;max-width:1180px;margin:0 auto}
.msp4-grid>*{min-width:0}
.msp4-stage{position:relative;border-radius:var(--m4-r);background:radial-gradient(circle at 50% 48%,var(--m4-soft2) 0 46%,var(--m4-card) 47%);border:1px solid #fff;box-shadow:var(--m4-shadow);overflow:hidden}
#dlgProducto .msp4 .msp4-main{aspect-ratio:1/1;margin:0;border:0;border-radius:0;background:transparent;padding:0;display:block;max-height:none}
#dlgProducto .msp4 .msp4-main img.prod-img,#dlgProducto .msp4 .msp4-main img.v25-slide-image{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
#dlgProducto .msp4 .msp4-main:has(.msp29-combo-slide){aspect-ratio:auto;min-height:100%}
.msp4-chip{position:absolute;top:14px;left:14px;z-index:3;background:#ffffffeb;backdrop-filter:blur(8px);border-radius:99px;padding:7px 12px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--m4-blue2)}
.msp4-count{position:absolute;top:14px;right:14px;z-index:3;background:var(--m4-navy);color:#fff;border-radius:99px;padding:7px 11px;font-size:11px;font-weight:800}
.msp4-arrows{position:absolute;inset:auto 12px 12px;display:flex;justify-content:space-between;z-index:3;pointer-events:none}
.msp4-arrows button{pointer-events:auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--m4-line);background:#ffffffee;font-size:26px;line-height:1;color:var(--m4-ink);cursor:pointer;display:grid;place-items:center}
#dlgProducto .msp4 .msp4-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 2px 4px;scrollbar-width:none;margin:0}
#dlgProducto .msp4 .msp4-thumbs::-webkit-scrollbar{display:none}
#dlgProducto .msp4 .msp4-thumbs .thumb{flex:0 0 74px;width:74px;height:74px;border-radius:20px;border:2px solid transparent;background:var(--m4-card);padding:4px;box-shadow:0 4px 12px #0a3a7512;display:grid;place-items:center;overflow:hidden;cursor:pointer;position:relative}
#dlgProducto .msp4 .msp4-thumbs .thumb img{width:100%;height:100%;object-fit:cover;border-radius:15px}
#dlgProducto .msp4 .msp4-thumbs .thumb[aria-current=true]{border-color:var(--m4-blue);background:#fff}
#dlgProducto .msp4 .msp4-thumbs .v25-thumb-info img{height:calc(100% - 16px)}
#dlgProducto .msp4 .msp4-thumbs .thumb small{font-size:10px;font-weight:800;color:var(--m4-blue2);line-height:1.2}
#dlgProducto .msp4 .msp4-thumbs .msp29-thumb-symbol{font-family:var(--m4-head);font-weight:900;font-size:18px;color:var(--m4-blue)}

/* resumen */
.msp4-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.msp4-pill{display:inline-flex;align-items:center;gap:7px;border-radius:99px;padding:9px 15px;background:var(--m4-card);border:1px solid var(--m4-line);font-weight:800;font-size:13px;color:var(--m4-ink)}
#dlgProducto .msp4 .msp4-pill svg{width:18px;height:18px;color:var(--m4-blue)}
.msp4-pill.is-warm{background:linear-gradient(90deg,#fde9b8,#fbe0c4);border-color:transparent;color:var(--m4-warm-ink)}
.msp4-pill.is-off{background:#fff1f0;border-color:#ffd6d2;color:#9b2c1e}
.msp4-sku{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--m4-muted);margin:0 0 8px}
#dlgProducto .msp4 .msp4-title{font-family:var(--m4-head);font-weight:900;font-size:clamp(2.15rem,9vw,3.6rem);line-height:1.02;letter-spacing:-.055em;margin:0 0 14px;color:var(--m4-ink);overflow-wrap:break-word}
#dlgProducto .msp4 .msp4-title em{font-size:1.06em;letter-spacing:-.02em}
.msp4-price{display:flex;align-items:baseline;gap:10px;margin:4px 0 18px}
#dlgProducto .msp4 .msp4-price .price{font-family:var(--m4-head);font-weight:900;font-size:clamp(2.9rem,13vw,4.1rem);letter-spacing:-.06em;line-height:1;color:var(--m4-ink)}
#dlgProducto .msp4 .msp4-price .price-ask{font-size:clamp(1.9rem,8vw,2.6rem);color:var(--m4-blue2)}
.msp4-price>span{font-weight:800;font-size:18px;color:var(--m4-muted)}
.msp4-checks{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px}
.msp4-checks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;font-weight:600;line-height:1.45;color:var(--m4-ink)}
.msp4-tick{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--m4-soft);color:var(--m4-blue);display:grid;place-items:center;margin-top:-3px}
#dlgProducto .msp4 .msp4-tick svg{width:16px;height:16px}
.msp4-note{background:#fff7e3;border:1px solid #f6e2a8;border-radius:18px;padding:12px 14px;font-size:14px;line-height:1.45;color:#5d4700;margin:0 0 18px}

/* combos 1/2/3 */
.msp4-bundles{border:0;margin:6px 0 0;padding:0;display:grid;gap:18px}
.msp4-bundles legend{font-family:var(--m4-head);font-weight:900;font-size:24px;letter-spacing:-.04em;margin-bottom:16px;padding:0}
#dlgProducto .msp4 .lp-bundle{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;text-align:left;border-radius:var(--m4-r);border:2px solid transparent;background:var(--m4-card);padding:22px 20px;min-height:0;box-shadow:0 10px 26px -18px #0a3a7566;cursor:pointer;font:inherit;color:inherit;margin:0;transition:border-color .15s,box-shadow .15s,transform .15s}
#dlgProducto .msp4 .lp-bundle:hover{transform:translateY(-1px)}
#dlgProducto .msp4 .lp-bundle[aria-pressed=true]{border-color:var(--m4-blue);background:#fff;box-shadow:0 14px 30px -16px #1557a666}
#dlgProducto .msp4 .lp-radio{width:30px;height:30px;border-radius:50%;border:2.5px solid #b9c9da;color:transparent;font-size:12px;line-height:0;overflow:hidden;display:grid;place-items:center;position:relative}
#dlgProducto .msp4 .lp-bundle[aria-pressed=true] .lp-radio{border-color:var(--m4-blue)}
#dlgProducto .msp4 .lp-bundle[aria-pressed=true] .lp-radio::after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--m4-blue)}
#dlgProducto .msp4 .lp-bundle-copy{display:grid;gap:4px;min-width:0}
#dlgProducto .msp4 .lp-bundle-copy strong{font-family:var(--m4-head);font-weight:900;font-size:21px;letter-spacing:-.035em}
#dlgProducto .msp4 .lp-bundle-copy small{font-size:14px;color:var(--m4-muted);font-weight:500}
#dlgProducto .msp4 .v24-save-text{display:inline;background:none;padding:0;color:var(--m4-save);font-weight:800;font-size:14px;width:auto}
#dlgProducto .msp4 .v28-save-detail{display:none}
#dlgProducto .msp4 .v24-price-stack{display:grid;justify-items:end;gap:2px}
#dlgProducto .msp4 .v24-price-stack del{font-size:14px;color:#8293a6;font-weight:700}
#dlgProducto .msp4 .v24-price-stack strong{font-family:var(--m4-head);font-weight:900;font-size:25px;letter-spacing:-.05em;color:var(--m4-ink)}
#dlgProducto .msp4 .v24-deal-tag{position:absolute;top:-13px;left:22px;right:auto;background:var(--m4-warm);color:var(--m4-warm-ink);font-size:11px;font-weight:900;letter-spacing:.09em;border-radius:99px;padding:6px 13px}
#dlgProducto .msp4 .v24-savings-live{display:none}

/* botones de compra */
.msp4-actions{display:grid;gap:12px;margin:22px 0 0}
#dlgProducto .msp4 .msp4-cta{display:grid;justify-items:center;gap:3px;width:100%;border:0;border-radius:99px;padding:17px 22px;background:linear-gradient(110deg,#1d6cc4,var(--m4-blue2));color:#fff;cursor:pointer;text-decoration:none;box-shadow:0 18px 30px -16px #0a3a75aa;font:inherit}
.msp4-cta span{font-family:var(--m4-head);font-weight:900;font-size:22px;letter-spacing:-.03em}
.msp4-cta small{font-size:13px;opacity:.9;font-weight:600}
#dlgProducto .msp4 .msp4-cta-2{width:100%;border-radius:99px;border:2px solid var(--m4-blue);background:transparent;color:var(--m4-blue2);padding:14px;font:800 16px var(--m4-body);cursor:pointer}
.msp4-ask{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0 0;border-radius:99px;background:var(--m4-card);border:1px solid var(--m4-line);padding:16px;text-decoration:none;color:var(--m4-blue2);font-weight:800;font-size:16px}
#dlgProducto .msp4 .msp4-ask svg{color:#1f9d55;width:24px;height:24px}
.msp4-paycard{display:flex;gap:16px;align-items:flex-start;margin:20px 0 6px;border-radius:var(--m4-r);padding:22px 20px;background:linear-gradient(120deg,var(--m4-soft),#f6efe2)}
.msp4-paycard-icon{flex-shrink:0;width:58px;height:58px;border-radius:18px;background:var(--m4-blue2);color:#fff;display:grid;place-items:center}
#dlgProducto .msp4 .msp4-paycard-icon svg{width:28px;height:28px}
.msp4-paycard strong{font-family:var(--m4-head);font-weight:900;font-size:19px;letter-spacing:-.03em}
.msp4-paycard p{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:#40536b}
.msp4-consult{border-radius:var(--m4-r);background:var(--m4-card);border:1px solid var(--m4-line);padding:20px;display:grid;gap:12px}
.msp4-consult strong{font-family:var(--m4-head);font-weight:900;font-size:20px;letter-spacing:-.03em}
.msp4-consult p{margin:0;color:#40536b;line-height:1.5;font-size:14.5px}

/* franja oscura */
.msp4-band{margin:26px 0 0;background:linear-gradient(90deg,var(--m4-navy),#0f2f57 50%,var(--m4-navy));color:#fff;overflow:hidden;white-space:nowrap}
.msp4-band>div{display:inline-flex;align-items:center;gap:26px;padding:24px 0;animation:m4-marquee 30s linear infinite}
.msp4-band span{font-family:var(--m4-head);font-weight:900;font-size:26px;letter-spacing:-.04em}
#dlgProducto .msp4 .msp4-band em{color:#cfe6ff;font-size:30px}
.msp4-band i{color:var(--m4-celeste);font-style:normal}

/* secciones */
.msp4-sec{padding:58px 16px 10px;max-width:1080px;margin:0 auto;text-align:center}
.msp4-kicker{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:900;letter-spacing:.24em;text-transform:uppercase;color:var(--m4-blue);margin:0 0 10px}
.msp4-kicker::before,.msp4-kicker::after{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}
#dlgProducto .msp4 .msp4-sec h3{font-family:var(--m4-head);font-weight:900;font-size:clamp(2.1rem,9vw,3.4rem);line-height:1.02;letter-spacing:-.055em;margin:0 0 30px;color:var(--m4-ink)}
#dlgProducto .msp4 .msp4-sec h3 em{font-size:1.08em}
.msp4-features{display:grid;gap:16px;text-align:left}
.msp4-feature{border-radius:var(--m4-r);padding:26px 22px;background:var(--m4-card);border:1px solid var(--m4-line);display:grid;gap:10px}
.msp4-feature.is-main{background:linear-gradient(135deg,#2c7bd1,var(--m4-blue2));color:#fff;border:0;min-height:220px;align-content:end}
.msp4-feature-icon{width:54px;height:54px;border-radius:17px;background:var(--m4-soft);color:var(--m4-blue);display:grid;place-items:center}
.msp4-feature.is-main .msp4-feature-icon{background:#ffffff26;color:#fff}
.msp4-feature small{font-weight:900;letter-spacing:.14em;font-size:11px;color:var(--m4-muted)}
.msp4-feature.is-main small{color:#cfe2f8}
.msp4-feature h4{margin:0;font-family:var(--m4-head);font-weight:800;font-size:20px;line-height:1.25;letter-spacing:-.025em}
.msp4-feature.is-main h4{font-size:24px}
.msp4-specs-card{border-radius:34px;background:var(--m4-card);padding:20px;box-shadow:var(--m4-shadow);text-align:left}
.msp4-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.msp4-tiles div{border-radius:24px;background:linear-gradient(160deg,var(--m4-soft),#f3f7fb);padding:20px 8px;text-align:center;display:grid;gap:6px;align-content:center;min-height:118px}
.msp4-tiles b{font-family:var(--m4-head);font-weight:900;font-size:clamp(1.25rem,6.2vw,2rem);letter-spacing:-.05em;color:var(--m4-blue2);overflow-wrap:anywhere}
.msp4-tiles span{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--m4-muted)}
.msp4-table{width:100%;border-collapse:collapse;font-size:15px}
.msp4-table th,.msp4-table td{border:1px solid var(--m4-line);padding:14px 14px;vertical-align:top;text-align:left;line-height:1.45}
.msp4-table th{width:36%;font-weight:600;color:var(--m4-muted)}
.msp4-table td{font-weight:700;color:var(--m4-ink)}
.msp4-compare{max-width:none;background:radial-gradient(120% 80% at 50% 0,#14365f,var(--m4-navy));padding-bottom:58px;margin-top:58px}
.msp4-compare .msp4-kicker{color:#9fd2f5}
#dlgProducto .msp4 .msp4-compare h3{color:#fff}
#dlgProducto .msp4 .msp4-compare h3 em{color:#bfe1fb}
.msp4-compare-card{max-width:760px;margin:0 auto;border-radius:32px;background:#f4f7fa;overflow:hidden}
.msp4-compare-card table{width:100%;border-collapse:collapse}
.msp4-compare-card th,.msp4-compare-card td{padding:18px 8px;border:1px solid #dbe3ec;text-align:center;font-size:15px}
.msp4-compare-card thead th{font-family:var(--m4-head);font-weight:900;font-size:17px;letter-spacing:-.02em;color:var(--m4-ink)}
.msp4-compare-card thead th small{display:block;font-family:var(--m4-body);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-top:3px;color:#d8ecff}
.msp4-compare-card thead th.is-best{background:linear-gradient(160deg,#2c7bd1,var(--m4-blue2));color:#fff}
.msp4-compare-card tbody th{text-align:left;padding-left:16px;font-weight:700;color:#40536b}
.msp4-compare-card tbody td{font-family:var(--m4-head);font-weight:800;font-size:17px;color:var(--m4-ink)}
.msp4-compare-card tbody td.is-best{background:#e4effb;color:var(--m4-blue2)}
.msp4-dash{color:#9aa9b9}
.msp4-faq-list{display:grid;gap:14px;text-align:left}
.msp4-faq details{border-radius:var(--m4-r);background:var(--m4-card);box-shadow:0 10px 24px -20px #0a3a7566;padding:4px 22px}
.msp4-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 0;cursor:pointer;font-family:var(--m4-head);font-weight:800;font-size:19px;letter-spacing:-.025em}
.msp4-faq summary::-webkit-details-marker{display:none}
.msp4-faq summary i{flex-shrink:0;width:42px;height:42px;border-radius:50%;background:var(--m4-soft);position:relative}
.msp4-faq summary i::before,.msp4-faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2.2px;background:var(--m4-blue2);border-radius:2px;transform:translate(-50%,-50%);transition:transform .2s}
.msp4-faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.msp4-faq details[open] summary i::before{transform:translate(-50%,-50%) rotate(45deg)}
.msp4-faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(135deg)}
.msp4-faq details p{margin:0 0 20px;font-size:15.5px;line-height:1.6;color:#40536b}
#dlgProducto .msp4 .msp4-related{max-width:1080px;margin:40px auto 0;padding:0 16px}
.msp4-footer{display:grid;justify-items:center;gap:8px;text-align:center;padding:40px 18px 30px;color:var(--m4-muted);font-size:13px}
.msp4-footer img{width:46px;height:46px;border-radius:14px;background:#fff}
.msp4-footer small{max-width:520px;line-height:1.5;font-size:11.5px}

/* barra inferior fija y botón flotante */
#dlgProducto .msp4 .lp-bottom{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:12px;margin:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fbfcfdf2;backdrop-filter:blur(14px);border-top:1px solid var(--m4-line);box-shadow:0 -10px 30px -18px #0a3a7566;transition:transform .22s ease,opacity .22s ease}
#dlgProducto .msp4 .lp-bottom.msp31-oculta{transform:translateY(calc(100% + 14px));opacity:0;pointer-events:none}
#dlgProducto .msp4 .lp-bottom-thumb{width:58px;height:58px;border-radius:18px;overflow:hidden;background:var(--m4-soft);flex-shrink:0}
#dlgProducto .msp4 .lp-bottom-thumb img{width:100%;height:100%;object-fit:cover}
#dlgProducto .msp4 .lp-bottom-copy{flex:1;min-width:0;display:grid;gap:2px}
.msp4-bar-name{font-family:var(--m4-head);font-weight:900;font-size:16px;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msp4-bar-price{font-size:13px;color:var(--m4-muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msp4-bar-price strong{font-family:var(--m4-head);font-weight:900;font-size:17px;color:var(--m4-blue2);letter-spacing:-.03em}
#dlgProducto .msp4 .lp-bottom .pm-buy-now{border:0;border-radius:99px;min-height:54px;min-width:128px;padding:0 24px;background:linear-gradient(110deg,#1d6cc4,var(--m4-blue2));color:#fff;font:900 18px var(--m4-head);letter-spacing:-.02em;cursor:pointer}
.msp4-fab{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:41;width:62px;height:62px;border-radius:50%;background:#1f9d55;color:#fff;display:grid;place-items:center;box-shadow:0 14px 28px -10px #0b5a2f99;transition:bottom .22s ease}
#dlgProducto .msp4 .msp4-fab svg{width:32px;height:32px}
.msp4.msp4-bar-on .msp4-fab{bottom:calc(98px + env(safe-area-inset-bottom))}

/* lámina HTML de combos dentro de la galería */
#dlgProducto .msp4 .msp29-combo-slide{background:var(--m4-card);font-family:var(--m4-body)}
#dlgProducto .msp4 .msp29-combo-slide h3{font-family:var(--m4-head);font-weight:900;letter-spacing:-.04em;color:var(--m4-ink)}
#dlgProducto .msp4 .msp29-tier{border-radius:20px}
#dlgProducto .msp4 .msp29-tier.is-selected{border-color:var(--m4-blue);background:#f0f7ff}

/* escritorio */
@media (min-width:900px){
  .msp4-head{padding:16px 28px}
  .msp4-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;padding:30px 28px 10px;align-items:start}
  .msp4-gallery{position:sticky;top:96px}
  .msp4-features{grid-template-columns:1.25fr 1fr 1fr}
  .msp4-feature.is-main{grid-row:span 1}
  .msp4-sec{padding-top:80px}
  #dlgProducto .msp4 .lp-bottom{padding-left:max(20px,calc((100vw - 1100px)/2));padding-right:max(20px,calc((100vw - 1100px)/2))}
}
@media (max-width:430px){
  .msp4-head{gap:8px;padding:12px 14px}
  .msp4-round{width:40px;height:40px}
  .msp4-head-actions{gap:6px}
  .msp4-brand img{width:36px;height:36px;border-radius:11px}
  .msp4-brand span{font-size:15.5px}
  #dlgProducto .msp4-brand em{font-size:17px}
}
@media (max-width:380px){
  .msp4-brand span{font-size:14px}
  #dlgProducto .msp4 .lp-bundle{padding:20px 14px;gap:10px}
  #dlgProducto .msp4 .lp-bundle-copy strong{font-size:19px}
  #dlgProducto .msp4 .v24-price-stack strong{font-size:22px}
  #dlgProducto .msp4 .lp-bottom .pm-buy-now{min-width:108px;padding:0 16px}
}
@media (prefers-reduced-motion:reduce){.msp4-ticker>div,.msp4-band>div{animation:none}}

/* ajustes: botón de consulta centrado y lámina de combos completa en móvil */
#dlgProducto .msp4 .msp4-cta{text-align:center}
#dlgProducto .msp4 .msp4-main:has(.msp29-combo-slide){aspect-ratio:auto;height:auto;overflow:visible}
#dlgProducto .msp4 .msp29-combo-slide{height:auto;min-height:0;max-height:none;overflow:visible;padding:56px 18px 20px;border-radius:0}
.msp4-stage:has(.msp29-combo-slide) .msp4-arrows{display:none}
@media (max-width:600px){
  #dlgProducto .msp4 .msp29-combo-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  #dlgProducto .msp4 .msp29-product-figure{display:none}
}

/* =====================================================================
   PORTADA Y CATÁLOGO 4.0
   ===================================================================== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body{background:var(--m4-bg)!important;color:var(--m4-ink)}
body h1 em,body h2 em,.title em,.brand-name em{font-family:var(--m4-serif)!important;font-style:italic!important;font-weight:400!important;letter-spacing:-.01em!important}
/* cinta superior */
.topbar.msp4-topbar{background:var(--m4-navy)!important;color:#e6f1ff;padding:0!important;overflow:hidden;white-space:nowrap;border:0!important}
.msp4-ticker-home>div{display:inline-flex;gap:36px;padding:10px 0;animation:m4-marquee 28s linear infinite;font-weight:700;font-size:13px}
.msp4-ticker-home span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--m4-celeste);margin:0 10px 1px 0;vertical-align:middle}
@media (prefers-reduced-motion:reduce){.msp4-ticker-home>div{animation:none}}
/* cabecera */
header.top{background:var(--m4-bg2)!important;border-bottom:1px solid var(--m4-line)!important;box-shadow:none!important}
.brand-name{font-family:var(--m4-head)!important;font-weight:900!important;letter-spacing:-.045em!important;color:var(--m4-ink)!important}
.brand-name em{color:var(--m4-blue)!important;font-size:1.08em}
.brand-logo{border-radius:14px!important;background:#fff;box-shadow:0 2px 8px #0a3a7520}
.cart-btn{border-radius:99px!important;background:var(--m4-navy)!important;color:#fff!important;border:0!important}
.nav a{font-weight:700!important;color:var(--m4-ink)!important}
/* titulares de sección */
.title,.store-promo h2,.foot h2{font-family:var(--m4-head)!important;font-weight:900!important;letter-spacing:-.05em!important;line-height:1.03!important;color:var(--m4-ink)}
.title{font-size:clamp(2rem,6.4vw,3.1rem)!important}
.title em{color:var(--m4-blue)!important;font-size:1.08em}
.kicker{font-weight:900!important;letter-spacing:.22em!important;color:var(--m4-blue)!important}
.section-desc{color:var(--m4-muted)!important}
/* buscador y hero claro */
.store-search{border-radius:99px!important;background:#fff!important;border:1px solid var(--m4-line)!important;box-shadow:0 10px 24px -20px #0a3a7566!important}
.store-search button{border-radius:99px!important;background:var(--m4-navy)!important}
body:not(:has(#dlgProducto[open])) .store-intro .store-hero{background:radial-gradient(130% 120% at 85% 10%,var(--m4-soft2) 0,var(--m4-card) 55%,#f6efe2 100%)!important;border:1px solid #fff!important;box-shadow:var(--m4-shadow)!important;border-radius:34px!important}
body:not(:has(#dlgProducto[open])) .store-intro .store-hero h1{color:var(--m4-ink)!important;text-shadow:none!important;font-family:var(--m4-head)!important;font-weight:900!important;letter-spacing:-.055em!important;line-height:1.02!important}
body:not(:has(#dlgProducto[open])) .store-intro .store-hero h1 em{color:var(--m4-blue)!important;font-size:1.08em}
body:not(:has(#dlgProducto[open])) .store-intro .store-hero-copy p{color:#40536b!important}
body:not(:has(#dlgProducto[open])) .store-intro .store-overline{color:var(--m4-blue)!important}
body:not(:has(#dlgProducto[open])) .store-intro .store-hero-actions>span{color:var(--m4-muted)!important}
body:not(:has(#dlgProducto[open])) .store-intro .store-cta{background:linear-gradient(110deg,#1d6cc4,var(--m4-blue2))!important;color:#fff!important;border-radius:99px!important;box-shadow:0 14px 26px -14px #0a3a75aa!important;font-weight:800!important}
.feature-main,.feature-mini{border-radius:26px!important;background:#fff!important;border:1px solid var(--m4-line)!important;box-shadow:0 12px 26px -20px #0a3a7566!important}
.feature-tag{background:var(--m4-warm)!important;color:var(--m4-warm-ink)!important;border-radius:99px!important}
.store-assurances>div{border-radius:22px!important;background:var(--m4-card)!important;border:1px solid var(--m4-line)!important}
.picture-cat{border-radius:24px!important;background:var(--m4-card)!important;border:1px solid var(--m4-line)!important}
/* franja promocional oscura */
.store-promo{background:radial-gradient(120% 90% at 20% 0,#14365f,var(--m4-navy))!important;border-radius:32px!important}
.store-promo h2{color:#fff!important;font-size:clamp(1.7rem,5.6vw,2.7rem)!important}
.store-promo h2 em{color:#bfe1fb!important}
.store-promo a,.store-promo .btn{border-radius:99px!important}
/* tarjetas de producto */
.card,.fcard{border-radius:26px!important;background:var(--m4-card)!important;border:1px solid #fff!important;box-shadow:0 14px 30px -24px #0a3a7580!important;overflow:hidden}
.card .card-media,.fcard .card-media{border-radius:20px!important;overflow:hidden}
.card-title,.card-title .linkbtn{font-family:var(--m4-head)!important;font-weight:800!important;letter-spacing:-.025em!important;color:var(--m4-ink)!important}
.card .price,.fcard .price{font-family:var(--m4-head)!important;font-weight:900!important;letter-spacing:-.05em!important;color:var(--m4-ink)!important}
.card .price-ask,.fcard .price-ask{font-size:1.05rem!important;line-height:1.2!important;letter-spacing:-.02em!important;color:var(--m4-blue2)!important}
.card .btn-primary,.fcard .btn-primary{border-radius:99px!important;background:linear-gradient(110deg,#1d6cc4,var(--m4-blue2))!important;border:0!important}
.card .btn-ghost,.fcard .btn-ghost{border-radius:99px!important}
.card-badges .promo-tag.combo-tag{background:var(--m4-warm)!important;color:var(--m4-warm-ink)!important;border:0!important}
.pill-ok{background:#e3f4ea!important;color:var(--m4-save)!important}
/* filtros, paginación, chips */
.cats button,.chip,[data-cat]{border-radius:99px!important}
.cats [aria-pressed=true],.cats .active,.chip.is-active{background:var(--m4-navy)!important;color:#fff!important}
.input,.filter-select,.input-search{border-radius:16px!important;border-color:var(--m4-line)!important}
.input-search{border-radius:99px!important}
.pagination button,.pagination a{border-radius:99px!important}
.pagination [aria-current=page]{background:var(--m4-navy)!important;color:#fff!important}
/* bloques informativos, reseñas y preguntas */
.info-card,.trust-card,.about-panel,.review-form-wrap,.reviews-list-wrap{border-radius:28px!important;background:var(--m4-card)!important;border:1px solid #fff!important;box-shadow:0 12px 28px -24px #0a3a7566!important}
.num{border-radius:50%!important;background:var(--m4-navy)!important;color:#fff!important}
.faq-list details{border-radius:24px!important;background:var(--m4-card)!important;border:1px solid #fff!important;box-shadow:0 10px 24px -22px #0a3a7566!important}
.faq-list summary{font-family:var(--m4-head)!important;font-weight:800!important;letter-spacing:-.02em!important}
.btn{border-radius:99px!important}
.foot{background:radial-gradient(120% 80% at 50% 0,#14365f,var(--m4-navy))!important}
.foot h2{color:#fff!important}
.foot h2 em{color:#bfe1fb!important}
.cartbar{border-radius:99px!important;background:var(--m4-navy)!important}
.msp4-compare-card tbody th small{display:block;font-size:11px;font-weight:600;color:#7a8ba0}
