.elementor-widget-h420pro_header{width:100%;max-width:100%}
.h420pro-header{
  --h420-css-ready:1;
  --h420-bg:#fff;
  --h420-text:#111827;
  --h420-muted:#6b7280;
  --h420-border:#e5e7eb;
  --h420-accent:#111827;
  --h420-accent-hover:#374151;
  --h420-accent-2:#f3f4f6;
  --h420-soft:#f8fafc;
  --h420-shadow:0 18px 50px rgba(15,23,42,.12);
  --h420-drawer-width:360px;
  --h420-sticky-offset:0px;
  --h420-drawer-bg:var(--h420-bg);
  --h420-drawer-text:var(--h420-text);
  --h420-topbar-bg:var(--h420-bg);
  --h420-topbar-text:var(--h420-text);
  --h420-topbar-border:var(--h420-border);
  --h420-menu-color:var(--h420-text);
  --h420-menu-hover:var(--h420-accent);
  --h420-primary-bg:var(--h420-accent);
  --h420-primary-text:#fff;
  --h420-secondary-bg:var(--h420-accent-2);
  --h420-secondary-text:var(--h420-text);
  --h420-drawer-head-text:var(--h420-drawer-text);
  --h420-menu-layout-h-align:center;
  --h420-menu-layout-v-align:center;
  --h420-menu-h-align:var(--h420-menu-layout-h-align);
  --h420-menu-v-align:var(--h420-menu-layout-v-align);
  --h420-menu-offset-x:0px;
  --h420-menu-offset-y:0px;
  --h420-menu-side-left:0px;
  --h420-menu-side-right:0px;
  position:relative;
  z-index:999;
  width:100%;
  max-width:100%;
  overflow:visible;
  background:var(--h420-bg);
  color:var(--h420-text);
  border-color:var(--h420-border);
  font-family:inherit;
  transition:background-color .22s ease,box-shadow .22s ease,transform .24s ease,backdrop-filter .22s ease;
}
.h420pro-header,.h420pro-header *{box-sizing:border-box;min-width:0}
.h420pro-header a{color:inherit;text-decoration:none}
.h420pro-header button,.h420pro-header input{font:inherit}
.h420pro-header img{display:block;max-width:100%;height:auto}
.h420pro-header svg{display:block;pointer-events:none}
.h420pro-full{width:100%}

/* Sticky por zonas: cabecera completa, barra superior o cabecera principal. */
.h420pro-sticky{position:relative}
.h420pro-sticky-stack,.h420pro-upper-stack,.h420pro-main-stack{position:relative;width:100%;max-width:100%}
.h420pro-sticky-placeholder{display:none;width:100%;height:0;margin:0;padding:0;border:0;overflow:hidden}
.h420pro-sticky-placeholder.h420pro-active{display:block}
.h420pro-sticky-target{transition:transform .24s ease,background-color .22s ease,box-shadow .22s ease,backdrop-filter .22s ease}
.h420pro-sticky-target.h420pro-fixed{
  position:fixed;
  top:var(--h420-fixed-top,var(--h420-sticky-offset));
  left:var(--h420-fixed-left,0);
  width:var(--h420-fixed-width,100%);
  max-width:none;
  z-index:99990;
  background:var(--h420-sticky-bg,var(--h420-bg));
  color:var(--h420-sticky-text,var(--h420-text));
  box-shadow:var(--h420-shadow);
}
body.admin-bar .h420pro-sticky-target.h420pro-fixed{top:calc(var(--h420-fixed-top,var(--h420-sticky-offset)) + var(--wp-admin--admin-bar--height,32px))}
/* 0.4.11 · El sticky respeta el color elegido y mantiene el contraste en sus hijos. */
.h420pro-sticky-target.h420pro-fixed .h420pro-topbar{
  background:var(--h420-sticky-bg,var(--h420-topbar-bg));
  color:var(--h420-sticky-text,var(--h420-topbar-text));
}
.h420pro-sticky-target.h420pro-fixed .h420pro-topbar a{color:var(--h420-sticky-text,var(--h420-topbar-text))}
.h420pro-sticky-target.h420pro-fixed .h420pro-nav a,
.h420pro-sticky-target.h420pro-fixed .h420pro-mobile-toggle,
.h420pro-sticky-target.h420pro-fixed .h420pro-search-toggle,
.h420pro-sticky-target.h420pro-fixed .h420pro-compact-icon{
  color:var(--h420-sticky-text,var(--h420-menu-color));
}
.h420pro-sticky-target.h420pro-fixed .h420pro-logo,
.h420pro-sticky-target.h420pro-fixed .h420pro-contact{color:var(--h420-sticky-text,var(--h420-text))}
.h420pro-sticky-target.h420pro-fixed .h420pro-topbar .h420pro-nav a{color:var(--h420-sticky-text,var(--h420-topbar-text))}
.h420pro-transparent{background:transparent}
.h420pro-solid-on-scroll.h420pro-transparent.h420pro-scrolled{background:var(--h420-bg)}
.h420pro-solid-on-scroll.h420pro-transparent.h420pro-scrolled .h420pro-sticky-target.h420pro-fixed{background:var(--h420-sticky-bg,var(--h420-bg));box-shadow:var(--h420-shadow)}
.h420pro-hide-on-scroll .h420pro-sticky-target.h420pro-hidden{transform:translateY(calc(-100% - 8px))}
.h420pro-header.h420pro-open .h420pro-sticky-target,.h420pro-header.h420pro-search-open .h420pro-sticky-target{transform:none}
/*
 * 0.4.9 · Sticky/hero fix.
 * El estado fixed lo gobierna únicamente JS. La antigua salvaguarda 0.4.3
 * anulaba position:fixed mientras h420pro-scrolled aún no estaba activo
 * (aprox. 1-10 px), creando dos geometrías incompatibles y saltos del Hero.
 */
.h420pro-sticky-placeholder,.h420pro-sticky-target{overflow-anchor:none}

/* Estructura general. */
.h420pro-inner{width:100%;max-width:var(--h420-inner-max-width,1240px);margin:0 auto;padding:var(--h420-header-pad-top,14px) var(--h420-header-pad-right,24px) var(--h420-header-pad-bottom,14px) var(--h420-header-pad-left,24px);display:flex;align-items:center;justify-content:space-between;gap:22px}
.h420pro-main{min-height:72px}
.h420pro-shrink-on-scroll.h420pro-scrolled .h420pro-main{min-height:58px}
.h420pro-shrink-on-scroll.h420pro-scrolled .h420pro-inner{padding-top:8px;padding-bottom:8px}
.h420pro-shrink-on-scroll.h420pro-scrolled .h420pro-logo img{transform:scale(.92)}
.h420pro-brand{display:flex;align-items:center;flex:0 0 auto}
.h420pro-logo{display:inline-flex;align-items:center;font-weight:800;font-size:22px;line-height:1}
.h420pro-logo img{width:150px;transition:transform .2s ease}
.h420pro-nav{display:flex;align-items:center}
.h420pro-menu{display:flex;align-items:center;gap:var(--h420-menu-gap,24px);list-style:none;padding:0;margin:0}
.h420pro-menu li{position:relative;margin:0}
.h420pro-nav a{display:inline-flex;align-items:center;color:var(--h420-menu-color);font-weight:650;font-size:15px;line-height:1.2;transition:color .18s ease,opacity .18s ease}
.h420pro-nav a:hover,.h420pro-nav .current-menu-item>a,.h420pro-nav .current-menu-ancestor>a{color:var(--h420-menu-hover);opacity:.8}
.h420pro-menu .sub-menu{position:absolute;top:100%;left:0;z-index:80;min-width:220px;margin:14px 0 0;padding:10px;list-style:none;background:var(--h420-bg);color:var(--h420-text);border:1px solid var(--h420-border);border-radius:16px;box-shadow:var(--h420-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease}
.h420pro-menu li:hover>.sub-menu,.h420pro-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.h420pro-menu .sub-menu a{display:flex;width:100%;padding:10px 12px;border-radius:10px}
.h420pro-menu .sub-menu a:hover{background:var(--h420-accent-2)}
.h420pro-actions,.h420pro-topbar-actions,.h420pro-mobile-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.h420pro-contact{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;white-space:nowrap}
.h420pro-contact-icon{display:inline-flex;align-items:center;justify-content:center}
.h420pro-whatsapp{padding:10px 14px;border-radius:999px;background:#25d366;color:#071b0d}
.h420pro-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:var(--h420-btn-padding,11px 18px);border:0;border-radius:var(--h420-btn-radius,999px);font-weight:800;font-size:14px;line-height:1;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}
.h420pro-btn svg,.h420pro-btn i{width:1em;height:1em;display:inline-flex;align-items:center}
.h420pro-btn:hover{transform:translateY(-1px);opacity:.92}
/* La regla global .h420pro-header a{color:inherit} tiene más especificidad que
 * una clase de botón aislada. Se refuerzan los estados de botón para que los
 * controles de Elementor “Texto principal/secundario” sean siempre efectivos. */
.h420pro-header .h420pro-btn-primary,.h420pro-header .h420pro-btn-primary:hover,.h420pro-header .h420pro-btn-primary:focus{background:var(--h420-primary-bg);color:var(--h420-primary-text)}
.h420pro-header .h420pro-btn-secondary,.h420pro-header .h420pro-btn-secondary:hover,.h420pro-header .h420pro-btn-secondary:focus{background:var(--h420-secondary-bg);color:var(--h420-secondary-text)}
.h420pro-header .h420pro-btn-ghost,.h420pro-header .h420pro-btn-ghost:hover,.h420pro-header .h420pro-btn-ghost:focus{background:transparent;color:var(--h420-secondary-text);border:1px solid currentColor}
.h420pro-header .h420pro-btn-link,.h420pro-header .h420pro-btn-link:hover,.h420pro-header .h420pro-btn-link:focus{min-height:auto;padding-left:0;padding-right:0;background:transparent;color:var(--h420-secondary-text)}
.h420pro-socials{display:flex;align-items:center;gap:7px}
.h420pro-social{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--h420-accent-2);color:var(--h420-text);font-size:11px;font-weight:900}
.h420pro-search-toggle{width:38px;height:38px;padding:0;border:0;border-radius:999px;background:var(--h420-accent-2);color:var(--h420-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.h420pro-search-toggle svg{width:21px;height:21px}
.h420pro-search-form{display:flex;align-items:center;gap:10px;width:100%}
.h420pro-search-form input{width:100%;min-height:46px;border:1px solid var(--h420-border);border-radius:999px;padding:0 16px;background:var(--h420-bg);color:var(--h420-text);outline:none}
.h420pro-search-form button{min-height:46px;border:0;border-radius:999px;padding:0 18px;background:var(--h420-accent);color:#fff;font-weight:800;cursor:pointer}
.h420pro-search-form button::after,.h420pro-ecom-search-form button::after{content:none;display:none}
.h420pro-search-overlay{display:none;position:fixed;inset:0;z-index:99999;align-items:flex-start;justify-content:center;padding:12vh 20px 20px;background:rgba(15,23,42,.55)}
.h420pro-search-open .h420pro-search-overlay[aria-hidden="false"]{display:flex}
.h420pro-search-box{position:relative;width:min(760px,100%);padding:30px;background:var(--h420-bg);color:var(--h420-text);border-radius:24px;box-shadow:0 25px 80px rgba(0,0,0,.2)}
.h420pro-search-close,.h420pro-drawer-close{border:0;background:transparent;color:inherit;cursor:pointer;font-size:30px;line-height:1}
.h420pro-search-close{position:absolute;top:10px;right:14px}
.h420pro-topbar{position:relative;background:var(--h420-topbar-bg);color:var(--h420-topbar-text);border-bottom:1px solid var(--h420-topbar-border);font-size:13px;line-height:1.35}
.h420pro-topbar-inner{min-height:var(--h420-topbar-min-height,36px);padding:var(--h420-topbar-pad-top,6px) var(--h420-topbar-pad-right,24px) var(--h420-topbar-pad-bottom,6px) var(--h420-topbar-pad-left,24px);gap:16px}
.h420pro-topbar-primary,.h420pro-topbar-actions{display:flex;align-items:center;gap:var(--h420-topbar-gap,14px);min-width:0}
.h420pro-topbar-primary{flex:1 1 auto}
.h420pro-topbar-text{display:inline-flex;align-items:center;font-weight:700;white-space:normal;overflow-wrap:anywhere}
.h420pro-topbar-menu{display:flex;align-items:center;min-width:0}
.h420pro-topbar-menu .h420pro-menu{gap:16px;flex-wrap:wrap}
.h420pro-topbar-menu .h420pro-nav a{font-size:inherit;font-weight:650}
.h420pro-topbar .h420pro-nav a{color:var(--h420-topbar-text)}
.h420pro-topbar .h420pro-nav a:hover,.h420pro-topbar .h420pro-nav .current-menu-item>a{color:var(--h420-topbar-text);opacity:.78}
.h420pro-topbar .h420pro-contact{font-size:inherit;font-weight:650}
.h420pro-topbar .h420pro-whatsapp{padding:0;background:transparent;color:inherit;border-radius:0}
.h420pro-topbar .h420pro-social{width:26px;height:26px;background:transparent;border:1px solid currentColor;color:inherit}
.h420pro-topbar-align-center .h420pro-topbar-inner{justify-content:center}
.h420pro-topbar-align-center .h420pro-topbar-primary{flex:0 1 auto;justify-content:center;text-align:center}
.h420pro-topbar-align-center .h420pro-topbar-actions{justify-content:center}
.h420pro-topbar-align-left .h420pro-topbar-inner{justify-content:flex-start}
.h420pro-topbar-align-left .h420pro-topbar-primary{flex:0 1 auto}
.h420pro-announcement{background:var(--h420-accent);color:#fff;font-size:14px;font-weight:700;text-align:center}
.h420pro-announcement a,.h420pro-announcement span{color:inherit;display:inline-flex}
.h420pro-announcement .h420pro-inner{justify-content:center;min-height:38px;padding-top:8px;padding-bottom:8px}
.h420pro-custom-html{max-width:1240px;margin:0 auto;padding:0 24px 12px}

/* ================================================================
   0.4.13 · Diseños de cabecera realmente independientes
   Cada opción del selector modifica la composición; preset y layout ya no se
   sustituyen entre sí de forma silenciosa.
   ================================================================ */
.h420pro-layout-classic{--h420-menu-layout-h-align:center;--h420-menu-layout-v-align:center}
.h420pro-layout-classic .h420pro-main,
.h420pro-layout-topbar .h420pro-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.h420pro-layout-classic .h420pro-nav-primary,
.h420pro-layout-topbar .h420pro-nav-primary{width:100%;min-width:0}
.h420pro-layout-classic .h420pro-main-stack{border-bottom:1px solid var(--h420-border)}

/* Logo geométricamente centrado, independientemente del ancho del menú/CTA. */
.h420pro-layout-centered{--h420-menu-layout-h-align:flex-end;--h420-menu-layout-v-align:center}
.h420pro-layout-centered .h420pro-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.h420pro-layout-centered .h420pro-brand{grid-column:2;grid-row:1;justify-self:center}
.h420pro-layout-centered .h420pro-nav-primary{grid-column:1;grid-row:1;width:100%;justify-self:stretch}
.h420pro-layout-centered .h420pro-actions{grid-column:3;grid-row:1;justify-self:end}

/* Dos menús reales a ambos lados del logo; las acciones quedan en una segunda
 * línea centrada para no desplazar el logotipo del eje central. */
.h420pro-layout-split{--h420-menu-layout-h-align:flex-start;--h420-menu-layout-v-align:center}
.h420pro-layout-split .h420pro-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:'secondary brand primary' 'actions actions actions';align-items:center;row-gap:8px}
.h420pro-layout-split .h420pro-nav-secondary{grid-area:secondary;width:100%;justify-content:flex-end}
.h420pro-layout-split .h420pro-brand{grid-area:brand;justify-self:center}
.h420pro-layout-split .h420pro-nav-primary{grid-area:primary;width:100%;justify-content:flex-start}
.h420pro-layout-split .h420pro-actions{grid-area:actions;justify-self:center;justify-content:center}
.h420pro-layout-split .h420pro-nav-secondary .h420pro-menu{justify-content:flex-end;width:100%}
.h420pro-layout-split .h420pro-nav-primary .h420pro-menu{width:100%}

.h420pro-layout-stacked{--h420-menu-layout-h-align:center;--h420-menu-layout-v-align:center}
.h420pro-layout-stacked .h420pro-main{justify-content:center;flex-direction:column;text-align:center;gap:10px}
.h420pro-layout-stacked .h420pro-main>.h420pro-nav-primary{display:none}
.h420pro-layout-stacked .h420pro-brand,.h420pro-layout-stacked .h420pro-actions{justify-content:center}
.h420pro-stacked-menu{justify-content:center;padding-top:0;border-top:1px solid var(--h420-border)}
.h420pro-stacked-menu .h420pro-nav-primary{width:100%}

.h420pro-layout-topbar{--h420-menu-layout-h-align:center;--h420-menu-layout-v-align:center}
.h420pro-layout-topbar .h420pro-main-stack{border-top:3px solid var(--h420-accent);border-bottom:1px solid var(--h420-border)}

.h420pro-layout-minimal{--h420-menu-layout-h-align:flex-end;--h420-menu-layout-v-align:center}
.h420pro-layout-minimal .h420pro-main{min-height:60px}
.h420pro-layout-minimal .h420pro-main>.h420pro-nav{display:none}
.h420pro-layout-minimal .h420pro-mobile-toggle{display:inline-flex}
.h420pro-layout-minimal .h420pro-actions .h420pro-contact,.h420pro-layout-minimal .h420pro-actions .h420pro-socials{display:none}

/* 0.4.14 · Posicionamiento manual del menú principal.
 * Los offsets y los márgenes laterales seguros afectan únicamente a la zona de
 * navegación de la cabecera. Los márgenes se materializan como espacio interior
 * del nav para no alterar la caja exterior del widget, el ancho medido por JS ni
 * el placeholder del sticky. Así el menú normal y el sticky conservan exactamente
 * la misma geometría al iniciar el scroll. El drawer móvil no queda afectado. */
.h420pro-main>.h420pro-nav-primary,
.h420pro-stacked-menu>.h420pro-nav-primary,
.h420pro-ecom-nav .h420pro-nav-primary{
  align-self:var(--h420-menu-v-align,var(--h420-menu-layout-v-align));
  justify-content:var(--h420-menu-h-align,var(--h420-menu-layout-h-align));
  padding-left:var(--h420-menu-side-left,0px);
  padding-right:var(--h420-menu-side-right,0px);
  transform:translate(var(--h420-menu-offset-x,0px),var(--h420-menu-offset-y,0px));
}
.h420pro-main>.h420pro-nav-primary>.h420pro-menu,
.h420pro-stacked-menu>.h420pro-nav-primary>.h420pro-menu,
.h420pro-ecom-nav .h420pro-nav-primary>.h420pro-menu{width:100%;justify-content:var(--h420-menu-h-align,var(--h420-menu-layout-h-align))}

/* En modo responsive las estructuras desktop en grid vuelven a una fila móvil
 * predecible; el menú principal está oculto y los offsets no afectan al drawer. */
.h420pro-layout-classic.h420pro-is-mobile .h420pro-main,
.h420pro-layout-centered.h420pro-is-mobile .h420pro-main,
.h420pro-layout-split.h420pro-is-mobile .h420pro-main,
.h420pro-layout-topbar.h420pro-is-mobile .h420pro-main{display:flex}

/* ================================================================
   0.4.13 · Presets visuales: todos producen un cambio visible propio
   Los colores siguen expuestos a los controles de Elementor; aquí se añaden
   diferencias de ritmo, borde, radio y tratamiento del menú.
   ================================================================ */
.h420pro-preset-clean{--h420-bg:#fff;--h420-text:#111827;--h420-muted:#6b7280;--h420-border:#e5e7eb;--h420-accent:#111827;--h420-accent-hover:#374151;--h420-accent-2:#f3f4f6;--h420-soft:#f8fafc;--h420-shadow:0 8px 26px rgba(15,23,42,.07);--h420-btn-radius:8px}
.h420pro-preset-clean .h420pro-main-stack{border-bottom:1px solid var(--h420-border)}
.h420pro-preset-clean .h420pro-menu>li>a{padding:10px 4px}

.h420pro-preset-warm-editorial{--h420-bg:#fff9ef;--h420-text:#243f3b;--h420-muted:#6d665d;--h420-border:#eee7e1;--h420-accent:#7c9663;--h420-accent-hover:#698151;--h420-accent-2:#f4efe4;--h420-shadow:0 14px 38px rgba(42,35,31,.08);--h420-secondary-bg:#fff;--h420-secondary-text:#c9877e;--h420-btn-radius:999px}
.h420pro-preset-warm-editorial .h420pro-main-stack{border-bottom:1px solid var(--h420-border)}
.h420pro-preset-warm-editorial .h420pro-menu>li>a{padding:10px 9px;border-radius:999px;letter-spacing:.01em}
.h420pro-preset-warm-editorial .h420pro-menu>li>a:hover{background:var(--h420-accent-2)}
.h420pro-preset-warm-editorial .h420pro-btn-secondary{border:1px solid rgba(201,123,118,.45)}
.h420pro-preset-warm-editorial .h420pro-btn-ghost{border-color:var(--h420-secondary-text)}
.h420pro-preset-warm-editorial .h420pro-whatsapp{background:#e8f1e2;color:#4f6b45}

.h420pro-preset-medical{--h420-bg:#fff;--h420-text:#0f2f3d;--h420-muted:#5b7080;--h420-border:#e2edf2;--h420-accent:#1f7a8c;--h420-accent-hover:#176474;--h420-accent-2:#eef7f9;--h420-btn-radius:6px}
.h420pro-preset-medical .h420pro-main-stack{border-bottom:3px solid var(--h420-accent-2)}
.h420pro-preset-medical .h420pro-menu>li>a{padding:11px 3px;border-bottom:2px solid transparent}
.h420pro-preset-medical .h420pro-menu>li>a:hover,.h420pro-preset-medical .h420pro-menu>.current-menu-item>a{border-bottom-color:var(--h420-accent)}

.h420pro-preset-dark{--h420-bg:#111827;--h420-text:#f9fafb;--h420-muted:#cbd5e1;--h420-border:rgba(255,255,255,.14);--h420-accent:#fff;--h420-accent-hover:#e5e7eb;--h420-accent-2:rgba(255,255,255,.1);--h420-primary-bg:#fff;--h420-primary-text:#111827;--h420-btn-radius:10px;--h420-shadow:0 18px 50px rgba(0,0,0,.28)}
.h420pro-preset-dark .h420pro-main-stack{border-bottom:1px solid var(--h420-border)}
.h420pro-preset-dark .h420pro-menu>li>a{padding:10px 9px;border-radius:8px}
.h420pro-preset-dark .h420pro-menu>li>a:hover{background:var(--h420-accent-2)}

.h420pro-preset-glass{--h420-bg:rgba(255,255,255,.72);--h420-text:#111827;--h420-border:rgba(255,255,255,.58);--h420-accent:#111827;--h420-accent-2:rgba(255,255,255,.68);--h420-shadow:0 18px 48px rgba(15,23,42,.13);--h420-btn-radius:999px;backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15)}
.h420pro-preset-glass .h420pro-main-stack{border-bottom:1px solid var(--h420-border);box-shadow:0 8px 28px rgba(15,23,42,.06)}
.h420pro-preset-glass .h420pro-menu>li>a{padding:10px 10px;border-radius:999px}
.h420pro-preset-glass .h420pro-menu>li>a:hover{background:var(--h420-accent-2)}

.h420pro-preset-commerce-health{--h420-bg:#fff;--h420-text:#243f3b;--h420-muted:#61736d;--h420-border:#dcebe4;--h420-accent:#243f3b;--h420-accent-hover:#2f665d;--h420-accent-2:#eef8f3;--h420-soft:#f7fbf8;--h420-shadow:0 14px 42px rgba(36,63,59,.12);--h420-btn-radius:12px}
.h420pro-preset-commerce-health .h420pro-main-stack{border-bottom:1px solid var(--h420-border)}
.h420pro-preset-commerce-health .h420pro-menu>li>a{padding:10px 12px;border-radius:10px}
.h420pro-preset-commerce-health .h420pro-menu>li>a:hover{background:var(--h420-accent-2)}

/* Menú móvil controlado por clase, no por media queries rígidas. */
.h420pro-mobile-toggle{display:none;align-items:center;justify-content:center;gap:5px;min-width:42px;min-height:42px;padding:8px;border:0;background:transparent;color:var(--h420-menu-color);font-weight:800;cursor:pointer;position:relative;z-index:100}
.h420pro-mobile-toggle span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.h420pro-mobile-toggle em{font-style:normal;font-size:13px;margin-left:4px}
.h420pro-hamburger-dots .h420pro-mobile-toggle span{width:5px;height:5px;border-radius:50%}
.h420pro-hamburger-minimal .h420pro-mobile-toggle span:nth-child(2){display:none}
.h420pro-open .h420pro-mobile-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.h420pro-open .h420pro-mobile-toggle span:nth-child(2){opacity:0}
.h420pro-open .h420pro-mobile-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.h420pro-mobile-overlay,.h420pro-mobile-drawer{display:none}
.h420pro-drawer-close{display:none;position:absolute;top:18px;right:20px;z-index:3}
.h420pro-is-mobile .h420pro-main>.h420pro-nav,
.h420pro-is-mobile .h420pro-actions,
.h420pro-is-mobile .h420pro-stacked-menu{display:none}
.h420pro-is-mobile .h420pro-topbar-mobile-hide{display:none}
.h420pro-is-mobile .h420pro-topbar-mobile-compact .h420pro-topbar-inner{min-height:var(--h420-topbar-min-height,30px);padding:var(--h420-topbar-pad-top,5px) var(--h420-topbar-pad-right,14px) var(--h420-topbar-pad-bottom,5px) var(--h420-topbar-pad-left,14px);justify-content:center}
.h420pro-is-mobile .h420pro-topbar-mobile-compact .h420pro-topbar-primary{width:100%;justify-content:center;text-align:center}
.h420pro-is-mobile .h420pro-topbar-mobile-compact .h420pro-topbar-menu,
.h420pro-is-mobile .h420pro-topbar-mobile-compact .h420pro-topbar-actions{display:none}
.h420pro-is-mobile .h420pro-topbar-mobile-full .h420pro-topbar-inner{padding:var(--h420-topbar-pad-top,7px) var(--h420-topbar-pad-right,14px) var(--h420-topbar-pad-bottom,7px) var(--h420-topbar-pad-left,14px);flex-wrap:wrap;justify-content:center}
.h420pro-is-mobile .h420pro-topbar-mobile-full .h420pro-topbar-primary,
.h420pro-is-mobile .h420pro-topbar-mobile-full .h420pro-topbar-actions{width:100%;justify-content:center;text-align:center}
.h420pro-is-mobile .h420pro-topbar-mobile-full .h420pro-topbar-menu .h420pro-menu{justify-content:center}
.h420pro-is-mobile .h420pro-mobile-toggle{display:inline-flex}
.h420pro-is-mobile .h420pro-main{justify-content:space-between;padding-left:clamp(14px,4vw,22px);padding-right:clamp(14px,4vw,22px);gap:12px}
.h420pro-is-mobile .h420pro-brand{max-width:calc(100% - 58px)}
.h420pro-is-mobile .h420pro-logo img{width:auto;max-width:min(180px,52vw)}
.h420pro-is-mobile .h420pro-mobile-drawer{z-index:9999;background:var(--h420-drawer-bg);color:var(--h420-drawer-text);border:1px solid var(--h420-border);box-shadow:var(--h420-shadow);padding:18px}
.h420pro-is-mobile.h420pro-open .h420pro-mobile-drawer{display:block}
.h420pro-is-mobile.h420pro-open.h420pro-has-overlay .h420pro-mobile-overlay{display:block;position:fixed;inset:0;z-index:9998;background:rgba(15,23,42,.45)}
.h420pro-is-mobile .h420pro-mobile-drawer-inner{display:flex;flex-direction:column;gap:16px}
.h420pro-is-mobile .h420pro-mobile-drawer .h420pro-nav{display:block;width:100%}
.h420pro-is-mobile .h420pro-mobile-drawer .h420pro-nav a{color:var(--h420-drawer-text)}
.h420pro-is-mobile .h420pro-mobile-drawer .h420pro-nav a:hover,.h420pro-is-mobile .h420pro-mobile-drawer .h420pro-nav .current-menu-item>a{color:var(--h420-menu-hover)}
.h420pro-is-mobile .h420pro-mobile-drawer .h420pro-menu{display:flex;flex-direction:column;align-items:stretch;gap:4px}
.h420pro-is-mobile .h420pro-mobile-drawer .h420pro-menu a{display:flex;width:100%;padding:12px 10px;border-radius:12px}
.h420pro-is-mobile .h420pro-mobile-drawer .sub-menu{position:static;margin:4px 0 4px 12px;padding:0;background:transparent;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
.h420pro-is-mobile .h420pro-mobile-actions{align-items:stretch;flex-direction:column}
.h420pro-is-mobile .h420pro-mobile-actions .h420pro-socials{justify-content:flex-start}
.h420pro-is-mobile .h420pro-btn,.h420pro-is-mobile .h420pro-contact{width:100%;justify-content:center;white-space:normal;text-align:center}
.h420pro-is-mobile .h420pro-search-form-mobile{display:flex;flex-direction:column;align-items:stretch}
.h420pro-is-mobile.h420pro-drawer-dropdown .h420pro-mobile-drawer{position:absolute;left:16px;right:16px;top:calc(100% + 8px);max-height:min(78vh,760px);overflow:auto;border-radius:22px;overscroll-behavior:contain}
/* 0.4.12 · Dropdown anclado al viewport en TODOS los estados.
 * El absolute anterior queda solo como fallback previo al binding JS. En cuanto
 * se abre el menú, JS calcula el borde inferior del header (o del sticky fijo)
 * y activa h420pro-drawer-fixed-anchor. Esto evita el recorte por overflow de
 * contenedores Elementor cuando la página todavía está en scrollY=0. */
.h420pro-header.h420pro-drawer-dropdown.h420pro-open .h420pro-sticky-target.h420pro-fixed{z-index:100012}
.h420pro-is-mobile.h420pro-drawer-dropdown.h420pro-drawer-fixed-anchor .h420pro-mobile-drawer{
  position:fixed;
  top:var(--h420-drawer-fixed-top,72px);
  left:var(--h420-drawer-fixed-left,16px);
  right:var(--h420-drawer-fixed-right,16px);
  max-height:calc(100vh - var(--h420-drawer-fixed-top,72px) - 12px);
  max-height:calc(100dvh - var(--h420-drawer-fixed-top,72px) - 12px);
  z-index:100011;
}
.h420pro-is-mobile.h420pro-drawer-offcanvas-right .h420pro-mobile-drawer,
.h420pro-is-mobile.h420pro-drawer-offcanvas-left .h420pro-mobile-drawer,
.h420pro-is-mobile.h420pro-drawer-fullscreen .h420pro-mobile-drawer{display:block;position:fixed;top:0;bottom:0;width:var(--h420-drawer-width);max-width:calc(100vw - 18px);overflow:auto;border-radius:0;padding:70px 22px 24px;transition:transform .25s ease;overscroll-behavior:contain}
.h420pro-is-mobile.h420pro-drawer-offcanvas-right .h420pro-mobile-drawer{right:0;transform:translateX(105%)}
.h420pro-is-mobile.h420pro-drawer-offcanvas-left .h420pro-mobile-drawer{left:0;transform:translateX(-105%)}
.h420pro-is-mobile.h420pro-drawer-offcanvas-right.h420pro-open .h420pro-mobile-drawer,
.h420pro-is-mobile.h420pro-drawer-offcanvas-left.h420pro-open .h420pro-mobile-drawer{transform:translateX(0)}
.h420pro-is-mobile.h420pro-drawer-fullscreen .h420pro-mobile-drawer{inset:0;width:100%;max-width:100%;transform:translateY(-105%)}
.h420pro-is-mobile.h420pro-drawer-fullscreen.h420pro-open .h420pro-mobile-drawer{transform:translateY(0)}
.h420pro-is-mobile.h420pro-drawer-offcanvas-right .h420pro-drawer-close,
.h420pro-is-mobile.h420pro-drawer-offcanvas-left .h420pro-drawer-close,
.h420pro-is-mobile.h420pro-drawer-fullscreen .h420pro-drawer-close{display:block}
/* 0.4.10: aria-hidden es la fuente de verdad semántica; el CSS crítico de <head>
 * evita además cualquier pintado antes de que este archivo esté disponible. */
.h420pro-mobile-drawer[aria-hidden="true"]{pointer-events:none}
.h420pro-mobile-drawer[aria-hidden="false"]{pointer-events:auto}

/* Submenús móviles plegables. */
.h420pro-submenu-toggle{display:none}
.h420pro-is-mobile.h420pro-submenu-ready .h420pro-mobile-drawer .menu-item-has-children{position:relative}
.h420pro-is-mobile.h420pro-submenu-ready .h420pro-mobile-drawer .menu-item-has-children>.h420pro-submenu-toggle{display:flex;position:absolute;top:7px;right:7px;width:40px;height:40px;align-items:center;justify-content:center;border:0;border-radius:12px;background:transparent;color:currentColor;cursor:pointer;z-index:2}
.h420pro-is-mobile.h420pro-submenu-ready .h420pro-mobile-drawer .h420pro-submenu-toggle span::before{content:'';display:block;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}
.h420pro-is-mobile.h420pro-submenu-ready .h420pro-mobile-drawer .h420pro-submenu-toggle[aria-expanded="true"] span::before{transform:rotate(225deg) translate(-1px,-1px)}
.h420pro-is-mobile.h420pro-submenu-ready .h420pro-mobile-drawer .menu-item-has-children>.sub-menu{display:none}
.h420pro-is-mobile.h420pro-submenu-ready .h420pro-mobile-drawer .menu-item-has-children.h420pro-submenu-open>.sub-menu{display:grid}

/* Ecommerce genérico. */
.h420pro-layout-ecommerce{
  --h420-menu-layout-h-align:flex-start;
  --h420-menu-layout-v-align:center;
  --h420-ecom-container-width:1220px;
  --h420-ecom-container-gutter:32px;
  --h420-ecom-brand-col:260px;
  --h420-ecom-search-col:1fr;
  --h420-ecom-actions-col:245px;
  --h420-ecom-main-gap:22px;
  --h420-ecom-logo-width:66px;
  --h420-ecom-menu-gap:5px;
  --h420-ecom-mobile-button-size:46px;
  --h420-ecom-drawer-content-width:520px;
  --h420-ecom-mobile-menu-columns:1;
  --h420-ecom-mobile-menu-gap:9px;
  --h420-ecom-mobile-header-padding:12px 0;
  --h420-ecom-hamburger-bg:var(--h420-accent);
  --h420-ecom-hamburger-color:#fff;
  --h420-ecom-drawer-padding:70px 22px 24px;
  --h420-ecom-mobile-menu-item-padding:14px 48px 14px 16px;
  box-shadow:0 1px 0 color-mix(in srgb,var(--h420-text) 10%,transparent);
}
.h420pro-ecom-wrap{width:min(var(--h420-ecom-container-width),calc(100% - var(--h420-ecom-container-gutter)));margin:0 auto;max-width:100%}
.h420pro-ecom-desktop,.h420pro-ecom-desktop-only{display:block}
.h420pro-ecom-mobile,.h420pro-ecom-mobile-only{display:none}
.h420pro-ecom-topbar{background:var(--h420-accent);color:#fff;font-size:13px;line-height:1.2}
.h420pro-ecom-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 0}
.h420pro-ecom-trust{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.h420pro-ecom-trust span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.h420pro-ecom-contact{display:flex;align-items:center;gap:14px;white-space:nowrap;font-weight:700}
.h420pro-ecom-contact .h420pro-contact{color:#fff;font-size:13px}
.h420pro-ecom-contact .h420pro-whatsapp{padding:0;background:transparent;color:#fff}
.h420pro-ecom-contact .h420pro-social{background:rgba(255,255,255,.12);color:#fff}
.h420pro-ecom-main{background:var(--h420-bg);border-bottom:1px solid var(--h420-border)}
.h420pro-ecom-main-inner{display:grid;grid-template-columns:var(--h420-ecom-brand-col) minmax(0,var(--h420-ecom-search-col)) var(--h420-ecom-actions-col);align-items:center;gap:var(--h420-ecom-main-gap);padding:17px 0}
.h420pro-ecom-no-search .h420pro-ecom-main-inner{grid-template-columns:minmax(0,1fr) auto}
.h420pro-ecom-brand{display:flex;align-items:center;gap:12px;color:var(--h420-accent);line-height:1.05}
.h420pro-ecom-brand img{width:var(--h420-ecom-logo-width);max-width:var(--h420-ecom-logo-width);flex:0 0 auto}
.h420pro-ecom-brand-text{display:block}
.h420pro-ecom-brand strong{display:block;font-size:18px;letter-spacing:-.02em;color:var(--h420-accent);line-height:1.05;font-weight:900;white-space:normal}
.h420pro-ecom-brand small{display:block;margin-top:4px;color:var(--h420-muted);font-size:12px;font-weight:700;line-height:1.2}
.h420pro-ecom-search-form{display:flex;align-items:center;width:100%;gap:0;padding:5px;border:1px solid var(--h420-border);background:var(--h420-soft);border-radius:999px}
.h420pro-ecom-search-form input[type="search"]{appearance:none;width:100%;min-height:44px;padding:12px 16px;border:0;background:transparent;color:var(--h420-text);outline:0;box-shadow:none;border-radius:999px}
.h420pro-ecom-search-form button{min-height:44px;padding:12px 20px;border:0;border-radius:999px;background:var(--h420-accent);color:#fff;font-weight:900;cursor:pointer;white-space:nowrap}
.h420pro-ecom-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.h420pro-ecom-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 13px;border:1px solid var(--h420-border);border-radius:999px;background:var(--h420-bg);color:var(--h420-accent);font-size:13px;font-weight:800}
.h420pro-ecom-nav{background:var(--h420-bg);border-bottom:1px solid var(--h420-border)}
.h420pro-ecom-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0}
.h420pro-ecom-menu-wrap{min-width:0;overflow:visible;flex:1 1 auto}
.h420pro-ecom-menu-wrap .h420pro-nav-primary{width:100%}
.h420pro-ecom-nav .h420pro-menu{gap:var(--h420-ecom-menu-gap)}
.h420pro-ecom-nav .h420pro-menu>li>a{padding:10px 12px;border-radius:999px}
.h420pro-ecom-nav .h420pro-menu>li>a:hover{background:var(--h420-accent-2)}
.h420pro-ecom-mini{color:var(--h420-muted);font-size:12px;font-weight:700;white-space:nowrap}
.h420pro-ecom-prewidgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;width:min(var(--h420-ecom-container-width),calc(100% - var(--h420-ecom-container-gutter)));margin:12px auto}
.h420pro-ecom-prewidget{display:flex;align-items:center;gap:12px;min-height:86px;padding:12px;border:1px solid var(--h420-border);border-radius:16px;background:var(--h420-soft);color:var(--h420-text)}
.h420pro-ecom-prewidget-media{width:64px;height:64px;flex:0 0 64px;overflow:hidden;border-radius:12px}
.h420pro-ecom-prewidget-media img{width:100%;height:100%;object-fit:cover}
.h420pro-ecom-prewidget-content{display:flex;flex-direction:column;gap:3px}
.h420pro-ecom-prewidget em{width:max-content;padding:3px 7px;border-radius:999px;background:var(--h420-accent-2);font-size:10px;font-style:normal;font-weight:800}
.h420pro-ecom-prewidget strong{font-size:14px}
.h420pro-ecom-prewidget small{color:var(--h420-muted);font-size:12px}
.h420pro-ecom-prewidget b{font-size:12px;color:var(--h420-accent)}
.h420pro-ecom-action-icon{display:inline-flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto}
.h420pro-ecom-action-icon svg{width:1em;height:1em}
.h420pro-cart-link{position:relative}
.h420pro-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--h420-accent);color:#fff;font-size:10px;font-weight:900;line-height:1;flex:0 0 auto}

/* Ecommerce limpio: solo cambia la presentación, no el contenido. */
.h420pro-ecom-style-commerce-clean{--h420-shadow:0 10px 28px rgba(15,23,42,.08)}
.h420pro-ecom-style-commerce-clean .h420pro-ecom-topbar{background:#071334}
.h420pro-ecom-style-commerce-clean .h420pro-ecom-main-inner{padding:14px 0}
.h420pro-ecom-style-commerce-clean .h420pro-ecom-search-form,.h420pro-ecom-style-commerce-clean .h420pro-ecom-pill{border-radius:6px}
.h420pro-ecom-style-commerce-clean .h420pro-ecom-nav .h420pro-menu>li>a{border-radius:4px}

/* Ecommerce móvil. */
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-desktop,
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-desktop-only{display:none}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile{display:block;background:var(--h420-bg);border-bottom:1px solid var(--h420-border)}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile-only{display:block}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-wrap{width:min(calc(100% - 22px),var(--h420-ecom-container-width));max-width:100%}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile-top{background:var(--h420-accent);color:#fff;font-size:12px;font-weight:900;text-align:center;padding:8px 10px;overflow-wrap:anywhere}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile-main{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--h420-ecom-mobile-header-padding)}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile .h420pro-ecom-brand{flex:1 1 auto}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile .h420pro-ecom-brand img{width:var(--h420-ecom-logo-width);max-width:var(--h420-ecom-logo-width)}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile .h420pro-ecom-brand strong{max-width:165px;overflow-wrap:anywhere}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile .h420pro-ecom-brand small{font-size:11px}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile-icons{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile-icon,
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-menu-button{position:relative;width:var(--h420-ecom-mobile-button-size);height:var(--h420-ecom-mobile-button-size);min-height:var(--h420-ecom-mobile-button-size);flex:0 0 var(--h420-ecom-mobile-button-size);padding:0;border:1px solid var(--h420-border);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--h420-bg);color:var(--h420-accent);font-size:20px;line-height:1;box-shadow:none}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-menu-button{background:var(--h420-ecom-hamburger-bg);color:var(--h420-ecom-hamburger-color);border-color:var(--h420-ecom-hamburger-bg);flex-direction:column;gap:0;box-shadow:0 10px 24px color-mix(in srgb,var(--h420-accent) 18%,transparent)}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-menu-button span{width:18px;height:2px;margin:2px 0}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-menu-button em{display:none}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile-icon .h420pro-cart-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border:2px solid var(--h420-bg);padding:0 4px;font-size:9px}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile-search{padding:0 0 12px}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile-search .h420pro-ecom-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:0;border-radius:16px;overflow:hidden}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile-search input[type="search"]{min-height:45px;border-radius:16px 0 0 16px}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile-search button{min-height:45px;border-radius:0}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer{padding:var(--h420-ecom-drawer-padding);background:var(--h420-drawer-bg,var(--h420-soft));color:var(--h420-drawer-text,var(--h420-text));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:var(--h420-ecom-drawer-content-width);min-height:44px;margin:0 auto 16px}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-titlebar strong{font-size:18px;font-weight:900;color:var(--h420-accent)}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-close{display:flex;width:44px;height:44px;border-radius:999px;background:var(--h420-accent);color:#fff;align-items:center;justify-content:center;font-size:24px}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-head,
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-search,
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-layout{width:100%;max-width:var(--h420-ecom-drawer-content-width);margin-left:auto;margin-right:auto}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-head{display:flex;align-items:center;margin-bottom:18px}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-search .h420pro-ecom-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:0;border-radius:16px;overflow:hidden;margin-bottom:18px;background:var(--h420-bg)}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-search button{border-radius:0}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-nav{display:block;width:100%}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-menu{display:grid;grid-template-columns:repeat(var(--h420-ecom-mobile-menu-columns),minmax(0,1fr));gap:var(--h420-ecom-mobile-menu-gap);margin:12px auto 20px;padding:0;width:100%}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-menu a{display:flex;align-items:center;width:100%;min-height:54px;padding:var(--h420-ecom-mobile-menu-item-padding);border:1px solid var(--h420-border);border-radius:16px;background:var(--h420-bg);color:var(--h420-accent);white-space:normal;overflow-wrap:anywhere;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-quick-links{display:grid;gap:8px;margin-top:10px}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-quick-links a{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--h420-border);border-radius:12px;background:var(--h420-bg)}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-actions .h420pro-ecom-pill,
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-actions .h420pro-btn{width:100%;min-width:0;min-height:44px;white-space:normal;text-align:center}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-actions .h420pro-btn-primary{grid-column:1/-1}
.h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-prewidgets-mobile{width:100%;margin:16px 0 0;grid-template-columns:1fr}
.h420pro-ecom-drawer-note{max-width:var(--h420-ecom-drawer-content-width);margin:18px auto 0;padding:14px;border-radius:14px;background:var(--h420-accent-2);display:flex;flex-direction:column;gap:4px}
.h420pro-ecom-drawer-note span{font-size:12px;color:var(--h420-muted)}

/* Accesibilidad y estabilidad. */
.h420pro-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.h420pro-body-locked{overflow:hidden;padding-right:var(--h420-scrollbar-compensation,0)}
.h420pro-header :focus-visible{outline:3px solid color-mix(in srgb,var(--h420-accent) 70%,#fff);outline-offset:3px}
.h420pro-header button,.h420pro-header a,.h420pro-header input{touch-action:manipulation}

@media (max-width:520px){
  .h420pro-search-overlay{padding:8vh 12px 12px}
  .h420pro-search-box{padding:28px 16px 18px}
  .h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-mobile .h420pro-ecom-brand-text{display:none}
  .h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-actions{grid-template-columns:1fr}
  .h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-actions .h420pro-btn-primary{grid-column:auto}
  .h420pro-layout-ecommerce.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-menu{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .h420pro-header,.h420pro-header *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ================================================================
   420CreaStack Header Pro 0.4.1 · preset profesional responsive
   ================================================================ */
.h420pro-header{
  --h420-drawer-head-bg:var(--h420-bg);
  --h420-drawer-divider:var(--h420-border);
}
.h420pro-logo{gap:12px}
.h420pro-logo-mobile{display:none}
.h420pro-brand-copy{display:flex;flex-direction:column;gap:3px;line-height:1.05}
.h420pro-brand-copy strong{font-size:17px;letter-spacing:.08em;font-weight:700}
.h420pro-brand-copy small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--h420-muted)}
.h420pro-contact-icon svg,.h420pro-topbar-item-icon svg,.h420pro-social svg,.h420pro-compact-icon svg,.h420pro-drawer-business svg{width:1em;height:1em}
.h420pro-topbar-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.h420pro-topbar-item-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:16px}
.h420pro-topbar-details{justify-content:flex-end}
.h420pro-topbar-toggle{display:none;width:30px;height:30px;padding:5px;border:0;border-radius:999px;background:rgba(255,255,255,.1);color:inherit;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.h420pro-topbar-toggle svg{width:17px;height:17px;transition:transform .2s ease}
.h420pro-topbar-expanded .h420pro-topbar-toggle svg{transform:rotate(180deg)}
.h420pro-social svg{width:16px;height:16px}
.h420pro-compact-actions{display:none;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}
.h420pro-compact-icon{width:42px;height:42px;min-height:42px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--h420-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.h420pro-compact-icon svg{width:21px;height:21px}
.h420pro-compact-cta{display:none;min-height:40px;padding:10px 17px;border-radius:6px}
.h420pro-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:14px 20px;background:var(--h420-drawer-head-bg);color:var(--h420-drawer-head-text);border-bottom:1px solid var(--h420-drawer-divider);position:sticky;top:0;z-index:4}
.h420pro-drawer-header .h420pro-brand{max-width:calc(100% - 58px)}
.h420pro-drawer-header .h420pro-logo img{max-height:46px;width:auto}
.h420pro-drawer-header .h420pro-drawer-brand{display:flex;align-items:center;min-width:0;max-width:calc(100% - 58px)}
.h420pro-drawer-header .h420pro-drawer-logo{display:inline-flex;align-items:center;gap:12px;min-width:0;max-width:100%;line-height:1}
.h420pro-drawer-header .h420pro-drawer-logo img{display:block;width:170px;max-width:100%;height:auto;max-height:58px;object-fit:contain;object-position:left center;filter:none;transform:none}
.h420pro-drawer-header .h420pro-drawer-logo-is-white img{filter:brightness(0) invert(1)}
.h420pro-drawer-header .h420pro-drawer-close{position:static;display:inline-flex;width:42px;height:42px;padding:9px;border-radius:999px;align-items:center;justify-content:center;background:transparent;color:inherit}
.h420pro-drawer-header .h420pro-drawer-close svg{width:24px;height:24px}
.h420pro-drawer-business{display:grid;gap:10px;width:100%;padding:15px 0;border-top:1px solid var(--h420-drawer-divider);border-bottom:1px solid var(--h420-drawer-divider)}
.h420pro-drawer-business span{display:flex;align-items:center;gap:10px}
.h420pro-drawer-business i{display:inline-flex;font-style:normal;font-size:18px;color:var(--h420-accent)}
.h420pro-drawer-business b{font-size:13px;font-weight:650}

/* Preset exacto del mockup, sin datos de cliente incrustados. */
.h420pro-preset-signature{
  --h420-bg:#ffffff;
  --h420-text:#071c3d;
  --h420-muted:#587083;
  --h420-border:#e6ebef;
  --h420-accent:#d5a23a;
  --h420-accent-hover:#bd8c2d;
  --h420-accent-2:#edf7f7;
  --h420-soft:#f8fafb;
  --h420-shadow:0 14px 38px rgba(7,28,61,.12);
  --h420-drawer-bg:#ffffff;
  --h420-drawer-text:#071c3d;
  --h420-drawer-head-bg:#072544;
  --h420-drawer-divider:#dfe7ec;
  --h420-topbar-bg:#062544;
  --h420-topbar-text:#ffffff;
  --h420-topbar-border:rgba(255,255,255,.1);
  --h420-menu-color:#071c3d;
  --h420-menu-hover:#d5a23a;
  --h420-primary-bg:#d5a23a;
  --h420-primary-text:#ffffff;
  --h420-drawer-head-text:#ffffff;
}
.h420pro-preset-signature .h420pro-topbar .h420pro-social{background:transparent;border:0;color:inherit;width:28px;height:28px}
.h420pro-preset-signature .h420pro-main-stack{border-bottom:1px solid var(--h420-border)}
.h420pro-preset-signature .h420pro-main{min-height:82px}
:where(.h420pro-preset-signature) .h420pro-nav a{font-weight:600;font-size:14px}
.h420pro-preset-signature .h420pro-menu>li>a{padding:12px 2px}
.h420pro-preset-signature .h420pro-btn-primary{border-radius:var(--h420-btn-radius,6px);box-shadow:0 8px 18px rgba(213,162,58,.18)}
.h420pro-preset-signature .h420pro-search-toggle,.h420pro-preset-signature .h420pro-compact-icon{background:transparent;color:var(--h420-menu-color)}
:where(.h420pro-preset-signature) .h420pro-mobile-drawer .h420pro-nav a{font-weight:550;border-radius:0;padding:13px 0}
.h420pro-preset-signature .h420pro-mobile-drawer .h420pro-menu>li{border-bottom:1px solid var(--h420-drawer-divider)}
.h420pro-preset-signature .h420pro-mobile-drawer .sub-menu li{border:0}
.h420pro-preset-signature .h420pro-drawer-header .h420pro-brand-copy small{color:var(--h420-drawer-head-text);opacity:.72}
.h420pro-preset-signature .h420pro-mobile-actions .h420pro-contact{justify-content:flex-start;text-align:left;padding:3px 0;color:var(--h420-drawer-text)}
.h420pro-preset-signature .h420pro-mobile-actions .h420pro-contact-icon{font-size:18px;color:inherit}
.h420pro-preset-signature .h420pro-mobile-actions .h420pro-social{background:var(--h420-topbar-bg);color:var(--h420-topbar-text);border:0;width:32px;height:32px}
.h420pro-preset-signature .h420pro-mobile-actions .h420pro-btn{border-radius:var(--h420-btn-radius,6px)}

/* Tablet y móvil dependen del ancho real del widget. */
.h420pro-is-mobile .h420pro-compact-actions{display:flex}
.h420pro-is-mobile .h420pro-main{min-height:68px}
.h420pro-is-mobile .h420pro-brand{max-width:min(52%,260px)}
.h420pro-is-mobile .h420pro-compact-cta{display:none}
.h420pro-is-tablet.h420pro-compact-cta-tablet .h420pro-compact-cta{display:inline-flex}
.h420pro-is-phone.h420pro-compact-cta-mobile .h420pro-compact-cta{display:inline-flex}
.h420pro-is-phone .h420pro-compact-cta{padding:9px 12px;font-size:12px}
.h420pro-is-phone.h420pro-has-mobile-logo .h420pro-logo-desktop{display:none}
.h420pro-is-phone.h420pro-has-mobile-logo .h420pro-logo-mobile{display:block}
.h420pro-is-phone.h420pro-has-mobile-logo .h420pro-brand-copy{display:none}
.h420pro-is-tablet .h420pro-logo-mobile{display:none}
.h420pro-is-phone .h420pro-main{padding-left:14px;padding-right:14px;gap:7px}
.h420pro-is-phone .h420pro-brand{max-width:32%}
.h420pro-is-phone .h420pro-compact-actions{gap:2px}
.h420pro-is-phone .h420pro-mobile-toggle em{display:none}
.h420pro-is-phone .h420pro-mobile-toggle{padding:8px;flex-direction:column;gap:0}
.h420pro-is-phone .h420pro-mobile-toggle span{width:20px;margin:2px 0}
.h420pro-is-phone .h420pro-topbar-mobile-compact .h420pro-topbar-inner{display:flex;flex-wrap:wrap;justify-content:space-between;text-align:left;padding:var(--h420-topbar-pad-top,5px) var(--h420-topbar-pad-right,12px) var(--h420-topbar-pad-bottom,5px) var(--h420-topbar-pad-left,12px)}
.h420pro-is-phone .h420pro-topbar-mobile-compact .h420pro-topbar-primary{width:auto;flex:1 1 auto;justify-content:flex-start;text-align:left}
.h420pro-is-phone .h420pro-topbar-mobile-compact .h420pro-topbar-text{font-size:11px}
.h420pro-is-phone .h420pro-topbar-expandable .h420pro-topbar-toggle{display:inline-flex}
.h420pro-is-phone .h420pro-topbar-mobile-compact.h420pro-topbar-expandable .h420pro-topbar-details{display:none;width:100%;padding-top:7px;margin-top:4px;border-top:1px solid rgba(255,255,255,.12);justify-content:flex-start;flex-wrap:wrap}
.h420pro-is-phone .h420pro-topbar-mobile-compact.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-details{display:flex}
.h420pro-is-phone .h420pro-topbar-mobile-compact.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-inner{padding-bottom:var(--h420-topbar-pad-bottom,9px)}
.h420pro-is-phone .h420pro-topbar-details .h420pro-topbar-item{white-space:normal;font-size:11px}

/* Drawer renovado. */
.h420pro-is-mobile.h420pro-drawer-offcanvas-right .h420pro-mobile-drawer,
.h420pro-is-mobile.h420pro-drawer-offcanvas-left .h420pro-mobile-drawer,
.h420pro-is-mobile.h420pro-drawer-fullscreen .h420pro-mobile-drawer{padding:0}
.h420pro-is-mobile .h420pro-mobile-drawer-inner{padding:18px 22px 26px;gap:18px}
.h420pro-is-mobile .h420pro-mobile-actions{gap:11px;padding-top:2px}
.h420pro-is-mobile .h420pro-mobile-actions .h420pro-contact{width:100%;justify-content:flex-start;text-align:left;white-space:normal}
.h420pro-is-mobile .h420pro-mobile-actions .h420pro-socials{padding-top:4px}
.h420pro-is-mobile .h420pro-mobile-drawer .h420pro-search-form-mobile{padding-bottom:4px}
.h420pro-is-mobile .h420pro-mobile-drawer .h420pro-search-form-mobile input{border-radius:8px}
.h420pro-is-mobile .h420pro-mobile-drawer .h420pro-search-form-mobile button{border-radius:8px}

@media (max-width:420px){
  .h420pro-is-phone .h420pro-compact-cta{display:none}
  .h420pro-is-phone .h420pro-brand{max-width:35%}
  .h420pro-is-phone .h420pro-compact-icon,.h420pro-is-phone .h420pro-mobile-toggle{width:38px;height:38px;min-height:38px}
}
.h420pro-is-tablet .h420pro-topbar-mobile-compact .h420pro-topbar-inner{justify-content:space-between;padding-left:var(--h420-topbar-pad-left,20px);padding-right:var(--h420-topbar-pad-right,20px)}
.h420pro-is-tablet .h420pro-topbar-mobile-compact .h420pro-topbar-primary{width:auto;flex:1 1 auto;justify-content:flex-start;text-align:left}
.h420pro-is-tablet .h420pro-topbar-mobile-compact .h420pro-topbar-actions{display:flex;flex:0 1 auto;justify-content:flex-end}
.h420pro-is-tablet .h420pro-topbar-mobile-compact .h420pro-topbar-toggle{display:none}
.h420pro-is-mobile.h420pro-drawer-dropdown .h420pro-mobile-drawer{padding:0}

/* ================================================================
   420CreaStack Header Pro 0.4.1 · layout profesional 2 barras
   ================================================================ */
.h420pro-layout-professional .h420pro-main{
  display:grid;
  grid-template-columns:minmax(175px,auto) minmax(0,1fr) auto;
  align-items:center;
  column-gap:clamp(18px,2.4vw,42px);
  min-height:84px;
}
.h420pro-layout-professional .h420pro-brand{justify-self:start}
.h420pro-layout-professional{--h420-menu-layout-h-align:flex-end;--h420-menu-layout-v-align:center}
.h420pro-layout-professional .h420pro-nav-primary{
  justify-self:stretch;
  width:100%;
  max-width:100%;
}
.h420pro-layout-professional .h420pro-nav-primary .h420pro-menu{
  justify-content:var(--h420-menu-h-align,var(--h420-menu-layout-h-align));
  gap:var(--h420-menu-gap,clamp(18px,1.8vw,30px));
}
.h420pro-layout-professional .h420pro-actions{
  justify-self:end;
  flex-wrap:nowrap;
  gap:10px;
}
.h420pro-layout-professional .h420pro-actions .h420pro-contact,
.h420pro-layout-professional .h420pro-actions .h420pro-socials{display:none}
.h420pro-layout-professional .h420pro-menu>.menu-item-has-children>a::after{
  content:'';
  width:7px;
  height:7px;
  margin-left:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transform-origin:center;
}
.h420pro-layout-professional .h420pro-topbar-inner{
  max-width:var(--h420-inner-max-width,1240px);
  min-height:var(--h420-topbar-min-height,44px);
  padding-top:var(--h420-topbar-pad-top,7px);
  padding-bottom:var(--h420-topbar-pad-bottom,7px);
}
.h420pro-layout-professional .h420pro-topbar-primary{flex:0 1 auto}
.h420pro-layout-professional .h420pro-topbar-actions{
  flex:1 1 auto;
  justify-content:space-between;
  gap:var(--h420-topbar-gap,clamp(14px,2vw,34px));
}
.h420pro-layout-professional .h420pro-topbar-actions>.h420pro-socials{margin-left:auto}
.h420pro-layout-professional .h420pro-topbar .h420pro-social{width:24px;height:24px}
.h420pro-layout-professional .h420pro-search-toggle{
  width:42px;
  height:42px;
  background:transparent;
}
.h420pro-layout-professional .h420pro-btn-primary{
  min-height:44px;
  padding:var(--h420-btn-padding,12px 20px);
  border-radius:var(--h420-btn-radius,6px);
}
.h420pro-layout-professional .h420pro-main-stack.h420pro-fixed,
.h420pro-layout-professional .h420pro-sticky-stack.h420pro-fixed,
.h420pro-layout-professional .h420pro-upper-stack.h420pro-fixed{
  background:var(--h420-sticky-bg,var(--h420-bg));
  color:var(--h420-sticky-text,var(--h420-text));
}
.h420pro-layout-professional .h420pro-upper-stack.h420pro-fixed .h420pro-topbar{box-shadow:0 8px 24px rgba(7,28,61,.10)}
.h420pro-layout-professional.h420pro-is-mobile .h420pro-main{
  display:flex;
  min-height:68px;
  column-gap:8px;
}
.h420pro-layout-professional.h420pro-is-mobile .h420pro-brand{margin-right:auto}
.h420pro-layout-professional.h420pro-is-mobile .h420pro-compact-actions{margin-left:0}
.h420pro-layout-professional.h420pro-is-tablet .h420pro-brand{max-width:min(42%,260px)}
.h420pro-layout-professional.h420pro-is-tablet .h420pro-main{padding-left:22px;padding-right:22px}
.h420pro-layout-professional.h420pro-is-phone .h420pro-logo img{max-width:min(150px,38vw)}
.h420pro-layout-professional.h420pro-is-phone .h420pro-brand{max-width:40%}
.h420pro-layout-professional.h420pro-is-phone .h420pro-compact-actions{gap:0}
.h420pro-layout-professional.h420pro-is-phone .h420pro-compact-icon,
.h420pro-layout-professional.h420pro-is-phone .h420pro-mobile-toggle{
  width:40px;
  height:40px;
  min-height:40px;
}
.h420pro-layout-professional.h420pro-is-phone .h420pro-topbar-inner{min-height:var(--h420-topbar-min-height,36px)}
.h420pro-layout-professional.h420pro-is-phone .h420pro-topbar-primary{min-width:0}
.h420pro-layout-professional.h420pro-is-phone .h420pro-topbar-text span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.h420pro-layout-professional .h420pro-mobile-drawer{background:var(--h420-drawer-bg);color:var(--h420-drawer-text)}
.h420pro-layout-professional .h420pro-mobile-drawer .h420pro-menu>li>a{min-height:45px}
.h420pro-layout-professional .h420pro-drawer-header{background:var(--h420-drawer-head-bg);color:var(--h420-drawer-head-text)}

@media (max-width:1180px){
  .h420pro-layout-professional:not(.h420pro-is-mobile) .h420pro-main{column-gap:18px}
  .h420pro-layout-professional:not(.h420pro-is-mobile) .h420pro-nav-primary .h420pro-menu{gap:var(--h420-menu-gap,16px)}
}

/* 0.4.1 · El logo del drawer conserva siempre proporción y colores originales por defecto. */
.h420pro-mobile-drawer .h420pro-drawer-logo-image{display:block;height:auto;aspect-ratio:auto;object-fit:contain;filter:none}
.h420pro-mobile-drawer .h420pro-drawer-logo-is-white .h420pro-drawer-logo-image{filter:brightness(0) invert(1)}


/* ================================================================
   0.4.2 · Sticky móvil fiable y drawer siempre por encima
   ================================================================ */
.h420pro-search-overlay{z-index:100020}
.h420pro-is-mobile .h420pro-mobile-overlay{z-index:100010}
.h420pro-is-mobile .h420pro-mobile-drawer{z-index:100011}
.h420pro-header.h420pro-open .h420pro-sticky-target.h420pro-fixed,
.h420pro-header.h420pro-search-open .h420pro-sticky-target.h420pro-fixed{
  z-index:9990;
  transform:none;
}
.h420pro-is-mobile.h420pro-drawer-offcanvas-right .h420pro-mobile-drawer,
.h420pro-is-mobile.h420pro-drawer-offcanvas-left .h420pro-mobile-drawer,
.h420pro-is-mobile.h420pro-drawer-fullscreen .h420pro-mobile-drawer{
  height:100vh;
  height:100dvh;
  max-height:100vh;
  max-height:100dvh;
}
.h420pro-is-mobile.h420pro-open .h420pro-mobile-drawer{
  isolation:isolate;
}


/* ================================================================
   420CreaStack Header Pro 0.4.4
   Topbar desplegable en todos los dispositivos + márgenes simétricos
   ================================================================ */

.h420pro-header{
  --h420-header-gutter:clamp(20px,3vw,48px);
}

/* Fila blanca: margen interior idéntico a izquierda y derecha. */
.h420pro-header .h420pro-main{
  width:100%;
  max-width:var(--h420-inner-max-width,1240px);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--h420-header-pad-left,var(--h420-header-gutter))!important;
  padding-right:var(--h420-header-pad-right,var(--h420-header-gutter))!important;
}

.h420pro-header.h420pro-full .h420pro-main{
  max-width:100%;
}

.h420pro-layout-professional.h420pro-is-mobile .h420pro-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:clamp(7px,1.4vw,14px);
}

.h420pro-layout-professional.h420pro-is-mobile .h420pro-brand{
  justify-self:start;
  width:auto;
  max-width:100%;
  margin-right:0;
  overflow:hidden;
}

.h420pro-layout-professional.h420pro-is-mobile .h420pro-compact-actions{
  justify-self:end;
  margin-left:0;
  flex-wrap:nowrap;
}

.h420pro-layout-professional.h420pro-is-mobile .h420pro-mobile-toggle{
  justify-self:end;
  flex:0 0 auto;
  width:auto;
  max-width:100%;
  margin:0;
  padding-left:9px;
  padding-right:9px;
  white-space:nowrap;
}

.h420pro-layout-professional.h420pro-is-tablet .h420pro-mobile-toggle em{
  display:block;
  max-width:72px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* El desplegable de la barra superior funciona en móvil, tablet y escritorio. */
.h420pro-topbar-expandable .h420pro-topbar-inner{
  position:relative;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  width:100%;
  max-width:var(--h420-inner-max-width,1240px);
  gap:clamp(12px,1.7vw,24px);
  padding-left:var(--h420-topbar-pad-left,var(--h420-header-gutter))!important;
  padding-right:var(--h420-topbar-pad-right,var(--h420-header-gutter))!important;
}

.h420pro-header.h420pro-full .h420pro-topbar-expandable .h420pro-topbar-inner{
  max-width:100%;
}

.h420pro-topbar-expandable .h420pro-topbar-primary{
  flex:1 1 auto;
  justify-content:flex-start;
  text-align:left;
}

.h420pro-topbar-expandable .h420pro-topbar-toggle{
  display:inline-flex!important;
  flex:0 0 34px;
  width:34px;
  height:34px;
}

.h420pro-topbar-expandable .h420pro-topbar-details{
  display:none!important;
}

/* Escritorio y tablet: al abrir, todos los elementos forman una única fila
   y cada opción recibe el mismo espacio visual. */
.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-inner{
  justify-content:space-between;
}

.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-primary{
  flex:1 1 0;
  justify-content:center;
  text-align:center;
}

.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-details{
  display:contents!important;
}

.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-details>.h420pro-topbar-item,
.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-details>.h420pro-socials{
  display:flex;
  flex:1 1 0;
  min-width:0;
  align-items:center;
  justify-content:center;
  margin:0;
  text-align:center;
  white-space:normal;
  overflow-wrap:break-word;
}

.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-primary .h420pro-topbar-item,
.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-details>.h420pro-topbar-item{
  justify-content:center;
  width:100%;
  min-width:0;
  font-size:clamp(11px,.9vw,13px);
  line-height:1.35;
}

.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-location,
.h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-email{
  white-space:normal;
}

/* Móvil: cada línea, incluida Doctoralia y la dirección, queda centrada. */
.h420pro-is-phone .h420pro-topbar-expandable .h420pro-topbar-inner{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0;
  min-height:var(--h420-topbar-min-height,46px);
  padding:var(--h420-topbar-pad-top,8px) var(--h420-topbar-pad-right,56px) var(--h420-topbar-pad-bottom,8px) var(--h420-topbar-pad-left,56px)!important;
  text-align:center;
}

.h420pro-is-phone .h420pro-topbar-expandable .h420pro-topbar-primary{
  width:100%;
  flex:1 1 100%;
  justify-content:center;
  text-align:center;
}

.h420pro-is-phone .h420pro-topbar-expandable .h420pro-topbar-text{
  width:100%;
  justify-content:center;
  text-align:center;
  font-size:12px;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}

.h420pro-is-phone .h420pro-topbar-expandable .h420pro-topbar-toggle{
  position:absolute;
  top:7px;
  right:12px;
  width:34px;
  height:34px;
}

.h420pro-is-phone .h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-inner{
  padding-top:var(--h420-topbar-pad-top,10px)!important;
  padding-bottom:var(--h420-topbar-pad-bottom,13px)!important;
}

.h420pro-is-phone .h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-details{
  display:flex!important;
  width:100%;
  flex:1 1 100%;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:0;
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.14);
}

.h420pro-is-phone .h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-details>.h420pro-topbar-item,
.h420pro-is-phone .h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-details>.h420pro-socials{
  display:flex!important;
  width:100%;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:8px 0;
  text-align:center;
  white-space:normal;
}

.h420pro-is-phone .h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-details>.h420pro-topbar-item{
  font-size:12px;
  line-height:1.45;
}

.h420pro-is-phone .h420pro-topbar-expandable.h420pro-topbar-expanded .h420pro-topbar-details>.h420pro-socials{
  gap:10px;
}

/* Móvil pequeño: preserva márgenes iguales sin comprimir logo ni acciones. */
@media (max-width:420px){
  .h420pro-header{
    --h420-header-gutter:14px;
  }

  .h420pro-layout-professional.h420pro-is-mobile .h420pro-main{
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:4px;
  }

  .h420pro-layout-professional.h420pro-is-phone .h420pro-brand{
    max-width:100%;
  }

  .h420pro-layout-professional.h420pro-is-phone .h420pro-logo img{
    max-width:min(150px,36vw);
  }

  .h420pro-is-phone .h420pro-topbar-expandable .h420pro-topbar-inner{
    padding-left:var(--h420-topbar-pad-left,48px)!important;
    padding-right:var(--h420-topbar-pad-right,48px)!important;
  }
}

/* ================================================================
   0.4.8 · Anti-FOUC estructural sin alterar geometría
   Fallback CSS por breakpoint: evita que la estructura desktop llegue
   a mostrarse si un optimizador retrasa el JS principal. Las clases
   h420pro-is-* se aplican además de forma síncrona en el propio render.
   ================================================================ */
@media (max-width:767px){
  .h420pro-header:is(.h420pro-bp-767,.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-main>.h420pro-nav,
  .h420pro-header:is(.h420pro-bp-767,.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-actions,
  .h420pro-header:is(.h420pro-bp-767,.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-stacked-menu,
  .h420pro-layout-ecommerce:is(.h420pro-bp-767,.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-desktop,
  .h420pro-layout-ecommerce:is(.h420pro-bp-767,.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-desktop-only{display:none}
  .h420pro-header:is(.h420pro-bp-767,.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-mobile-toggle{display:inline-flex}
  .h420pro-header:is(.h420pro-bp-767,.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-compact-actions{display:flex}
  .h420pro-layout-ecommerce:is(.h420pro-bp-767,.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-mobile,
  .h420pro-layout-ecommerce:is(.h420pro-bp-767,.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-mobile-only{display:block}
}
@media (min-width:768px) and (max-width:880px){
  .h420pro-header:is(.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-main>.h420pro-nav,
  .h420pro-header:is(.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-actions,
  .h420pro-header:is(.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-stacked-menu,
  .h420pro-layout-ecommerce:is(.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-desktop,
  .h420pro-layout-ecommerce:is(.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-desktop-only{display:none}
  .h420pro-header:is(.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-mobile-toggle{display:inline-flex}
  .h420pro-header:is(.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-compact-actions{display:flex}
  .h420pro-layout-ecommerce:is(.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-mobile,
  .h420pro-layout-ecommerce:is(.h420pro-bp-880,.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-mobile-only{display:block}
}
@media (min-width:881px) and (max-width:1024px){
  .h420pro-header:is(.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-main>.h420pro-nav,
  .h420pro-header:is(.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-actions,
  .h420pro-header:is(.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-stacked-menu,
  .h420pro-layout-ecommerce:is(.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-desktop,
  .h420pro-layout-ecommerce:is(.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-desktop-only{display:none}
  .h420pro-header:is(.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-mobile-toggle{display:inline-flex}
  .h420pro-header:is(.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-compact-actions{display:flex}
  .h420pro-layout-ecommerce:is(.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-mobile,
  .h420pro-layout-ecommerce:is(.h420pro-bp-1024,.h420pro-bp-1200) .h420pro-ecom-mobile-only{display:block}
}
@media (min-width:1025px) and (max-width:1200px){
  .h420pro-header.h420pro-bp-1200 .h420pro-main>.h420pro-nav,
  .h420pro-header.h420pro-bp-1200 .h420pro-actions,
  .h420pro-header.h420pro-bp-1200 .h420pro-stacked-menu,
  .h420pro-layout-ecommerce.h420pro-bp-1200 .h420pro-ecom-desktop,
  .h420pro-layout-ecommerce.h420pro-bp-1200 .h420pro-ecom-desktop-only{display:none}
  .h420pro-header.h420pro-bp-1200 .h420pro-mobile-toggle{display:inline-flex}
  .h420pro-header.h420pro-bp-1200 .h420pro-compact-actions{display:flex}
  .h420pro-layout-ecommerce.h420pro-bp-1200 .h420pro-ecom-mobile,
  .h420pro-layout-ecommerce.h420pro-bp-1200 .h420pro-ecom-mobile-only{display:block}
}

/* ========================================================================
   0.4.22 · ECOMMERCE 420 · base 0.4.21 + compositor de barras
   Desktop + tablet + móvil + drawer, basado en el mockup aprobado por LTDLF.
   Se aísla del sistema de presets: los presets se revisarán en una fase posterior.
   ======================================================================== */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved{
  --h420-ecom-primary:#104038;
  --h420-ecom-primary-hover:#0b332d;
  --h420-ecom-teal:#0d8a78;
  --h420-ecom-mint:#eaf6f2;
  --h420-ecom-soft:#f6fbf9;
  --h420-ecom-navy:#0b2946;
  --h420-ecom-muted:#60736d;
  --h420-ecom-border:#dcebe6;
  --h420-ecom-container-width:1360px;
  --h420-ecom-container-gutter:48px;
  --h420-ecom-brand-col:220px;
  --h420-ecom-search-col:minmax(360px,1fr);
  --h420-ecom-actions-col:300px;
  --h420-ecom-main-gap:28px;
  --h420-ecom-logo-width:180px;
  --h420-ecom-menu-gap:4px;
  --h420-ecom-allcats-width:340px;
  --h420-ecom-mobile-button-size:48px;
  --h420-ecom-drawer-shell-width:560px;
  --h420-ecom-drawer-content-width:100%;
  --h420-ecom-drawer-padding:0 24px 28px;
  --h420-ecom-mobile-menu-columns:1;
  --h420-ecom-mobile-menu-gap:0px;
  --h420-ecom-mobile-menu-item-padding:14px 12px;
  --h420-ecom-mobile-header-padding:14px 0;
  --h420-ecom-hamburger-bg:var(--h420-ecom-primary);
  --h420-ecom-hamburger-color:#fff;
  --h420-bg:#fff;
  --h420-text:var(--h420-ecom-navy);
  --h420-muted:var(--h420-ecom-muted);
  --h420-border:var(--h420-ecom-border);
  --h420-accent:var(--h420-ecom-primary);
  --h420-accent-hover:var(--h420-ecom-primary-hover);
  --h420-accent-2:var(--h420-ecom-mint);
  --h420-soft:var(--h420-ecom-soft);
  --h420-menu-color:var(--h420-ecom-navy);
  --h420-menu-hover:var(--h420-ecom-primary);
  --h420-primary-bg:var(--h420-ecom-primary);
  --h420-primary-text:#fff;
  --h420-secondary-bg:var(--h420-ecom-mint);
  --h420-secondary-text:var(--h420-ecom-primary);
  --h420-drawer-bg:#fff;
  --h420-drawer-text:var(--h420-ecom-navy);
  --h420-drawer-divider:var(--h420-ecom-border);
  background:#fff;
  color:var(--h420-ecom-navy);
  border:0;
  box-shadow:0 1px 0 rgba(16,64,56,.08);
}

.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-wrap{
  width:min(var(--h420-ecom-container-width),calc(100% - var(--h420-ecom-container-gutter)));
}

/* Topbar única: menta, iconos lineales y sin barra genérica duplicada. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar{
  background:linear-gradient(90deg,#eef8f5 0%,var(--h420-ecom-mint) 48%,#eef8f5 100%);
  color:var(--h420-ecom-primary);
  border-bottom:1px solid var(--h420-ecom-border);
  font-size:12.5px;
  font-weight:700;
  line-height:1.25;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar-inner{
  min-height:42px;
  padding:7px 0;
  gap:24px;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar-left,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar-right{
  display:flex;
  align-items:center;
  min-width:0;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar-left{gap:16px;flex:1 1 auto}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar-right{gap:18px;justify-content:flex-end;flex:0 1 auto}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar-kicker{
  font-weight:900;
  white-space:nowrap;
  letter-spacing:.005em;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-trust{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:0;
  min-width:0;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-trust-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 15px;
  min-height:24px;
  white-space:nowrap;
  color:var(--h420-ecom-primary);
  border-left:1px solid rgba(16,64,56,.15);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-trust-item:first-child{border-left:0;padding-left:0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-trust-item i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:19px;
  height:19px;
  flex:0 0 19px;
  color:var(--h420-ecom-teal);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-trust-item svg{width:19px;height:19px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-trust-item b{font-weight:750}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar-menu .h420pro-menu{
  gap:4px;
  flex-wrap:nowrap;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar-menu .h420pro-nav a,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-contact .h420pro-contact{
  color:var(--h420-ecom-primary);
  font-size:12px;
  font-weight:750;
  opacity:1;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar-menu .h420pro-menu>li>a{padding:6px 8px;border-radius:8px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-topbar-menu .h420pro-menu>li>a:hover{background:rgba(255,255,255,.72)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-contact{gap:10px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-contact .h420pro-whatsapp{color:var(--h420-ecom-primary)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-contact .h420pro-social{background:rgba(255,255,255,.65);color:var(--h420-ecom-primary)}

/* Barra principal desktop. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-main{
  background:#fff;
  border-bottom:1px solid var(--h420-ecom-border);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-main-inner{
  grid-template-columns:minmax(160px,var(--h420-ecom-brand-col)) minmax(0,var(--h420-ecom-search-col)) minmax(220px,var(--h420-ecom-actions-col));
  min-height:92px;
  padding:18px 0;
  gap:var(--h420-ecom-main-gap);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-no-search .h420pro-ecom-main-inner{
  grid-template-columns:minmax(180px,1fr) auto;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-brand{
  gap:10px;
  color:var(--h420-ecom-primary);
  min-width:0;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-brand img{
  width:var(--h420-ecom-logo-width);
  max-width:var(--h420-ecom-logo-width);
  height:auto;
  object-fit:contain;
  object-position:left center;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-brand strong{
  color:var(--h420-ecom-navy);
  font-size:16px;
  font-weight:850;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-brand small{
  margin-top:4px;
  color:var(--h420-ecom-muted);
  font-size:11px;
  font-weight:650;
}

/* Buscador aprobado: icono a la izquierda y botón verde integrado. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-search-form{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  gap:0;
  width:100%;
  min-height:52px;
  padding:0;
  overflow:hidden;
  border:1px solid #cfded9;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 18px rgba(16,64,56,.035);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-search-form::before{
  content:'';
  position:absolute;
  left:17px;
  top:50%;
  width:18px;
  height:18px;
  transform:translateY(-50%);
  border:2px solid var(--h420-ecom-navy);
  border-radius:999px;
  pointer-events:none;
  z-index:1;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-search-form::after{
  content:'';
  position:absolute;
  left:31px;
  top:31px;
  width:7px;
  height:2px;
  transform:rotate(45deg);
  border-radius:2px;
  background:var(--h420-ecom-navy);
  pointer-events:none;
  z-index:1;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-search-form input[type="search"]{
  min-width:0;
  min-height:52px;
  padding:12px 18px 12px 48px;
  border:0;
  border-radius:0;
  background:#fff;
  color:var(--h420-ecom-navy);
  font-size:14px;
  font-weight:500;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-search-form input[type="search"]::placeholder{color:#7c8985;opacity:1}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-search-form button{
  min-width:122px;
  min-height:52px;
  padding:12px 22px;
  border:0;
  border-radius:0;
  background:var(--h420-ecom-primary);
  color:#fff;
  font-size:14px;
  font-weight:850;
  box-shadow:none;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-search-form button:hover{background:var(--h420-ecom-primary-hover)}

/* Cuenta y carrito desktop sin píldora pesada. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-actions{
  gap:12px;
  flex-wrap:nowrap;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-actions .h420pro-ecom-pill{
  min-height:48px;
  padding:5px 7px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--h420-ecom-navy);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-actions .h420pro-ecom-pill:hover{background:var(--h420-ecom-soft);color:var(--h420-ecom-primary)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-actions .h420pro-ecom-action-icon{font-size:25px;color:var(--h420-ecom-navy)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-cart-count{
  background:var(--h420-ecom-teal);
  color:#fff;
  border-color:#fff;
}

/* Categorías desktop. El dropdown 0.4.21 debe poder salir de cualquier contenedor. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-main-stack,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-desktop,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-nav,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-nav-inner{
  overflow:visible;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-nav{
  position:relative;
  z-index:130;
  background:#fff;
  border-bottom:1px solid var(--h420-ecom-border);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-nav-inner{
  min-height:56px;
  padding:7px 0;
  gap:12px;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-menu-wrap{overflow:visible}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-nav .h420pro-ecom-menu>.h420pro-menu{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  flex-wrap:nowrap;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-menu>.h420pro-menu>li>a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:9px 12px;
  border-radius:10px;
  color:var(--h420-ecom-navy);
  font-size:12.5px;
  font-weight:750;
  white-space:nowrap;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-menu>.h420pro-menu>li>a:hover,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-menu>.h420pro-menu>.current-menu-item>a,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-menu>.h420pro-menu>.current-menu-ancestor>a{
  background:var(--h420-ecom-mint);
  color:var(--h420-ecom-primary);
  opacity:1;
}
/* Botón real “Todas las categorías” + desplegable del menú seleccionado. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats{
  position:relative;
  display:flex;
  flex:0 0 auto;
  align-items:center;
  z-index:120;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  padding:10px 16px;
  border:1px solid var(--h420-ecom-primary);
  border-radius:11px;
  background:var(--h420-ecom-primary);
  color:#fff;
  font-size:12.5px;
  line-height:1;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(16,64,56,.12);
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-toggle:hover,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-toggle:focus-visible,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats.is-open .h420pro-ecom-allcats-toggle{
  background:var(--h420-ecom-primary-hover);
  box-shadow:0 10px 22px rgba(16,64,56,.18);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-icon{
  display:inline-flex;
  width:20px;
  flex:0 0 20px;
  flex-direction:column;
  gap:4px;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-icon span{
  display:block;
  width:20px;
  height:2px;
  border-radius:2px;
  background:currentColor;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-chevron{
  display:inline-flex;
  width:17px;
  height:17px;
  transition:transform .18s ease;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-chevron svg{width:17px;height:17px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats.is-open .h420pro-ecom-allcats-chevron{transform:rotate(180deg)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  width:var(--h420-ecom-allcats-width);
  max-width:min(var(--h420-ecom-allcats-width),calc(100vw - 40px));
  max-height:min(68vh,640px);
  padding:10px;
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid var(--h420-ecom-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 60px rgba(11,41,70,.16);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel.h420pro-ecom-allcats-panel-floating{
  position:fixed;
  top:0;
  left:0;
  width:min(var(--h420-ecom-allcats-width),calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:min(68vh,640px);
  z-index:100030;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats.is-open .h420pro-ecom-allcats-panel,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats:focus-within .h420pro-ecom-allcats-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel>.h420pro-ecom-allcats-menu>.h420pro-menu{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:2px;
  width:100%;
  margin:0;
  padding:0;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel>.h420pro-ecom-allcats-menu>.h420pro-menu>li{
  position:relative;
  width:100%;
  margin:0;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel>.h420pro-ecom-allcats-menu>.h420pro-menu>li>a{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:46px;
  padding:10px 11px;
  border-radius:10px;
  background:#fff;
  color:var(--h420-ecom-navy);
  font-size:13px;
  font-weight:750;
  white-space:normal;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel>.h420pro-ecom-allcats-menu>.h420pro-menu>li>a:hover,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel>.h420pro-ecom-allcats-menu>.h420pro-menu>.current-menu-item>a,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel>.h420pro-ecom-allcats-menu>.h420pro-menu>.current-menu-ancestor>a{
  background:var(--h420-ecom-mint);
  color:var(--h420-ecom-primary);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel .h420pro-ecom-menu-icon{
  width:21px;
  height:21px;
  color:var(--h420-ecom-primary);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel .h420pro-ecom-menu-icon svg{width:21px;height:21px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel .h420pro-ecom-menu-chevron{
  display:inline-flex;
  width:16px;
  height:16px;
  color:var(--h420-ecom-muted);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel .h420pro-ecom-menu-chevron svg{width:16px;height:16px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-allcats-panel .sub-menu{
  top:-10px;
  left:calc(100% + 12px);
  margin:0;
  min-width:260px;
  max-width:360px;
  border-color:var(--h420-ecom-border);
  background:#fff;
  box-shadow:0 20px 50px rgba(11,41,70,.14);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-menu-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:19px;
  height:19px;
  flex:0 0 19px;
  color:var(--h420-ecom-primary);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-menu-icon svg{width:19px;height:19px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-menu-chevron{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-mini{color:var(--h420-ecom-primary);font-size:12px;font-weight:800}

.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-allcats{display:none}

/* Responsive Ecommerce. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-wrap{
  width:min(calc(100% - 28px),var(--h420-ecom-container-width));
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-topbar{
  overflow:hidden;
  background:linear-gradient(90deg,#edf8f4,var(--h420-ecom-mint));
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-topbar-inner{
  min-height:38px;
  padding:6px 0;
  overflow:hidden;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-topbar-left{
  width:100%;
  overflow:hidden;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-topbar-kicker,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-topbar-right{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-trust{
  width:100%;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-trust::-webkit-scrollbar{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-trust-item{
  flex:0 0 auto;
  padding:0 14px;
  font-size:11px;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-trust-item:first-child{padding-left:0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-trust-item i,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-trust-item svg{width:17px;height:17px;flex-basis:17px}

.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile{
  display:block;
  background:#fff;
  border-bottom:1px solid var(--h420-ecom-border);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-main{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:78px;
  padding:var(--h420-ecom-mobile-header-padding);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-main>.h420pro-ecom-menu-button{order:1}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-main>.h420pro-ecom-brand{order:2;flex:1 1 auto}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-main>.h420pro-account-link{order:3}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-main>.h420pro-cart-link{order:4}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile .h420pro-ecom-brand img{
  width:var(--h420-ecom-logo-width);
  max-width:min(var(--h420-ecom-logo-width),42vw);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-icon,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-menu-button{
  position:relative;
  width:var(--h420-ecom-mobile-button-size);
  height:var(--h420-ecom-mobile-button-size);
  min-height:var(--h420-ecom-mobile-button-size);
  flex:0 0 var(--h420-ecom-mobile-button-size);
  padding:0;
  border:1px solid var(--h420-ecom-border);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--h420-ecom-navy);
  box-shadow:none;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-menu-button{
  background:var(--h420-ecom-primary);
  border-color:var(--h420-ecom-primary);
  color:#fff;
  gap:0;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-menu-button span{width:20px;height:2px;margin:2.2px 0;border-radius:3px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-menu-button em{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-icon .h420pro-ecom-action-icon{font-size:22px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-icon .h420pro-cart-count{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:19px;
  height:19px;
  border:2px solid #fff;
  padding:0 4px;
  font-size:9px;
}

/* Buscador responsive: tablet sí, teléfono no por defecto. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-search{display:none;padding:0 0 13px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-tablet .h420pro-ecom-mobile-search.h420pro-ecom-mobile-search-tablet-on{display:block}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-mobile-search.h420pro-ecom-mobile-search-phone-on{display:block}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-search .h420pro-ecom-search-form{min-height:48px;border-radius:12px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-search input[type="search"]{min-height:48px;font-size:13px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-mobile-search button{min-height:48px;min-width:112px;font-size:13px}

/* Tablet conserva buscador + categorías visibles. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-tablet-nav{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-tablet .h420pro-ecom-tablet-nav{
  display:block;
  margin:0 calc(var(--h420-ecom-container-gutter) / -2);
  border-top:1px solid var(--h420-ecom-border);
  overflow:hidden;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-tablet .h420pro-ecom-tablet-nav-track{
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:8px 14px 10px;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-tablet .h420pro-ecom-tablet-nav-track::-webkit-scrollbar{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-tablet .h420pro-ecom-tablet-nav .h420pro-menu{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:12px;
  width:max-content;
  min-width:100%;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-tablet .h420pro-ecom-tablet-nav .h420pro-menu>li>a{
  display:flex;
  min-width:82px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:7px 8px;
  border-radius:10px;
  color:var(--h420-ecom-navy);
  font-size:10px;
  font-weight:750;
  text-align:center;
  white-space:normal;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-tablet .h420pro-ecom-tablet-nav .h420pro-ecom-menu-icon{width:23px;height:23px;color:var(--h420-ecom-navy)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-tablet .h420pro-ecom-tablet-nav .h420pro-ecom-menu-icon svg{width:23px;height:23px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-tablet .h420pro-ecom-tablet-nav .h420pro-ecom-menu-chevron{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-tablet .h420pro-ecom-tablet-nav .current-menu-item>a{background:var(--h420-ecom-mint);color:var(--h420-ecom-primary)}

/* Teléfono: logo + carrito + hamburguesa. Sin buscador duplicado. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-mobile-main{
  min-height:82px;
  gap:8px;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-mobile-main>.h420pro-ecom-brand{order:1;flex:1 1 auto}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-mobile-main>.h420pro-account-link{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-mobile-main>.h420pro-cart-link{order:2}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-mobile-main>.h420pro-ecom-menu-button{order:3}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-mobile .h420pro-ecom-brand-text{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-mobile .h420pro-ecom-brand img{
  width:var(--h420-ecom-logo-width);
  max-width:min(var(--h420-ecom-logo-width),48vw);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-tablet-nav{display:none}

/* Drawer premium aprobado. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile.h420pro-drawer-offcanvas-right .h420pro-ecom-drawer,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile.h420pro-drawer-offcanvas-left .h420pro-ecom-drawer{
  width:var(--h420-ecom-drawer-shell-width);
  max-width:calc(100vw - 28px);
  padding:var(--h420-ecom-drawer-padding);
  border:0;
  background:#fff;
  color:var(--h420-ecom-navy);
  box-shadow:-24px 0 70px rgba(11,41,70,.18);
  overflow-y:auto;
  overflow-x:hidden;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile.h420pro-open.h420pro-has-overlay .h420pro-mobile-overlay{
  background:rgba(11,41,70,.48);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-headbar{
  position:sticky;
  top:0;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:calc(100% + 48px);
  margin:0 -24px 16px;
  padding:18px 24px 12px;
  background:rgba(255,255,255,.96);
  border-bottom:0;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-headbar .h420pro-ecom-brand{flex:1 1 auto}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-headbar .h420pro-ecom-brand img{
  width:min(var(--h420-ecom-logo-width),190px);
  max-width:100%;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-close{
  position:static;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  flex:0 0 54px;
  padding:0;
  border:0;
  border-radius:999px;
  background:var(--h420-ecom-primary);
  color:#fff;
  box-shadow:0 10px 24px rgba(16,64,56,.16);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-close svg{width:25px;height:25px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-search{
  width:100%;
  max-width:100%;
  margin:0 auto 16px;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-search .h420pro-ecom-search-form{
  min-height:52px;
  margin:0;
  border-radius:14px;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-search button{min-width:108px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-layout,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-menu-col{
  width:100%;
  max-width:100%;
  margin:0;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu{
  width:100%;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu>.h420pro-menu{
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
  margin:0;
  padding:0;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu>.h420pro-menu>li{
  width:100%;
  margin:0;
  border-bottom:1px solid #e7eeeb;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu>.h420pro-menu>li>a{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:58px;
  padding:13px 10px;
  border:0;
  border-radius:0;
  background:#fff;
  color:var(--h420-ecom-navy);
  font-size:15px;
  font-weight:700;
  box-shadow:none;
  white-space:normal;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu>.h420pro-menu>li>a:hover,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu>.h420pro-menu>.current-menu-item>a,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu>.h420pro-menu>.current-menu-ancestor>a{
  margin:3px 0;
  padding-left:14px;
  padding-right:14px;
  border-radius:14px;
  background:var(--h420-ecom-mint);
  color:var(--h420-ecom-primary);
  opacity:1;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu-icon{
  display:inline-flex;
  width:24px;
  height:24px;
  color:var(--h420-ecom-navy);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu-icon svg{width:24px;height:24px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .current-menu-item>a .h420pro-ecom-menu-icon,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .current-menu-ancestor>a .h420pro-ecom-menu-icon{color:var(--h420-ecom-primary)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu-chevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  color:currentColor;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .h420pro-ecom-menu-chevron svg{width:18px;height:18px}

/* Submenú drawer compacto, sin interferir con el toggle JS. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .sub-menu{
  margin:0 0 8px 40px;
  padding:4px 0 4px 10px;
  border-left:1px solid var(--h420-ecom-border);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .sub-menu a{
  min-height:42px;
  padding:9px 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  box-shadow:none;
  font-size:13px;
  font-weight:650;
}

/* Enlaces rápidos + cuenta/pedidos/favoritos con estética de app. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-quick-links,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-actions{
  display:flex;
  flex-direction:column;
  gap:0;
  margin:0;
  padding:0;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-quick-links{margin-top:8px;border-top:1px solid var(--h420-ecom-border)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-actions{margin-top:0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-link{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:58px;
  padding:13px 10px;
  border:0;
  border-bottom:1px solid #e7eeeb;
  border-radius:0;
  background:#fff;
  color:var(--h420-ecom-navy);
  font-size:15px;
  font-weight:700;
  text-align:left;
  box-shadow:none;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-link:hover{background:var(--h420-ecom-soft);color:var(--h420-ecom-primary)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-link-icon,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-link-chevron{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-link-icon{width:24px;height:24px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-link-chevron{width:18px;height:18px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-link svg{width:100%;height:100%}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-actions .h420pro-btn{
  margin-top:12px;
  min-height:46px;
  border-radius:12px;
}

/* Tarjeta de ayuda inferior. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-drawer-note{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  width:100%;
  max-width:100%;
  margin:18px auto 0;
  padding:16px;
  border:1px solid #d9eee7;
  border-radius:18px;
  background:linear-gradient(135deg,#edf9f5 0%,#e5f5ef 100%);
  color:var(--h420-ecom-primary);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-drawer-note-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:999px;
  background:#d7f0e7;
  color:var(--h420-ecom-primary);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-drawer-note-icon svg{width:28px;height:28px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-drawer-note-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-drawer-note-copy strong{font-size:14px;font-weight:850}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-drawer-note-copy>span{font-size:12px;line-height:1.4;color:#456b62}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-drawer-note-chevron{display:inline-flex;width:20px;height:20px;color:var(--h420-ecom-primary)}

/* Los widgets predefinidos mantienen la misma paleta. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-prewidget{
  border-color:var(--h420-ecom-border);
  background:var(--h420-ecom-soft);
  color:var(--h420-ecom-navy);
  border-radius:16px;
  box-shadow:none;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-prewidget em{background:var(--h420-ecom-mint);color:var(--h420-ecom-primary)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved .h420pro-ecom-prewidget b{color:var(--h420-ecom-primary)}

/* Seguridad: el estilo legacy "clean" no puede volver a cuadrar el diseño aprobado. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-style-commerce-clean .h420pro-ecom-topbar{background:linear-gradient(90deg,#eef8f5,var(--h420-ecom-mint));color:var(--h420-ecom-primary)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-style-commerce-clean .h420pro-ecom-search-form,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-style-commerce-clean .h420pro-ecom-pill{border-radius:14px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-style-commerce-clean .h420pro-ecom-nav .h420pro-menu>li>a{border-radius:10px}

@media (max-width:767px){
  .h420pro-layout-ecommerce.h420pro-ecommerce-420-approved{
    --h420-ecom-container-gutter:28px;
    --h420-ecom-mobile-button-size:48px;
    --h420-ecom-drawer-shell-width:92%;
    --h420-ecom-drawer-padding:0 18px 22px;
  }
  .h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-drawer-headbar{
    width:calc(100% + 36px);
    margin-left:-18px;
    margin-right:-18px;
    padding-left:18px;
    padding-right:18px;
  }
  .h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-close{
    width:50px;height:50px;flex-basis:50px;
  }
  .h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-drawer-grid .h420pro-ecom-menu>.h420pro-menu>li>a,
  .h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-phone .h420pro-ecom-drawer-link{
    min-height:56px;
    font-size:14px;
  }
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .menu-item-has-children>a .h420pro-ecom-menu-chevron{visibility:hidden}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-is-mobile .h420pro-ecom-drawer-grid .menu-item-has-children>.h420pro-submenu-toggle{top:9px;right:8px;color:var(--h420-ecom-navy)}

/* ============================================================
   0.4.22 · Ecommerce Bar Composer sobre base 0.4.21
   Distribución libre de widgets por barra y dispositivo.
   ============================================================ */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar{
  display:none;
  width:100%;
  position:relative;
  z-index:2;
  border-bottom:1px solid var(--h420-ecom-border);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar.h420pro-ecom-composer-has-items{display:block}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar--top{
  background:linear-gradient(90deg,#eef8f5 0%,var(--h420-ecom-mint) 48%,#eef8f5 100%);
  color:var(--h420-ecom-primary);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar--main,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar--search,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar--nav{background:#fff}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar-inner{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:nowrap;
  min-height:56px;
  padding:8px 0;
  gap:14px;
  overflow:visible;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar--top .h420pro-ecom-composer-bar-inner{min-height:42px;padding:7px 0;gap:18px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar--main .h420pro-ecom-composer-bar-inner{min-height:84px;padding:14px 0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar--search .h420pro-ecom-composer-bar-inner{min-height:66px;padding:7px 0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-bar--nav .h420pro-ecom-composer-bar-inner{min-height:56px;padding:7px 0;gap:10px}

.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item{
  display:flex;
  align-items:center;
  min-width:0;
  flex:0 0 auto;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item[hidden]{display:none!important}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--brand{flex:0 0 auto}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--search{flex:1 1 420px;min-width:180px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--search>.h420pro-ecom-search{width:100%}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--primary_nav,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--categories{flex:1 1 auto;min-width:0;gap:10px;overflow:visible}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--all_categories{flex:0 0 auto;overflow:visible}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--trust{flex:1 1 auto;min-width:0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--utility{margin-left:auto}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--buttons .h420pro-ecom-actions,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--account .h420pro-ecom-actions,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--cart .h420pro-ecom-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}

/* Hamburguesa utilizable en cualquiera de las barras, también en escritorio. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--hamburger .h420pro-ecom-menu-button{
  display:inline-flex!important;
  position:relative;
  width:48px;
  height:48px;
  min-height:48px;
  flex:0 0 48px;
  padding:0;
  border:1px solid var(--h420-ecom-primary);
  border-radius:999px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  background:var(--h420-ecom-hamburger-bg,var(--h420-ecom-primary));
  color:var(--h420-ecom-hamburger-color,#fff);
  box-shadow:none;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--hamburger .h420pro-ecom-menu-button span{display:block;width:20px;height:2px;margin:2.2px 0;border-radius:3px;background:currentColor}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--hamburger .h420pro-ecom-menu-button em{display:none}

/* Confianza y utilidades conservan la estética de topbar aunque se muevan. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-trust,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-utility{display:flex;align-items:center;gap:14px;min-width:0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-trust .h420pro-ecom-topbar-kicker{font-size:12.5px;font-weight:900;white-space:nowrap;color:var(--h420-ecom-primary)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-utility .h420pro-ecom-topbar-menu,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-utility .h420pro-ecom-contact{display:flex;align-items:center;gap:10px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-utility .h420pro-nav a,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-utility .h420pro-contact{color:var(--h420-ecom-primary);font-size:12px;font-weight:750}

/* Navegación principal y categorías se mantienen como componentes distintos (0.4.21). */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--primary_nav .h420pro-ecom-menu-wrap,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--categories .h420pro-ecom-menu-wrap{min-width:0;flex:1 1 auto;overflow-x:auto;overflow-y:visible;scrollbar-width:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--primary_nav .h420pro-ecom-menu-wrap::-webkit-scrollbar,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--categories .h420pro-ecom-menu-wrap::-webkit-scrollbar{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--primary_nav .h420pro-ecom-menu>.h420pro-menu,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--categories .h420pro-ecom-menu>.h420pro-menu{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:nowrap;
  gap:var(--h420-ecom-menu-gap,4px);
  width:max-content;
  min-width:100%;
  margin:0;
  padding:0;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--primary_nav .h420pro-ecom-menu>.h420pro-menu>li>a,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--categories .h420pro-ecom-menu>.h420pro-menu>li>a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:9px 12px;
  border-radius:10px;
  color:var(--h420-ecom-navy);
  font-size:12.5px;
  font-weight:750;
  white-space:nowrap;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--primary_nav .h420pro-ecom-menu>.h420pro-menu>li>a:hover,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--primary_nav .h420pro-ecom-menu>.h420pro-menu>.current-menu-item>a,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--primary_nav .h420pro-ecom-menu>.h420pro-menu>.current-menu-ancestor>a,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--categories .h420pro-ecom-menu>.h420pro-menu>li>a:hover,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--categories .h420pro-ecom-menu>.h420pro-menu>.current-menu-item>a,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on .h420pro-ecom-composer-item--categories .h420pro-ecom-menu>.h420pro-menu>.current-menu-ancestor>a{background:var(--h420-ecom-mint);color:var(--h420-ecom-primary);opacity:1}

/* Si el usuario mueve “Todas las categorías” a tablet/móvil, su decisión tiene prioridad. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-mobile .h420pro-ecom-composer-item--all_categories:not([hidden]) .h420pro-ecom-allcats{display:flex!important}

/* Cuenta / carrito: mismo nodo, estilo compacto en tablet/móvil. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-mobile .h420pro-ecom-composer-item--account .h420pro-ecom-pill,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-mobile .h420pro-ecom-composer-item--cart .h420pro-ecom-pill{
  position:relative;
  width:var(--h420-ecom-mobile-button-size,48px);
  height:var(--h420-ecom-mobile-button-size,48px);
  min-height:var(--h420-ecom-mobile-button-size,48px);
  flex:0 0 var(--h420-ecom-mobile-button-size,48px);
  padding:0;
  border:1px solid var(--h420-ecom-border);
  border-radius:999px;
  background:#fff;
  color:var(--h420-ecom-navy);
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-mobile .h420pro-ecom-composer-item--account .h420pro-ecom-pill>span:not(.h420pro-ecom-action-icon):not(.h420pro-cart-count),
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-mobile .h420pro-ecom-composer-item--cart .h420pro-ecom-pill>span:not(.h420pro-ecom-action-icon):not(.h420pro-cart-count){display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-mobile .h420pro-ecom-composer-item--account .h420pro-ecom-action-icon,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-mobile .h420pro-ecom-composer-item--cart .h420pro-ecom-action-icon{font-size:22px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-mobile .h420pro-ecom-composer-item--cart .h420pro-cart-count{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 4px;border:2px solid #fff;font-size:9px}

/* Tablet: categorías completas y layout compacto si el usuario las deja visibles. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-tablet .h420pro-ecom-composer-item--all_categories:not([hidden]) .h420pro-ecom-allcats{display:flex!important}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-tablet .h420pro-ecom-composer-bar-inner{gap:10px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-tablet .h420pro-ecom-composer-item--brand .h420pro-ecom-brand img{max-width:min(var(--h420-ecom-logo-width),24vw)}

/* Teléfono: barras limpias, scroll horizontal en confianza/categorías. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-bar-inner{
  width:min(calc(100% - var(--h420-ecom-container-gutter)),var(--h420-ecom-container-width));
  min-height:0;
  gap:8px;
}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-bar--top .h420pro-ecom-composer-bar-inner{padding:6px 0;overflow:hidden}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-bar--main .h420pro-ecom-composer-bar-inner{padding:12px 0;min-height:76px}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-bar--search .h420pro-ecom-composer-bar-inner{padding:8px 0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-bar--nav .h420pro-ecom-composer-bar-inner{padding:7px 0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-item--brand{flex:1 1 auto}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-item--brand .h420pro-ecom-brand-text{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-item--brand .h420pro-ecom-brand img{max-width:min(var(--h420-ecom-logo-width),46vw)}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-item--search{flex:1 1 100%;width:100%;min-width:0}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-item--primary_nav,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-item--categories{flex:1 1 100%;width:100%}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-trust{width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-trust::-webkit-scrollbar{display:none}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-trust .h420pro-ecom-trust{width:max-content;min-width:100%}
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on.h420pro-is-phone .h420pro-ecom-composer-item--utility{margin-left:0;width:100%;overflow-x:auto}

/* Si el compositor está activo, las versiones legacy no participan del layout. */
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on>.h420pro-sticky-stack .h420pro-ecom-desktop,
.h420pro-layout-ecommerce.h420pro-ecommerce-420-approved.h420pro-ecom-composer-on>.h420pro-sticky-stack .h420pro-ecom-mobile{display:none!important}
