/**
Theme Name: Dex
Author: Rick Burbano
Author URI: https://rickburbano.online/
Description: Sitio web desarrollado para la empresa DEX, cliente de Agencia DA.
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dex
Template: astra
*/




/* ==========================================================================
   WhastApp Joinchat
========================================================================== */
.wp-block-joinchat-button{border:none!important;text-align:center}.wp-block-joinchat-button figure{display:table;margin:0 auto;padding:0}.wp-block-joinchat-button figcaption{font:normal normal 400 .6em/2em var(--wp--preset--font-family--system-font,sans-serif);margin:0;padding:0}.wp-block-joinchat-button .joinchat-button__qr{background-color:#fff;border:6px solid #25d366;border-radius:30px;box-sizing:content-box;display:block;height:200px;margin:auto;overflow:hidden;padding:10px;width:200px}.wp-block-joinchat-button .joinchat-button__qr canvas,.wp-block-joinchat-button .joinchat-button__qr img{display:block;margin:auto}.wp-block-joinchat-button .joinchat-button__link{align-items:center;background-color:#25d366;border:6px solid #25d366;border-radius:30px;display:inline-flex;flex-flow:row nowrap;justify-content:center;line-height:1.25em;margin:0 auto;text-decoration:none}.wp-block-joinchat-button .joinchat-button__link:before{background:transparent var(--joinchat-ico) no-repeat center;background-size:100%;content:"";display:block;height:1.5em;margin:-.75em .75em -.75em 0;width:1.5em}.wp-block-joinchat-button figure+.joinchat-button__link{margin-top:10px}@media (orientation:landscape)and (min-height:481px),(orientation:portrait)and (min-width:481px){.wp-block-joinchat-button.joinchat-button--qr-only figure+.joinchat-button__link{display:none}}@media (max-width:480px),(orientation:landscape)and (max-height:480px){.wp-block-joinchat-button figure{display:none}}

/* ==========================================================================
   Traducción / Language Switcher
========================================================================== */
.translation-block { font-weight: normal; }
.trp-ls-shortcode-language{ z-index: 9999 !important; }
.trp-ls-shortcode-language .trp-ls-disabled-language {}
.trp-language-switcher { height: 34px; width: auto; }
.trp-language-switcher > div {
  padding: 0; border: 0; border-radius: 0;
  background-position: calc(100% - 12px) calc(0.8em + 2px), calc(100% - 3px) calc(1em + 0px);
  background-size: 8px 8px, 8px 8px; max-height: 34px;
}
.trp-language-switcher > div > a {
  display: flex !important; padding: 10px 12px; border-radius: 0px;
  color: #777777 !important; font-style: normal; font-weight: 600; font-size: 0.9em;
  align-items: center !important; line-height: 1 !important; gap: 3px;
}
.trp-language-switcher > div > a:hover { color: #222222 !important; }

/* ==========================================================================
   Formularios (CF7 Grid)
========================================================================== */
.cf7-grid {
  display: grid;
  grid-template-columns:1.5fr 1fr;
  grid-auto-rows: minmax(48px, auto);
  gap: 10px;
}
.cf7-grid div input { line-height: auto !important; }
.cf7-grid .g-name-apellido {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; grid-column: 1;
}
.cf7-grid .g-name-apellido .g-name,
.cf7-grid .g-name-apellido .g-apellido { grid-column: auto; }
.cf7-grid .g-email, .cf7-grid .g-pais, .cf7-grid .g-compania{ grid-column:1; }
.cf7-grid .g-msg{ grid-column:2; grid-row:1 / span 4; }
.cf7-grid div p{ margin-bottom: 0; margin-block-end: 0 !important; }
.cf7-grid div input, .cf7-grid div textarea { border-radius: 0; box-shadow: none; border: 0; }
.cf7-grid div textarea { height: 214px; position: absolute; }
.cf7-grid .wpcf7-not-valid-tip{
  color:#fff !important; font-size:0.75em !important; font-weight:600 !important;
  display:inline-block; background:red; padding:2px 12px; border-radius:0 0 10px 10px;
}
.g-submit p { display:flex; }
.g-submit p input { background:#313d42; color:#fff; font-size:1em; padding:12px 10px; line-height:1; }
.g-submit p .icono { background:#a9a9a9; width:48px; display:flex; justify-content:center; line-height:1; }
.g-submit p .icono svg { width:8px; fill:#fff; }
.g-submit p .wpcf7-spinner { display:none; }
.cf7-grid .g-submit{ grid-column:1 / -1; justify-self:end; margin-top:-15px; }
.cf7-grid .g-submit input{ transition:0.5s; }
.cf7-grid .g-submit:hover input{ background:#ffffff; transition:0.5s; }
.cf7-grid .g-submit .icono{ margin-left:10px; }
.cf7-grid .wpcf7-form-control{ width:100%; }
.cf7-grid textarea{ height:100%; min-height:0; resize: vertical; }

/* ==========================================================================
   Idiomas puntuales / Ajustes tipográficos
========================================================================== */
:lang(de) .orbit-item h5 { width:160px !important; font-size:15px !important; }
:lang(de) .orbit-item:nth-child(8) h5 { margin-left:330px; }

/* ==========================================================================
   Sección “Somos” (Bloque 1)
========================================================================== */
#vision { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; }
#vision.items-2 .contenido-vision { max-width:49%; display:flex; }
#vision.items-3 .contenido-vision,
#vision.items-4 .contenido-vision,
#vision.items-5 .contenido-vision,
#vision.items-6 .contenido-vision { max-width:33%; display:flex; }
.contenido-vision:nth-child(2),
.contenido-vision:nth-child(3){ border-left:1px solid #ccc; padding-left:3em; }
#vision.items-3 .contenido-vision .image,
#vision.items-4 .contenido-vision .image,
#vision.items-5 .contenido-vision .image,
#vision.items-6 .contenido-vision .image { width:24%; }
#vision .image { width:20%; }
#vision .image img { max-width:100%; height:auto; display:block; }
#vision.items-3 .contenido-vision .informacion,
#vision.items-4 .contenido-vision .informacion,
#vision.items-5 .contenido-vision .informacion,
#vision.items-6 .contenido-vision .informacion { width:76%; margin-left:1.2em; }
#vision .informacion { text-align:left; margin-left:2em; width:80%; }
#vision .informacion h3{
  margin:0 0 10px; font-size:2em; color:#48d978; text-transform:uppercase; font-weight:600;
}
#vision .informacion p{
  font-size:1.1em; color:#283b32; line-height:1.3; max-width:88%;
}

/* ==========================================================================
   Sección “Somos” (Bloque 2 / Pilares)
========================================================================== */
#pilares-somos{ display:flex; flex-wrap:wrap; justify-content:center; gap:20px; }
#pilares-somos .contenido-vision{
  display:flex; flex-direction:column; align-items:start; box-sizing:border-box; padding:0; text-align:left;
}
#pilares-somos.items-4 .contenido-vision { max-width:23%; }
#pilares-somos.items-5 .contenido-vision { max-width:18%; }
#pilares-somos .image{ max-width:78px; }
#pilares-somos .image img{ max-width:100%; height:auto; display:block; }
#pilares-somos .informacion h3{ margin:20px 0 15px 0; font-size:1.1rem; text-transform:uppercase; }
#pilares-somos .informacion p{ font-size:0.95rem; color:#283b32; margin-bottom:0; }
#pilares-somos .contenido-vision:nth-child(n+2){ border-left:1px solid #ccc; padding-left:2em; }

/* ==========================================================================
   Error 404
========================================================================== */
.error404 .ast-container { max-width:100%; padding:0; }

/* ==========================================================================
   Footer (Redes / Direcciones / Menú)
========================================================================== */
.redes_footer{ padding:0; margin:0; }
.redes_footer li{ list-style:none; margin-bottom:6px; }
.redes_footer li a{ display:flex; align-content:middle; color:#ffffff; }
.redes_footer li a:hover{ color:#48d978; }
.redes_footer li a svg{ fill:#48d978; width:17px; margin-right:15px; }
.direcciones_footer{ color:#fff; display:flex; flex-wrap:wrap; gap:1.5em; }
.direcciones_footer div {}
.direcciones_footer div b{ font-size:1.3em; font-weight:600; display:block; margin-bottom:8px; }
.direcciones_footer div a{ color:#fff; }
.direcciones_footer div a:hover{ color:#48d978; }
.menu_footer .redes_icono{ display:flex; align-self:center; }
.menu_footer .redes_icono svg{ width:10px; margin-right:10px; padding-left:4px; }

/* ==========================================================================
   Reconocimientos
========================================================================== */
.reconocimientos-contenedor{
  display:grid; grid-template-columns:repeat(1, 1fr); gap:5em; justify-items:center;
}
.reconocimiento-item{ width:100%; max-width:250px; text-align:center; }
.reconocimiento-item img{ width:auto; height:200px; object-fit:contain; }
.reconocimiento-nombre{ font-weight:500; font-size:1.1em; line-height:1.1; margin-top:1em; }

/* ==========================================================================
   FAQs
========================================================================== */
.faq-accordion {}
.faq-question{
  width:100%; border-radius:0; text-align:left; background:none; border:none;
  font-size:1.2em !important; padding-bottom:12px; cursor:pointer; font-weight:600;
  text-transform:uppercase; border-bottom:1px solid #cdcdcd; line-height:1.1 !important;
}
.faq-answer{
  display:none; padding:1.5em; line-height:1.5em; background:#f5f5f5; margin-bottom:1.5em;
}
.faq-answer li{ margin-bottom:1em; }
.faq-answer a{ cursor:pointer !important; border-bottom:1px solid #48d978; padding-bottom:2px; color:#67768e; }
.faq-answer a:hover{ color:#48d978; }
.faq-question[aria-expanded="true"], .faq-question:hover{ color:#48d978; }
.faq-question[aria-expanded="true"] + .faq-answer{ display:block; }

/* ==========================================================================
   Header móvil específico por páginas
========================================================================== */
.page-id-2782 .ast-mobile-header-inline .ast-main-header-wrap,
.single .ast-mobile-header-inline .ast-main-header-wrap,
.page-id-2445 .ast-mobile-header-inline .ast-main-header-wrap,
.page-id-3 .ast-mobile-header-inline .ast-main-header-wrap {
  background: rgba(49,61,66,0.93);
}

/* ==========================================================================
   Galería de Proyectos (página 526)
========================================================================== */
.page-id-526 .galeria-arrow{ top:93%; }
.page-id-526 .galeria-item{ position:relative; }
.page-id-526 .usos--galeria{
  position:relative; width:100%; overflow:hidden; height:100%;
}
#contenedor_egaleria .elementor-widget-shortcode,
#contenedor_egaleria .elementor-shortcode,
#contenedor_egaleria .galeria-slider,
#contenedor_egaleria .galeria-item { height:100%; }
.page-id-526 .galeria-item img{ width:100%; height:100%; display:block; }
.galeria-item .zoom-icon{
  width:34px; height:34px; position:absolute; bottom:20px; right:18px;
  opacity:0.85; transition:0.5s;
}
.galeria-item .zoom-icon:hover{ opacity:1; transition:0.5s; }
.galeria-item .zoom-icon img {}

/* ==========================================================================
   Sticky Header (Astra)
========================================================================== */
.ast-header-sticked .ast-mobile-header-wrap .ast-primary-header-bar,
.ast-header-sticked .ast-primary-header-bar .site-primary-header-wrap { min-height:108px; }
.ast-header-sticked .ast-desktop .ast-menu-hover-style-underline > .menu-item > .menu-link::before { bottom:4px; }
.ast-sticky-above-shrink .ast-sticky-shrunk .site-logo-img img{
  max-height:75px !important; width:auto; object-fit:contain; margin-top:-12px;
}

/* ==========================================================================
   Home: Pilares / Listas / Marcas en marquesina
========================================================================== */
.pilares_home_1{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; }
.items_pilares_1{
  flex:1 1 calc(33.333% - 80px); box-sizing:border-box; padding:20px 40px;
}
.items_pilares_1:nth-child(2),
.items_pilares_1:nth-child(5){ border-left:1px solid #c5c5c5; border-right:1px solid #c5c5c5; }
.items_pilares_1 img{ object-fit:contain; height:75px; width:75px; margin-bottom:1.5em; }
.contenido_pilares_1 {}
.contenido_pilares_1 h3{ font-size:1.2em; text-transform:uppercase; line-height:1.1em; }
.contenido_pilares_1 p{ color:#00170D; margin-bottom:0; }

.listing_home ul{ margin:0; padding:0; }
.listing_home li{
  color:#00170D; font-size:1.1em; margin-bottom:1.2em; list-style:none; display:flex; gap:1em;
}
.listing_home li span{
  background:#48d978; color:#fff; width:30px; height:30px; border-radius:50%;
  font-weight:600; display:flex; justify-content:center; align-items:center;
}

.marquesina-logos-wrapper{
  overflow:hidden; white-space:nowrap; position:relative; display:flex; align-items:center;
}
.marquesina-logos{ display:flex; gap:0 70px; align-items:end; animation:scrollMarquee 60s linear infinite; }
.marquesina-logos:hover{ animation-play-state:paused; }
.logo-item{ flex-shrink:0; width:140px; }
.logo-item img{ max-width:100%; height:auto; display:block; filter:grayscale(100%); transition:all 0.3s ease; }
.logo-item img:hover{ filter:grayscale(0); transform:scale(1.1); }
@keyframes scrollMarquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ==========================================================================
   Barra superior / Botones / Menú (Astra)
========================================================================== */
.ast-above-header-wrap{ background:#313D42; }
.ast-header-button-1 .ast-custom-button{ padding:8px 18px !important; }
.ast-custom-button::before{
  content: "."; background:url(https://dexfloor.com/wp-content/uploads/2025/01/ctc.png);
  width:18px; height:18px; color:transparent; background-size:contain; background-position:center left; background-repeat:no-repeat;
  margin-right:10px; display:inline-flex; justify-items:center;
}
/* Menú */
.main-header-menu > .menu-item > .menu-link, #astra-footer-menu > .menu-item > .menu-link{ height:78px; }
.ast-desktop .ast-menu-hover-style-underline > .menu-item > .menu-link::before{ height:2px; }
.ast-primary-header-bar  .ast-builder-grid-row > .site-header-section{ align-items:end; }
.ast-site-identity{ padding:0; }
.ast-main-header-wrap{ border-bottom:1px solid #ababab; }
.ast-primary-header-bar .ast-builder-grid-row{ margin-bottom:-32px; }
.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close{
  background:transparent; border:1px solid; font-size:14px; line-height:1; padding:5px; color:inherit;
  -js-display:flex; display:flex; box-shadow:none; width:30px; height:30px; margin-right:15px; margin-top:15px;
}

/* Scroll-to-top */
#ast-scroll-top{
  background-color:#48d978; font-size:15px; border-radius:50px; width:40px; height:40px; line-height:2.6;
}

/* ==========================================================================
   Tipografía / Botones destacados
========================================================================== */
h1 b { font-weight:800; color:#48D978; }
#tit_trabajo b{ color:#48D978; font-weight:800; }

#btn_dex .elementor-button-text{ background:#fff; padding:12px 16px; }
#btn_dex .elementor-button-icon{ background:#48D978; font-size:0.8em; display:flex; width:35px; justify-content:center; }
#btn_dex a .elementor-button-icon svg path{ transition:0.25s; }
#btn_dex a:hover .elementor-button-icon svg path{ stroke:#ffffff !important; transition:0.25s; }

.b_verde p b, .b_verde p strong{ color:#48D978; }

#data_industrial .elementor-counter-title{ flex-direction:column; line-height:1.2; margin-top:0.5em; }
#data_industrial .elementor-counter-title b{ color:#ffffff; line-height:1; }

/* Triángulos decorativos */
.triangulo::before, .triangulo::after{ content:""; position:absolute; width:0; height:0; border-style:solid; }
.triangulo::before{ top:0; left:0; border-width:200px 200px 0 0; border-color:white transparent transparent transparent; }
.triangulo::after{ bottom:0; right:0; border-width:0 0 200px 200px; border-color:transparent transparent #ffffff transparent; }

/* Botón negro */
#btn_negro .elementor-button-text{ background:#313D42; padding:12px 16px; }
#btn_negro .elementor-button-icon{ background:#48D978; font-size:0.8em; display:flex; width:35px; justify-content:center; }
#btn_negro .elementor-button-icon{ background:#A9A9A9 !important; }
#btn_negro a .elementor-button-icon svg path{ transition:0.25s; stroke:#fff !important; }
#btn_negro a:hover .elementor-button-icon svg path{ stroke:#313D42 !important; transition:0.25s; }

/* Botón verde */
#btn_verde .elementor-button-text{ background:#48D978; padding:12px 16px; }
#btn_verde .elementor-button-icon{ background:#48D978; font-size:0.8em; display:flex; width:35px; justify-content:center; }
#btn_verde .elementor-button-icon{ background:#313D42 !important; }
#btn_verde a .elementor-button-icon svg path{ transition:0.25s; stroke:#fff !important; }
#btn_verde a:hover .elementor-button-icon svg path{ stroke:#48D978 !important; transition:0.25s; }

/* ==========================================================================
   Formulario Footer (Elementor)
========================================================================== */
#form_footer .elementor-form-fields-wrapper{ align-items:flex-start; }
#form_footer .elementor-field-group-mensaje{ position:absolute; right:0; }
#form_footer .elementor-field-group-mensaje textarea{ min-height:190px; height:100%; padding:10px 16px; }
#form_footer .elementor-field-type-submit {}
#form_footer .elementor-field-type-submit button{ margin:0; padding:0; }
/* Botón del form footer */
#form_footer .elementor-button-text{ background:#313D42; padding:12px 16px; }
#form_footer .elementor-button-icon{
  background:#48D978; font-size:0.8em; display:flex; width:35px; justify-content:center;
}
#form_footer .elementor-button-icon{ background:#A9A9A9 !important; height:39px; display:flex; align-items:center; }
#form_footer .elementor-button-icon svg path{ transition:0.25s; stroke:#fff !important; }
#form_footer .elementor-button-icon:hover svg path{ stroke:#313D42 !important; transition:0.25s; }

/* ==========================================================================
   Productos: detalle (cabeceras y etiquetas por idioma)
========================================================================== */
#detail_data .elementor-heading-title{ border:1px solid; padding:6px; }
#detail_data .elementor-heading-title span{ color:#313D42; }
#detail_data .elementor-heading-title::before{
  color:#313D42; font-size:12px; font-weight:500; display:block; position:absolute; top:-18px; width:100%; margin-left:-6px;
}

/* ES */
html:lang(es) #detail_data .palmeta .elementor-heading-title::before{ content:"Peso Palmeta:"; }
html:lang(es) #detail_data .porpeso .elementor-heading-title::before{ content:"Peso x m2:"; }
html:lang(es) #detail_data .material .elementor-heading-title::before{ content:"Material:"; }
html:lang(es) #detail_data .dimensiones .elementor-heading-title::before{ content:"Dimensiones:"; }
/* EN */
html:lang(en) #detail_data .palmeta .elementor-heading-title::before{ content:"Tile Weight:"; }
html:lang(en) #detail_data .porpeso .elementor-heading-title::before{ content:"Weight per m²:"; }
html:lang(en) #detail_data .material .elementor-heading-title::before{ content:"Material:"; }
html:lang(en) #detail_data .dimensiones .elementor-heading-title::before{ content:"Dimensions:"; }
/* DE */
html:lang(de) #detail_data .palmeta .elementor-heading-title::before{ content:"Gewicht Platte:"; }
html:lang(de) #detail_data .porpeso .elementor-heading-title::before{ content:"Gewicht pro m²:"; }
html:lang(de) #detail_data .material .elementor-heading-title::before{ content:"Material:"; }
html:lang(de) #detail_data .dimensiones .elementor-heading-title::before{ content:"Masse:"; }
html:lang(de) #detail_data .elementor-heading-title::before{ font-size:11px; }
html:lang(de) .tabs-nav-usos{ justify-content:start; }

/* Extras de productos */
.resiste_hasta .elementor-widget-container::after{
  content:"."; width:175px; height:3px; font-size:0; background:#48D978; position:absolute; left:0; right:0; margin:0 auto; bottom:-1px;
}
.tons .elementor-heading-title::after{
  content:"ton/m2"; color:#A9A9A9; font-size:18px; display:block; margin-top:8px;
}
:lang(de) .tons .elementor-heading-title::after{ content:"t/m2"; }

/* ==========================================================================
   Proyectos
========================================================================== */
#proy_info1 {}
#proy_info1 .elementor-heading-title{
  border:1px solid #cdcdcd; background:#fff; font-weight:500; font-size:0.9em;
}
#proy_info1 .elementor-heading-title span{
  background:#48D978; color:#fff; padding:10px; text-transform:uppercase; font-weight:600; display:inline-flex; width:100px; margin-right:12px;
}
.proyecto_logo .elementor-widget-container::before{
  content:"MODELO"; font-weight:500; position:absolute; left:0; padding:0px; top:-5px;
}
html[lang="en-US"] .proyecto_logo .elementor-widget-container::before{ content:"MODEL"; }
html[lang="de-DE"] .proyecto_logo .elementor-widget-container::before{ content:"MODELL"; }
#proy_info2 .elementor-heading-title{
  border:1px solid #cdcdcd; background:#fff; font-weight:500; font-size:1.25em; display:inline-flex; align-items:center; width:100%;
}
#proy_info2 .elementor-heading-title span{
  background:#00170D; color:#fff; padding:10px; text-transform:uppercase; font-weight:600; display:inline-flex; width:145px; margin-right:12px; font-size:13px;
}
sup { font-size:12px; }
.galeria_proyectos .pp-image-slider-thumb-item {}

/* ==========================================================================
   Línea de tiempo
========================================================================== */
.timeline-container{ display:flex; align-items:baseline; position:relative; overflow:hidden; }
.timeline-wrapper{ overflow:hidden; flex:1; }
.timeline{ display:flex; transition:transform 0.3s ease; }
.timeline-item{ flex:0 0 33%; text-align:center; box-sizing:border-box; }
.cont--timeline{ margin:2em 0; }
.cont--timeline{ background:#a8a8a8; position:relative; left:0; right:0; height:14px; }
.timeline-marker{
  width:25px; height:25px; background:#48d876; border-radius:50%; margin:0 auto; z-index:5; border:4px solid #fff; margin-top:-5px; position:absolute; left:0; right:0;
}
.timeline-details{ display:flex; flex-wrap:wrap; flex-direction:column; }
.timeline-date{ color:#313D42; text-transform:uppercase; font-weight:600; font-size:1.1em; }
.timeline-year{ color:#48d876; font-size:3em; font-weight:800; }
.timeline-description{
  color:#00170D; margin-top:1em !important; font-weight:300; max-width:60%; margin:auto; line-height:1.4 !important;
}
.timeline-container button{ background:#48d876; width:40px; height:40px; padding:0; }
.timeline-content{ margin-top:10px; }
.timeline-image{ max-width:100%; height:auto; padding:0 1em; }
.timeline-arrow{ background:#003598; color:#fff; border:none; padding:10px; cursor:pointer; }
.timeline-arrow.left-arrow{ margin-right:10px; }
.timeline-arrow.right-arrow{ margin-left:10px; }

/* ==========================================================================
   Aplicaciones y Usos (tabs + galería)
========================================================================== */
.tabs-container-usos{ width:100%; display:flex; flex-direction:column; }
.usos-main{ display:flex; align-items:center; background:#F2F2F2; }

.tabs-nav-wrapper-usos{ display:flex; align-items:center; overflow:hidden; position:relative; }
.tabs-wrapper-usos{ overflow:hidden; flex:1; padding:0 20px; }
.tabs-nav-usos{
  display:flex; gap:0.35rem; transition:transform 0.3s ease; white-space:nowrap; justify-content:center; margin:0 auto;
}
.tab-title-usos{
  padding:10px 15px; background-color:#f2f2f2 !important; margin-right:5px; cursor:pointer; font-size:0.9em; font-weight:500; text-transform:uppercase;
  color:#858585; border-radius:0; height:50px; text-align:center; padding-right:25px;
  background-image:url("https://dexfloor.com/wp-content/uploads/2025/01/esquina_top_derecha_blanco.png");
  --background-overlay:''; background-position:top right; background-repeat:no-repeat; background-size:30px auto; transition:0.5s;
}
.tab-title-usos:hover, .tab-title-usos.active{ background-color:#48D978 !important; color:#fff; font-weight:600; transition:0.5s; }
.nav-arrow-usos{
  cursor:pointer; font-size:16px; background:transparent; color:#aeaeae !important; border:1px solid #404040; width:30px; height:30px; line-height:1; padding:0;
}
.nav-arrow-usos:hover{ background:#48d978 !important; border:1px solid #fff !important; color:#fff !important; }
.nav-arrow-usos:disabled{ opacity:0.5; cursor:not-allowed; }

.tabs-content-usos{ margin-top:20px; }
.tab-title-usos span{ text-align:center; }
.tab-content-usos{ display:none; animation:fadeIn 0.3s ease-in-out; }
.tab-content-usos.active{ display:block; }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }

.usos--info{ width:56%; padding:2em 3.5em; }
.info---bloques{ display:flex; gap:0 2em; flex-wrap:wrap; justify-content:space-between; position:relative; }
.bloque-item{ display:flex; align-items:flex-start; gap:15px; width:44.5%; flex-wrap:wrap; }
.bloque-icono{ width:13%; }
.bloque-icono img{ width:50px; height:50px; object-fit:contain; }
.usos--info h2{ text-transform:uppercase; color:#313D42; font-size:1.5em; margin-bottom:1em; }
.usos--info h2 br{ display:none; }
.info--content p{ color:#A9A9A9; line-height:1.2; font-weight:500; font-size:1em; margin-bottom:1.5em; }
.bloque-info{ width:80%; }
.bloque-item:nth-child(1), .bloque-item:nth-child(2){ border-bottom:1px solid #707070; padding-bottom:1em; margin-bottom:1em; }
.info---bloques::before{ background:#707070; width:1px; height:100%; content:"."; font-size:0; position:absolute; left:50%; }
.bloque-info h3{ font-size:1em; color:#313D42; text-transform:uppercase; line-height:1.4; margin-bottom:0; }
.bloque-info p{ color:#00170D; margin:5px 0 0 0; font-size:0.85em; font-weight:300; line-height:1.3; }

/* Galería usos */
.usos--galeria{ position:relative; width:44%; overflow:hidden; }
.galeria-slider{ display:flex; transition:transform 0.5s ease; }
.galeria-item{ flex:0 0 100%; text-align:center; }
.galeria-item img{ width:100%; height:auto; display:block; }
.galeria-arrow{
  position:absolute; top:92%; transform:translateY(-50%); background-color:rgba(0,0,0,0.5);
  color:#fff; border:none; border-radius:50%; width:30px; height:30px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:10; transition:background-color 0.3s; background:none; padding:0; font-size:30px;
}
.galeria-arrow:hover{ background-color:transparent !important; color:#48d978 !important; }
.galeria-arrow.left{ left:28%; }
.galeria-arrow.right{ right:28%; }
.galeria-pagination{ position:absolute; bottom:26px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:10; }
.galeria-bullet{ width:12px; height:12px; background-color:#fff; border-radius:50%; cursor:pointer; transition:background-color 0.3s; }
.galeria-bullet:hover, .galeria-bullet.active{ background-color:#48d978; }
.galeria-bullet:hover{ background-color:rgba(255,255,255,0.8); }

/* ==========================================================================
   MEDIA QUERIES (consolidadas; orden preserva precedencia original)
   Orden original encontrado: 768px → 533px → 920px → 767px → 544px
========================================================================== */

/* === max-width: 768px === */
@media (max-width: 768px){
  .cf7-grid{ grid-template-columns:1fr; grid-auto-rows:auto; }
  .cf7-grid .g-name-apellido{ grid-template-columns:1fr; }
  .cf7-grid .g-msg{ grid-row:auto; grid-column:auto; height:auto; }
  .cf7-grid .g-submit{ grid-column:auto; justify-self:stretch; }

  .timeline-item{ flex:0 0 50%; text-align:center; box-sizing:border-box; }
}

/* === max-width: 533px === */
@media (max-width: 533px){
  #vision{ padding:20px 0; }
  #vision .contenido-vision{ max-width:100% !important; flex-direction:column; gap:5px; }
  #vision .image{ width:60px; }
  #vision .informacion{ text-align:left; margin-left:0; width:100%; }
  #vision .informacion h3{ font-size:1.6em; font-weight:700; }
  .contenido-vision:nth-child(2), .contenido-vision:nth-child(3),
  .contenido-vision:nth-child(4), .contenido-vision:nth-child(5){
    border-top:1px solid #ccc; padding-top:1.5em; border-left:0; padding-left:0;
  }
  #pilares-somos .contenido-vision{
    max-width:100% !important; border-left:0 !important; padding-left:0 !important;
    margin-top:1em; padding-top:1.5em;
  }
.cf7-grid .g-msg {
	min-height: 135px; margin-top: -20px;
}
.cf7-grid div textarea {
	height: 120px; position: relative !important;
}
}

/* === max-width: 920px === */
@media (max-width: 920px){
  .ast-primary-header-bar .ast-builder-grid-row > .site-header-section{ align-items:center; }
}

/* === max-width: 767px === */
@media (max-width: 767px){
  #form_footer .elementor-field-group-mensaje{ position:relative; right:auto; }
  #form_footer .elementor-field-group-mensaje textarea{ min-height:auto; }
  .ast-custom-button::before{ width:12px; height:12px; margin-right:6px; }
  .ast-header-button-1 .ast-custom-button{ padding:8px 10px !important; }
  .ast-builder-grid-row{ grid-column-gap:10px; }

  .reconocimientos-contenedor{ grid-template-columns:repeat(2, 1fr); gap:2em; }
  .reconocimiento-item img{ height:150px; }

  #ast-mobile-header .ast-primary-header-bar .ast-builder-grid-row{ margin-bottom:0px; }
  .ast-header-break-point #masthead .ast-primary-header-bar.main-header-bar{
    padding-top:0px; padding-bottom:0px; padding-left:20px; padding-right:20px;
    margin-top:0px; margin-bottom:10px; margin-left:0; margin-right:0;
  }
  [data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle{ margin-top:-28px; }
  #ast-fixed-header .main-header-bar{ margin-bottom:0 !important; }

  #form_footer .elementor-form-fields-wrapper{ display:flex; }
  #form_footer .elementor-field-group-nombre{ order:1; }
  #form_footer .elementor-field-group-email{ order:2; }
  #form_footer .elementor-field-group-empresa{ order:3; }
  #form_footer .elementor-field-group-mensaje{ order:4; }
  #form_footer .elementor-field-type-submit{ order:5; }

  .pilares_home_1{ gap:0; }
  .items_pilares_1{ flex:1 1 100%; padding:30px 20px; }
  .items_pilares_1 img{ height:60px; width:60px; margin-bottom:1em; }
  .contenido_pilares_1 h3{ margin-bottom:0.75em; }

  #form_footer .elementor-field-group-empresa{ left:0; top:0; }
  #form_footer .elementor-field-group-email{ top:0; }
  #form_footer .elementor-field-type-submit{ top:0; }

  .triangulo::after{ border-width:0 0 90px 90px; }
  .triangulo::before{ border-width:90px 90px 0 0; }

  .usos-main{ flex-flow:column; }
  .usos--info{ width:100%; padding:2em 3.5em; }
  .usos--galeria{ position:relative; width:100%; overflow:hidden; }
}

/* === max-width: 544px === */
@media (max-width: 544px){
  #contenedor_egaleria .galeria-item{ min-height:250px; }
  .page-id-526 .galeria-arrow{ top:92%; }
  .galeria-arrow.left{ left:22%; }
  .galeria-arrow.right{ right:22%; }

  #masthead .site-logo-img .astra-logo-svg,
  .ast-header-break-point #ast-fixed-header .site-logo-img .custom-logo-link img{ margin-top:4px; margin-bottom:-4px; }
  .ast-header-sticked .ast-mobile-header-wrap .ast-primary-header-bar,
  .ast-header-sticked .ast-primary-header-bar .site-primary-header-wrap{ min-height:70px; }

  .marquesina-logos{ display:flex; gap:0 20px; }
  .logo-item{ flex-shrink:0; width:110px; }

  .timeline-item{ flex:0 0 100%; }
  .timeline-year{ font-size:2.2em; }
  .timeline-description{ max-width:100%; }

  #ast-fixed-header .main-header-bar{ margin-bottom:0 !important; }
  .ast-header-break-point #masthead .ast-primary-header-bar.main-header-bar{
    padding-top:0px; padding-bottom:0px; padding-left:20px; padding-right:20px;
    margin-top:0px; margin-bottom:0px; margin-left:0; margin-right:0;
  }
  [data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle{ margin-top:0px; }
  .ast-builder-layout-element .ast-site-identity{ margin-top:0px; }

  .info_socios .elementor-image-box-content .elementor-image-box-title{ display:none; }
  .info_socios .elementor-image-box-content .elementor-image-box-description{ color:#48D978 !important; margin-top:0.65em; }

  .no_br_mobile br{ display:none; }

  .items_pilares_1:nth-child(2), .items_pilares_1:nth-child(5){
    border-top:1px solid #c5c5c5; border-bottom:1px solid #c5c5c5; border-left:0; border-right:0;
  }

  .bloque-icono{ width:22%; }
  .bloque-info{ width:100%; }
  .usos--info{ padding:1.5em; }
  .bloque-item{ gap:8px; flex-wrap:no-wrap; flex-flow:column; }

  .galeria-pagination{ bottom:14px; }
  .galeria-bullet{ width:10px; height:10px; }
  .galeria-arrow{ top:93%; font-size:22px; }
  .usos--info h2{ font-size:1.3em; margin-bottom:0.7em; }

  .modalidades .elementor-image-box-wrapper{ display:flex; flex-wrap:nowrap; }
  .modalidades figure{ width:20% !important; margin:auto !important; padding-right:1em; margin-top:5px !important; }

  .elementor-open-inline .elementor-video { }
  .faq-answer{
    font-size:0.9em !important; padding:1em; line-height:1.25em; background:#f5f5f5; margin-bottom:1.2em;
  }
}
