/* ==========================================================================
   Legado: contenido de Elementor
   Extraído del "CSS adicional" de own-shop-lite (post custom_css 581).
   Copia íntegra de referencia: assets/css/_original-custom-css-581.css

   Se carga en todas las páginas salvo la portada (inc/assets.php).

   Cambios respecto al original:
   - Las reglas de elementos base (p, a, foco) se acotan con
     :where(.ma-sitio-contenido) para no afectar a la cabecera y el pie
     nuevos. :where() no suma especificidad, así que la cascada dentro
     del contenido es la misma de antes.
   - Se eliminaron las reglas de la cabecera y el pie antiguos, MetaSlider,
     los botones CTA de la cabecera, el megamenú, el buscador de cabecera,
     own-shop, WPForms, Call Now Button y los selectores de elementos
     que ya no existen en ninguna página publicada.
   - Las reglas de WooCommerce están en legacy-woocommerce.css.
   ========================================================================== */

/* 0. Open Sans (--ff-base) ------------------------------------------------
   Hasta la Fase 2 la cargaba, sin querer, el plugin Simple Floating Menu
   (Google Fonts). Son los mismos archivos de Google (v44, fuente variable
   300-800), servidos desde el tema: latín, latín extendido y símbolos en
   redonda, y latín y latín extendido en cursiva. El navegador solo descarga
   el archivo que necesita según los caracteres de la página. */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/open-sans-symbols.woff2") format("woff2");
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/open-sans-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/open-sans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/open-sans-italic-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/open-sans-italic-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 1. Variables (también las usa legacy-woocommerce.css) ------------------ */
:root {
  --color-rojo: #ED3237;
  --color-rojo-osc: #d92c31;
  --color-rojo-claro: #f45f65;
  --color-naranja: #ff9900;
  --color-texto: #424A52;
  --color-texto-suave: #6F6F6F;
  --color-fondo: #ffffff;
  --color-fondo-alt: #f7f7f7;
  --color-borde: #dddddd;
  --color-borde-suave: #ececec;
  --color-gris: #eee;
  --color-exito: #3aa76d;
  --color-error: #c0392b;

  --sombra-1: 0 2px 8px rgba(0,0,0,.06);
  --sombra-2: 0 8px 20px rgba(0,0,0,.10);
  --sombra-hover: 0 12px 28px rgba(0,0,0,.12);

  --transition: all .3s cubic-bezier(0.4, 0, 0.2, 1);

  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;

  --ff-base: 'Open Sans', Arial, sans-serif;
}

/* 2. Base (acotada al contenido) ------------------------------------------ */
html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

:where(.ma-sitio-contenido) {
  font-family: var(--ff-base);
  color: var(--color-texto);
}

:where(.ma-sitio-contenido) p {
  font-size: 14px !important;
  line-height: 1.6;
  margin: 0 0 14px 0;
}

:where(.ma-sitio-contenido) a {
  font-size: 15px;
  transition: color .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
  text-decoration: none;
  color: inherit;
}

::selection {
  background: rgba(237,50,55,.15);
  color: inherit;
}

:where(.ma-sitio-contenido) a:focus,
:where(.ma-sitio-contenido) button:focus,
:where(.ma-sitio-contenido) input:focus,
:where(.ma-sitio-contenido) select:focus,
:where(.ma-sitio-contenido) textarea:focus {
  outline: 2px solid var(--color-rojo);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(237,50,55,.15);
}

/* 3. Estructura de Elementor ---------------------------------------------- */
.elementor-widget:not(:last-child) {
  margin-bottom: 0 !important;
}

.entry-content > .elementor > section.elementor-section.elementor-section-boxed > .elementor-container,
.elementor-section.elementor-section-boxed > .elementor-container {
  width: 100%;
  max-width: 1600px;
  padding: 0 2%;
  margin: 0 auto;
}

.elementor-widget-wrap.elementor-element-populated section ul,
.lista-empresa {
  padding-left: 30px;
  line-height: 1.8;
}

/* 4. Tipografía de Elementor ---------------------------------------------- */
h1.elementor-heading-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--color-texto) !important;
  margin: 0 0 16px 0 !important;
}

h2.elementor-heading-title {
  font-size: 19px !important;
  color: var(--color-texto);
  margin: 0 0 14px 0 !important;
}

h3.elementor-heading-title {
  font-size: 16px !important;
  color: var(--color-texto);
  margin: 0 0 12px 0 !important;
}

/* 5. Icon boxes ----------------------------------------------------------- */
.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-icon {
  margin-bottom: 12px !important;
  transition: var(--transition);
}

.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.elementor-icon-box:hover .elementor-icon-box-icon {
  transform: scale(1.1);
}

/* 6. Menú lateral (widget "Menú" de WordPress) ---------------------------- */
.elementor-widget-container .menu {
  border-right: 1px solid var(--color-borde);
  padding-right: 10px !important;
}

/* 7. Forminator ----------------------------------------------------------- */
p .forminator-field .forminator-merge-tags {
  font-family: var(--ff-base);
  font-size: 16px;
}

.forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid="open"] .forminator-row:not(:last-child) {
  margin-bottom: 0 !important;
}

.forminator-ui.forminator-custom-form[data-design="default"] .forminator-file-upload {
  padding-bottom: 10px;
}

.forminator-button-submit {
  border-radius: 8px;
  transition: var(--transition);
}

.forminator-ui#forminator-module-5162.forminator-design--default .forminator-file-upload > span {
  color: #777771;
  font-family: var(--ff-base) !important;
  font-size: 14px !important;
}

/* 8. Fondos de secciones (páginas de cañerías y conduit) ------------------ */
.elementor-2551 .elementor-element.elementor-element-5c9a482,
.elementor-836 .elementor-element.elementor-element-bff5416,
.elementor-838 .elementor-element.elementor-element-c80badc,
.elementor-840 .elementor-element.elementor-element-125ae1a,
.elementor-842 .elementor-element.elementor-element-b755097,
.elementor-844 .elementor-element.elementor-element-2dd8c26,
.elementor-846 .elementor-element.elementor-element-3489c7f,
.elementor-810 .elementor-element.elementor-element-0227d8e {
  background-color: #fff !important;
}

/* 9. Contenido interior (clases mtc-* de MultiFireNet) -------------------- */
.mtc-titulo {
  font-style: italic;
  color: #585757;
  font-size: 16px;
  font-weight: 600;
}

.mtc-subtitle {
  font-size: 15px;
  color: #70706F;
}

.mtc-descripcion > li {
  color: #000 !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 100 !important;
  font-size: 15px;
  padding: 5px;
  margin: 0;
}

.mtc-line,
.mtc-separador-line {
  background-color: var(--color-rojo);
  height: 2px;
  position: relative;
}

.mtc-line {
  width: 70%;
  margin: 10px 0;
}

.mtc-line-dot,
.mtc-separador-dot {
  background-color: var(--color-rojo);
  border-radius: 50%;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.mtc-descripcion li::marker,
.lista-empresa li::marker {
  color: var(--color-rojo);
}

.mtc-pto-entrega {
  color: #f00;
  font-style: italic;
  font-size: 20px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 600;
}

/* 10. Tablas -------------------------------------------------------------- */
.entry-content table,
.elementor table {
  width: 100%;
  border-collapse: collapse;
  font-family: Roboto, sans-serif;
  font-weight: 400;
  color: #6F6F6F;
  box-shadow: var(--sombra-1);
  border-radius: 8px;
  overflow: hidden;
  margin: 14px 0;
}

.entry-content th,
.entry-content td,
.elementor th,
.elementor td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: center;
}

.entry-content th,
.elementor th {
  font-weight: 700;
}

.entry-content tr:nth-child(even),
.elementor tr:nth-child(even) {
  background-color: #EDEDED;
}

.entry-content table tbody tr:hover,
.elementor table tbody tr:hover {
  background-color: #f5f5f5 !important;
  transition: var(--transition);
}

.mtc-specs th {
  background-color: #45525C !important;
}

@media (max-width: 480px) {
  .entry-content table,
  .elementor table {
    font-size: 12px;
  }

  .entry-content th,
  .entry-content td,
  .elementor th,
  .elementor td {
    padding: 8px 4px !important;
  }
}

/* 11. Efectos de opacidad (solo elementos que siguen existiendo) ---------- */
.elementor-9858 .elementor-element.elementor-element-779e3e7,
.elementor-element.elementor-element-846b826,
.elementor-element.elementor-element-7a302f1,
.elementor-element.elementor-element-69645a0,
.elementor-element.elementor-element-08c80a4,
.elementor-element.elementor-element-dad4a41,
.elementor-element.elementor-element-36a8db6,
.elementor-element.elementor-element-3d57f70,
.elementor-element.elementor-element-09bab03,
.elementor-element.elementor-element-03a34a9,
.elementor-element.elementor-element-bf76ab3,
.elementor-element.elementor-element-d64bafd,
.elementor-10418 .elementor-element.elementor-element-58f9b3f,
.elementor-element.elementor-element-c2db87d,
.elementor-element.elementor-element-76b08b6,
.elementor-element.elementor-element-3f0973a,
.elementor-element.elementor-element-d7dd4f5,
.elementor-element.elementor-element-0ee663f,
.elementor-element.elementor-element-15890de,
.elementor-element.elementor-element-508778b,
.elementor-element.elementor-element-c52a5a3,
.elementor-element.elementor-element-7ba9a0f,
.elementor-element.elementor-element-b8418c3,
.elementor-element.elementor-element-525b7e1,
.elementor-10645 .elementor-element.elementor-element-89b07c0,
.elementor-element.elementor-element-2463470,
.elementor-element.elementor-element-f618cc5,
.elementor-element.elementor-element-6b15981,
.elementor-element.elementor-element-131f016,
.elementor-element.elementor-element-c147618,
.elementor-element.elementor-element-9fd2c3f,
.elementor-element.elementor-element-efcad3d,
.elementor-element.elementor-element-8f097e7,
.elementor-element.elementor-element-e1bb704,
.elementor-10742 .elementor-element.elementor-element-a02f331,
.elementor-element.elementor-element-a0b64f7,
.elementor-element.elementor-element-75033e1,
.elementor-element.elementor-element-4d88585,
.elementor-element.elementor-element-2fe579a,
.elementor-element.elementor-element-0ed6858,
.elementor-2020 .elementor-element.elementor-element-fd88a57,
.elementor-element.elementor-element-6241b3a,
.elementor-element.elementor-element-ea150e2,
.elementor-4367 .elementor-element.elementor-element-48fd5c4,
.elementor-element-9b14de3,
.elementor-element-ccf9eca,
.elementor-2008 .elementor-element.elementor-element-e88a0b6,
.elementor-element.elementor-element-9e53093,
.elementor-element.elementor-element-cb31ebe,
.elementor-element.elementor-element-f147bf0,
.elementor-2083 .elementor-element.elementor-element-04784a1,
.elementor-element.elementor-element-45b060b,
.elementor-element.elementor-element-898a1b0,
.elementor-element.elementor-element-f912346 {
  opacity: 0;
  transition: opacity .3s ease;
}

.elementor-9858:hover,
.elementor-10418:hover,
.elementor-10645:hover,
.elementor-10742:hover,
.elementor-2020:hover,
.elementor-4367:hover,
.elementor-2008:hover,
.elementor-2083:hover {
  opacity: 1 !important;
}

/* 12. Menú lateral HFE (widget navigation-menu en 95 páginas) ------------- */
.hfe-nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--ff-base);
}

.hfe-nav-menu > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  border-bottom: 1px solid #e0e0e0 !important;
  position: relative;
  overflow: hidden;
  background: #fff;
  transition: background .2s ease;
}

.hfe-nav-menu > li:last-child {
  border-bottom: 0 !important;
}

.hfe-nav-menu > li > a.hfe-menu-item,
.hfe-nav-menu > li > .hfe-has-submenu-container > a.hfe-menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 18px !important;
  font-weight: 600;
  font-size: 15px;
  color: #222 !important;
  text-decoration: none !important;
  line-height: 1.3;
  transition: var(--transition);
}

@keyframes slideIn {
  from { width: 0; }
  to { width: 75%; }
}

.hfe-nav-menu > li::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  border-bottom: 1.3px solid var(--color-rojo) !important;
  transition: width .3s ease;
  backface-visibility: hidden;
  perspective: 1000px;
}

.hfe-nav-menu > li:hover::after {
  width: 75%;
  animation: slideIn .3s forwards;
}

.hfe-nav-menu .sub-menu.dropdown-menu {
  position: static !important;
  min-height: 100%;
  overflow: hidden;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
  transition: max-height .3s ease;
}

.hfe-nav-menu li > ul > li {
  width: 100% !important;
}

.hfe-nav-menu .hfe-has-submenu-container[aria-expanded="true"] + .sub-menu {
  max-height: 1200px;
}

.hfe-nav-menu .sub-menu > li {
  list-style: none !important;
  margin: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: #fff;
  min-width: 100% !important;
  overflow: visible;
}

.hfe-nav-menu .sub-menu > li:last-child {
  border-bottom: 0 !important;
}

.hfe-nav-menu .sub-menu > li > a.hfe-sub-menu-item {
  display: block;
  padding: 10px 24px !important;
  font-weight: 500;
  font-size: 14px;
  color: #444 !important;
  text-decoration: none !important;
  background: #fff;
  line-height: 1.3;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  transition: background .2s ease, color .2s ease;
}

.hfe-nav-menu .sub-menu > li > a.hfe-sub-menu-item:hover,
.hfe-nav-menu .sub-menu > li > a.hfe-sub-menu-item:focus {
  background: #f5f5f5;
  color: var(--color-rojo) !important;
}

.hfe-nav-menu .hfe-menu-toggle {
  margin-left: .5rem;
  font-size: 12px;
  color: #666;
  transition: transform .3s ease;
}

.hfe-nav-menu .hfe-has-submenu-container[aria-expanded="true"] .hfe-menu-toggle {
  transform: rotate(180deg);
}

.hfe-nav-menu > li.current-menu-item,
.hfe-nav-menu > li.current_page_item,
.hfe-nav-menu > li.current-menu-ancestor {
  background: #f9f9f9;
}

.hfe-nav-menu > li.current-menu-item::after,
.hfe-nav-menu > li.current_page_item::after,
.hfe-nav-menu > li.current-menu-ancestor::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 75%;
  border-bottom: 3px solid var(--color-rojo) !important;
}

.hfe-nav-menu .sub-menu > li.current-menu-item > a.hfe-sub-menu-item,
.hfe-nav-menu .sub-menu > li.current_page_item > a.hfe-sub-menu-item {
  color: var(--color-rojo) !important;
  font-weight: 600;
}

.hfe-nav-menu a.hfe-menu-item:focus,
.hfe-nav-menu .hfe-has-submenu-container:focus {
  outline: 2px solid var(--color-rojo);
  outline-offset: 2px;
}

.hfe-nav-menu a.hfe-menu-item::after {
  display: none !important;
}

.hfe-nav-menu .dropdown-menu > li > a {
  background: #fff !important;
  color: #000 !important;
}

@media (min-width: 1025px) {
  .hfe-nav-menu .sub-menu.dropdown-menu {
    min-width: 240px;
    max-width: 90vw;
  }
}

/* 13. Animaciones: sobrescriben las de Elementor con el mismo nombre ------ */
@keyframes slideInDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes slideInUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 1025px) {
  @keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

.elementor-widget-icon-box {
  backface-visibility: hidden;
  perspective: 1000px;
}

/* 14. Impresión ----------------------------------------------------------- */
@media print {
  .elementor-widget:not(:last-child) {
    page-break-inside: avoid;
  }

  a[href]:after {
    content: none !important;
  }
}
