/* ============================================================
   BOMORESA - SISTEMA TIPOGRÁFICO DEL SITIO (2026-09-16)
   Un solo set para todos los layouts (home, categorías, ficha de producto
   y páginas internas). NO toca el menú ni el footer.
   Referencia: la ficha de producto, que era el layout más afinado.

   ROLES                         escritorio      celular (≤767)
   H1  título de página          46 / 800        30 / 800     Outfit
   H2  título de sección         38 / 800        26 / 800     Outfit
   H3  título de bloque          20 / 700        18 / 700     Outfit
   T   título de tarjeta         16 / 700        15 / 700     Outfit  (rejilla de productos: 14 en celular)
   L   bajada / lead             18 / 400        16 / 400     Plus Jakarta Sans
   B   cuerpo                    16 / 400        16 / 400     Plus Jakarta Sans
   C   texto en tarjeta          15 / 400        15 / 400     Plus Jakarta Sans
   M   dato secundario / meta    14 / 400        14 / 400     Plus Jakarta Sans
   E   antetítulo (mayúsculas)   13 / 700        12 / 700     Outfit, azul
   Botones                       16 / 700        16 / 700     Outfit, sin mayúsculas
   Etiquetas de formulario       14 / 700        14 / 700     Outfit

   COLORES DE TEXTO
   tinta #151920 (títulos) · texto #2E3440 (cuerpo) · tenue #5F6B7A (secundario)
   azul #0057A8 (acentos, antetítulos, cifras) · sobre azul: blanco / blanco 86% / blanco 72%

   BARRITA AZUL BAJO TÍTULOS
   Solo en títulos de SECCIÓN (H2) sobre fondo claro y alineados a la izquierda.
   Nunca en: H1 y cabeceras, títulos dentro de tarjetas o cajas (formularios,
   mapa, misión/visión), títulos sobre bandas azules ni títulos centrados.
   ============================================================ */

:root{
  --bm-tinta:#151920;--bm-texto:#2E3440;--bm-tenue:#5F6B7A;--bm-azul:#0057A8;--bm-azul-o:#003B73;
  --bm-blanco-86:rgba(255,255,255,.86);--bm-blanco-72:rgba(255,255,255,.72);--bm-eyebrow-azul:#A9D3F5;
  --bm-fs-h1:46px;--bm-fs-h2:38px;--bm-fs-h3:20px;--bm-fs-t:16px;--bm-fs-l:18px;--bm-fs-b:16px;--bm-fs-c:15px;--bm-fs-m:14px;--bm-fs-e:13px;--bm-fs-btn:16px;--bm-fs-label:14px
}
@media (max-width:1180px){ :root{--bm-fs-h1:40px;--bm-fs-h2:32px} }
@media (max-width:767px){ :root{--bm-fs-h1:30px;--bm-fs-h2:26px;--bm-fs-h3:18px;--bm-fs-t:15px;--bm-fs-l:16px;--bm-fs-e:12px} }

/* ---------- H1 · título de página ---------- */
html body.single-product h1.product_title.entry-title,
html body.bmc-v2 .bmc-h3 h1.bmc-h1,
html body.bmc-v2 h1.bmc-h1,
html body .bmi h1.bmi-h1{
  font-family:"Outfit",sans-serif !important;font-size:var(--bm-fs-h1) !important;font-weight:800 !important;
  line-height:1.08 !important;letter-spacing:-.03em !important;color:var(--bm-tinta) !important;text-transform:none !important}

/* ---------- H2 · título de sección ---------- */
html body .bmh .bmh-title,
html body .bmh .bmh-cta h2,
html body.single-product .product-technical-details h2,
html body.single-product .related.products > h2,
html body .product-reviews-band .product-reviews-title,
html body.single-product h2.bmp-stock-t,
html body .product-quote-box .product-quote-title,
html body .bmc-cot h2.bmc-cot-t,
html body .bmi h2.bmi-h2,
html body .bmi h2.bmi-cta-t{
  font-family:"Outfit",sans-serif !important;font-size:var(--bm-fs-h2) !important;font-weight:800 !important;
  line-height:1.12 !important;letter-spacing:-.022em !important;text-transform:none !important}
html body .bmh .bmh-title,
html body.single-product .product-technical-details h2,
html body.single-product .related.products > h2,
html body .product-reviews-band .product-reviews-title,
html body .product-quote-box .product-quote-title,
html body .bmi h2.bmi-h2{color:var(--bm-tinta) !important}
html body .bmh .bmh-stock .bmh-title,
html body .bmh .bmh-cta h2,
html body.single-product h2.bmp-stock-t,
html body .bmc-cot h2.bmc-cot-t,
html body .bmi h2.bmi-cta-t,
html body .bmi .bmi-mv-card--azul h2.bmi-h2{color:#fff !important}

/* barrita: la llevan los títulos de sección sobre fondo claro */
html body .bmh .bmh-cats .bmh-title,
html body .bmh .bmh-apps .bmh-title,
html body .bmh .bmh-resenas .bmh-title,
html body .bmh .bmh-cover .bmh-title{position:relative;padding-bottom:16px !important}
html body .bmh .bmh-cats .bmh-title::after,
html body .bmh .bmh-apps .bmh-title::after,
html body .bmh .bmh-resenas .bmh-title::after,
html body .bmh .bmh-cover .bmh-title::after{content:"";position:absolute;left:0;bottom:0;width:45px;height:3px;border-radius:2px;background:var(--bm-azul)}
/* y no la llevan los títulos dentro de cajas (formulario de cotización) */
html body .product-quote-box .product-quote-title{padding-bottom:0 !important;margin-bottom:10px !important}
html body .product-quote-box .product-quote-title::after{content:none !important;display:none !important}

/* ---------- H3 · título de bloque ---------- */
html body .bmh .bmh-apps h3,
html body .bmi h3.bmi-h3,
html body .bmi .bmi-pasos b,
html body .bmi .bmi-fichas b{
  font-family:"Outfit",sans-serif !important;font-size:var(--bm-fs-h3) !important;font-weight:700 !important;
  line-height:1.25 !important;letter-spacing:-.01em !important}

/* ---------- T · título de tarjeta ---------- */
html body ul.products li.product .woocommerce-loop-product__title,
html body .bmh .bmh-cats .bmh-cat .bmh-cat-t,
html body .bmh .bmh-trust b,
html body .bmc-cot .bmc-cot-ti b,
html body.single-product .psl-title strong,
html body .bmi .bmi-cat-t,
html body .bmi .bmi-persona-n,
html body .bmi .bmi-persona-tel,
html body .bmi .bmi-acc-v{
  font-family:"Outfit",sans-serif !important;font-size:var(--bm-fs-t) !important;font-weight:700 !important;letter-spacing:0 !important}
@media (max-width:767px){
  html body ul.products li.product .woocommerce-loop-product__title{font-size:14px !important}
}

/* ---------- L · bajada / lead ---------- */
html body .bmh .bmh-hero .bmh-sub,
html body .bmh .bmh-lead,
html body .bmh .bmh-appsub,
html body .bmh .bmh-cta p,
html body.bmc-v2 .bmc-h3 .bmc-hero-sub,
html body .bmc-cot .bmc-cot-lead,
html body.single-product p.bmp-stock-lead,
html body .product-reviews-band .product-reviews-sub,
html body .bmi .bmi-lead,
html body .bmi .bmi-sec-cab .bmi-sub,
html body .bmi .bmi-cta-p,
html body .bmi .bmi-mv-txt{
  font-family:"Plus Jakarta Sans",sans-serif !important;font-size:var(--bm-fs-l) !important;font-weight:400 !important;line-height:1.6 !important}
html body .bmh .bmh-hero .bmh-sub,
html body .bmh .bmh-resenas .bmh-lead,
html body .bmh .bmh-appsub,
html body.bmc-v2 .bmc-h3 .bmc-hero-sub,
html body .product-reviews-band .product-reviews-sub,
html body .bmi .bmi-lead,
html body .bmi .bmi-sec-cab .bmi-sub,
html body .bmi .bmi-mv-card--mision .bmi-mv-txt{color:var(--bm-texto) !important}
html body .bmh .bmh-stock .bmh-lead,
html body .bmh .bmh-cta p,
html body .bmc-cot .bmc-cot-lead,
html body.single-product p.bmp-stock-lead,
html body .bmi .bmi-cta-p,
html body .bmi .bmi-mv-card--azul .bmi-mv-txt{color:var(--bm-blanco-86) !important}

/* ---------- B · cuerpo ---------- */
html body.single-product .product-description-content p,
html body.single-product .product-description-content li,
html body.single-product .product-short-description p,
html body.single-product .psl-text,
html body .product-quote-box p.product-quote-text,
html body .bmc-cot p.bmc-cot-tel,
html body .bmi .bmi-form .bmi-sub,
html body .bmi .bmi-mapa-card .bmi-sub,
html body .bmi ul.bmi-datos li{
  font-family:"Plus Jakarta Sans",sans-serif !important;font-size:var(--bm-fs-b) !important;font-weight:400 !important;line-height:1.6 !important}
html body.single-product .product-description-content p,
html body.single-product .product-description-content li,
html body.single-product .product-short-description p,
html body.single-product .psl-text,
html body .product-quote-box p.product-quote-text,
html body .bmi .bmi-form .bmi-sub,
html body .bmi .bmi-mapa-card .bmi-sub,
html body .bmi ul.bmi-datos li{color:var(--bm-texto) !important}
html body .bmc-cot p.bmc-cot-tel{color:var(--bm-blanco-86) !important}
html body .bmc-cot p.bmc-cot-tel a{font-size:inherit !important;font-weight:700 !important}

/* ---------- C · texto en tarjeta ---------- */
html body .bmh .bmh-apps h3 + p,
html body .bmh .bmh-stock li,
html body.single-product ul.bmp-stock-list li,
html body .bmc-op-t,
html body .bmc-nav-a,
html body .bmi .bmi-pasos span,
html body .bmi .bmi-fichas span{
  font-size:var(--bm-fs-c) !important;line-height:1.55 !important}
html body .bmi .bmi-pasos span,
html body .bmi .bmi-fichas span{color:var(--bm-texto) !important}

/* ---------- M · dato secundario ---------- */
html body .bmh .bmh-trust span,
html body .bmh .bmh-stats span,
html body .bmc-cot .bmc-cot-ti span,
html body.bmc-v2 .bmc-h3 .bmc-h3-count,
html body.bmc-v2 .bmc-h3 .bmc-h3-nota,
html body .woocommerce-result-count,
html body.single-product .bmp-cotizar-nota,
html body.single-product .product_meta,
html body.single-product .product_meta span,
html body.single-product .product_meta a,
html body .bmi .bmi-acc-k,
html body .bmi .bmi-persona-r{
  font-size:var(--bm-fs-m) !important;line-height:1.5 !important}
html body .bmh .bmh-trust span,
html body .bmh .bmh-stats span,
html body .bmc-cot .bmc-cot-ti span,
html body.bmc-v2 .bmc-h3 .bmc-h3-count,
html body.bmc-v2 .bmc-h3 .bmc-h3-nota,
html body .woocommerce-result-count,
html body.single-product .bmp-cotizar-nota,
html body.single-product .product_meta span,
html body .bmi .bmi-acc-k,
html body .bmi .bmi-persona-r{color:var(--bm-tenue) !important}
html body.single-product .product_meta a{color:var(--bm-azul) !important}
/* la cifra dentro del contador conserva su tamaño de dato, no de titulo */
html body.bmc-v2 .bmc-h3 .bmc-h3-count b{font-size:inherit !important}

/* ---------- E · antetítulo en mayúsculas ---------- */
html body .bmh .bmh-cap,
html body.single-product .bmp-cap,
html body .bmc-grupo-t,
html body .bmi .bmi-ante,
html body .bmi .bmi-mv-num{
  font-family:"Outfit",sans-serif !important;font-size:var(--bm-fs-e) !important;font-weight:700 !important;
  line-height:1.3 !important;letter-spacing:.16em !important;text-transform:uppercase !important;color:var(--bm-azul) !important}
html body .bmi .bmi-mv-card--azul .bmi-mv-num{color:var(--bm-eyebrow-azul) !important}

/* ---------- Etiquetas de formulario ---------- */
html body .bm-cf7 label{font-family:"Outfit",sans-serif !important;font-size:var(--bm-fs-label) !important;font-weight:700 !important;color:var(--bm-tinta) !important}

/* ---------- Botones ---------- */
html body .bmh .bmh-btn,
html body .bmc-btn-cotizar,
html body .bmc-btn-filtrar,
html body.single-product .bmp-btn-cotizar,
html body.single-product .bmp-btn-cotizar span,
html body.single-product .btn-specs,
html body .bmi .bmi-btn,
html body .bm-cf7 .wpcf7-submit{
  font-family:"Outfit",sans-serif !important;font-size:var(--bm-fs-btn) !important;font-weight:700 !important;
  letter-spacing:.005em !important;text-transform:none !important}

/* ============================================================
   RONDA 2: reglas que en su layout tenían más especificidad
   ============================================================ */
/* ficha de producto: la banda de cotización trae su copia con .single-product */
html body.single-product .bmc-cot h2.bmc-cot-t{font-size:var(--bm-fs-h2) !important;line-height:1.12 !important;letter-spacing:-.022em !important}
html body.single-product .bmc-cot p.bmc-cot-tel{font-size:var(--bm-fs-b) !important;color:var(--bm-blanco-86) !important}
html body.single-product .bmc-cot .bmc-cot-tel a{font-weight:700 !important}
html body.single-product .bmc-cot .product-quote-box p.product-quote-text{color:var(--bm-texto) !important}
html body.single-product .bmc-cot .bmc-cot-ti span{font-size:var(--bm-fs-m) !important;color:var(--bm-tenue) !important}
html body.single-product .bmc-cot .bmc-cot-ti b{font-size:var(--bm-fs-t) !important}
html body.single-product .product-technical-details .product-description-content p{color:var(--bm-texto) !important}
html body.single-product button.btn-specs{font-size:var(--bm-fs-btn) !important}

/* listas sobre azul (existencias en home y ficha) */
html body.single-product ul.bmp-stock-list li span,
html body .bmh ul.bmh-list li span{font-size:var(--bm-fs-c) !important;line-height:1.55 !important;color:var(--bm-blanco-86) !important}
html body.single-product ul.bmp-stock-list li b,
html body .bmh ul.bmh-list li b{color:#fff !important}
html body .bmh .bmh-apl-txt p{font-size:var(--bm-fs-c) !important;color:var(--bm-blanco-86) !important}

/* home */
html body .bmh .bmh-cover .bmh-lead{color:var(--bm-texto) !important}
@media (max-width:767px){ html body .bmh .bmh-hero h1{font-size:var(--bm-fs-h1) !important} }

/* categorías: navegación y filtros en color de texto, no en gris azulado */
html body.bmc-v2 .bmc-nav-a,
html body.bmc-v2 .bmc-op-t{color:var(--bm-texto) !important}
html body.bmc-v2 .bmc-nav-a.is-actual,
html body.bmc-v2 .bmc-nav-volver{color:var(--bm-azul) !important}
html body.bmc-v2 .bmc-nav-volver{font-size:var(--bm-fs-c) !important}
html body.bmc-v2 p.woocommerce-result-count{font-weight:400 !important;color:var(--bm-tenue) !important}

/* ============================================================
   RONDA 3: espaciado y botón de formulario
   ============================================================ */
/* la bajada respira igual bajo cualquier título con barrita */
html body .bmh .bmh-title + .bmh-lead,
html body .bmh .bmh-title + .bmh-appsub,
html body .bmh .bmh-rv > .bmh-title + .bmh-lead{margin-top:18px !important}
/* botón de enviar de los formularios: azul como el resto de los botones principales */
html body .bm-cf7 .wpcf7-submit{background:var(--bm-azul) !important;color:#fff !important;border:0 !important}
html body .bm-cf7 .wpcf7-submit:hover{background:var(--bm-azul-o) !important}

/* ============================================================
   COMPONENTES (2026-09-16): radios, botones, sombras, anchos y espacio
   RADIOS      campo 8 · tarjeta chica y botón 12 · tarjeta grande 18 (16 en celular)
   BOTONES     normal 56 · compacto 48 · radio 12
   SOMBRAS     línea fina para lo que va sobre fondo · una sombra suave para lo que flota
   ANCHOS      contenido min(1332, 100vw-104) · banda min(1760, 100vw-76)
   SECCIONES   normal 72 (48 en celular) · compacta 40 (32 en celular)
   ============================================================ */
:root{--bm-r-campo:8px;--bm-r-chico:12px;--bm-r-grande:18px;--bm-btn:56px;--bm-btn-c:48px;
  --bm-linea:0 0 0 1px #E2EAF3;--bm-sombra:0 12px 32px rgba(0,40,90,.12);
  --bm-ancho:min(1332px,calc(100vw - 104px));--bm-banda:min(1760px,calc(100vw - 76px));
  --bm-sec:72px;--bm-sec-c:40px}
@media (max-width:767px){ :root{--bm-r-grande:16px;--bm-ancho:calc(100vw - 32px);--bm-banda:calc(100vw - 32px);--bm-sec:48px;--bm-sec-c:32px} }

/* ---------- radios: tarjetas grandes ---------- */
html body .bmc-h3-card,
html body .bmi-cab-card,
html body .bmc-cot-card,
html body .bmi-cta-card,
html body .bmh .bmh-cta .bmh-card,
html body .product-quote-box,
html body .bmi .bmi-form,
html body .bmi .bmi-mapa,
html body .bmi .bmi-mv-card,
html body .bmh .bmh-texto,
html body .bmh .bmh-foto,
html body.single-product .bmp-texto,
html body.single-product .bmp-foto{border-radius:var(--bm-r-grande) !important}

/* ---------- radios: tarjetas chicas y botones ---------- */
html body ul.products li.product,
html body .bmh .bmh-apl,
html body .bmh .bmh-cat,
html body .bmh .bmh-cat-f,
html body .bmc-cot ul.bmc-cot-ti li,
html body.single-product .product-description-content,
html body.single-product .product-attrs-container,
html body.single-product .product-specs-launch,
html body .bmi .bmi-persona,
html body .bmi .bmi-acc,
html body .bmi .bmi-oficina,
html body .bmi .bmi-mapa-card,
html body .bmi ul.bmi-fichas li,
html body .bmi ol.bmi-pasos li,
html body .bmi .bmi-cat,
html body .bmh .bmh-btn,
html body .bmc-btn-cotizar,
html body .bmc-btn-filtrar,
html body.single-product .bmp-btn-cotizar,
html body.single-product .btn-specs,
html body .bmi .bmi-btn,
html body .bm-cf7 .wpcf7-submit{border-radius:var(--bm-r-chico) !important}
html body .bm-cf7 input[type=text],
html body .bm-cf7 input[type=email],
html body .bm-cf7 input[type=tel],
html body .bm-cf7 textarea{border-radius:var(--bm-r-campo) !important}

/* ---------- botones: normal y compacto ---------- */
html body .bmh .bmh-btn,
html body .bmc-btn-cotizar,
html body.single-product .bmp-btn-cotizar,
html body .bmi .bmi-btn,
html body .bm-cf7 .wpcf7-submit{height:auto !important;min-height:var(--bm-btn) !important;padding-top:0 !important;padding-bottom:0 !important;line-height:1.2 !important}
html body .bmc-btn-filtrar,
html body.single-product .btn-specs,
html body .bmi .bmi-mapa-card .bmi-btn{height:auto !important;min-height:var(--bm-btn-c) !important;padding-top:0 !important;padding-bottom:0 !important;line-height:1.2 !important}

/* ---------- sombras ---------- */
html body .product-quote-box,
html body .bmc-cot ul.bmc-cot-ti li,
html body .bmi .bmi-mapa-card{box-shadow:var(--bm-sombra) !important}
html body .bmi .bmi-acc,
html body .bmi ul.bmi-fichas li,
html body.single-product .product-attrs-container{box-shadow:var(--bm-linea) !important}
@media (max-width:980px){ html body .bmi .bmi-mapa-card{box-shadow:none !important} }
@media (max-width:767px){ html body .product-quote-box{box-shadow:none !important} }

/* ---------- anchos ---------- */
html body .bmh .bmh-wrap,
html body .bmc-wrap,
html body .bmi .bmi-wrap{width:var(--bm-ancho) !important;max-width:none !important;margin-left:auto !important;margin-right:auto !important}
html body .bmh .bmh-cta .bmh-wrap{width:min(1200px,calc(100% - 64px)) !important}
html body .bmh .bmh-dueto,
html body.single-product .bmp-dueto,
html body .bmh .bmh-stock .bmh-card{width:var(--bm-banda) !important;max-width:none !important;margin-left:auto !important;margin-right:auto !important}
html body .bmh .bmh-cta .bmh-card{width:var(--bm-banda) !important;margin-left:auto !important;margin-right:auto !important}
html body .bmc-h3-card,
html body .bmi-cab-card,
html body .bmc-cot-card,
html body .bmi-cta-card{max-width:1760px;margin-left:auto !important;margin-right:auto !important}
html body .bmc-h3,
html body .bmi-cab,
html body.bmc-v2 .bmc-cot,
html body .bmi .bmc-cot,
html body .bmi-cta{padding-left:38px !important;padding-right:38px !important}
@media (max-width:767px){
  html body .bmc-h3,html body .bmi-cab,html body.bmc-v2 .bmc-cot,html body .bmi .bmc-cot,html body .bmi-cta{padding-left:16px !important;padding-right:16px !important}
}

/* ---------- espacio vertical entre secciones ---------- */
html body .bmh .bmh-cats,
html body .bmh .bmh-apps,
html body .bmh .bmh-resenas,
html body .bmh .bmh-cover,
html body .bmh .bmh-stock,
html body.single-product .bmp-relacionados,
html body.single-product .bmp-resenas,
html body.single-product .bmp-stock,
html body .bmi .bmi-sec{padding-top:var(--bm-sec) !important;padding-bottom:var(--bm-sec) !important}
html body .bmi .bmi-sec--pegada,
html body .bmh .bmh-cta,
html body.single-product .bmp-marcas{padding-top:var(--bm-sec-c) !important}
html body .bmh .bmh-cta,
html body.single-product .bmp-marcas{padding-bottom:var(--bm-sec-c) !important}
html body.bmc-v2 .bmc-cot{padding-top:var(--bm-sec-c) !important;padding-bottom:var(--bm-sec) !important}
html body .bmi .bmc-cot{padding-top:0 !important;padding-bottom:0 !important}
html body .bmi-cta{padding-top:0 !important;padding-bottom:var(--bm-sec) !important}
/* ficha: sus copias con .single-product pesan más */
html body.single-product .related.products ul.products li.product{border-radius:var(--bm-r-chico) !important}
html body.single-product .bmc-cot .product-quote-box{border-radius:var(--bm-r-grande) !important;box-shadow:var(--bm-sombra) !important}
@media (max-width:767px){ html body.single-product .bmc-cot .product-quote-box{box-shadow:none !important} }

/* El titulo del formulario de cotizacion, igual en las tres plantillas (17 sep 2026) */
html body.single-product .bmc-cot .product-quote-box .product-quote-title{padding-bottom:0 !important;margin-bottom:10px !important}

/* Entre 1181 y 1239 px la columna azul es tan angosta que las tarjetitas
   se montaban sobre el formulario (en las tres plantillas). Ahi van en una sola. */
@media (min-width:1181px) and (max-width:1239px){
  html body .bmc-cot ul.bmc-cot-ti,
  html body.single-product .bmc-cot ul.bmc-cot-ti{grid-template-columns:minmax(0,1fr) !important}
}
