/*
Theme Name:   Termiz
Theme URI:    https://mediumseagreen-falcon-595951.hostingersite.com
Template:     hello-elementor
Version:      2.5.1
Description:  Child theme del catálogo de productos industriales Termiz. Extiende Hello
              Elementor con 4 widgets personalizados de Elementor (especificaciones
              técnicas, propuesta de valor, industrias y relacionados), integración
              completa con ACF Pro para campos de productos por categoría, soporte de
              logos SVG por marca inline, Font Awesome 7 Pro y arquitectura completa
              del catálogo de equipo térmico, generación eléctrica y bombeo industrial.
Author:       BNM Studio
Author URI:   https://bnm.studio
Tags:         elementor, acf, custom-fields, product-catalog, industrial
Text Domain:  termiz
License:      Proprietary
*/

/*
=============================================================================
CHANGELOG
=============================================================================

v2.5.1 — 2026-08-06
  - Eliminada la dependencia del sandbox de Novamira: los dos scripts
    activos que vivian ahi ahora corren como codigo productivo normal
    del child theme, requeridos desde functions.php:
      . termiz-navigation-rest.php  (endpoint REST del menu principal,
        termiz/v1/navigation/(slug))
      . termiz-style-version.php    (cache-bust del stylesheet via
        style_loader_src, handle hello-elementor-child, ver=4.0.3)
  - Motivo: el sitio nuevo de destino (Duplicator) no va a tener
    Novamira instalado, y el loader que ejecuta los .php del sandbox
    en cada peticion lo provee el propio plugin Novamira. Sin el
    plugin, esos dos archivos dejaban de cargar en silencio.
  - Verificado: home 200, endpoint REST 200 sirviendo desde el theme,
    y ver=4.0.3 presente en el link del stylesheet, con los originales
    del sandbox ya deshabilitados (.disabled).

v2.5.0 — 2026-06-03
  - Descripción corta, subtítulo e información adicional para los 150
    productos del catálogo (formato bullets + párrafo).
  - Salto de línea entre lista y párrafo en informacion_adicional de
    todos los productos.
  - Eliminación del campo aplicaciones-de-uso de los 10 grupos ACF
    condicionales (reemplazado por taxonomía industrias).
  - Limpieza de base de datos: 148 registros huérfanos eliminados
    (tf/ta/e/m/r/c/v/ca/ge/ba-informacion-adicional y *-aplicaciones-de-uso).
  - Location rules del grupo Generadores Eléctricos actualizadas para
    cubrir 8 subcategorías (generadores-diesel, generadores-gas,
    generadores-diesel-moviles, generadores-gas-moviles,
    generadores-gas-comerciales, generadores-diesel-comerciales,
    torres-de-iluminacion, generadores-electricos).
  - Restauración de definiciones de los 9 grupos ACF condicionales
    (labels, names, tipos y wrappers).
  - Footer actualizado: descripción, links internos reales en las 4
    columnas (Nosotros, Productos, Servicios, Marcas) y barra inferior.
  - Encabezado del tema completado con Author, URI, Tags y descripción.

v2.0.0 — 2026-05-22
  - 4 widgets personalizados de Elementor registrados:
      · termiz-specs   — Tabla de especificaciones técnicas por categoría.
      · termiz-valor   — Propuesta de valor (tarjetas o lista vertical).
      · termiz-apps    — Industrias desde taxonomía (tags).
      · termiz-relacionados — Productos relacionados automáticos
                              (misma marca + categoría, hasta 4).
  - Grupos ACF registrados en código:
      · group_tmz_marca_logo — Campo imagen/SVG en taxonomía marcas.
      · group_tmz_categoria_valor — Repeater propuesta de valor
                                    en taxonomía categorias.
  - 10 grupos ACF condicionales por subcategoría (DB):
      Tubos de Fuego, Tubos de Agua, Eléctricas, Modulares,
      Recuperadores de Calor, Controles, Válvulas, Calentadores
      de Agua, Generadores Eléctricos, Bombas de Agua.
  - Grupo ACF Universal (6 campos): marca, descripcion_corta,
      subtitulo, informacion_adicional, galeria, industrias.
  - Taxonomía industrias registrada con 13 términos.
  - Logos SVG de marcas: campo ACF + helper tmz_get_marca_logo()
      + shortcode [termiz_marca_logo] con render inline.
  - Font Awesome 7 Pro v7.2.0 integrado con CSS de iconos en menú.
  - Helper functions:
      · tmz_get_category_specs()    — Lee campos ACF por categoría.
      · tmz_render_specs_table()    — Renderiza tabla HTML de specs.
      · tmz_get_propuesta_de_valor() — Lee repeater del término.
      · tmz_get_apps_for_post()     — Lee taxonomía industrias.
      · tmz_get_marca_logo()        — Obtiene SVG de marca.
  - Shortcodes: termiz_marca_logo, termiz_specs, termiz_apps,
      termiz_marca, termiz_relacionados.
  - CSS base de los 4 widgets encolado via wp_add_inline_style.

v1.0.0 — 2026-05 (inicial)
  - Child theme de Hello Elementor para el sitio Termiz.
  - Soporte de SVG habilitado en la biblioteca de medios.
  - Editor Gutenberg deshabilitado en el CPT producto.
  - Estructura base del child theme.

=============================================================================
*/

/* Atomic v4 header navigation */
.nvm-termiz-site-navigation { font-family:"DM Sans",sans-serif; color:#112437; }
.nvm-termiz-site-navigation .termiz-menu { display:flex; align-items:center; justify-content:flex-end; gap:clamp(1rem,1.5vw,1.75rem); margin:0; padding:0; list-style:none; }
.nvm-termiz-site-navigation .termiz-menu>li { position:relative; }
.nvm-termiz-site-navigation .termiz-menu>li>a { position:relative; display:inline-flex; align-items:center; min-height:2.75rem; padding:.625rem 0; color:#112437; font-size:1rem; font-weight:500; line-height:1.25; text-decoration:none; transition:color .2s ease; }
.nvm-termiz-site-navigation .termiz-menu>li>a::after { content:""; position:absolute; right:0; bottom:.25rem; left:0; height:2px; background:#be202e; transform:scaleX(0); transform-origin:right center; transition:transform .22s ease; }
.nvm-termiz-site-navigation .termiz-menu>li:hover>a,.nvm-termiz-site-navigation .termiz-menu>li.current-menu-item>a,.nvm-termiz-site-navigation .termiz-menu>li.current-menu-ancestor>a { color:#be202e; }
.nvm-termiz-site-navigation .termiz-menu>li:hover>a::after,.nvm-termiz-site-navigation .termiz-menu>li.current-menu-item>a::after,.nvm-termiz-site-navigation .termiz-menu>li.current-menu-ancestor>a::after { transform:scaleX(1); transform-origin:left center; }
.nvm-termiz-site-navigation .termiz-menu>li:last-child>a { min-height:auto; padding:.7rem 1.15rem; border:1px solid rgba(255,255,255,.2); border-radius:.75rem; background:linear-gradient(135deg,#29425a 0%,#112437 58%,#081827 100%); box-shadow:0 .45rem 1.1rem rgba(17,36,55,.18),inset 0 1px 0 rgba(255,255,255,.2); color:#fff; transition:color .2s ease,transform .2s ease,box-shadow .2s ease; }
.nvm-termiz-site-navigation .termiz-menu>li:last-child>a::after { display:none; }
.nvm-termiz-site-navigation .termiz-menu>li:last-child>a:hover { color:#fed766; transform:translateY(-2px); box-shadow:0 .65rem 1.4rem rgba(17,36,55,.24),inset 0 1px 0 rgba(255,255,255,.25); }
.nvm-termiz-site-navigation .sub-menu { position:absolute; z-index:1100; top:calc(100% + .75rem); left:50%; display:grid; min-width:17rem; max-width:min(32rem,90vw); margin:0; padding:.75rem; border:1px solid rgba(17,36,55,.12); border-radius:.875rem; background:rgba(255,255,255,.97); box-shadow:0 1.25rem 3rem rgba(17,36,55,.16); list-style:none; opacity:0; visibility:hidden; transform:translate(-50%,.5rem); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.nvm-termiz-site-navigation li:hover>.sub-menu,.nvm-termiz-site-navigation li:focus-within>.sub-menu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.nvm-termiz-site-navigation .sub-menu a { display:flex; align-items:center; padding:.7rem .75rem; border-radius:.5rem; color:#112437; font-size:.9375rem; line-height:1.35; text-decoration:none; transition:background-color .18s ease,color .18s ease; }
.nvm-termiz-site-navigation .sub-menu a:hover,.nvm-termiz-site-navigation .sub-menu a:focus-visible { background:#f5f4ec; color:#be202e; }
.nvm-termiz-site-navigation__toggle { width:3rem; height:3rem; border:0; border-radius:.75rem!important; background:#112437; box-shadow:0 .4rem 1rem rgba(17,36,55,.18); }
.s-header-main { backdrop-filter:blur(18px) saturate(120%); -webkit-backdrop-filter:blur(18px) saturate(120%); box-shadow:0 .5rem 1.75rem rgba(17,36,55,.08); }
.s-footer-shell a { transition:color .18s ease,opacity .18s ease; }
.s-footer-shell a:hover { color:#fed766!important; }
@media(max-width:1024px){
 .nvm-termiz-site-navigation { position:static!important; }
 .s-footer-main { flex-direction:column!important; gap:3rem!important; }
 .s-footer-brand,.s-footer-links { width:100%!important; }
 .s-footer-links { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 .nvm-termiz-site-navigation__mount { position:absolute!important; z-index:1200; top:calc(100% + .75rem); right:1.25rem!important; left:1.25rem!important; width:auto!important; max-height:calc(100vh - 8rem); overflow-y:auto; padding:1rem; border:1px solid rgba(17,36,55,.12); border-radius:1rem; background:rgba(255,255,255,.98)!important; box-shadow:0 1.5rem 3.5rem rgba(17,36,55,.2); }
 .nvm-termiz-site-navigation .termiz-menu { flex-direction:column; align-items:stretch; gap:.25rem; }
 .nvm-termiz-site-navigation .termiz-menu>li>a { width:100%; padding:.8rem .75rem; }
 .nvm-termiz-site-navigation .termiz-menu>li>a::after { right:.75rem; bottom:.45rem; left:.75rem; }
 .nvm-termiz-site-navigation .sub-menu { position:static; display:none; min-width:0; max-width:none; margin:.15rem 0 .65rem; padding:.4rem 0 .4rem .75rem; border:0; border-left:2px solid rgba(190,32,46,.22); border-radius:0; background:transparent; box-shadow:none; opacity:1; visibility:visible; transform:none; }
 .nvm-termiz-site-navigation li:hover>.sub-menu,.nvm-termiz-site-navigation li:focus-within>.sub-menu { display:grid; transform:none; }
 .nvm-termiz-site-navigation .termiz-menu>li:last-child>a { justify-content:center; margin-top:.5rem; }
}
@media(max-width:767px){
 .s-footer-links { grid-template-columns:1fr!important; }
 .s-footer-legal { flex-direction:column!important; align-items:flex-start!important; gap:1rem!important; }
}
