/* BMI v2 global (H2.0, brief v3, 2026-10-03, Hook). Solo bajo body.bmi-v2g (fichas, categorías/tienda, blog, legales, carrito, 404).
   Paleta y botones = componentes v2 de Forge (.bmiv2). No usa ni guarda el kit 7426. */
body.bmi-v2g{
  --navy:#092642;--act:#0866A5;--act-h:#054E7E;--act-d:#087DCE;--t2:#526578;--tint:#F2F6F9;--bd:#DCE5ED;--bd2:#9CB2C5;
  font-family:Arial,Helvetica,sans-serif;color:var(--navy);
}
/* 1 · Tipografía: Arial/Helvetica en todo lo visible (fuera Bebas Neue/Montserrat/Roboto). Se excluyen las fuentes de iconos. */
body.bmi-v2g :is(h1,h2,h3,h4,h5,h6,p,li,a,td,th,dt,dd,label,input,select,textarea,button,blockquote,figcaption,strong,em,b,small,span,div,nav,time,cite,
  .elementor-heading-title,.elementor-button,.elementor-button-text,.elementor-nav-menu a,.elementor-post__title,.elementor-icon-box-title,.elementor-icon-box-description):not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]):not([class*="eicon"]):not([class^="icon-"]):not([class*=" icon-"]):not(.dashicons):not(.hm):not([class*=" hm-"]):not([class^="hm-"]):not([class*="ekiticon"]):not(.star-rating):not(.star-rating *){
  font-family:Arial,Helvetica,sans-serif!important;
}
/* 2 · Títulos en estilo oración (sin mayúsculas forzadas ni condensado). El texto escrito en mayúsculas se corrige en el copy (fase 3). */
body.bmi-v2g :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title,.product_title,.entry-title,.page-title,.woocommerce-loop-product__title,.woocommerce-loop-category__title,.elementor-post__title,.elementor-nav-menu a,.elementor-button-text,.elementor-button,.button,.woocommerce-breadcrumb){
  text-transform:none!important;letter-spacing:normal!important;
}
body.bmi-v2g :is(h1,h2,h3,h4,h5,h6){font-weight:700;line-height:1.2}
body.bmi-v2g :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title){color:var(--navy)} /* sin !important: los colores propios de cada widget (p. ej. sobre fondo oscuro) mandan */
body.bmi-v2g :is(.site-main,.elementor-location-single,.elementor-location-archive,.woocommerce) :is(p,li,td,th){color:var(--navy)}
body.bmi-v2g :is(.site-main,.elementor-location-single,.elementor-location-archive,.woocommerce) a:not(.button):not(.elementor-button){color:var(--act)}
body.bmi-v2g :is(.site-main,.elementor-location-single,.elementor-location-archive,.woocommerce) a:not(.button):not(.elementor-button):hover{color:var(--act-h)}
/* 3 · Botones v2: azul BMI, un renglón, ≥44 px */
body.bmi-v2g :is(.elementor-button,a.button,button.button,input.button,input[type="submit"],.wp-element-button,.added_to_cart){
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 22px!important;
  border-radius:3px!important;border:1px solid var(--act)!important;background:var(--act)!important;color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;font-size:15px!important;font-weight:700!important;line-height:1.2!important;
  white-space:nowrap!important;max-width:100%;text-decoration:none!important;box-shadow:none!important;transition:background .15s,border-color .15s;
}
body.bmi-v2g :is(.elementor-button,a.button,button.button,input.button,input[type="submit"],.wp-element-button,.added_to_cart):hover{
  background:var(--act-h)!important;border-color:var(--act-h)!important;color:#fff!important;
}
body.bmi-v2g .elementor-button .elementor-button-text{white-space:nowrap!important;color:inherit!important}
@media (max-width:600px){
  body.bmi-v2g :is(.elementor-button,a.button,button.button,input.button,input[type="submit"],.wp-element-button){font-size:14px!important;padding:12px 16px!important}
}
/* 4 · Foco visible (teclado) */
body.bmi-v2g :focus-visible{outline:3px solid var(--act-d)!important;outline-offset:2px!important;border-radius:2px}
/* 1.1 (03-10 12:45): el azul claro #8CCBFF daba 1,7:1 sobre fondos claros (header v2 blanco). #087DCE: 4,3:1 sobre blanco, 4,0:1 sobre #F2F6F9, 3,5:1 sobre navy */
body.bmi-v2g :is(.elementor-location-header,.elementor-location-footer) :focus-visible{outline-color:#087DCE!important}
/* 5 · Woo: galería visible aunque el JS de la galería llegue tarde (p. ej. con «delay JS» de una caché); tablas legibles en móvil */
body.bmi-v2g.single-product .woocommerce-product-gallery{opacity:1!important}
body.bmi-v2g :is(.woocommerce-Tabs-panel,.entry-content,.elementor-widget-text-editor,.elementor-widget-theme-post-content) table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}

/* 6 · (1.1) Anclas bajo el header sticky v2 (sugerencia de Forge) */
html:has(body.bmi-v2g){scroll-padding-top:100px}
@media (max-width:800px){html:has(body.bmi-v2g){scroll-padding-top:84px}}
/* 7 · (1.1, QA Vista fase 1 «c») Vídeos/embeds de las fichas: nunca más anchos que su contenedor, 16:9, margen inferior para que el botón de JoinChat no los tape */
body.bmi-v2g.single-product :is(.woocommerce-product-details__short-description,.woocommerce-Tabs-panel,.elementor-widget-woocommerce-product-content,.elementor-widget-woocommerce-product-short-description,.elementor-widget-woocommerce-product-data-tabs,.entry-content) :is(iframe[src*="youtu"],iframe[src*="vimeo"],embed,object,video){display:block;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:16/9;border:0;margin:0 0 24px!important}
body.bmi-v2g.single-product :is(.wp-video,.wp-block-embed,.wp-block-embed__wrapper,.fluid-width-video-wrapper){width:100%!important;max-width:100%!important}
body.bmi-v2g.single-product :is(.woocommerce-product-details__short-description,.woocommerce-Tabs-panel,.v2g-p-summary,.v2g-p-body){min-width:0;max-width:100%}
body.bmi-v2g.single-product :is(.v2g-product,.elementor-location-single,.site-main){max-width:100%;overflow-x:clip}
@media (max-width:600px){body.bmi-v2g.single-product :is(.woocommerce-product-details__short-description,.woocommerce-Tabs-panel) :is(iframe[src*="youtu"],iframe[src*="vimeo"],video){margin-bottom:88px!important}}
