/*
Theme Name: SJ EQUIPOS INDUSTRIALES
Theme URI: http://wordpress.org/
Description: SJ EQUIPO INSDUSTRIALES - SANTOLIQUIDO
Author: Babrick estudio
Author URI: http://santoliquido.com
Version: 1.0.1

*/

/* ============================================
   DESIGN TOKENS - Fundamentos de diseño
   ============================================ */

:root {
  /* === COLORES (Sistema nuevo desde Figma) === */
  --color-primary: #1f3a54; /* Azul oscuro principal */
  --color-secondary: #383838; /* Gris oscuro */
  --color-safety: #ffb400; /* Amarillo seguridad/destacado */
  --color-accent: #e5525d; /* Rojo/rosa acento */
  --color-white: #ffffff;
  --color-light-grey: #f5f5f5;
  --color-border-grey: #e5e5e5;
  --color-mid-grey: #a3a3a3;

  /* Marca de terceros */
  --color-whatsapp: #25d366;
  --color-whatsapp-hover: #1ebe5a;

  /* Colores de texto */
  --color-text-primary: #373737;
  --color-text-secondary: #666666;
  --color-text-disabled: #999999;

  /* === TIPOGRAFÍA === */
  --font-primary: "Inter", sans-serif;
  --font-legacy:
    "Kanit", sans-serif; /* Fuente original, mantener por compatibilidad */

  /* === ESCALA TIPOGRÁFICA === */
  /* Heading 1 */
  --text-h1: 60px;
  --lh-h1: 64px;
  --fw-h1: 800;

  /* Heading 2 */
  --text-h2: 48px;
  --lh-h2: 56px;
  --fw-h2: 800;

  /* Heading 3 */
  --text-h3: 36px;
  --lh-h3: 40px;
  --fw-h3: 700;

  /* Heading 4 */
  --text-h4: 30px;
  --lh-h4: 40px;
  --fw-h4: 700;

  /* Heading 5 */
  --text-h5: 24px;
  --lh-h5: 32px;
  --fw-h5: 600;

  /* Heading 6 */
  --text-h6: 20px;
  --lh-h6: 24px;
  --fw-h6: 600;

  /* Body Large */
  --text-body-lg: 18px;
  --lh-body-lg: 32px;

  /* Body Regular */
  --text-body: 16px;
  --lh-body: 24px;

  /* Body Small */
  --text-body-sm: 14px;
  --lh-body-sm: 24px;

  /* Label/XS */
  --text-label: 12px;
  --lh-label: 16px;
  --fw-label: 700;

  /* === ESPACIADO === */
  --spacing-xs: 8px;
  --spacing-sm: 12px;
  --spacing-md: 20px;
  --spacing-lg: 30px;
  --spacing-xl: 40px;
  --spacing-2xl: 50px;
  --spacing-3xl: 60px;

  /* === BORDER RADIUS === */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 50%;

  /* === SOMBRAS === */
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 8px 20px rgba(0, 0, 0, 0.15);

  /* === TRANSICIONES === */
  --transition-fast: 0.15s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;

  /* === LAYOUT === */
  --max-width-content: 1024px;
  --max-width-wide: 1200px;

  /* === ÍCONOS (para usar con mask-image + background-color: currentColor) === */
  --icon-chevron-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-size: 24px;
}

/* ============================================
   UTILIDADES
   ============================================ */

/* Texto solo para lectores de pantalla (clase estándar de WordPress). */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/*
 * font-family: 'Kanit', sans-serif;
 */

/* General Styles */

* {
  margin: 0;
  font-family: "Kanit", sans-serif;
}

body {
  height: 100%;
}

h1 {
  color: #cf646a;
  font-size: 28px;
  text-align: center;
  font-weight: 400;
  line-height: 1em;
  padding: 0;
  margin: 0;
  margin-bottom: 30px;
  letter-spacing: 0.1em;
  display: block;
}

h2 {
  color: #fd6c37;
  font-size: 35px;
  text-align: right;
  font-weight: 300;
  padding: 0;
  margin: 0;
  padding-bottom: 20px;
  padding-right: 120px;
}

p {
  color: #373737;
  text-align: center;
  font-weight: 300;
  padding: 10px 0;
  line-height: 1.8em;
}

.extract {
  color: #373737;
  text-align: center;
  font-weight: 300;
  padding: 10px 0;
  line-height: 1.8em;
}

.content {
  width: 100%;
  max-width: 1024px;
  margin: auto;
}

section {
  margin-bottom: 50px;
}

.img-responsive {
  width: 100%;
  height: auto;
  color: #c46267;
}

img {
  max-width: 100%;
  height: auto;
}

.date {
  width: 100%;
  display: block;
  font-size: 14px;
  margin-top: 5px;
}

.date ul {
  list-style: none;
  display: inline-block;
  margin: 0;
  padding: 0;
}

.date ul a {
  text-decoration: none;
  color: #c46267;
  margin: 0;
  padding: 0;
}

/***** HEADER *****/

.informacion {
  width: 100%;
  padding: 10px 0;
  color: #778;
  position: fixed;
  background-color: white;
  z-index: 600;
  /* flex */
  display: flex;
  justify-content: center;
}

.informacion .content span {
  font-size: 12px;
}

.informacion .content span i {
  margin-right: 5px;
}

.phone,
.mail,
.locacion,
.informacion .instagram {
  float: left;
  margin-right: 25px;
}

.informacion .instagram a {
  color: inherit;
  text-decoration: none;
}

header {
  width: 100%;
  height: 100px;
  background-color: #253852;
  position: fixed;
  z-index: 600;
  margin-top: 40px;

  /* Flex */
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}

.area-nav {
  width: 80%;
  height: 100%;

  /* Flex */
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
}

.logo {
  width: 270px;
  height: 100px;
  background: url(img/sjei_1.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 14px;
}

.menu {
  background-color: white;
  width: 80%;
  height: 100%;
  height: 100%;

  /* Flex */
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

nav {
  margin-left: 100px;
}

nav a {
  text-decoration: none;
  color: #5d5d5d;
  padding: 0 15px;
  position: relative;
  padding-bottom: 20px;
}

nav a.link-principal:before {
  content: "";
  position: absolute;
  display: block;
  width: 0%;
  height: 3px;
  left: 37%;
  right: 0;
  bottom: 5px;
  background: #cf646a;
  transition: all 0.3s;
}

nav a.link-principal:hover {
  color: #253852;
}

nav a.link-principal:hover:before {
  width: 20%;
  left: 37%;
}

/***** FOOTER *****/

footer {
  width: 100%;
  margin-top: 10px;
  max-height: 400px;
  background: #383838;
  display: block;
  padding: 50px 0;
}

#canvas {
  width: 100%;
  max-height: 400px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  background: #383838;
}

.canvas-wrap {
  position: relative;
}
div.canvas-content {
  position: relative;
  z-index: 2000;
  text-align: center;
  padding-top: 30px;
}

.content-footer {
  margin-top: 20px;
  left: 0;
  right: 0;
  /* Flex */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
}

.fila {
  width: 100%;
  /* Flex */
  display: flex;
  justify-content: center;
  align-items: flex-start;
  align-content: center;
}

.footer-bottom {
  width: 100%;
  margin-top: 50px;
  /* Flex */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
}

ul.site-menu {
  list-style: none;
  margin: 0;
  padding: 0 20px 0 0;
}

ul.site-menu h4 {
  text-align: left;
  font-size: 20px;
  color: white;
}

ul.site-menu li {
  position: relative;
  padding: 4px 0;
}

ul.site-menu li a {
  display: block;
  text-decoration: none;
  color: white;
  font-size: 14px;
}
.content-footer .item-footer {
  width: 100%;
  margin-left: 40px;
  margin-top: 20px;

  /* Flex */
  display: flex;
  flex-direction: column;
}

.item-footer h5 {
  font-weight: 400;
  color: white;
}

.ubicacion span {
  margin: 0 auto;
  display: block;
  margin-bottom: 10px;
  width: 20px;
  float: left;
  margin-right: 20px;
}

.contacto span {
  margin: 0 auto;
  margin-bottom: 10px;
  display: block;
  width: 20px;
  float: left;
  margin-right: 20px;
}

.ubicacion {
  margin-bottom: 15px;
}

.ubicacion,
.contacto {
  width: 300px;
}

.ubicacion h4,
.contacto h4,
.contacto a {
  color: white;
  font-size: 1em;
  font-weight: 400;
  text-align: left;
}

.contacto a:hover {
  opacity: 0.5 !important;
  color: white !important;
  text-decoration: none !important;
}

.boton-suscripcion {
  width: 45%;
  padding-bottom: 15px;
  border-bottom: 1px solid white;
  margin: 0 auto;
  margin-bottom: 15px;
}

.boton-suscripcion h4 {
  text-align: center;
}

.legales h5 {
  color: white;
  font-weight: 400;
  text-align: center;
}

.link-footer a {
  text-decoration: none;
  color: white;
}

.logo-footer {
  width: 195px;
  height: 84px;
  position: absolute;
  right: 5%;
  top: 110px;
}

/***** HOME *****/

.icon-flecha {
  margin-top: 50px;
  width: 120px;
  transition: all ease 0.5s;
}

.icon-flecha:hover polyline {
  stroke: #cf646a;
  stroke-width: 7;
}

.container-flex {
  width: 100%;
  max-width: 1024px;
  margin: auto;
  margin-top: 100px;

  /* Flex */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.item {
  max-width: 300px;
  height: 500px;
  position: relative;
  overflow: hidden;
}

.item2 {
  max-width: 300px;
  height: 418px;
  position: relative;
  overflow: hidden;
  margin-left: 20px;
  margin-bottom: 20px;
}

.item-3 {
  max-width: 300px;
  height: 310px;
  position: relative;
  overflow: hidden;
}

.item2 img {
  width: 100%;
}

.detail {
  background: #253852;
  width: 100%;
  position: absolute;
  padding: 20px 0;
  top: 0px;
  opacity: 0.9;

  -webkit-transition: 0.4s all ease-in-out;
}

/* .item:hover .detail{
  -webkit-transform: translateY(70px)
} */

.detail h3 {
  font-weight: 500;
  color: white;
  text-align: center;
}

.icono-mas {
  opacity: 0.6;
  width: 70px;
  height: 70px;
  position: absolute;
  bottom: -100px;
  left: 37%;

  -webkit-transition: 0.4s all ease-in-out;
}

.item2:hover .icono-mas {
  -webkit-transform: translateY(-350%);
}

/* Botón Sigle de equipos */

.container-flex a {
  text-decoration: none;
}

.svg-wrapper {
  transform: translateY(-50%);
  margin: 0 auto;
  width: 320px;
}

.shape {
  stroke-dasharray: 140 540;
  stroke-dashoffset: -474;
  stroke-width: 8px;
  fill: transparent;
  stroke: #253852;
  border-bottom: 4px solid #253852;
  transition:
    stroke-width 1s,
    stroke-dashoffset 1s,
    stroke-dasharray 1s;
}
.text {
  font-size: 18px;
  line-height: 32px;
  letter-spacing: 1px;
  color: #253852;
  top: -49px;
  left: 0%;
  right: 0%;
  position: relative;
  text-align: center;
}
.svg-wrapper:hover .shape {
  stroke-width: 4px;
  stroke-dashoffset: 0;
  stroke-dasharray: 760;
}

/**** Video ****/

.video {
  width: 100% !important;
  height: auto !important;
  padding-top: 100px;
  margin-bottom: 130px;
  text-align: center;
  position: relative;
}

video {
  width: 100% !important;
  height: auto !important;
}

.titulo-page {
  width: 40% !important;
  height: auto !important;
  top: 62%;
  left: 30%;
  position: absolute;
  z-index: 500;
}

/***** SERVICIOS *****/

.servicios {
  width: 100%;
  background: url(img/fondo1-servicios.jpg);
}

.servicios-container {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding-top: 180px;

  /* Flex */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.servicios-container .item-3 {
  width: 150px;
  margin-left: 50px;
}

.servicios-container .item-3:first-child {
  margin-left: 0;
}

.servicios-container .item-3 p {
  color: white;
  text-align: left;
  font-size: 15px;
  padding-left: 5px;
}

.mas-servicios {
  width: 100%;

  /* Flex */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.mas-servicios .content-servicios {
  width: 940px;
  background: #cf646a;
}

.mas-servicios .content-servicios p {
  color: white;
  padding: 50px 50px;
  font-size: 18px;
  text-align: center;
}

.servicios-translados {
  width: 100%;
  background: #e5e5e5;
  padding-top: 150px;
  border-top: solid 1px #a3a3a3;
}

.translados {
  width: 100%;
  text-align: center;
  vertical-align: center;

  /* Flex */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.translados .item {
  height: auto;
}

.translados .item p {
  text-align: center;
  color: #a3a3a3;
  text-transform: uppercase;
  font-size: 18px;
}

/***** EQUIPOS *****/

section.equipos {
  width: 100%;
  height: 240px;
  background: url(img/back-equipos.jpg);
  padding-top: 100px;
  margin-bottom: 0px;

  /* Flex */
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
}

section.container-equipos {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  margin-top: -120px;
}

.item-principal {
  width: 100%;
  max-width: 958px;
  height: auto;
  margin: 0 auto;
} /* Foto principal de la seccion de productos */

.item-description {
  width: 100%;
  margin-top: 90px;
}

.item-description h3 {
  text-align: center;
  color: #20334e;
  font-weight: normal;
  font-size: 23px;
}

.item-description p {
  text-align: center;
  color: #20334e;
  font-weight: normal;
  font-size: 15px;
  margin-top: 12px;
}

.more-photos {
  width: 100%;

  /* Flex */
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 70px;
  margin-bottom: 100px;
}

.photo {
  width: 404px;
  height: 275px;
}

/* .boton-xl{
    border: 2px solid #20334e;
    padding: 10px 0;
    display: block;
    width: 300px;
    text-align: center;
    margin: 0 auto;
  }  boton que no fue */

/***** Equipos *****/

.container-flex-equipos {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding-top: 200px;

  /* Flex */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.container-flex-equipos .item {
  width: 25%;
  margin-right: 15px;
}

.container-flex-equipos .item:last-child {
  margin-right: 0;
}

.container-flex-equipos .content-item {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}

.container-flex-equipos .content-item .icono-mas {
  opacity: 0.6;
  width: 70px;
  height: 70px;
  position: absolute;
  bottom: -100px;
  left: 37%;

  -webkit-transition: 0.4s all ease-in-out;
}

.container-flex-equipos .item:hover .icono-mas {
  -webkit-transform: translateY(-325%);
}

.container-flex-equipos .item h3 {
  font-weight: normal;
  margin-bottom: 20px;
}

.container-flex-equipos .item h3 a {
  text-decoration: none;
  color: #c46267;
}

/* Seccion de los productos mas buscados */
.product-search {
  width: 100%;
  padding: 50px 0;
  background: #2a364f;
  margin-bottom: -150px;
  margin-top: 50px;
}

.product-search h1 {
  color: white;
  text-align: center;
  font-size: 30px;
}

.container-flex-search {
  width: 100%;

  /* Flex */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.container-flex-search .item {
  width: 19%;
  height: 191px;
  background: #8b8b8b;
  margin-right: 1%;
}

.container-flex-search .item:last-chid {
  margin-right: 0%;
}

/***** Listado de equipos ******/

.list-servicios {
  width: 100%;

  /* Flex */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  padding-top: 170px;
}

.list-servicios h1 {
  text-align: left;
}

.col-equip {
  padding-top: 70px;
  column-count: 4;
  column-gap: 20px;
}

.col-equip h3 {
  margin-top: 0;
}

.col-equip ul {
  padding: 0;
  margin: 0;
}

.col-equip ul li {
  list-style: none;
  padding: 0;
  margin: 0;
}

/***** INDUSTRIAS *****/

p.bajada-industrias {
  font-size: 18px;
  font-weight: normal;
  color: #253852;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

section.logos {
  max-width: 1024px;
  text-align: center;
  margin: 60px auto 80px;

  /* Flex */
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

section.logos div {
  max-width: 180px;
}

.item-logo {
  height: 151px;
  margin-right: 40px;
  vertical-align: middle;
}

.item-logo:last-child {
  margin-right: 0;
}

.item-logo:hover {
  opacity: 0.6;
  transition: all ease 0.5s;
}

/* ============================================
   HERO B2 — Cover con imagen de fondo
   Fuente: Figma 67:30 (Hero B2 Figma Update)
   ============================================

   MICRO-COMMIT 1: Remover slider legacy
   Se eliminaron las reglas .slider, .carousel
   y .carousel-inner .item que existían aquí.

   MICRO-COMMIT 2: Markup hero (ver inicio.php)

   MICRO-COMMIT 3: Estilos hero con tokens
   Todos los valores usan variables CSS del
   bloque :root. Cero hardcodeo.

   MICRO-COMMIT 4: Overlay v2 (Figma)
   Degradado: rgba(31,58,84,0.8) 56% →
   rgba(69,128,186,0.4) 100%

   MICRO-COMMIT 5: Trust bar (comentada)
   Estilos preparados pero comentados.
   ============================================ */

/* --- Hero: Sección principal --- */

.hero {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-image: url(img/slide3-b.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: var(--color-primary);
  padding-top: 140px; /* Compensa header fijo: info 40px + nav 100px */
  margin-bottom: 0;
}

/* --- Hero: Overlay v2 (degradado Figma 67:30) --- */

.hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(31, 58, 84, 0.8) 0%,
    rgba(31, 58, 84, 0.8) 56%,
    rgba(69, 128, 186, 0.4) 100%
  );
  z-index: 1;
}

/* --- Hero: Contenedor --- */

.hero-container {
  max-width: var(--max-width-wide);
  margin: 0 auto;
  padding: var(--spacing-3xl) var(--spacing-md);
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 60% 40%;
  gap: var(--spacing-3xl);
  align-items: center;
}

.hero-content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

/* --- Hero: Tipografía --- */

.hero-headline {
  font-family: var(--font-primary);
  font-size: var(--text-h1);
  line-height: var(--lh-h1);
  font-weight: var(--fw-h1);
  color: var(--color-white);
  margin: 0;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
  text-align: left;
  letter-spacing: 0;
}

.hero-subheadline {
  font-family: var(--font-primary);
  font-size: var(--text-body-lg);
  line-height: var(--lh-body-lg);
  color: var(--color-white);
  margin: 0;
  opacity: 0.95;
  font-weight: 400;
  text-align: left;
  padding: 0;
}

/* --- Hero: CTAs --- */

.hero-ctas {
  display: flex;
  gap: var(--spacing-md);
  margin-top: var(--spacing-md);
}

.hero-btn {
  padding: var(--spacing-md) var(--spacing-xl);
  border-radius: var(--radius-md);
  font-family: var(--font-primary);
  font-size: var(--text-body);
  font-weight: var(--fw-h6);
  text-decoration: none;
  transition: all var(--transition-base);
  cursor: pointer;
  border: 2px solid transparent;
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs);
}

.hero-btn--primary {
  background: var(--color-safety);
  color: var(--color-secondary);
  border-color: var(--color-safety);
}

.hero-btn--primary:hover {
  filter: brightness(0.92);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  text-decoration: none;
  color: var(--color-secondary);
}

.hero-btn--secondary {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-white);
}

.hero-btn--secondary:hover {
  background: var(--color-white);
  color: var(--color-primary);
  text-decoration: none;
}

/* --- Hero: Señal de volumen y vigencia --- */

.vo-signal {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.vo-signal__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-safety);
  flex-shrink: 0;
}

.vo-signal--dynamic .vo-signal__dot {
  position: relative;
}

.vo-signal--dynamic .vo-signal__dot::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: var(--color-safety);
  opacity: 0;
  animation: pulse-ring 2s ease-out infinite;
}

@keyframes pulse-ring {
  0%   { transform: scale(0.8); opacity: 0.6; }
  70%  { transform: scale(1.8); opacity: 0; }
  100% { transform: scale(0.8); opacity: 0; }
}

.vo-signal__text {
  font-family: var(--font-primary);
  font-size: var(--text-body);
  line-height: var(--lh-body);
  font-weight: 400;
  color: var(--color-white);
}

.vo-signal__text strong {
  color: var(--color-safety);
  font-weight: 700;
}

.vo-signal__sep {
  color: rgba(255, 255, 255, 0.3);
  font-weight: 300;
  margin: 0 2px;
}

.vo-signal__badge {
  font-family: var(--font-primary);
  font-size: var(--text-label);
  font-weight: var(--fw-label);
  letter-spacing: 0.04em;
  color: var(--color-primary);
  background: var(--color-light-grey);
  border-radius: var(--radius-sm);
  padding: 2px var(--spacing-xs);
}

/* ============================================
   TRUST BAR — Preparada para activación futura
   Actualmente deshabilitada (CSS comentado).
   Para activar: descomentar este bloque y el
   HTML correspondiente en inicio.php.
   ============================================

.trust-bar {
  background: var(--color-light-grey);
  padding: var(--spacing-lg) 0;
}

.trust-bar-container {
  max-width: var(--max-width-wide);
  margin: 0 auto;
  padding: 0 var(--spacing-md);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-xl);
}

.trust-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.trust-icon {
  font-size: 24px;
  color: var(--color-safety);
}

.trust-content {
  display: flex;
  flex-direction: column;
}

.trust-number {
  font-family: var(--font-primary);
  font-size: var(--text-h2);
  font-weight: var(--fw-h2);
  color: var(--color-primary);
  line-height: 1;
}

.trust-label {
  font-family: var(--font-primary);
  font-size: var(--text-body-sm);
  color: var(--color-text-secondary);
  margin-top: 4px;
}

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

/* --- Hero: Responsive --- */

@media (max-width: 1024px) {
  .hero {
    min-height: 70vh;
  }

  .hero::before {
    background: linear-gradient(
      to right,
      rgba(31, 58, 84, 0.85) 0%,
      rgba(69, 128, 186, 0.55) 100%
    );
  }

  .hero-headline {
    font-size: var(--text-h2);
    line-height: var(--lh-h2);
  }

  .hero-container {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
  }

  /* Trust bar responsive (comentado)
  .trust-bar-container {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-lg);
  }
  */
}

@media (max-width: 768px) {
  .hero {
    min-height: 100vh;
    background-position: 70% center;
  }

  .hero::before {
    background: rgba(31, 58, 84, 0.85);
  }

  .hero-container {
    padding: var(--spacing-2xl) var(--spacing-md);
  }

  .hero-headline {
    font-size: var(--text-h3);
    line-height: var(--lh-h3);
  }

  .hero-subheadline {
    font-size: var(--text-body);
  }

  .hero-ctas {
    flex-direction: column;
  }

  .hero-btn {
    width: 100%;
    justify-content: center;
  }

  /* Trust bar responsive mobile (comentado)
  .trust-bar-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .trust-item {
    justify-content: center;
  }
  */
}

/***** CONTACTO *****/

section#ubicacion {
  padding-top: 100px;
  width: 100%;
  height: 100%;
  min-height: 350px;
}

.formulario-contacto {
  width: 100%;
  background: #343434;
  padding: 170px 0;
  /* flex */
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.direccion {
  width: 30%;
  min-height: 260px;
}

.direccion address {
  margin: 0;
  padding: 0;
  color: white;
  font-weight: normal;
  font-size: 15px;
  font-style: normal;
  line-height: 2.5em;
}

.formulario {
  width: 45%;
}

/* ============================================
      WHATSAPP FLOATING BUTTON - Refactorizado
      ============================================ */

.whatsapp-float {
  position: fixed;
  bottom: var(--spacing-lg);
  right: var(--spacing-lg);
  z-index: 1000;
}

.whatsapp-float__button {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-sm) var(--spacing-md);
  background: #25d366;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  text-decoration: none;
  color: var(--color-white);
  font-family: var(--font-primary);
  transition: all var(--transition-base);
  animation:
    whatsappSlideIn 0.6s ease-out 1s backwards,
    whatsappPulse 3s ease-in-out 2s infinite;
  position: relative;
}

.whatsapp-float__icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-full);
  font-size: 24px;
  transition: transform var(--transition-base);
}

.whatsapp-float__text {
  display: none;
  flex-direction: column;
  gap: 2px;
  padding-right: var(--spacing-xs);
}

.whatsapp-float__title {
  font-size: var(--text-body);
  font-weight: var(--fw-h6);
  line-height: 1.2;
  white-space: nowrap;
}

.whatsapp-float__subtitle {
  font-size: var(--text-body-sm);
  opacity: 0.9;
  line-height: 1.2;
  white-space: nowrap;
}

.whatsapp-float__badge {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-accent);
  border-radius: var(--radius-full);
  border: 2px solid var(--color-white);
  font-size: 12px;
  font-weight: 700;
  animation: badgePulse 2s ease-in-out infinite;
}

.whatsapp-float__tooltip {
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%) translateX(-12px);
  padding: var(--spacing-xs) var(--spacing-sm);
  white-space: nowrap;
  background: var(--color-primary);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  font-size: var(--text-body-sm);
  font-weight: 500;
  color: var(--color-white);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-base);
}

.whatsapp-float__tooltip::after {
  content: "";
  position: absolute;
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid var(--color-primary);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
}

.whatsapp-float__button:hover {
  transform: scale(1.05) translateY(-2px);
  box-shadow:
    var(--shadow-lg),
    0 0 0 8px rgba(37, 211, 102, 0.2);
  text-decoration: none;
}

.whatsapp-float__button:hover .whatsapp-float__icon {
  transform: rotate(15deg);
}

.whatsapp-float__button:hover .whatsapp-float__tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(-8px);
}

.whatsapp-float__button:active {
  transform: scale(0.98);
}

@keyframes whatsappSlideIn {
  0% {
    transform: translateX(100%) scale(0.8);
    opacity: 0;
  }
  70% {
    transform: translateX(-10px) scale(1.05);
  }
  100% {
    transform: translateX(0) scale(1);
    opacity: 1;
  }
}

@keyframes whatsappPulse {
  0%,
  100% {
    box-shadow: var(--shadow-lg);
  }
  50% {
    box-shadow:
      0 0 0 8px rgba(37, 211, 102, 0.3),
      0 0 0 16px rgba(37, 211, 102, 0.15),
      var(--shadow-lg);
  }
}

@keyframes badgePulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}

@media (min-width: 769px) {
  .whatsapp-float__text {
    display: flex;
  }
  .whatsapp-float__tooltip {
    display: none;
  }
  .whatsapp-float__badge {
    display: none;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .whatsapp-float__text {
    display: flex;
  }
  .whatsapp-float__subtitle {
    display: none;
  }
  .whatsapp-float__tooltip {
    display: none;
  }
  .whatsapp-float__badge {
    display: none;
  }
  .whatsapp-float__button {
    animation:
      whatsappSlideIn 0.6s ease-out 1s backwards,
      whatsappPulse 2.5s ease-in-out 2s infinite;
  }
}

@media (max-width: 480px) {
  .whatsapp-float {
    bottom: var(--spacing-md);
    right: var(--spacing-md);
  }
  .whatsapp-float__button {
    padding: var(--spacing-xs);
    width: 56px;
    height: 56px;
    animation:
      whatsappSlideIn 0.6s ease-out 1s backwards,
      whatsappPulse 2s ease-in-out 2s infinite;
  }
  .whatsapp-float__icon {
    width: 40px;
    height: 40px;
    font-size: 22px;
    background: transparent;
  }
  .whatsapp-float__text {
    display: none;
  }
  .whatsapp-float__badge {
    display: flex;
  }
  .whatsapp-float__tooltip {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .whatsapp-float__button {
    animation: none;
  }
  .whatsapp-float__button:hover {
    animation: none;
  }
  .whatsapp-float__badge {
    animation: none;
  }
  .whatsapp-float__icon {
    transition: none;
  }
}

@media print {
  .whatsapp-float {
    display: none;
  }
}

.whatsapp-float__button:focus {
  outline: 2px solid var(--color-safety);
  outline-offset: 4px;
}

.whatsapp-float__button:focus:not(:focus-visible) {
  outline: none;
}

.whatsapp-float__button:focus-visible {
  outline: 2px solid var(--color-safety);
  outline-offset: 4px;
}
