body #mobDrawer .tm-category-menu,body #mobDrawer .tm-category-extra{flex:0 0 auto!important}body:has(#mobDrawer.open) #tm-activar-push{visibility:hidden!important;pointer-events:none!important}

.tm-category-menu{width:100%;background:#fff;border:1px solid #e8ebf0;border-radius:9px;overflow:hidden;box-shadow:0 4px 14px #13243b0c;font-family:Arial,sans-serif}.tm-category-title{position:relative;display:flex;align-items:center;gap:10px;min-height:41px;padding:9px 12px;background:linear-gradient(110deg,#ff1018,#ed0010);color:#fff;overflow:hidden}.tm-category-title h3{position:relative;z-index:1;margin:0!important;padding:0!important;color:inherit!important;font:800 15px/1.2 Arial,sans-serif!important;letter-spacing:-.4px;text-transform:uppercase}.tm-category-bars{font:700 21px/1 Arial;position:relative;z-index:1}.tm-category-flag{position:absolute;right:-5px;top:0;width:65px;height:100%;transform:skewX(-23deg);background:repeating-conic-gradient(#fff 0 25%,#15171b 0 50%) 50%/21px 21px;mask-image:linear-gradient(90deg,transparent,#000 25%);opacity:.98}.tm-category-links{list-style:none!important;margin:0!important;padding:0!important}.tm-category-links li{list-style:none!important;margin:0!important;padding:0!important;border:0!important}.tm-category-link{position:relative;box-sizing:border-box;display:flex!important;align-items:center;gap:8px;min-height:51px;padding:3px 9px 3px 3px!important;background:linear-gradient(#fff,#fdfdfe);border-bottom:1px solid #e8ebf0;color:#071b43!important;text-decoration:none!important;transition:background .15s,color .15s}.tm-category-links li:last-child a{border-bottom:0}.tm-category-link.is-featured{background:linear-gradient(100deg,#ff111b,#ed0010)!important;color:#fff!important}.tm-category-link:hover{background:#fff0f1;color:#e60012!important}.tm-category-link.is-featured:hover{color:#fff!important;filter:brightness(.96)}.tm-category-label{flex:1;min-width:0;font:700 14px/1.18 Arial,sans-serif;letter-spacing:-.45px}.tm-category-chevron{flex:0 0 13px;width:13px;height:20px;color:#929baa}.is-featured .tm-category-chevron{color:#fff}.tm-category-link:focus-visible{outline:3px solid #1565c0;outline-offset:-3px;z-index:1}.tm-category-art{position:relative;display:block;flex:0 0 83px;width:83px;height:44px;overflow:hidden}.tm-category-art>span{position:absolute;left:50%;top:50%;width:151px;height:72px;background-image:url('/images/tm-category-reference-20261020.png');background-repeat:no-repeat;background-size:1536px 1024px;transform:translate(-50%,-50%) scale(.55);transform-origin:center;display:block}
.tm-art-vehicles>span{background-position:-1092px -100px}
.tm-art-diorama>span{background-position:-1092px -173px}
.tm-art-types>span{background-position:-1092px -247px}
.tm-art-scales>span{background-position:-1092px -320px}
.tm-art-tools>span{background-position:-1092px -393px}
.tm-art-tv>span{background-position:-1092px -468px}
.tm-art-emergency>span{background-position:-1092px -541px}
.tm-art-offers>span{background-position:-1092px -615px}
.tm-art-order>span{background-position:-1092px -689px}
body.homepage.tm-home-v2 .tm-categories>.tm-category-menu{height:auto!important;margin:0!important}body.homepage.tm-home-v2 .tm-opening{align-items:start!important}body #mobDrawer.mob-drawer{width:min(340px,90vw)!important;max-width:90vw!important;background:#fff!important;padding:0!important;overflow-y:auto!important;overscroll-behavior:contain;box-shadow:6px 0 32px #0004;z-index:100002!important}body #mobDrawer .mob-drawer-header{position:sticky;top:0;z-index:3;display:flex!important;align-items:center!important;min-height:53px!important;gap:0!important;padding:0!important;background:#fff!important;border-bottom:1px solid #e8ebf0!important}body #mobDrawer .mob-drawer-header>.tm-category-title{flex:1;min-height:53px;box-sizing:border-box;background:#fff;color:#ef0017;padding:12px 14px}body #mobDrawer .mob-drawer-header .tm-category-title h3{font-size:17px!important}body #mobDrawer .tm-category-flag{right:7px;width:54px}body #mobDrawer .mob-drawer-close{position:static!important;flex:0 0 38px!important;width:38px!important;height:38px!important;border:0!important;border-radius:50%!important;background:#f1f3f6!important;color:#3b4658!important;margin:0 8px 0 0!important;padding:0!important;font:24px/38px Arial!important;cursor:pointer}body #mobDrawer .tm-category-menu{border:0;border-radius:0;box-shadow:none}body #mobDrawer .tm-category-link{min-height:62px;padding:4px 13px 4px 7px!important;gap:12px}body #mobDrawer .tm-category-art{flex-basis:103px;width:103px;height:50px}body #mobDrawer .tm-category-art>span{transform:translate(-50%,-50%) scale(.68)}body #mobDrawer .tm-category-label{font-size:17px;line-height:1.12;letter-spacing:-.5px}body #mobDrawer .tm-category-chevron{flex-basis:15px;width:15px;height:22px}.tm-category-extra{display:grid;grid-template-columns:1fr 1fr;padding:16px 14px 24px;gap:0 14px;background:#f7f8fa}.tm-category-extra p{grid-column:1/-1;margin:0 0 8px;font:800 11px/1.4 Arial;letter-spacing:1px;color:#6f7888;text-transform:uppercase}.tm-category-extra a{display:block;padding:10px 0;border-bottom:1px solid #e5e9ee;color:#263550;font:600 13px/1.3 Arial;text-decoration:none}.tm-category-extra a:hover{color:#e60012}#mobOverlay.mob-overlay{z-index:100001!important}
@media(min-width:768px){body #mobDrawer.mob-drawer{display:none!important}#mobOverlay.mob-overlay{display:none!important}}
@media(prefers-reduced-motion:reduce){.tm-category-link{transition:none}}


/* ══════════════════════════════════════════════
   VARIABLES GLOBALES CSS
   ══════════════════════════════════════════════ */
:root {
    --red:           #EE1C1C;
    --red-tienda:    #EE1C1C;
    --red-dark:      #c91010;
    --dark:          #1a1a2e;
    --blue:          #1565C0;
    --border:        #e0e0e0;
    --border-light:  #e0e0e0;
    --text:          #222;
    --text-dark:     #222;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
body { font-family:Arial,sans-serif; background:#fff; color:var(--text); }

/* ── Rendimiento: evitar reflow de fuentes (LCP/CLS) ── */
@font-face {
    font-family: 'Montserrat';
    font-display: swap; /* Evita texto invisible durante carga */
}

/* ── Rendimiento: secciones fuera de pantalla (mejora FCP/LCP) ── */
.newsletter,
.tm-footer {
    content-visibility: auto;
    contain-intrinsic-size: 0 400px;
}

/* ── Rendimiento: animaciones solo con propiedades compositor ── */
.mob-drawer {
    will-change: transform;
    transform: translateX(-100%);
    transition: transform .32s cubic-bezier(.4,0,.2,1);
}
.mob-drawer.open {
    transform: translateX(0);
    left: 0; /* fallback */
}

/* ── Rendimiento: pulse animation en GPU ── */
@keyframes sa-pulse { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.03); } }
.stock-alert.pulse { animation:sa-pulse 1.4s ease-in-out infinite; will-change:transform; }

/* ── CLS: reservar espacio para imágenes antes de cargar ── */
.img-w img,
.ex-img-w img,
.mvend-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.logo-img { width: 140px; height: 86px; } /* evita reflow del logo desktop */
.mob-logo-img { width: auto; height: 56px; } /* evita reflow del logo móvil */

/* ── Táctiles móvil: mínimo 48×48px (WCAG + Core Web Vitals) ── */
@media(max-width:767px){
    .btn-agregar,
    .mob-search-btn,
    .mob-hamburger,
    .carousel-arrow,
    .btn-ver-todo,
    .bsl-arrow,
    .tm-footer-links a,
    .mob-col-left a,
    .mob-col-right a {
        min-height: 48px;
        min-width: 48px;
    }
    /* Ampliar área táctil de links del footer */
    .tm-footer-links a,
    .tm-footer-contact a {
        padding: 8px 4px;
        display: inline-block;
    }
}

/* ── App container ── */
.app-container { width:100%; margin:0 auto; background:#efefef; box-shadow:0 0 20px rgba(0,0,0,.05); display:flex; flex-direction:column; min-height:100vh; }
@media(min-width:1200px){ .app-container { max-width:1200px; margin-top:15px; margin-bottom:15px; border-radius:8px; } }
@media(max-width:767px)  { .app-container { min-height:0!important; margin-top:0!important; margin-bottom:0!important; box-shadow:none!important; border-radius:0!important; padding-left:0!important; padding-right:0!important; } }

/* ── Elimina el margin-top:20px inline del primer section en index.php ── */
.app-container > .mian-contain > section {
    margin-top: 0 !important;
}
/* Seguridad: sin gap entre nav y primer contenido en cualquier página */
.app-container > nav.nav + * {
    margin-top: 0 !important;
}

/* ── Primer hijo del app-container tras el mobile header — sin margen extra ── */
@media(max-width:767px){
    .mobile-header-block + * { margin-top:0 !important; }
}

/* ── Header desktop ── */
.hdr      { background:#FF1A1A; padding:14px 28px; display:flex; align-items:center; min-height:132px; }
.logo     { flex-shrink:0; text-decoration:none; display:flex; align-items:center; padding-right:24px; }
.logo-img { height:86px; width:auto; display:block; object-fit:contain; }
.hdr-sep  { display:block; width:1px; height:95px; background:rgba(0,0,0,.5); margin-right:24px; }
.hdr-right { flex:1; display:flex; flex-direction:column; justify-content:center; gap:12px; min-width:0; }
.hdr-row1  { display:flex; align-items:center; justify-content:space-between; gap:4px; padding-right:8px; }
.hdr-nav { display:flex; align-items:center; overflow-x:auto; gap:0; }
.hdr-nav::-webkit-scrollbar { display:none; }
.hdr-nav a { color:#fff; font-size:15px; font-weight:600; text-decoration:none; padding:4px 16px 4px 0; white-space:nowrap; border-bottom:2px solid transparent; letter-spacing:.02em; }
.hdr-nav a:hover { color:#FFD700; }
.hdr-nav a.on { color:#FFD700; }
.hdr-nav a.nav-ofertas  { color:#FFD700; font-weight:800; }
.hdr-nav a.nav-ofertas:hover  { color:#fff; }
.hdr-nav a.nav-preorden { color:#7dd3fc; font-weight:800; }
.hdr-nav a.nav-preorden:hover { color:#fff; }
/* Login dropdown desktop */
.hdr-login-wrap      { list-style:none; position:relative; flex-shrink:0; margin-left:auto; }
.hdr-login-trigger   { color:#fff; font-size:22px; cursor:pointer; text-decoration:none; display:flex; align-items:center; padding:4px 6px; }
.hdr-login-trigger:hover { color:#ffd0d0; }
.hdr-login-dropdown  { display:none; position:fixed; background:#fff; border:1px solid #e8e8e8; border-radius:10px; box-shadow:0 8px 28px rgba(0,0,0,.16); min-width:185px; z-index:9500; overflow:hidden; padding:4px 0; }
.hdr-login-dropdown.open { display:block; }
.hdr-login-item      { display:flex; align-items:center; gap:12px; padding:12px 18px; text-decoration:none; color:#222; font-size:13.5px; font-weight:600; border-bottom:1px solid #f5f5f5; white-space:nowrap; transition:background .14s; }
.hdr-login-item:last-child { border-bottom:none; }
.hdr-login-item:hover { background:#fff4f4; color:var(--red); }
.hdr-login-item-icon { width:30px; height:30px; background:var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hdr-login-item-icon i { color:#fff; font-size:13px; }
.hdr-login-item-txt  { font-weight:700; }
/* Buscador desktop */
.tm-search-form  { display:flex; width:100%; border-radius:4px; overflow:hidden; box-shadow:0 1px 4px rgba(0,0,0,.15); }
.tm-search-input { flex:1; padding:10px 16px; border:none; font-size:14px; color:var(--red); font-weight:700; outline:none; background:#fff; min-width:0; }
.tm-search-input::placeholder { color:#aaa; font-weight:400; }
.tm-search-btn   { padding:10px 22px; background:var(--blue); color:#fff; border:none; font-size:14px; font-weight:700; cursor:pointer; white-space:nowrap; transition:background .15s; }
.tm-search-btn:hover { background:#0d47a1; }
.tm-search-btn:disabled,.mob-search-btn:disabled { background:#9eb8d9!important; cursor:not-allowed!important; opacity:.45; pointer-events:none; }
/* Nav negro */
.nav { background:#1a1a1a; display:flex; overflow-x:auto; padding:0 16px; }
.nav::-webkit-scrollbar { display:none; }
.nav a { font-size:13px; font-weight:700; color:#888; padding:11px 14px; text-decoration:none; white-space:nowrap; border-bottom:2px solid transparent; display:block; }
.nav a:hover,.nav a.on { color:#fff; border-bottom-color:var(--red); }
.nav a.nav-ofertas  { color:#FFD700; font-weight:800; }
.nav a.nav-preorden { color:#7dd3fc; font-weight:800; }
@media(max-width:767px){ .hdr { display:none; } .nav { display:none; } }

/* ── Mobile header ── */
.mobile-header-block { display:none; }
@media(max-width:767px){
    .mobile-header-block { display:block; position:sticky; top:0; z-index:1100; box-shadow:0 3px 10px rgba(0,0,0,.28); }
    .mobile-header-block .mobile-topbar   { display:flex!important; background:#EE1C1C; padding:10px 14px; align-items:center; justify-content:space-between; gap:10px; height:80px; min-height:80px; }
    .mobile-header-block .mobile-searchbar{ display:block!important; background:#EE1C1C; padding:0 12px 12px; }
}
@media(min-width:768px){ .mobile-header-block { display:none!important; } }
.mobile-topbar    { display:none; }
.mobile-searchbar { display:none; }
.mob-logo-img  { height:56px; width:auto; display:block; object-fit:contain; }
.mob-right     { display:flex; align-items:center; gap:12px; }
.mob-cart-btn  { display:flex; flex-direction:column; align-items:flex-start; color:#fff; text-decoration:none; gap:2px; line-height:1.25; }
.mob-cart-btn span.cart-label { font-weight:700; font-size:.85rem; display:flex; align-items:center; gap:5px; }
.mob-cart-btn span.cart-label::before { content:"🛒"; font-size:1.15rem; }
.mob-cart-btn span.cart-total { font-size:.75rem; opacity:.9; }
.mob-hamburger { background:#EE1C1C; border:3px solid #fff; border-radius:8px; width:52px; height:52px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer; padding:9px; transition:background .2s; flex-shrink:0; }
.mob-hamburger:hover { background:var(--red-dark); }
.mob-hamburger span  { display:block; width:22px; height:3px; background:#fff; border-radius:2px; transition:all .3s ease; }
.mob-hamburger.open span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
.mob-hamburger.open span:nth-child(2) { opacity:0; }
.mob-hamburger.open span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }
.mob-search-group  { display:flex!important; align-items:stretch; background:#fff; border-radius:6px!important; overflow:hidden; height:44px; }
.mob-search-input  { flex:1!important; border:none!important; outline:none!important; padding:0 14px!important; font-size:16px!important; color:var(--red)!important; font-weight:700!important; background:transparent!important; height:100%!important; -webkit-appearance:none; }
.mob-search-input::placeholder { color:#aaa; font-weight:400; }
.mob-search-btn    { background:var(--blue)!important; color:#fff!important; border:none!important; border-radius:0 6px 6px 0!important; padding:0 20px!important; height:100%!important; font-size:.9rem!important; font-weight:700!important; cursor:pointer!important; white-space:nowrap; flex-shrink:0; }
.mob-search-btn:hover { background:#1558b0!important; }

/* ── Overlay + Drawer ── */
.mob-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:1250; opacity:0; transition:opacity .3s; }
.mob-overlay.active { display:block; opacity:1; }
.mob-drawer  { position:fixed; top:0; left:-100%; width:min(92vw,360px); height:100%; background:#fff; z-index:1300; overflow-y:auto; transition:left .32s cubic-bezier(.4,0,.2,1); box-shadow:4px 0 20px rgba(0,0,0,.18); display:flex; flex-direction:column; }
.mob-drawer.open { left:0; }
.mob-drawer-header { background:#EE1C1C; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.mob-drawer-header img { height:40px; width:auto; }
.mob-drawer-close { background:none; border:none; color:#fff; font-size:1.6rem; cursor:pointer; line-height:1; padding:0; }
.mob-menu-cols { display:flex; flex:1; overflow-y:auto; }
.mob-col-left  { width:60%; background:var(--dark); padding:0; border-right:1px solid rgba(255,255,255,.08); }
.mob-col-left a  { display:flex; align-items:center; padding:11px 12px; color:#fff; font-size:.74rem; font-weight:700; text-transform:uppercase; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.06); transition:background .15s; }
.mob-col-left a:hover { background:rgba(255,255,255,.08); }
.mob-col-right { width:40%; background:#fff; padding:0; }
.mob-col-right a { display:flex; align-items:center; padding:11px 10px; color:#333; font-size:.78rem; font-weight:600; text-decoration:none; border-bottom:1px solid #f0f0f0; gap:6px; transition:background .15s; }
.mob-col-right a:hover { background:#f9f9f9; }

/* ── Autocomplete (jQuery UI) ── */
.ui-autocomplete { z-index:99999!important; max-height:320px; overflow-y:auto; overflow-x:hidden; border:1px solid var(--border); border-top:none; border-radius:0 0 10px 10px; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.15); padding:4px 0; -webkit-overflow-scrolling:touch; }
.ui-menu-item { list-style:none; }
.ac-row { display:flex!important; align-items:center!important; gap:12px; padding:9px 14px; cursor:pointer; border-bottom:1px solid #ebebeb; transition:background .12s; min-height:58px; }
.ac-row:hover,.ui-state-active .ac-row { background:#fff8f8; }
.ac-row:last-child { border-bottom:none; }
.ac-thumb        { width:65px!important; height:52px!important; object-fit:contain; flex-shrink:0!important; border-radius:4px; background:#f5f5f5; display:block!important; }
.ac-info         { display:flex!important; flex-direction:column!important; flex:1!important; min-width:0; justify-content:center; }
.ac-meta         { display:flex; align-items:baseline; flex-wrap:nowrap; gap:5px; min-width:0; }
.ac-price        { font-size:15.5px; font-weight:900; color:var(--red); white-space:nowrap; flex-shrink:0; }
.ac-price--desc  { font-size:15.5px; font-weight:900; color:var(--red); white-space:nowrap; flex-shrink:0; }
.ac-price--old   { font-size:13px; font-weight:800; color:#0D47A1; text-decoration:line-through; white-space:nowrap; flex-shrink:0; }
.ac-name         { font-size:14px; font-weight:600; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:1; }
.ui-autocomplete-row,.ui-menu-item>div,.ui-menu-item .ui-menu-item-wrapper { padding:0!important; cursor:pointer; display:block; }
.ui-autocomplete-row:hover,.ui-menu-item:hover .ui-menu-item-wrapper,.ui-state-active,.ui-menu-item .ui-state-active { background:#fff8f8!important; border:none!important; }
@media(max-width:767px){
    .ui-autocomplete  { max-height:260px!important; }
    .ac-row   { min-height:56px!important; padding:7px 10px!important; gap:10px!important; }
    .ac-thumb { width:55px!important; height:44px!important; }
    .ac-meta  { flex-wrap:wrap!important; gap:4px!important; align-items:center!important; }
    .ac-price,.ac-price--desc { font-size:14.5px!important; }
    .ac-price--old { font-size:12px!important; }
    .ac-name  { font-size:13px!important; white-space:normal!important; overflow:visible!important; text-overflow:unset!important; flex-basis:100%!important; line-height:1.3!important; }
}

/* == Autocomplete: categorias, chips de sugerencias y footer == */
.ui-autocomplete-category { padding:10px 14px 6px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#999; background:#fafafa; border-bottom:1px solid #f0f0f0; }
.ac-chip-item { display:inline-block!important; border-bottom:none!important; padding:0!important; margin:5px 0 5px 10px; }
.ac-chip { display:inline-block; padding:6px 14px; border-radius:999px; border:1px solid var(--border); background:#fff; color:var(--text); font-size:12.5px; font-weight:600; cursor:pointer; transition:background .12s,border-color .12s,color .12s; }
.ac-chip-item:hover .ac-chip,.ac-chip-item.ui-state-active .ac-chip,.ui-state-active .ac-chip { background:var(--red); border-color:var(--red); color:#fff; }
.ac-viewall { border-top:1px solid #f0f0f0; padding:0!important; }
.ac-viewall a { display:block; padding:11px 14px; font-size:13px; font-weight:700; color:var(--red); text-decoration:none; }
.ac-viewall a:hover { background:#fff8f8; }
/* ── Card de producto ── */
.card { background:#fff; border-radius:8px; border:.5px solid var(--border-light); padding:12px; display:flex; flex-direction:column; position:relative; transition:transform .2s,box-shadow .2s; height:100%; box-sizing:border-box; }
.card:hover { transform:translateY(-2px); box-shadow:0 4px 16px rgba(0,0,0,.09); }
.img-w { height:160px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#fafafa; border-radius:6px; margin-bottom:8px; flex-shrink:0; }
.img-w img { max-height:100%; max-width:100%; object-fit:contain; transition:transform .3s; }
.card:hover .img-w img { transform:scale(1.03); }
.c-brand { font-size:11px; color:#888; text-transform:uppercase; margin-bottom:4px; letter-spacing:.03em; flex-shrink:0; }
.c-name  { font-size:13px; font-weight:600; color:var(--text-dark); line-height:1.4; margin-bottom:8px; flex:1; overflow:hidden; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.card-meta-row { display:flex; align-items:stretch; gap:5px; margin:6px 0; width:100%; }
.escala-pill     { flex:1; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%); border-radius:7px; padding:5px 6px; border:1px solid rgba(255,255,255,.12); box-shadow:0 2px 5px rgba(0,0,0,.22); min-width:0; }
.escala-pill-txt { font-size:10px; font-weight:900; color:#fff; letter-spacing:.5px; text-transform:uppercase; text-align:center; line-height:1.3; }
.prod-estado-tag { flex:1; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:900; padding:5px 6px; border-radius:7px; text-transform:uppercase; letter-spacing:.5px; text-align:center; min-width:0; }
.prod-estado-tag.in       { background:#e8f5e9; color:#2e7d32; border:1px solid #a5d6a7; }
.prod-estado-tag.out      { background:#ffebee; color:#c62828; border:1px solid #ef9a9a; }
.prod-estado-tag.semi     { background:#e3f2fd; color:#1565c0; border:1px solid #90caf9; }
.prod-estado-tag.preorden { background:#f3e5f5; color:#6a1b9a; border:1px solid #ce93d8; }
.price-block-link { text-decoration:none; display:block; }
.price-block      { display:flex; flex-direction:column; gap:2px; margin-bottom:6px; }
.price-main-row   { display:flex; align-items:center; gap:6px; }
.badge-online     { background:var(--red-tienda); color:#fff; font-size:8px; font-weight:900; line-height:1.25; padding:4px 5px; border-radius:4px; text-align:center; text-transform:uppercase; flex-shrink:0; }
.price-current    { font-size:22px; font-weight:900; color:var(--red-tienda); line-height:1; }
.price-habitual   { font-size:11px; color:#888; }
.stock-alert      { display:flex; align-items:center; justify-content:center; gap:5px; padding:5px 8px; border-radius:6px; font-weight:800; font-size:11px; letter-spacing:.3px; margin-bottom:6px; }
.stock-alert .sa-icon { font-size:13px; flex-shrink:0; }
.stock-alert .sa-text { text-transform:uppercase; }
.stock-alert.danger  { background:#ffebee; color:#b71c1c; border:1.5px solid #ef9a9a; }
.stock-alert.warning { background:#fff8e1; color:#e65100; border:1.5px solid #ffcc02; }
.stock-alert.pulse   { animation:sa-pulse 1.4s ease-in-out infinite; }
@keyframes sa-pulse  { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.03); } }
.btn-agregar { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; padding:10px 0; margin-top:auto; background:var(--red-tienda); color:#fff; border-radius:8px; font-size:13px; font-weight:700; text-decoration:none; transition:background .15s; flex-shrink:0; -webkit-tap-highlight-color:transparent; }
.btn-agregar:hover { background:var(--red-dark); color:#fff; }
@media(max-width:768px){
    .img-w { height:130px; } .price-current { font-size:20px; } .badge-online { font-size:7px; padding:3px 4px; }
    .escala-pill-txt,.prod-estado-tag { font-size:9px; } .btn-agregar { font-size:12px; padding:9px 0; } .card { padding:10px; }
}

/* ── Carrusel base ── */
.product-carousel { position:relative; overflow:hidden; width:100%; }
.product-grid-container { display:flex; gap:12px; padding:16px 12px; overflow-x:auto; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; cursor:grab; user-select:none; }
.product-grid-container::-webkit-scrollbar { display:none; }
.product-grid-container:active { cursor:grabbing; }
@media(min-width:769px){ .product-grid-container>.card { flex:0 0 calc((100% - 24px)/3); min-width:calc((100% - 24px)/3); } }
@media(max-width:768px){ .product-grid-container { gap:10px; padding:10px; } .product-grid-container>.card { flex:0 0 calc(50% - 5px); min-width:calc(50% - 5px); } }
.product-grid-container .card   { height:100%; }
.product-grid-container .img-w  { height:150px; }
.product-grid-container .c-name { min-height:3.5rem; }
@media(max-width:768px){ .product-grid-container .img-w { height:130px; } .product-grid-container .c-name { min-height:3rem; } }

/* ── Cabecera de carrusel ── */
.carousel-header { display:flex; align-items:center; justify-content:space-between; padding:12px 20px; margin-bottom:10px; background:linear-gradient(90deg,#a0e7ff 0%,#00bfff 100%); border-radius:8px; box-shadow:0 2px 6px rgba(0,0,0,.10); }
.carousel-title  { font-family:Arial,sans-serif; font-size:1.3rem; font-weight:800; color:#000; text-transform:uppercase; letter-spacing:.5px; margin:0; }
.header-actions  { display:flex; align-items:center; gap:10px; }
.carousel-arrows { display:flex; align-items:center; gap:8px; }
.carousel-arrow  { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:#000; color:#fff; border:none; font-size:22px; cursor:pointer; opacity:.85; transition:all .25s; }
.carousel-arrow:hover { opacity:1; transform:scale(1.08); }
.btn-ver-todo { display:flex; align-items:center; justify-content:center; height:42px; font-family:Montserrat,sans-serif; font-weight:700; font-size:.85rem; text-transform:uppercase; color:#fff; background:var(--red-tienda); border:none; border-radius:26px; padding:6px 16px; cursor:pointer; text-decoration:none; transition:background .25s,transform .2s; }
.btn-ver-todo:hover { background:#DD1A0A; transform:scale(1.05); }
@media(max-width:768px){
    .carousel-header { padding:10px 15px; } .carousel-title { font-size:1.1rem; }
    .carousel-arrow,.btn-ver-todo { height:36px; width:36px; font-size:18px; }
    .btn-ver-todo { width:auto; padding:0 12px; font-size:.75rem; } .header-actions { gap:6px; }
}

/* ── Footer ── */
.tm-footer       { background:#fff; border-top:3px solid var(--red); padding:28px 24px 0; margin-top:10px; overflow-x:clip; }
.tm-footer-grid  { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.4fr; gap:28px; padding-bottom:24px; border-bottom:1px solid #eee; }
.tm-footer-col   { display:flex; flex-direction:column; gap:4px; }
.tm-footer-title { font-size:13px; font-weight:800; color:#111; text-transform:uppercase; margin:0 0 12px; padding-bottom:6px; border-bottom:2px solid var(--red); display:inline-block; }
.tm-footer-links { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:7px; }
.tm-footer-links a { font-size:12.5px; color:#555; text-decoration:none; }
.tm-footer-links a:hover { color:var(--red); }
.tm-footer-contact { list-style:none; padding:0; margin:8px 0 0; display:flex; flex-direction:column; gap:8px; }
.tm-footer-contact li { display:flex; align-items:flex-start; gap:8px; font-size:12px; color:#555; line-height:1.4; }
.tfc-icon { flex-shrink:0; font-size:13px; margin-top:1px; }
.tm-footer-contact a { color:#555; text-decoration:none; }
.tm-footer-contact a:hover { color:var(--red); }
.tm-footer-cards img { max-width:200px; width:100%; border-radius:6px; }
.tm-footer-bottom { text-align:center; padding:12px 0; font-size:11.5px; color:#aaa; }
.tm-newsletter-sep,.tm-content-sep { display:block!important; width:100%!important; height:3px!important; background:var(--red)!important; border:none!important; margin:0!important; }
@media(max-width:767px){ .tm-footer { padding:20px 14px 0; } .tm-footer-grid { grid-template-columns:1fr 1fr; gap:16px; } .tm-footer-cards img { max-width:140px; } }
@media(max-width:420px){ .tm-footer-grid { grid-template-columns:1fr; } }
/* ── Visítanos / Cómo llegar (footer, reutilizable en todo el sitio) ── */
.tm-visit { padding:28px 0 32px; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.tm-visit-inner { max-width:1600px; margin:0 auto; padding:0 24px; }
.tm-visit-card { display:flex; gap:32px; background:#fafafa; border:1px solid #eee; border-radius:16px; padding:24px 28px; align-items:center; }
.tm-visit-photo { position:relative; flex:0 1 42%; max-width:640px; min-width:300px; border-radius:12px; overflow:hidden; aspect-ratio:8/3; }
.tm-visit-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.tm-visit-status { position:absolute; top:12px; left:12px; right:12px; max-width:calc(100% - 24px); width:max-content; background:rgba(255,255,255,.97); font-size:13px; font-weight:700; padding:6px 14px 6px 10px; border-radius:20px; box-shadow:0 2px 8px rgba(0,0,0,.2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:inline-flex; align-items:center; gap:7px; }
.tm-visit-status.is-open { color:#15803d; }
.tm-visit-status.is-closed { color:#a33; }
.tm-visit-dot { width:9px; height:9px; border-radius:50%; flex:0 0 auto; background:#22c55e; box-shadow:0 0 0 0 rgba(34,197,94,.7); animation:tm-visit-pulse-green 1.6s ease-out infinite; }
.tm-visit-status.is-closed .tm-visit-dot { background:#dc2626; box-shadow:0 0 0 0 rgba(220,38,38,.7); animation:tm-visit-pulse-red 1.6s ease-out infinite; }
@keyframes tm-visit-pulse-green { 0%{box-shadow:0 0 0 0 rgba(34,197,94,.6);} 70%{box-shadow:0 0 0 9px rgba(34,197,94,0);} 100%{box-shadow:0 0 0 0 rgba(34,197,94,0);} }
@keyframes tm-visit-pulse-red { 0%{box-shadow:0 0 0 0 rgba(220,38,38,.6);} 70%{box-shadow:0 0 0 9px rgba(220,38,38,0);} 100%{box-shadow:0 0 0 0 rgba(220,38,38,0);} }
.tm-visit-info { flex:1; display:flex; flex-direction:column; justify-content:center; gap:12px; min-width:0; }
.tm-visit-title { font-size:24px; font-weight:800; color:#111; margin:0; }
.tm-visit-addr, .tm-visit-hours { font-size:16px; color:#333; line-height:1.6; margin:0; }
.tm-visit-btns { display:flex; gap:16px; margin-top:10px; flex-wrap:wrap; }
.tm-btn-llegar, .tm-btn-whatsapp { display:inline-flex; align-items:center; gap:10px; padding:14px 28px; border-radius:10px; font-size:16px; font-weight:700; text-decoration:none; white-space:nowrap; }
.tm-btn-icon { font-size:20px; line-height:1; }
.tm-btn-llegar { background:var(--blue); color:#fff; }
.tm-btn-llegar:hover { background:#0d47a1; color:#fff; }
.tm-btn-whatsapp { background:#25D366; color:#fff; }
.tm-btn-whatsapp:hover { background:#1eb857; color:#fff; }
@media(max-width:767px){
.tm-visit { padding:14px 0 18px; width:100%; margin-left:0; margin-right:0; }
.tm-visit-inner { padding:0; }
.tm-visit-card { flex-direction:column; padding:0; border:none; background:none; border-radius:0; gap:0; }
.tm-visit-photo { flex:none; width:100%; aspect-ratio:4/3; border-radius:12px; }
.tm-visit-info { padding:14px 2px 0; gap:8px; }
.tm-visit-title { font-size:19px; }
.tm-visit-addr, .tm-visit-hours { font-size:14px; }
.tm-visit-btns { flex-wrap:nowrap; gap:10px; margin-top:8px; }
.tm-btn-llegar, .tm-btn-whatsapp { flex:1; justify-content:center; padding:12px 16px; font-size:14px; }
.tm-btn-icon { font-size:18px; }
}


/* ════════════════════════════════════════════════════════
   CARRITO GLOBAL — FAB + Panel deslizante + Toast
   Reutilizable en todas las páginas del sitio.
   ════════════════════════════════════════════════════════ */
.tm-cart-fab{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:9998;width:52px;height:60px;border-radius:16px 0 0 16px;background:linear-gradient(160deg,#EE1C1C 0%,#b50000 100%);box-shadow:-4px 0 18px rgba(238,28,28,.45),-2px 0 8px rgba(0,0,0,.18);border:none;cursor:pointer;color:#fff;display:none;align-items:center;justify-content:center;transition:width .2s,box-shadow .2s}
.tm-cart-fab:hover{width:58px;box-shadow:-6px 0 24px rgba(238,28,28,.6)}
.tm-cart-fab svg{width:26px;height:26px}
.tm-cart-fab-badge{position:absolute;top:5px;right:5px;background:#fff;color:#EE1C1C;font-size:11px;font-weight:900;min-width:20px;height:20px;border-radius:10px;padding:0 4px;display:flex;align-items:center;justify-content:center;border:2px solid #EE1C1C;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.tm-cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:9997;display:none;backdrop-filter:blur(2px)}
.tm-cart-overlay.active{display:block}
.tm-cart-panel{position:fixed;top:0;right:-420px;width:400px;max-width:96vw;height:100dvh;z-index:9999;background:#fff;box-shadow:-6px 0 40px rgba(0,0,0,.18);display:flex;flex-direction:column;transition:right .32s cubic-bezier(.4,0,.2,1);font-family:Arial,sans-serif}
.tm-cart-panel.open{right:0}
.tm-cart-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:2px solid #f0f0f0;background:linear-gradient(135deg,#EE1C1C,#c91010);color:#fff}
.tm-cart-header-title{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;letter-spacing:.3px}
.tm-cart-header-title svg{width:22px;height:22px}
.tm-cart-close{background:rgba(255,255,255,.18);border:none;color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .15s}
.tm-cart-close:hover{background:rgba(255,255,255,.35)}
.tm-cart-items{flex:1;overflow-y:auto;padding:14px 16px}
.tm-cart-item{display:flex;flex-direction:row;gap:10px;padding:10px 0;border-bottom:1px solid #f0f0f0;animation:tmItemIn .22s ease;align-items:center}
@keyframes tmItemIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.tm-cart-item-img{width:64px;height:64px;object-fit:contain;flex-shrink:0;border-radius:8px;border:1.5px solid #eee;background:#fafafa;display:block}
.tm-cart-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.tm-cart-item-name{font-size:12px;font-weight:700;color:#1a1a1a;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tm-cart-item-prices{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.tm-cart-item-price{font-size:14px;font-weight:900;color:#EE1C1C}
.tm-cart-item-original{font-size:11px;color:#bbb;text-decoration:line-through}
.tm-cart-item-badge{background:#EE1C1C;color:#fff;font-size:9px;font-weight:800;padding:1px 5px;border-radius:20px}
.tm-cart-item-footer{display:flex;align-items:center;gap:8px}
.tm-qty-ctrl{display:flex;align-items:stretch;border:2px solid #e0e0e0;border-radius:8px;overflow:hidden;flex-shrink:0;height:34px}
.tm-qty-btn{width:30px;height:34px;border:none;background:#f5f5f5;color:#444;font-size:17px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s;flex-shrink:0;line-height:1}
.tm-qty-btn:hover,.tm-qty-btn:active{background:#EE1C1C;color:#fff}
.tm-qty-btn:disabled{opacity:.35;cursor:not-allowed;background:#f5f5f5;color:#444}
.tm-cart-item-stockmax{font-size:11px;color:#e65100;font-weight:700;margin-top:3px}
.tm-qty-val{width:30px;text-align:center;font-size:14px;font-weight:800;color:#222;background:#fff;border-left:1.5px solid #e8e8e8;border-right:1.5px solid #e8e8e8;display:flex;align-items:center;justify-content:center}
.tm-cart-item-subtotal{font-size:13px;font-weight:900;color:#1565C0;flex:1;text-align:right;margin-right:4px}
.tm-cart-item-del{flex-shrink:0;width:34px;height:34px;background:#fee;border:2px solid #e8b4b4;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;color:#c0392b;margin-left:auto}
.tm-cart-item-del:hover,.tm-cart-item-del:active{background:#EE1C1C;border-color:#EE1C1C;color:#fff}
.tm-cart-item-del svg{width:18px!important;height:18px!important;display:block;flex-shrink:0}
.tm-cart-footer{padding:16px 20px;border-top:2px solid #f0f0f0;background:#fafafa}
.tm-cart-instructions{margin-bottom:12px}
.tm-cart-instructions-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#555;margin-bottom:6px}
.tm-cart-instructions-input{width:100%;padding:10px 12px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:12.5px;color:#333;resize:none;height:68px;font-family:Arial,sans-serif;outline:none;transition:border-color .15s}
.tm-cart-instructions-input:focus{border-color:#1565C0}
.tm-cart-instructions-input::placeholder{color:#bbb}
.tm-cart-subtotal-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.tm-cart-subtotal-label{font-size:15px;color:#555;font-weight:600}
.tm-cart-subtotal-val{font-size:22px;font-weight:900;color:#EE1C1C}
.tm-cart-subtotal-savings{font-size:12px;color:#2e7d32;font-weight:700;background:#e8f5e9;border-radius:20px;padding:3px 10px;display:none;margin-bottom:10px;text-align:center}
.tm-pay-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px;margin-bottom:10px;border:none;border-radius:12px;cursor:pointer;background:linear-gradient(135deg,#1565C0 0%,#0d47a1 100%);color:#fff;font-size:15px;font-weight:800;letter-spacing:.3px;box-shadow:0 4px 14px rgba(21,101,192,.35);transition:transform .15s,box-shadow .15s}
.tm-pay-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(21,101,192,.45)}
.tm-pay-btn:active{transform:scale(.98)}
.tm-cart-clear{display:block;width:100%;margin-top:8px;padding:9px;background:none;border:1.5px solid #ddd;border-radius:10px;color:#aaa;font-size:13px;cursor:pointer;transition:all .15s}
.tm-cart-clear:hover{border-color:#EE1C1C;color:#EE1C1C}
.tm-toast{position:fixed;bottom:100px;right:24px;z-index:10000;background:#222;color:#fff;padding:12px 18px;border-radius:10px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:0 6px 20px rgba(0,0,0,.25);opacity:0;transform:translateY(16px);transition:opacity .25s,transform .25s;pointer-events:none}
.tm-toast.show{opacity:1;transform:translateY(0)}
@media(max-width:480px){.tm-cart-panel{width:100vw}}

/* ── Páginas internas (page-content, títulos, formularios, info-boxes, mapa) ── */
.page-content    { flex:1; padding:30px 32px; max-width:960px; margin:0 auto; width:100%; }
@media(max-width:767px){ .page-content { padding:20px 16px; } }
.page-title      { font-size:clamp(1.1rem,3vw,1.5rem); font-weight:800; color:var(--text); border-left:4px solid var(--red); padding-left:12px; margin-bottom:20px; }
.page-subtitle   { font-size:1rem; font-weight:700; color:var(--red); margin:20px 0 8px; }
.page-body       { font-size:.93rem; color:#444; line-height:1.7; }
.page-body p     { margin-bottom:12px; }
.page-body strong { color:#111; }
.page-body h3    { font-size:1.05rem; color:var(--red); margin:18px 0 8px; font-weight:800; border-bottom:1px solid #f0f0f0; padding-bottom:6px; }
.tm-form-wrap    { background:#fff; border:1px solid var(--border); border-radius:10px; padding:28px 32px; margin-bottom:24px; }
@media(max-width:600px){ .tm-form-wrap { padding:18px 14px; border-radius:6px; } }
.tm-form-wrap h2 { font-size:1.2rem; font-weight:800; color:var(--text); margin-bottom:20px; border-left:4px solid var(--red); padding-left:10px; }
.tm-field        { margin-bottom:16px; }
.tm-field label  { display:block; font-size:.85rem; font-weight:700; color:#444; margin-bottom:5px; }
.tm-field input,.tm-field textarea,.tm-field select { width:100%; padding:10px 14px; border:1px solid var(--border); border-radius:6px; font-size:.93rem; color:var(--text); background:#fff; outline:none; transition:border .15s; }
.tm-field input:focus,.tm-field textarea:focus,.tm-field select:focus { border-color:var(--red); }
.tm-field textarea { resize:vertical; min-height:90px; }
.tm-field-row    { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:600px){ .tm-field-row { grid-template-columns:1fr; } }
.tm-btn          { display:inline-flex; align-items:center; justify-content:center; padding:12px 32px; background:var(--red); color:#fff; border:none; border-radius:8px; font-size:.95rem; font-weight:800; cursor:pointer; transition:background .15s; }
.tm-btn:hover    { background:#c91010; }
.tm-btn-wa       { background:#25D366; }
.tm-btn-wa:hover { filter:brightness(1.08); }
.tm-map-wrap     { border-radius:10px; overflow:hidden; height:320px; margin-bottom:24px; }
.tm-map-wrap iframe,.tm-map-wrap #map { width:100%; height:100%; border:none; }
.tm-info-grid    { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:28px; }
@media(max-width:767px){ .tm-info-grid { grid-template-columns:1fr; } }
.tm-info-box     { background:#fff; border:1px solid var(--border); border-radius:10px; padding:20px 16px; text-align:center; }
.tm-info-box .ti-icon  { font-size:2rem; margin-bottom:8px; }
.tm-info-box .ti-title { font-weight:800; font-size:.9rem; color:var(--text); margin-bottom:6px; }
.tm-info-box .ti-text  { font-size:.83rem; color:#666; line-height:1.5; }
#mob_search_data::placeholder,#mob_search_data2::placeholder{color:#2563eb;opacity:1;}
#mob_search_data::-webkit-input-placeholder,#mob_search_data2::-webkit-input-placeholder{color:#2563eb;opacity:1;}
#mob_search_data:-ms-input-placeholder,#mob_search_data2:-ms-input-placeholder{color:#2563eb;opacity:1;}
#mob_search_data::-moz-placeholder,#mob_search_data2::-moz-placeholder{color:#2563eb;opacity:1;}
