/* SP Integra — Menú móvil (barra inferior + paneles). Se carga con media="(max-width: 899px)".
   Opción D aprobada el 12/10/2026. Lógica: assets/js/menu-movil.js · inc/menu-movil.php */
:root{
  --mm-brand:#014F96;--mm-brand2:#0a6ac0;--mm-ink:#0d1b2a;--mm-text:#1a1a2e;--mm-muted:#5F6B7A;--mm-line:#dde1e7;--mm-hair:#eef1f4;--mm-soft:#f1f4f7;--mm-light:#e3f0ff;
  --mm-teal:#0b7a75;--mm-tealbg:#e8f6f5;--mm-promo:#8a3d00;--mm-promobg:#fff4e6;--mm-sale:#c62828;--mm-ok:#1a8d4c;--mm-wa:#1a8d4c;--mm-wabg:#f0faf4;
  --mm-bar:64px;--mm-sab:env(safe-area-inset-bottom,0px)
}
body.spi-mm-on{padding-bottom:calc(var(--mm-bar) + var(--mm-sab))}
/* Sustituye a la barra y al banner anteriores */
body.spi-mm-on .mobile-action-bar,body.spi-mm-on .mobile-call-banner{display:none!important}
/* Cabecera solo con el logo, fija arriba (Jorge, 12/10/2026): buscador, menú y carrito viven en la barra inferior */
body.spi-mm-on .site-header{position:sticky!important;top:var(--spi-adminbar,0px);z-index:999;padding-top:0!important;padding-bottom:0!important}
body.spi-mm-on .site-header .primary-nav{display:none!important}
body.spi-mm-on .site-header .header-actions{display:flex!important;margin-left:auto}
body.spi-mm-on .site-header .header-actions>:not(.spi-mm-buscar){display:none!important} /* solo la lupa */
body.spi-mm-on .site-header .header-inner{justify-content:flex-start!important;height:60px!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important}
@media (max-width:600px){body.spi-mm-on.admin-bar .site-header{top:0!important}} /* la barra de admin no es fija por debajo de 600 px */
body.spi-mm-on .site-header .site-branding{margin:0;text-align:left}
/* (antes) lupa en lugar del carrito */
body.spi-mm-on .site-header .cart-link{display:none!important}
.spi-mm-buscar{display:none}
body.spi-mm-on .spi-mm-buscar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--mm-line);border-radius:12px;background:#fff;color:var(--mm-ink);cursor:pointer;margin:0;padding:0}
body.spi-mm-on .spi-mm-buscar:focus-visible{outline:2px solid var(--mm-brand);outline-offset:2px}
/* Otros elementos fijos abajo, por encima de la barra */
body.spi-mm-on .spica-cc-reopen{bottom:calc(var(--mm-bar) + var(--mm-sab) + 12px)!important}
html.spi-mm-lock .spica-cc-reopen,html.spi-mm-lock .spi-toast{display:none!important}
body.spi-mm-on .spi-toast{bottom:calc(var(--mm-bar) + var(--mm-sab) + 16px)!important}
body.spi-mm-on .primary-nav.is-open{padding-bottom:calc(var(--mm-bar) + var(--mm-sab) + 16px)!important}

/* ── Barra ── */
.spi-mm-bar{position:fixed;left:0;right:0;bottom:0;z-index:9990;height:calc(var(--mm-bar) + var(--mm-sab));padding-bottom:var(--mm-sab);background:rgba(255,255,255,.97);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--mm-line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));transition:transform .25s ease;font-family:inherit}
.spi-mm-hide .spi-mm-bar{transform:translateY(100%)}
.spi-mm-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600;line-height:1.1;color:var(--mm-muted);text-decoration:none!important;-webkit-tap-highlight-color:transparent;min-width:0}
.spi-mm-tab::before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 3px 3px;background:transparent}
.spi-mm-tab[aria-current]{color:var(--mm-tc,var(--mm-brand));font-weight:800}
.spi-mm-tab[aria-current]::before{background:var(--mm-tc,var(--mm-brand))}
.spi-mm-tab[data-tab="servicio"]{--mm-tc:var(--mm-teal)}
.spi-mm-tab:focus-visible{outline:2px solid var(--mm-brand);outline-offset:-6px;border-radius:12px}
.spi-mm-tab:active{background:var(--mm-hair)}
.spi-mm-tx{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.spi-mm-ic{position:relative;display:grid;place-items:center}
.spi-mm-badge{position:absolute;top:-6px;left:14px;min-width:18px;height:18px;border-radius:9px;background:var(--mm-sale);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 5px;border:2px solid #fff;font-variant-numeric:tabular-nums}
.spi-mm-badge.bump{animation:spimmbump .4s ease}
@keyframes spimmbump{40%{transform:scale(1.35)}}
.spi-mm-dot{position:absolute;top:-2px;right:-4px;width:9px;height:9px;border-radius:5px;background:#22b35e;border:2px solid #fff}
[hidden].spi-mm-dot,[hidden].spi-mm-badge{display:none!important}

/* ── Botón fijo de compra en la ficha ── */
.spi-mm-atc{position:fixed;left:0;right:0;bottom:calc(var(--mm-bar) + var(--mm-sab));z-index:9980;background:#fff;border-top:1px solid var(--mm-line);padding:10px 16px;display:flex;align-items:center;gap:12px;transform:translateY(calc(100% + var(--mm-bar) + var(--mm-sab)));transition:transform .25s ease;box-shadow:0 -4px 14px rgba(13,27,42,.06)}
.spi-mm-atc.on{transform:none}
.spi-mm-hide .spi-mm-atc.on{transform:translateY(calc(var(--mm-bar) + var(--mm-sab)))}
.spi-mm-lock .spi-mm-atc{visibility:hidden}
.spi-mm-atc .ap{font-size:17px;font-weight:800;color:var(--mm-brand);line-height:1.15;font-variant-numeric:tabular-nums;min-width:0}
.spi-mm-atc .ap small{display:block;font-size:11px;font-weight:600;color:var(--mm-muted)}
.spi-mm-atc .ap del{display:none}
.spi-mm-atc .ap ins{text-decoration:none}
.spi-mm-atc button{margin-left:auto;height:48px;padding:0 18px;border:0;border-radius:12px;background:var(--mm-brand);color:#fff;font-size:16px;font-weight:700;cursor:pointer;white-space:nowrap;flex:none}
body.spi-mm-atc-on{padding-bottom:calc(var(--mm-bar) + var(--mm-sab) + 70px)}

/* ── Panel ── */
.spi-mm-dim{position:fixed;inset:0;z-index:9991;background:rgba(13,27,42,.45);opacity:0;pointer-events:none;transition:opacity .25s}
.spi-mm-dim.on{opacity:1;pointer-events:auto}
.spi-mm-sheet{position:fixed;left:0;right:0;top:max(48px,env(safe-area-inset-top,0px));bottom:calc(var(--mm-bar) + var(--mm-sab));z-index:9992;background:#fff;border-radius:22px 22px 0 0;display:flex;flex-direction:column;transform:translateY(110%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s;box-shadow:0 -10px 30px rgba(0,0,0,.18);color:var(--mm-text);font-size:15px;line-height:1.4}
.spi-mm-sheet.on{transform:translateY(0);visibility:visible;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.spi-mm-sheet{overflow:hidden}
.spi-mm-sheet *{box-sizing:border-box}
.spi-mm-in{display:flex;flex-direction:column;flex:1;min-height:0}
.spi-mm-grab{display:flex;justify-content:center;padding:10px 0 4px;cursor:grab;touch-action:none;flex:none}
.spi-mm-grab span{width:40px;height:5px;border-radius:3px;background:#c7cfd8}
.spi-mm-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px 0 16px;min-height:48px;flex:none}
.spi-mm-hd h2,.spi-mm-ttl h2{margin:0;font-size:21px;font-weight:800;color:var(--mm-ink);line-height:1.2;letter-spacing:0}
.spi-mm-ttl{padding:2px 16px 0;flex:none}
.spi-mm-ttl h2{font-size:24px}
.spi-mm-back{display:flex;align-items:center;gap:2px;border:0;background:none;font-size:15px;font-weight:700;color:var(--mm-brand);min-height:44px;padding:0 8px 0 0;cursor:pointer;font-family:inherit}
.spi-mm-x{width:44px;height:44px;border:0;border-radius:22px;background:var(--mm-hair);display:grid;place-items:center;color:var(--mm-ink);cursor:pointer;flex:none;padding:0}
.spi-mm-crumb{padding:0 16px;font-size:13px;color:var(--mm-muted);flex:none}
.spi-mm-crumb button{border:0;background:none;padding:0;color:var(--mm-brand);font-size:13px;cursor:pointer;min-height:28px;font-family:inherit}
.spi-mm-crumb strong{color:var(--mm-ink)}
.spi-mm-band{margin:8px 16px 0;height:4px;border-radius:2px;background:var(--mm-tc,var(--mm-brand));flex:none}
.spi-mm-srch{margin:12px 16px 6px;display:flex;align-items:center;gap:10px;height:50px;padding:0 6px 0 14px;border-radius:12px;background:var(--mm-soft);border:1.5px solid transparent;flex:none}
.spi-mm-srch:focus-within{border-color:var(--mm-brand);background:#fff}
.spi-mm-srch input,.spi-mm-ssrch input{border:0!important;background:transparent!important;font-size:16px!important;flex:1;min-width:0;outline:none;color:var(--mm-text);box-shadow:none!important;padding:0!important;height:auto!important;font-family:inherit;-webkit-appearance:none;appearance:none}
.spi-mm-srch input::-webkit-search-cancel-button{display:none}
.spi-mm-clr{width:36px;height:36px;border:0;border-radius:18px;background:none;color:var(--mm-muted);cursor:pointer;font-size:16px}
.spi-mm-ssrch{margin:12px 0 4px;display:flex;align-items:center;gap:8px;height:46px;padding:0 12px;border-radius:12px;border:1px solid var(--mm-line);background:#fff}
.spi-mm-ssrch:focus-within{border-color:var(--mm-brand)}
.spi-mm-body{flex:1;overflow-y:auto;padding:4px 16px 24px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.spi-mm-it{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;border:0;border-bottom:1px solid var(--mm-hair);background:none;font-size:16px;font-weight:600;color:var(--mm-text)!important;text-align:left;cursor:pointer;padding:0;text-decoration:none!important;font-family:inherit}
.spi-mm-it.sub{font-weight:500;border-left:3px solid #9cc3ec;padding-left:12px}
.spi-mm-it .l{display:flex;align-items:center;gap:12px;min-width:0}
.spi-mm-it .l>span:last-child{min-width:0}
.spi-mm-it small{display:block;font-size:13px;font-weight:400;color:var(--mm-muted)}
.spi-mm-cic{width:40px;height:40px;border-radius:10px;background:var(--mm-light);display:grid;place-items:center;flex:none;color:var(--mm-brand);overflow:hidden}
.spi-mm-cic img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.spi-mm-cnt{font-size:13px;font-weight:600;color:var(--mm-muted);background:var(--mm-hair);border-radius:999px;padding:2px 9px;font-variant-numeric:tabular-nums}
.spi-mm-end{display:flex;align-items:center;gap:10px;flex:none}
.spi-mm-tag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:2px 7px;border-radius:6px;background:var(--mm-light);color:var(--mm-brand);vertical-align:2px;margin-left:6px;white-space:nowrap}
.spi-mm-cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:12px;background:var(--mm-brand);color:#fff!important;font-size:16px;font-weight:700;margin:10px 0 6px;border:0;width:100%;cursor:pointer;text-decoration:none!important;font-family:inherit;padding:0 14px;text-align:center}
.spi-mm-cta.ghost{background:#fff;color:var(--mm-brand)!important;border:1.5px solid var(--mm-brand)}
.spi-mm-cta.teal{background:var(--mm-teal)}
.spi-mm-cta[disabled]{opacity:.6}
.spi-mm-hint{font-size:13px;color:var(--mm-muted);padding:10px 2px;line-height:1.45;margin:0}
.spi-mm-hint a{color:var(--mm-brand)}
.spi-mm-lbl{font-size:12px;font-weight:700;letter-spacing:.07em;color:var(--mm-muted);margin:16px 0 6px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.spi-mm-lbl button{border:0;background:none;color:var(--mm-brand);font-size:13px;font-weight:600;cursor:pointer;min-height:32px;text-transform:none;letter-spacing:0;font-family:inherit}
.spi-mm-chips{display:flex;flex-wrap:wrap;gap:8px}
.spi-mm-chip{padding:0 14px;min-height:40px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--mm-line);font-size:14px;font-weight:600;color:var(--mm-text)!important;background:#fff;cursor:pointer;text-decoration:none!important;font-family:inherit}
.spi-mm-chip.promo{background:var(--mm-promobg);color:var(--mm-promo)!important;border-color:transparent}
.spi-mm-cats{display:grid;grid-template-columns:minmax(0,1fr)}
.spi-mm-promo{display:flex;align-items:center;gap:12px;width:100%;border-radius:14px;background:var(--mm-promobg);color:var(--mm-promo)!important;padding:12px 14px;text-decoration:none!important;margin-top:14px}
.spi-mm-promo b{display:block;font-size:15px}
.spi-mm-promo span span{font-size:13px;opacity:.9}
.spi-mm-pct{width:40px;height:40px;border-radius:12px;background:var(--mm-promo);color:#fff;display:grid;place-items:center;font-weight:800;font-size:16px;flex:none}
.spi-mm-res{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--mm-hair);text-decoration:none!important;color:var(--mm-text)!important}
.spi-mm-th{width:56px;height:56px;border-radius:10px;background:var(--mm-soft);flex:none;overflow:hidden;display:grid;place-items:center;color:#8a97a6;font-size:11px;font-weight:800}
.spi-mm-th img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.spi-mm-res .rn{display:block;font-size:14px;font-weight:600;line-height:1.3}
.spi-mm-res .rc{display:block;font-size:12px;color:var(--mm-muted);margin-top:2px}
.spi-mm-price{display:block;font-size:14px;font-weight:800;color:var(--mm-brand);font-variant-numeric:tabular-nums;margin-top:2px}
.spi-mm-price s{font-size:12px;font-weight:500;color:var(--mm-muted);margin-left:4px}
.spi-mm-cuota{display:block;font-size:12px;color:var(--mm-muted);font-weight:600}
.spi-mm-cuota b{color:var(--mm-brand)}
.spi-mm-bo{font-size:11px;font-weight:800;color:var(--mm-promo);background:var(--mm-promobg);border-radius:6px;padding:1px 6px;margin-left:6px;vertical-align:1px;white-space:nowrap}
.spi-mm-exact{border:1.5px solid var(--mm-brand);border-radius:14px;padding:4px 12px;margin-top:8px}
.spi-mm-exact .spi-mm-res{border:0}
.spi-mm-sugg{background:var(--mm-light);border-radius:12px;padding:10px 12px;margin-top:8px;font-size:14px;color:var(--mm-ink)}
mark.spi-mm-hl{background:#fff1a8;color:inherit;border-radius:2px;padding:0}
.spi-mm-load{padding:24px 0;text-align:center;color:var(--mm-muted);font-size:14px}
.spi-mm-status{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:6px 10px;border-radius:999px;margin:10px 0 2px}
.spi-mm-status.open{background:#e8f6ee;color:var(--mm-ok)}
.spi-mm-status.closed{background:var(--mm-hair);color:var(--mm-muted)}
.spi-mm-status i{width:8px;height:8px;border-radius:4px;background:currentColor}
.spi-mm-call{display:flex;align-items:center;gap:12px;min-height:68px;border:1px solid var(--mm-line);border-radius:14px;padding:0 14px;margin-top:10px;color:var(--mm-text)!important;text-decoration:none!important;background:#fff}
.spi-mm-call .ci{width:40px;height:40px;border-radius:20px;background:var(--mm-light);color:var(--mm-brand);display:grid;place-items:center;flex:none}
.spi-mm-call .cb{flex:1;min-width:0}
.spi-mm-call strong{display:block;font-size:18px;color:var(--mm-brand);font-variant-numeric:tabular-nums}
.spi-mm-call .cb span{font-size:13px;color:var(--mm-muted)}
.spi-mm-call.wa{border-color:#bfe3cc;background:var(--mm-wabg)}
.spi-mm-call.wa strong{color:var(--mm-wa)}
.spi-mm-call.wa .ci{background:#25d366;color:#fff}
.spi-mm-portal{display:flex;align-items:center;gap:12px;border-radius:14px;padding:12px 14px;margin-top:12px;background:linear-gradient(135deg,var(--mm-brand),var(--mm-brand2));color:#fff!important;text-decoration:none!important}
.spi-mm-portal .pi{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:none}
.spi-mm-portal b{display:block;font-size:16px}
.spi-mm-portal span span{font-size:13px;opacity:.92}
.spi-mm-portal .ext{margin-left:auto;flex:none}
.spi-mm-hello{display:flex;align-items:center;gap:12px;margin-top:6px}
.spi-mm-av{width:48px;height:48px;border-radius:24px;background:var(--mm-light);color:var(--mm-brand);display:grid;place-items:center;font-weight:800;font-size:17px;flex:none}
.spi-mm-hello b{display:block;font-size:16px;color:var(--mm-ink)}
.spi-mm-box{border:1px solid var(--mm-line);border-radius:14px;padding:12px 14px;margin-top:10px;background:#fff}
.spi-mm-box h3{margin:0 0 4px;font-size:15px;color:var(--mm-ink);display:flex;justify-content:space-between;align-items:baseline;gap:8px;line-height:1.3}
.spi-mm-box p{margin:0;font-size:13px;color:var(--mm-muted)}
.spi-mm-row{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.spi-mm-mini{border:0;background:var(--mm-light);color:var(--mm-brand)!important;font-weight:700;font-size:14px;border-radius:10px;min-height:40px;padding:0 12px;cursor:pointer;text-decoration:none!important;display:inline-flex;align-items:center;font-family:inherit;flex:none}
.spi-mm-mini.plain{background:none}
.spi-mm-st{font-size:11px;font-weight:800;letter-spacing:.04em;padding:2px 7px;border-radius:6px;background:var(--mm-hair);color:var(--mm-muted);white-space:nowrap;text-transform:uppercase}
.spi-mm-st.ok{background:#e8f6ee;color:var(--mm-ok)}
.spi-mm-ci{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--mm-hair);align-items:flex-start}
.spi-mm-ci .spi-mm-th{width:64px;height:64px}
.spi-mm-cinfo{flex:1;min-width:0}
.spi-mm-cn{font-size:15px;font-weight:600;line-height:1.3;color:var(--mm-ink)!important;text-decoration:none!important}
.spi-mm-qty{display:inline-flex;align-items:center;margin-top:8px;border:1px solid var(--mm-line);border-radius:10px}
.spi-mm-qty button{width:44px;height:40px;border:0;background:none;font-size:20px;color:var(--mm-brand);cursor:pointer;display:grid;place-items:center;padding:0}
.spi-mm-qty span{min-width:28px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.spi-mm-ship{border-radius:12px;background:var(--mm-soft);padding:10px 12px;margin-top:12px;font-size:13px;color:var(--mm-ink)}
.spi-mm-trk{height:6px;border-radius:3px;background:#dfe6ee;margin-top:6px;overflow:hidden}
.spi-mm-trk i{display:block;height:100%;background:var(--mm-ok);border-radius:3px;transition:width .3s}
.spi-mm-tot{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 2px;font-size:16px}
.spi-mm-tot strong{font-size:21px;color:var(--mm-ink);font-variant-numeric:tabular-nums}
.spi-mm-trust{display:grid;gap:6px;margin:12px 0 4px;font-size:13px;color:#3d4a5c}
.spi-mm-trust div{display:flex;gap:8px;align-items:center}
.spi-mm-trust svg{color:var(--mm-ok);flex:none}
.spi-mm-empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:26px 10px 6px;color:var(--mm-muted)}
.spi-mm-form{display:grid;gap:10px;margin-top:8px}
.spi-mm-form label{font-size:13px;font-weight:700;color:var(--mm-ink);display:grid;gap:4px}
.spi-mm-form input[type=text],.spi-mm-form input[type=tel],.spi-mm-form select{height:48px;border:1px solid var(--mm-line);border-radius:10px;padding:0 12px;font-size:16px;font-family:inherit;background:#fff;color:var(--mm-text);width:100%}
.spi-mm-form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:13px;color:#3d4a5c}
.spi-mm-form .chk input{width:20px;height:20px;margin-top:1px;flex:none}
.spi-mm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.spi-mm-msg{font-size:14px;border-radius:10px;padding:10px 12px}
.spi-mm-msg.ok{background:#e8f6ee;color:var(--mm-ok)}
.spi-mm-msg.err{background:#fdecec;color:#a42020}
.spi-mm-toast{position:fixed;left:16px;right:16px;bottom:calc(var(--mm-bar) + var(--mm-sab) + 14px);z-index:9995;background:#0d1b2a;color:#fff;border-radius:12px;padding:12px 14px;font-size:14px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none}
.spi-mm-toast.on{opacity:1;transform:none}
html.spi-mm-lock,html.spi-mm-lock body{overflow:hidden}
html.spi-mm-lock body{position:fixed;left:0;right:0;top:var(--spi-mm-y,0)}
.spi-mm-sheet :focus-visible{outline:2px solid var(--mm-brand);outline-offset:2px}

/* ── Tablet vertical ── */
@media (min-width:600px){
  .spi-mm-bar{left:50%;right:auto;width:min(600px,calc(100% - 48px));transform:translateX(-50%);bottom:calc(14px + var(--mm-sab));height:var(--mm-bar);padding-bottom:0;border:1px solid var(--mm-line);border-radius:20px;box-shadow:0 10px 30px rgba(13,27,42,.14)}
  .spi-mm-hide .spi-mm-bar{transform:translate(-50%,calc(100% + 40px))}
  body.spi-mm-on{padding-bottom:calc(var(--mm-bar) + 28px + var(--mm-sab))}
  .spi-mm-sheet{left:50%;right:auto;width:560px;top:90px;bottom:calc(var(--mm-bar) + 28px + var(--mm-sab));border-radius:22px;transform:translate(-50%,110%);box-shadow:0 20px 50px rgba(13,27,42,.25)}
  .spi-mm-sheet.on{transform:translate(-50%,0)}
  .spi-mm-cats{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
  .spi-mm-atc{left:50%;right:auto;width:min(600px,calc(100% - 48px));transform:translate(-50%,200%);bottom:calc(var(--mm-bar) + 26px + var(--mm-sab));border:1px solid var(--mm-line);border-radius:16px}
  .spi-mm-atc.on{transform:translateX(-50%)}
  .spi-mm-hide .spi-mm-atc.on{transform:translate(-50%,calc(var(--mm-bar) + 40px))}
  .spi-mm-toast{left:50%;right:auto;width:420px;transform:translate(-50%,8px)}
  .spi-mm-toast.on{transform:translate(-50%,0)}
}
@media (prefers-reduced-motion:reduce){.spi-mm-bar,.spi-mm-sheet,.spi-mm-dim,.spi-mm-atc,.spi-mm-toast{transition:none!important}.spi-mm-badge.bump{animation:none}}
@media print{.spi-mm,.spi-mm-sheet,.spi-mm-dim,.spi-mm-atc{display:none!important}}
/* Teclado abierto (inc. iOS): panel entre la parte de arriba visible y el teclado, sin barra inferior */
html.spi-mm-kb .spi-mm-bar{display:none!important}
html.spi-mm-kb .spi-mm-sheet{top:calc(var(--mm-vvtop,0px) + 8px)!important;bottom:auto!important;height:calc(var(--mm-vvh,100vh) - 8px)!important;transition:none!important} /* encaja en la zona visible que deja el teclado (iOS) */
html.spi-mm-kb .spi-mm-grab{display:none}
/* Un solo borde de foco en el buscador (antes salían dos) */
.spi-mm-srch input:focus,.spi-mm-srch input:focus-visible,.spi-mm-ssrch input:focus,.spi-mm-ssrch input:focus-visible{outline:none!important;box-shadow:none!important;border:0!important}
.spi-mm-srch:focus-within{box-shadow:0 0 0 3px rgba(1,79,150,.15)}

/* La barra inferior queda por encima del oscurecido del panel: siempre blanca y pulsable */
.spi-mm-bar{z-index:9993}
