/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/




:root {
	--bg-color: #0D0D0D;
	--bg-color-rgb: 13, 13, 13;
    --card-color-rgb: 13, 13, 13;
    --second-bg-color: #1a1a1a;
    --color-primario: #d42027;
    --color-menu: black;
    --color-submenu: #2a2e31;
    --color-sub-submenu: #565a5d;
    --titulo-amarillo: #FFF200;
    --titulo-azul: #27AAE1;
    --titulo-azul-rgb: 39, 170, 225;
	--color-verde: #39B249;
	--color-naranja: #F5951A;
	--color-amarillo: #FEF102;
    --text-color: #ededed;
    --color-card-index: #232323;
    --tundora: #444;
    --mine-shaft: #333;
    /* Escalas de encabezados en rem */ 
    --h1-size: 4.5rem;
    --h2-size: 4rem;
    --h3-size: 2.4rem;
    --h4-size: 2rem;
    --h5-size: 1.6rem;
    --h6-size: 1.4rem;
    --p-size: 1.8rem;
    --boton-size: 1.6rem;
    /* ####################### */
    --size-titulo-desktop: 4rem;
    --size-titulo-tablet: 3.4rem;
    --size-titulo-movil: 2.8rem;
    --size-texto-desktop: 2.2rem;
    --size-texto-tablet: 1.8rem;
    --size-texto-movil: 1.6rem;
    --weight-titulo-desktop: 500;
    --weight-titulo-movil: 500;
    --weight-texto-desktop: 400;
    --weight-texto-movil: 300;
    --container-max: 1200px;
	--line-height-titulo-movil: 1.1;
	--line-height-texto-movil: 1.3;
	--letter-spacing-texto-movil: 0.3px;
	
    --card:#ffffff;
    --accent:#0b5ed7;
	
/* ################### MESH RADIO / HF RADIO ################# */
    --line-color-red: var(--color-primario);
	--line-color-golden: #F8B240;
	--line-color-verde: #8EC63F;
	--line-color-azul: #005BB5;

    /* largo horizontal */
    --top-horizontal: 50%;
    --bottom-horizontal: 50%;
    --top-horizontal-card: 25%;
    --bottom-horizontal-card: 25%;
    --top-horizontal-blusdr: 20%;
    --bottom-horizontal-blusdr: 20%;

    /* largo vertical */
    --top-vertical: 17rem;
    --bottom-vertical: 17rem;
    --top-vertical-card: 25%;
    --bottom-vertical-card: 25%;
    --top-vertical-blusdr: 10rem;
    --bottom-vertical-blusdr: 10rem;
}

@font-face {
    font-family: 'Calibre Black';
    src:
        url('/wp-content/uploads/fonts/Calibre-Black.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/Calibre-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  list-style: none;
  border: none;
  outline: none;
  scroll-behavior: smooth;
  font-family: system-ui, -apple-system;
}

body {
    background: var(--bg-color) !important;
}

.p-cat {
	color: black;
	font-size: 1.5rem;
}

body.no-scroll {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

/*############################################
#################### MENÚ ####################
############################################*/
.wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 1rem 0;
  display: flex;
  justify-content: center;
  /* background: blueviolet; */
  transition: background 0.4s ease, color 0.4s ease, box-shadow 0.4s ease;
  z-index: 200;
}

/* Scroll */
.wrapper.scrolled {
  background: var(--color-card-index);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

/* .wrapper.scrolled .navbar ul li a {
  color: black;
}

.wrapper.scrolled .navbar ul li:not(:last-child)::after {
  background-color: black;
} */

.wrapper.scrolled .menu .navbar ul li ul li a {
  background: var(--color-card-index);
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  transition: background 0.25s ease;
}

.wrapper.scrolled .menu .navbar ul li ul li a:hover {
  background: var(--second-bg-color);
}

.menu {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 80%;
/*   max-width: 1200px; */
  z-index: 100;
}

.logo img {
  width: 20rem;
}

.menu .navbar ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu .navbar ul li {
  position: relative;
}

.menu .navbar ul li a {
  display: block;
  padding: 1.5rem 2rem;
  color: var(--text-color);
  font-size: 2rem;
  font-weight: 500;
  transition: .3s;
  align-items: center;
}

.menu .navbar ul li:hover > a {
    background: rgba(0, 0, 0, 0.7);
}

/* .menu .navbar ul li a:hover {
  color: var(--color-primario);
} */

.menu .navbar ul li a.active {
  color: var(--color-primario);
}

/* Submenú inicial oculto */
.menu .navbar ul li ul {
  display: none;
  position: absolute;
  top: 100%; /* justo debajo del padre */
  left: 0;
  background: rgba(0, 0, 0, 0.3);
  list-style: none;
/*   min-width: 210px; */
	width: max-content;
  z-index: 200; /* encima de todo */
}

/* Mostrar submenú al hover */
.menu .navbar ul li:hover > ul {
  display: block;
}

/* Items dentro del submenú */
.menu .navbar ul li ul li {
  width: 100%;
  /* border-bottom: 1px solid rgba(255,255,255,0.1); */
}

.menu .navbar ul li ul li a {
  font-size: 2rem;
  padding: 1rem 1.5rem;
  color: white;
  transition: background 0.3s;
}

/* Hover en submenú */
.menu .navbar ul li ul li a:hover {
  background: rgba(0, 0, 0, 0.4);
}

/* Elimina las barras verticales en el submenú */
.menu .navbar ul li ul li::after {
  display: none;
}

/* Sub-submenú */
.menu .navbar ul li ul li ul {
  top: 0;
  left: 100%;
/*   width: 200px; */
	width: max-content;
}

.menu-icon {
  display: none;
}
.menu-icon i {
  font-size: 3rem;
  color: var(--text-color);
  cursor: pointer;
}


/* SOLO para el menú Solutions: sub-submenús hacia la izquierda */
.menu .navbar ul > li:nth-child(4) ul li ul {
  left: auto;
  right: 100%;
}







/* === MENU RESPONSIVE === */

/* ===========================
   MOBILE: force nested uls to be in-flow and animatable
   =========================== */
@media (max-width: 1024px) {

    .logo img {
    width: 15rem;
  }
  /* Asegura que el menú principal esté oculto por defecto */
  #menuList {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 9999;
    padding: 0;
	box-shadow: 0 4px 8px -4px rgba(255,255,255,0.3);
  }
  #menuList.show {
    display: flex !important;
  }

  /* Forzar que los UL anidados estén en el flujo (no absolute) */
  #menuList ul {
    position: static !important;
    width: 100%;
    padding-left: 0;
  }

  /* Estilo base de submenus: usamos max-height para animar */
  #menuList ul {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.32s ease;
  }

  /* Clase que usamos para abrir (crece) */
  #menuList ul.open {
    /* valor grande suficiente para contener los elementos; es seguro y evita calcular altura */
    max-height: 1200px;
  }

  /* items */
  #menuList li {
    list-style: none;
    width: 100%;
    text-align: center;
  }

  #menuList a {
    display: block;
    padding: 12px 16px;
    color: var(--text-color);
    text-decoration: none;
  }
	
/* NIVEL 1 – menú principal */
#menuList > li > a {
  font-size: 2rem;
  font-weight: 600;
	background: var(--color-card-index);
}

/* NIVEL 2 – submenú */
#menuList > li > ul > li > a {
  font-size: 1.8rem;
  font-weight: 500;
/*   opacity: 0.9; */
	background: var(--color-submenu);
}

/* NIVEL 3 – sub-submenú */
#menuList > li > ul > li > ul > li > a {
  font-size: 1.6rem;
  font-weight: 400;
/*   opacity: 0.75; */
	background: var(--color-sub-submenu);
}

  /* chevrons */
  #menuList i.bx-chevron-down,
  #menuList i.bx-chevron-right {
    cursor: pointer;
    font-size: 16px;
    margin-left: 8px;
    transition: transform 0.28s ease;
  }

  #menuList i.rotate {
    transform: rotate(180deg);
  }

  /* .menu-icon visible en móvil */
  .menu-icon { display: block; }
  .menu-icon i { font-size: 28px; color: var(--text-color); }

  /* Asegura que en móvil el submenu directo que está dentro de li (primer nivel) tenga padding distinto */
  #menuList > li > ul {
	  background: var(--color-submenu);
	}

}














.lang-switch {
  cursor: pointer;
  padding: 5px 10px;
  border: 1px solid var(--text-color);
  border-radius: 4px;
  background: transparent;
  color: var(--text-color);
  }
.lang-switch.active {
  background: var(--text-color);
  color: #000;
}

/* cuando el wrapper tiene .scrolled */
.wrapper.scrolled .lang-switch {
  border-color: #000;
  color: #000;
}

.wrapper.scrolled .lang-switch.active {
  border-color: #000;
  color: var(--text-color);
  background: #000;
}





/* .presentacion {
  padding-top: 8rem;
  text-align: center;
}

.presentacion-contenido {
  width: 80%;
  margin: 0 auto;
}

.presentacion-contenido h1 {
  font-size: var(--size-titulo-desktop);
  font-weight: var(--weight-titulo-desktop);
  color: var(--text-color);
  margin-bottom: 3rem;
}

.presentacion-contenido p {
  font-size: var(--size-texto-desktop);
  font-weight: var(--weight-texto-desktop);
  line-height: 1.6;
  color: var(--text-color);
}

@media (max-width: 768px) {
  .presentacion-contenido {
    width: 85%;
  }

  h2, .presentacion-contenido h1 {
    font-size: var(--size-titulo-movil);
    font-weight: var(--weight-titulo-movil);
  }

  .presentacion p {
    font-size: var(--size-texto-movil);
    font-weight: var(--weight-texto-movil);
  }
} */

footer {
	text-align: center;
	padding: 2rem;
    font-size: var(--size-texto-movil);
    background: #000;
    color: var(--text-color);
    border-top: 1px solid var(--text-color);
}

@media (max-width: 768px) {
	footer {
		font-size: 1.4rem;
		font-weight:var(--weight-texto-movil);
		line-height: var(--line-height-texto-movil);
		letter-spacing: var(--letter-spacing-texto-movil);
	}
}

/*############################################
############ EFECTO CÓDIGO HACKER ############
############################################*/
.typewriter {
  font-family: "Courier New", monospace;
  font-size: var(--size-texto-desktop);
  font-weight: 600;
/*   text-transform: uppercase; */
  line-height: 1.3;
  text-align: left;
  white-space: pre-wrap;
  color: #00FF41;
  text-shadow: 0 0 4px rgba(0,255,65,0.6);
  letter-spacing: 0.04em;
	text-transform: capitalize;
}

/* Cursor */
.typewriter::after {
  content: "█";
  margin-left: 0.2rem;
  animation: blink 1s steps(1) infinite;
}

@keyframes blink {
  50% { opacity: 0; }
}

@media (max-width: 768px) {
  .typewriter {
    font-size: var(--size-texto-movil);
    line-height: 1.6;
    letter-spacing: 0;

    /* mejor lectura en pantallas chicas */
    padding: 1rem;
    word-break: break-word;
  }

  .typewriter::after {
    margin-left: 0.15rem;
  }
}

/*############################################
############## SLIDER PRINCIPAL ##############
############################################*/
.slider-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.slider-wrapper .slider-item {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center;
  z-index: 1;
}

.slider-wrapper .slider-item::after {
  position: absolute;
  content: "";
  inset: 0;
  background: 
    linear-gradient(
      to top,
      rgba(var(--bg-color-rgb), 1) 0%,
      rgba(var(--bg-color-rgb), 0) 20%
    ),
     rgba(0, 0, 0, 0.3);
  z-index: 2;
}

.slider-wrapper .slider-item .slide-content {
  position: relative;
  color: var(--text-color);
  width: 100%;
  padding: 0 10rem 0;
  max-width: 90rem;
  z-index: 3;
  /* background: yellowgreen; */
}

/* .slider-wrapper .slider-item .slide-content > * {
  max-width: 50%;
} */

.slider-item .slide-content .slide-title {
  /* margin-top: 5px; */
  font-size: 5.6rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 1px;
  margin: 2rem 0 4rem;
}

.slider-item .slide-content .slide-title span {
  /* color: #aaa; */
  background: linear-gradient(0deg, #888, white);
  /* display: inline-block;
  background-image: url('images/hero_gradient__cmkhbivlbcmu_large.jpg');
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100% 90%; */
  background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
}

.slider-item .slide-content .slide-button {
  color: var(--text-color);
  width: 300px;
  padding: 13px 0;
  display: block;
  margin-top: 45px;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid var(--text-color);
  transition: 0.5s ease;
}

.slider-item .slide-content .slide-button:hover {
  background: var(--color-primario);
  border-color: var(--color-primario);
}

.swiper-pagination {
  --swiper-pagination-color: var(--text-color);
  --swiper-pagination-bullet-size: 1rem;
  --swiper-pagination-bullet-inactive-color: rgba(255,255,255,0.1);
  --swiper-pagination-bullet-inactive-opacity: 7;
}

.swiper-button-prev,
.swiper-button-next {
  --swiper-navigation-color: var(--text-color);
  --swiper-navigation-size: 3rem;
}

.slider-item .slide-content .slide-description {
  font-size: 2.5rem;
  /* font-size: calc(2.5rem + 0.3vw); */
}




.scroll-down {
  position: absolute;
  bottom: 30px;   /* distancia desde abajo */
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.scroll-down-right {
  position: absolute;
  bottom: 30px;   /* distancia desde abajo */
  left: 90%;
  transform: translateX(-50%);
  z-index: 10;
}

.scroll-down a,
.scroll-down-right a {
  display: inline-block;
  width: 50px;
  height: 50px;
  border: 2px solid white;
  border-radius: 50%;
  text-align: center;
  line-height: 50px;
  color: white;
  font-size: 28px;
  cursor: pointer;
  transition: all 0.3s ease;
  animation: bounce 2s infinite;
}

.scroll-down a:hover,
.scroll-down-right a:hover {
  background: rgba(255, 255, 255, 0.2);
  color: white;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(20px);
  }
  60% {
    transform: translateY(10px);
  }
}


@media (max-width: 768px) {

  .slider-wrapper .slider-item .slide-content {
    padding: 0 3rem 0rem;
    max-width: 70rem;
  }

  .slider-item .slide-content .slide-title {
    font-size: 3.5rem;
    margin: 2rem 0 2rem;
  }

  .slider-item .slide-content .slide-title span {
    color: #aaa;
    /* -webkit-text-stroke: 0.4px var(--text-color); */
  }

  .slider-item .slide-content .slide-button {
    width: 220px;
    padding: 9px 0;
    margin-top: 25px;
    font-size: 1.3rem;
    font-weight: 500;
  }

  .slider-item .slide-content .slide-description {
    font-size: 1.6rem;
  }
}

/* ==========================
   PRODUCTOS DESTACADOS
========================== */
.contenedor-cards-main {
  padding-top: 8rem;
  text-align: center;
  width: 80%;
  margin: 0 auto;
}
.contenedor-cards-main h2 {
  margin-bottom: 4rem;
}
.productos-grid-index {
  display: grid;
/*   grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr)); */
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
.productos-grid-index a.producto-item {
  text-decoration: none;
  color: inherit;
  display: block;
}
.producto-item {
/*   background: var(--color-card-index); */
/* background: linear-gradient(
	145deg,
	rgba(255,255,255,0.10) 0%,
	rgba(255,255,255,0.085) 5%,
	rgba(255,255,255,0.07) 10%,
	rgba(255,255,255,0.06) 15%,
	rgba(255,255,255,0.05) 20%,
	rgba(255,255,255,0.045) 25%,
	rgba(255,255,255,0.04) 30%,
	rgba(255,255,255,0.035) 35%,
	rgba(255,255,255,0.03) 40%,
	rgba(255,255,255,0.025) 45%,
	rgba(255,255,255,0.02) 50%,
	rgba(255,255,255,0.018) 55%,
	rgba(255,255,255,0.015) 60%,
	rgba(255,255,255,0.012) 65%,
	rgba(255,255,255,0.01) 70%,
	rgba(255,255,255,0.008) 75%,
	rgba(255,255,255,0.006) 80%,
	rgba(255,255,255,0.004) 85%,
	rgba(255,255,255,0.002) 90%,
	var(--color-card-index) 100%
); */

  padding: 2rem;
  border-radius: 7px;
  transition: 0.3s;
/* 	border: 1px solid rgba(237, 237, 237, 0.175); */
	border: 2px solid rgba(var(--titulo-azul-rgb), 0.7);
	
	
/* 	position: relative; */
}
.producto-img {
	width: 100%;
    height: auto;
    overflow: hidden;
	margin-bottom: 1.5rem;
}
.producto-img img {
	width: 100%;
	height: 25rem;
	object-fit: contain;
/*   display: block; */
}

.producto-item h3 {
	font-size: 2rem;
	color: var(--text-color);
}

.producto-item:hover {
	transform: translateY(-5px);
  /* background: #222; */
}

/* ==========================
   SERVICIOS
========================== */
.services-grid {
  display: grid;
/*   grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr)); */
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
.service-card {	
/*   background: var(--color-card-index); */
/* background: linear-gradient(
	145deg,
	rgba(255,255,255,0.10) 0%,
	rgba(255,255,255,0.085) 5%,
	rgba(255,255,255,0.07) 10%,
	rgba(255,255,255,0.06) 15%,
	rgba(255,255,255,0.05) 20%,
	rgba(255,255,255,0.045) 25%,
	rgba(255,255,255,0.04) 30%,
	rgba(255,255,255,0.035) 35%,
	rgba(255,255,255,0.03) 40%,
	rgba(255,255,255,0.025) 45%,
	rgba(255,255,255,0.02) 50%,
	rgba(255,255,255,0.018) 55%,
	rgba(255,255,255,0.015) 60%,
	rgba(255,255,255,0.012) 65%,
	rgba(255,255,255,0.01) 70%,
	rgba(255,255,255,0.008) 75%,
	rgba(255,255,255,0.006) 80%,
	rgba(255,255,255,0.004) 85%,
	rgba(255,255,255,0.002) 90%,
	var(--color-card-index) 100%
); */

  padding: 3rem 2rem;
  border-radius: 7px;
  transition: 0.3s;
/* 	border: 1px solid rgba(237, 237, 237, 0.175); */
	border: 2px solid rgba(var(--titulo-azul-rgb), 0.7);
}
.service-card i {
	font-size: 4rem;
	color: var(--titulo-azul);
	margin-bottom: 1.5rem;
}
.service-card h3 {
	margin-bottom: 1rem;
	font-size: 2rem;
	color: var(--titulo-azul);
}
.service-card p {
	font-size: 1.7rem;
	color: var(--text-color);
}

@media (max-width: 768px) {
	.productos-grid-index {
	  grid-template-columns: repeat(1, 1fr);
	  gap: 2.5rem;
	}
	.services-grid {
	  grid-template-columns: repeat(1, 1fr);
	  gap: 2.5rem;
	}
	.contenedor-cards-main {
		width: 85%;
	}
	.contenedor-cards-main h2 {
		margin-bottom: 3.5rem;
	}
	.service-card p {
		font-size: 1.5rem;
		font-weight:var(--weight-texto-movil);
		line-height: var(--line-height-texto-movil);
		letter-spacing: var(--letter-spacing-texto-movil);
	}
}

/*############################################
########### MARCAS COMERCIALIZADAS ###########
############################################*/
.logos-clientes {
	font-size: 2.8rem;
	font-weight: 700;
	color: var(--text-color);
}

.grid-clientes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 7rem 4rem;
	align-items: center;
	justify-items: center;
	margin-top: 4rem;
}

.grid-clientes img {
	width: auto;
	height: 5rem;
	object-fit: contain;
	transition: transform 0.3s ease, opacity 0.3s ease;
	filter: brightness(0) invert(1);
}

.grid-clientes img:hover {
	filter: grayscale(0%);
	opacity: 1;
}

.grid-clientes .logo-grande img {
    height: 7rem;
}

@media (max-width: 768px) {
	.logos-clientes {
	  font-size: 2rem;
	  font-weight: 600;
	}	

  .grid-clientes {
    gap: 30px;
    grid-template-columns: repeat(2, 1fr);
  }

  .grid-clientes img {
    width: 100px;
  }
}

/*##################################
############## BANNER ##############
##################################*/
.banner-in__background {
  background-size: cover;
  background-attachment: fixed;
  position: relative;
  padding: 15rem 0;
  text-align: center;
  color: white;
  background-position: center;
  margin-top: 8rem;
  z-index: 2;
}

.banner-in__background:before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: -1;
}

.banner-in .banner_title {
  color: white;
  max-width: 90rem;
  margin: auto;
}

.banner-in .banner_title h2 {
  margin-bottom: 1rem;
  font-size: 3rem;
}

.banner-in .banner_title p {
	font-size: var(--size-texto-desktop);
	margin-bottom: 2.5rem;
}

.banner-in .banner_title a {
	font-size: 1.8rem;
}

@media (max-width: 768px) {
	.banner-in__background {
		margin-top: 40px;
	}
	.banner-in .banner_title {
		max-width: 38rem;
	}
	.banner-in .banner_title h2 {
		font-size: 2.2rem;
	    margin-bottom: 1.5rem;
	}
	.banner-in .banner_title p {
		font-size: var(--size-texto-movil);
		font-weight:var(--weight-texto-movil);
		line-height: var(--line-height-texto-movil);
		letter-spacing: var(--letter-spacing-texto-movil);
	}
	.banner-in .banner_title a {
		margin-top: 2rem;
		font-size: 1.4rem;
	}
}

/*############################################
################# CSS BOTONES ################
############################################*/
.boton-primario {
	background-color: var(--color-primario);
	border: 1px solid var(--color-primario);
	color: var(--text-color);
	padding: 1rem 2rem;
	font-size: 1.5rem;
	border-radius: 2rem;
    text-decoration: none;
    font-weight: 500;
/*     margin-top: 5rem; */
    transition: 0.5s ease;
}

.boton-primario:hover {
	border: 1px solid var(--text-color);
	color: var(--text-color);
	background-color: transparent;
}

.boton-primario-rolatube {
	position: absolute;
	bottom: 0;
	right: -15%;
}

.boton-secundario {
  background-color: #005bb5;
  border: 1px solid #005bb5;
  color: var(--text-color);
  padding: 1rem 2rem;
  font-size: 1.5rem;
  border-radius: 2rem;
  text-decoration: none;
  font-weight: 500;
/*   margin-top: 5rem; */
	transition: 0.5s ease;
}

.boton-secundario:hover {	
  border: 1px solid var(--text-color);
  color: var(--text-color);
  background-color: transparent;
}

.boton-verde {
	background-color: var(--line-color-verde);
	border: 1px solid var(--line-color-verde);
}

@media (max-width: 768px) {
	.boton-primario,
	.boton-secundario {
		padding: 0.5rem 1.2rem;
		font-size: 1.2rem;
	}
	
	.boton-primario-rolatube {
		position: absolute;
		bottom: -15%;
		left: 50%;
		right: auto;
		transform:translateX(-50%);
	}
}

.nvis-banner{
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	bottom:2rem;

	width:80%;

	display:flex;
	justify-content:space-between;
	align-items:baseline;
	
/* 	border: 1px solid yellow; */
}

.nvis-logo{
	width:25rem;
	height:auto;
	display:block;
	
/* 		border: 2px solid blue; */
}

/* BOTONES DE CONTROL DE VIDEO */
.video-controls{
    display:flex;
    align-items:center;
    gap:1rem;

    z-index:10;
}

.video-controls-alone{
    position:absolute;
    right:10%;
    bottom:2rem;

    display:flex;
    align-items:center;
    gap:1rem;

    z-index:10;
}

.control-btn{
    width:5rem;
    height:5rem;

    display:flex;
    justify-content:center;
    align-items:center;
	
	border: none;

    outline: none;
    -webkit-tap-highlight-color: transparent;
    cursor:pointer;

    padding:0;
    transition:.3s ease;
}

.control-btn:focus,
.control-btn:active,
.control-btn:focus-visible{
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

.control-btn:hover{
    background:rgba(255,255,255,.15);
}

.control-btn img{
    width:auto;
    height:2.5rem;
    display:block;
	
/*     filter: grayscale(100%) brightness(0.7) opacity(0.5); */
    filter: brightness(0) invert(1);
}

/* TABLET */
@media (max-width:768px){

    .nvis-banner{
        width:90%;
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
        align-items:center;
        row-gap:1rem;
		bottom:0.7rem;
    }

    /* Primera fila */
    .nvis-logo{
        flex:0 0 100%;
    }

    .nvis-logo img{
        width:17rem;
        display:block;
    }

    /* Segunda fila */
    .boton-primario,
	.boton-secundario{
        flex:0 0 auto;
    }

    .video-controls{
        flex:0 0 auto;
        margin-left:auto;
    }
	
	.video-controls-alone{
		right:5%;
		bottom:1rem;
		gap:0.5rem;
	}

    .control-btn{
        width:4rem;
        height:4rem;
    }

    .control-btn img{
        width:2.2rem;
        height:2.2rem;
    }
}


/* MOVIL */
@media (max-width:480px){
    .video-controls{
        right:2rem;
        bottom:1rem;
        gap:0.3rem;
    }

    .control-btn{
        width:3.2rem;
        height:3.2rem;
    }

    .control-btn img{
        width:1.8rem;
        height:1.8rem;
    }
}

/*############################################
################### NOSOTROS #################
############################################*/
.portada {
  position: relative;
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
  z-index: 0;
}

.portada-rf {
  position: relative;
  width: 100%;
  height: 100vh;
	background: black;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  /* justify-content: center;
  text-align: center; */
  color: var(--text-color);
  overflow: hidden;
  z-index: 0;
}

.portada-overlay-rf::before {
  position: absolute;
  content: "";
  inset: 0;
  background: 
    linear-gradient(
      to top,
      rgba(0, 0, 0, 1) 0%,
      rgba(0, 0, 0, 0) 20%
    ),
     rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.portada-overlay-cero::before { /* portada-main */
  position: absolute;
  content: "";
  inset: 0;
  background: 
    linear-gradient(
      to top,
      rgba(var(--bg-color-rgb), 1) 0%,
      rgba(var(--bg-color-rgb), 0) 20%
    ),
     rgba(0, 0, 0, 0);
  z-index: 1;
}

.portada-overlay-dos::before { /* portada */
  position: absolute;
  content: "";
  inset: 0;
  background: 
    linear-gradient(
      to top,
      rgba(var(--bg-color-rgb), 1) 0%,
      rgba(var(--bg-color-rgb), 0) 20%
    ),
     rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.portada-overlay-cinco::before { /* portada-oscura */
  position: absolute;
  content: "";
  inset: 0;
  background: 
    linear-gradient(
      to top,
      rgba(var(--bg-color-rgb), 1) 0%,
      rgba(var(--bg-color-rgb), 0) 20%
    ),
     rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.portada-contenido {
  position: relative;
  max-width: 90rem;
  padding: 0 10%;
  z-index: 2;
  /* background: yellowgreen; */
}

.portada-contenido-is { 
	width: 80%;
	margin: 0 auto;
    z-index: 2;
}

.portada-contenido h2 {
  font-size: 5.6rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 1px;
  margin-bottom: 4rem;
	color: var(--text-color);
}

.portada-contenido p {
	font-size: 2.5rem;
	color: var(--text-color);
}

.portada-contenido-rolatube {
	max-width: 100rem;
}

.portada-contenido-rolatube h2 {
	font-size: 4.6rem;
}

.portada-contenido-rolatube p {
	font-size: 3rem;
	line-height: 1.3;
}

.portada-contenido.texto-negro p {
  color: black;
	font-weight: 600;
}

.portada-contenido-rf {
  position: relative;
  margin: 0 auto;
  width: 80%;
/*   height: 100%; */
  z-index: 2;
/*   background: yellowgreen; */
	color: var(--text-color);
}

.portada-rf-especifica .portada-contenido-rf {
  height: 100%;
}

.portada-contenido-rf h1 {
  font-size: 5.6rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 1px;
  margin-bottom: 4rem;
	
  padding-right: 30%;
}

.portada-contenido-rf h2 {
  font-size: 3.2rem;
  font-weight: 600;
/*   padding: 0 0 1rem 40%; */
  padding-right: 30%;
}

.portada-contenido-rf .subtitulo-izquierda {
  font-size: 3.2rem;
  font-weight: 600;
}

.portada-contenido-rf .texto-izquierda {
  width: 60%;
  font-size: 2.1rem;
  line-height: 1.3;
  color: var(--titulo-azul);
}

.texto-rf-blanco .texto-izquierda {
  color: var(--text-color);
}

.div-duplexor {
	top: 0;
}

.portada-contenido-rf .texto-derecha {
  font-size: 2.1rem;
/*   padding-left: 40%; */
  line-height: 1.3;
	margin-bottom: 4rem;
}

.imagen-rf-combinador {
  position: absolute;
  top: 0;
  right: 20%;
  width: 25rem;
}

.imagen-rf-acoplador {
  position: absolute;
  top: 0;
  left: 10%;
  width: 40rem;
}

@media (max-width: 768px) {
	.portada, .portada-oscura {
		height: 70vh;
	}
	.portada-contenido {
		padding: 0 3rem 0;
		max-width: 70rem;
	}
	.portada-contenido h2 {
		font-size: 3rem;
		margin: 2rem 0 2rem;
	}
	.portada-contenido p {
		font-size: var(--size-texto-movil);
		font-weight:var(--weight-texto-movil);
		line-height: var(--line-height-texto-movil);
		letter-spacing: var(--letter-spacing-texto-movil);
	}
}

/* SECCIONES */
.section-child h3 {
  font-size: 3rem;
  margin-bottom: 1rem;
  color: var(--text-color);
}

.section-child p {
  font-size: 1.8rem;
  color: #cfd8e3;
}

/* GRID DOS COLUMNAS */
.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

.image-content img {
  width: 100%;
  border-radius: 12px;
}

/* VALUES */
.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.service-card ul {
	list-style: none;
	padding-left: 0;
}

.service-card ul li {
	color: var(--text-color);
	margin-bottom: 0.5rem;
	font-size: var(--size-texto-movil);
}

/* STATS */
.section-stats {
  padding: 3rem 0;
	margin: 7rem 0;
/*   background: #0b1220; */
	background: linear-gradient(160deg, #111827, #0e0e11);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  text-align: center;
}

.stat span {
  font-size: 4rem;
  font-weight: 600;
  color: #4f8cff;
}

.stat p {
  font-size: 2rem;
  color: #cfd8e3;
  margin-top: 0.5rem;
}

/* FEATURES */
.center-feature {
  text-align: center;
	
  font-size: 3rem;
  margin-bottom: 1rem;
  color: var(--text-color);
}

.subtitle-feature {
  margin: 0 auto 3rem;
	
  font-size: 1.8rem;
  color: #cfd8e3;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

/* RESPONSIVE */
@media (max-width: 768px) {

  /* ESPACIADO GENERAL */
  .section-child,
  .section-child-end {
    padding: 2rem 0;
	  width: 95%;
  }

  /* TITULOS */
	.section-child h3,
	.center-feature {
		font-size: var(--size-titulo-movil);
		font-weight:var(--weight-titulo-movil);
		margin-bottom: 1.5rem;
		line-height: var(--line-height-titulo-movil);
		text-align: center;
	}
	.section-child p,
	.subtitle-feature {
		font-size: var(--size-texto-movil);
		font-weight:var(--weight-texto-movil);
		line-height: var(--line-height-texto-movil);
		letter-spacing: var(--letter-spacing-texto-movil);
		text-align: center;
	}

  /* GRID DOS COLUMNAS → UNA COLUMNA */
  .two-columns {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  /* IMAGEN */
  .image-content img {
    max-width: 100%;
    margin: 0 auto;
    display: block;
  }

  /* VALUES */
  .values-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
	.service-card ul li {
		font-size: 1.5rem;
		font-weight:var(--weight-texto-movil);
		line-height: var(--line-height-texto-movil);
		letter-spacing: var(--letter-spacing-texto-movil);
		text-align: center;
	}
	/* STATS */
	.section-stats {
		padding: 4rem 1.5rem;
		margin: 5rem 0;
	}
	.stats-grid {
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem;
	}
	.stat span {
		font-size: 3rem;
	}
	.stat p {
		font-size: var(--size-texto-movil);
		font-weight:var(--weight-texto-movil);
		line-height: var(--line-height-texto-movil);
		letter-spacing: var(--letter-spacing-texto-movil);
	}
	/* FEATURES */
	.features-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}
/*##################################
################ FAQ ###############
##################################*/
.faq {
  width: 100%;
  margin: 6rem auto;
  padding: 5rem 0;
  background: #222;
}

.faq__title {
  text-align: center;
  font-size: var(--size-titulo-desktop);
  font-weight: var(--weight-titulo-desktop);
  color: var(--text-color);
  margin-bottom: 4rem;
}

.faq__container {
  max-width: 80%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.faq__item {
  background: var(--text-color);
  /* border-radius: 12px; */
  /* box-shadow: 0 4px 12px rgba(0,0,0,0.05); */
  overflow: hidden;
  transition: all 0.3s ease;
}

.faq__question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.8rem 2.4rem;
  cursor: pointer;
  font-weight: 600;
  color: #333;
}

.faq__question h3 {
  margin: 0;
  font-size: var(--size-texto-desktop);
}

.faq__question i {
  font-size: 2rem;
  /* color: #1a237e; */
  transition: transform 0.3s ease;
}

.faq__item.active .faq__question i {
  transform: rotate(180deg);
}

.faq__answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 2.4rem;
  background: #fafafa;
  transition: max-height 0.4s ease, padding 0.3s ease;
}

.faq__item.active .faq__answer {
  max-height: 30rem;
  padding: 1.6rem 2.4rem;
}

.faq__answer p {
  margin: 0;
  line-height: 1.6;
  font-size: 1.7rem;
}

@media (max-width: 768px) {
  .faq {
    margin: 3rem auto;
    padding: 2rem 0;
  }

  .faq__title {
    font-size: var(--size-titulo-movil);
    font-weight: var(--weight-texto-movil);
    margin-bottom: 3rem;
  }

  .faq__container {
    gap: 10px;
  }

  .faq__question {
    padding: 1rem 1.5rem;
  }

  .faq__question h3 {
    font-size: var(--size-texto-movil);
  }

  .faq__question i {
    font-size: 1.5rem;
    transition: transform 0.3s ease;
  }

  .faq__item.active .faq__answer {
    padding: 1rem 2rem;
  }

  .faq__answer p {
    line-height: 1.6;
    font-size: 1.3rem;
  }
}

/*############################################
################# PRODUCTOS ##################
############################################*/

/* === ESTRUCTURA GENERAL === */
.productos-section {
  width: 100%;
  padding: 2rem 1rem;
  box-sizing: border-box;
}

.productos-grid-main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

/* === TARJETAS === */
.card-productos {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 50rem;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
	border: 1px solid rgba(237, 237, 237, 0.175);
}

.card {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 50rem;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
/* 	border: 1px solid black; */
}

.card::before {
  position: absolute;
  content: "";
  inset: 0;
  background: 
    linear-gradient(
      to top,
      rgba(var(--card-color-rgb), 1) 0%,
      rgba(var(--card-color-rgb), 0.96) 4%,
      rgba(var(--card-color-rgb), 0.92) 7%,
      rgba(var(--card-color-rgb), 0.88) 10%,
      rgba(var(--card-color-rgb), 0.83) 13%,
      rgba(var(--card-color-rgb), 0.77) 16%,
      rgba(var(--card-color-rgb), 0.70) 18.5%,
      rgba(var(--card-color-rgb), 0.62) 20.5%,
      rgba(var(--card-color-rgb), 0.54) 22%,
      rgba(var(--card-color-rgb), 0.46) 23.5%,
      rgba(var(--card-color-rgb), 0.38) 25%,
      rgba(var(--card-color-rgb), 0.32) 26.8%,
      rgba(var(--card-color-rgb), 0.26) 28.5%,
      rgba(var(--card-color-rgb), 0.21) 30%,
      rgba(var(--card-color-rgb), 0.17) 31.5%,
      rgba(var(--card-color-rgb), 0.13) 33%,
      rgba(var(--card-color-rgb), 0.10) 34.5%,
      rgba(var(--card-color-rgb), 0.07) 35.8%,
      rgba(var(--card-color-rgb), 0.05) 36.9%,
      rgba(var(--card-color-rgb), 0.035) 37.8%,
      rgba(var(--card-color-rgb), 0.025) 38.5%,
      rgba(var(--card-color-rgb), 0.015) 39.1%,
      rgba(var(--card-color-rgb), 0.01) 39.4%,
      rgba(var(--card-color-rgb), 0.005) 39.7%,
      rgba(var(--card-color-rgb), 0) 40%
    ),
     rgba(0, 0, 0, 0.12);
  z-index: 1;
}

.card-dark {
  background-color: #0a0a0a;
}

.card-white {
  background-color: var(--color-card-index);
}

/* Contenedor del texto */
.card-texto {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
	margin: 0 auto;
  padding: 3rem 0;
  /* color: var(--text-color); */
  box-sizing: border-box;
  z-index: 1;
}

/* Texto dentro */
.card-texto h2 {
  font-size: 3rem;
  color: var(--text-color);
}

.card-texto p {
  font-size: var(--size-texto-movil);
  line-height: 1.6;
  color: var(--text-color);
  margin-bottom: 3rem;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .productos-section {
    width: 90%;
    margin: 0 auto;
    padding: 3rem 0;
  }

  .productos-grid-main {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .card, .card-productos {
    height: 33rem;
/* 	background-size: contain; */
  }

  .card-texto {
    padding-bottom: 2rem;
  }

  .card-texto h2 {
    font-size: 2rem;
  }

  .card-texto p {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
  }
}




/*############################################
##############/* SECCIÓN MASTS /*#############
############################################*/
.section-masts {
  width: 80%;
  margin: 0 auto;
  padding-top: 4rem;
}

.section-masts .title-masts {
  font-size: var(--size-titulo-desktop);
  font-weight: var(--weight-titulo-desktop);
  margin-bottom: 5rem;
  text-align: center;
  color: var(--titulo-azul);
}

/* FILAS */
.feature-row-masts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: stretch;
  margin-bottom: 3rem;
	
/*   background: var(--color-card-index); */
  padding: 2rem;
  border-radius: 7px;
  transition: 0.3s;
/* 	border: 1px solid rgba(237, 237, 237, 0.175); */
	border: 2px solid rgba(var(--titulo-azul-rgb), 0.7);
}

.feature-row-masts:nth-of-type(odd) {
	direction: rtl;
}

.feature-row-masts:nth-of-type(odd) > * {
	direction: ltr;
}

/* IMÁGENES */
.feature-image-masts {
  width: 100%;
  min-height: 35rem;
  background-size: contain;
  background-repeat: no-repeat;
}

.feature-image-is {
  width: 100%;
  min-height: 35rem;
  background-size: cover;
  background-repeat: no-repeat;
}

/* TEXTO */
.feature-text-masts{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.feature-text-masts h3 {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--titulo-azul);
  font-size: 2.5rem;
}

.feature-text-masts p {
  color: var(--text-color);
  font-size: var(--size-texto-desktop);
  line-height: 1.5;
}

/* botón PDF flotante */
.pdf-download{
  margin-top:auto;      /* lo empuja hacia abajo */
  align-self:center;  /* flex-start lo manda a la izquierda */
}

.pdf-download img{
  width: 5rem;
  height: auto;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.pdf-download img:hover{
  transform: scale(1.1);
}

/* RESPONSIVE */
@media (max-width: 768px) {
	.section-masts {
	  width: 90%;
	}
	
    .feature-row-masts {
      grid-template-columns: 1fr;  
      gap: 1.5rem;
    }
	
	.section-masts .title-masts {
	  font-size:var(--size-titulo-movil);
	  font-weight:var(--weight-titulo-movil);
	  margin-bottom: 5rem;
	}
	
	.section-masts .title-is {
	  font-size: var(--size-titulo-movil);
	}

	.section-masts .subtitle-is {
	  font-size: 2.2rem;
	}
	
	.feature-text-masts h3 {
	  font-size: 2rem;
	}
	
	.feature-text-masts p {
	  font-size: var(--size-texto-movil);
	}
	
    .feature-image-masts {
      min-height: 30rem;
    }
	
	.pdf-download{
	  align-self: center;
	}
	
	.pdf-download img{
	  width: 4.5rem;
	}
}

/*############################################
#################/* SECCIÓN /*################
############################################*/
.section {
  width: 85%;
  margin: 0 auto;
  padding-top: 4rem;
}

.section-in {
  width: 85%;
  margin: 0 auto;
  padding-top: 8rem;
}

.section-child {
  width: 85%;
  margin: 0 auto;
  padding-top: 4rem;
}

.section-child-end {
  width: 85%;
  margin: 0 auto;
  padding-bottom: 7rem;
}

.section .section-title,
.section-in .section-title {
  font-size: var(--size-titulo-desktop);
  font-weight: var(--weight-titulo-desktop);
  margin-bottom: 1.8rem;
  text-align: center;
  color: var(--titulo-azul);
}

.section-description {
  text-align: center;
  font-size: var(--size-texto-desktop);
  color: var(--text-color);
}

.card-feature {
  border-radius:12px;
  padding:18px;
  background:white;
  box-shadow: 0 6px 18px rgba(18,38,63,0.06);
}

@media (max-width: 768px) {
	.section {
		width: 95%;
		padding-top: 2rem;
	}
	
	.section-in {
		width: 95%;
		padding-top: 4rem;
	}

	.section .section-title,
	.section-in .section-title {
		font-size:var(--size-titulo-movil);
		font-weight:var(--weight-titulo-movil);
		margin-bottom: 1.5rem;
		line-height: var(--line-height-titulo-movil);
	}
	
	.section-description {
		font-size: var(--size-texto-movil);
		font-weight:var(--weight-texto-movil);
		line-height: var(--line-height-texto-movil);
		letter-spacing: var(--letter-spacing-texto-movil);
	}
}

/*###########################################################
#################/* CATEGORÍA DE PRODUCTOS /*################
#############################################################*/
.container {
	width: 90%;
/*   max-width: 1300px; */
  margin: 2rem auto;
  padding: 0 1rem;
}

.categoria-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5rem;
}

.categoria-grid-tait {
    grid-template-columns: repeat(4, 1fr);
}

.categoria-card {
/* 	position: relative; */
/* 	background: var(--color-card-index); */
background: linear-gradient(
	160deg,
	rgba(255,255,255,0.10) 0%,
	rgba(255,255,255,0.085) 5%,
	rgba(255,255,255,0.07) 10%,
	rgba(255,255,255,0.06) 15%,
	rgba(255,255,255,0.05) 20%,
	rgba(255,255,255,0.045) 25%,
	rgba(255,255,255,0.04) 30%,
	rgba(255,255,255,0.035) 35%,
	rgba(255,255,255,0.03) 40%,
	rgba(255,255,255,0.025) 45%,
	rgba(255,255,255,0.02) 50%,
	rgba(255,255,255,0.018) 55%,
	rgba(255,255,255,0.015) 60%,
	rgba(255,255,255,0.012) 65%,
	rgba(255,255,255,0.01) 70%,
	rgba(255,255,255,0.008) 75%,
	rgba(255,255,255,0.006) 80%,
	rgba(255,255,255,0.004) 85%,
	rgba(255,255,255,0.002) 90%,
	var(--color-card-index) 100%
);

	padding: 2rem;
    border-radius: 7px;
    transition: 0.3s;
	border: 1px solid rgba(237, 237, 237, 0.175);
    overflow: hidden;
    text-align: center;
	cursor: pointer;
}

/* halo */
/* .categoria-card::before {
	content: "";
	position: absolute;
	inset: -40%;
	background: radial-gradient(
		circle at center,
		rgba(255,255,255,0.08),
		transparent 60%
	);
	z-index: 0;
	pointer-events: none;
} */

.categoria-card.active {
    outline: 4px solid #0a74da;
/* 	outline: 3px solid var(--color-primario); */
    transform: translateY(-7px);
}

.categoria-img {
  width: 100%;
  height: auto;
  overflow: hidden;
	margin-bottom: 1.5rem;
}
.categoria-img img {
  width: 100%;
  height: 20rem;
  object-fit: contain;
/*   display: block; */
	
/* 	position: relative;
	z-index: 1; */
}

.categoria-titulo {	
  font-size: 1.8rem;
	color: var(--text-color);
}

.antennas-grid .antenna-card .antenna-description {
    font-size: 15rem !important;
    margin-top: 8px;
    color: red;
}

#productos-de-categoria {
    margin-top: 1rem;
}

/* Responsive */
@media (max-width: 1024px) {
	.categoria-card.active { outline: 3px solid #0a74da; }
    .categoria-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
    .categoria-grid { grid-template-columns: repeat(1, 1fr); }
}




/* Grid productos */
.productos-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.producto-card {
/* 	position: relative; */
  background: var(--color-card-index);
/* background: linear-gradient(
	160deg,
	rgba(255,255,255,0.10) 0%,
	rgba(255,255,255,0.085) 5%,
	rgba(255,255,255,0.07) 10%,
	rgba(255,255,255,0.06) 15%,
	rgba(255,255,255,0.05) 20%,
	rgba(255,255,255,0.045) 25%,
	rgba(255,255,255,0.04) 30%,
	rgba(255,255,255,0.035) 35%,
	rgba(255,255,255,0.03) 40%,
	rgba(255,255,255,0.025) 45%,
	rgba(255,255,255,0.02) 50%,
	rgba(255,255,255,0.018) 55%,
	rgba(255,255,255,0.015) 60%,
	rgba(255,255,255,0.012) 65%,
	rgba(255,255,255,0.01) 70%,
	rgba(255,255,255,0.008) 75%,
	rgba(255,255,255,0.006) 80%,
	rgba(255,255,255,0.004) 85%,
	rgba(255,255,255,0.002) 90%,
	var(--color-card-index) 100%
); */

  padding: 2rem;
  border-radius: 7px;
  transition: 0.3s;
	border: 1px solid rgba(237, 237, 237, 0.175);
	
    text-align: center;
	cursor: pointer;
}

/* halo */
/* .producto-card::before {
	content: "";
	position: absolute;
	inset: -40%;
	background: radial-gradient(
		circle at center,
		rgba(255,255,255,0.08),
		transparent 60%
	);
	z-index: 0;
	pointer-events: none;
} */

.producto-card {
  width: 100%;
  height: auto;
  overflow: hidden;
	margin-bottom: 1.5rem;
}
.producto-card img {
  width: 100%;
  height: 25rem;
  object-fit: contain;
/*   display: block; */
}

.producto-titulo {
  font-size: 1.8rem;
	color: var(--text-color);
}

.no-products {
  font-size: 2rem;
	color: var(--text-color);
	text-align: center;
	margin: 4rem 0;
}

.loading {
  font-size: 2rem;
	color: var(--text-color);
	text-align: center;
	margin: 4rem 0;
}

.error { color: #b00020; }

/* Responsive */
@media (max-width: 1024px) {
    .productos-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
    .productos-grid { grid-template-columns: repeat(1, 1fr); }
}










/* === Modal producto Zolaryx === */
.zolaryx-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
/*   background: rgba(0,0,0,0.6);
  padding: 0; */
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.zolaryx-modal-bg {
  width: 100%;
  max-width: 1180px;
  aspect-ratio: 16 / 9;
/*   height: auto; */
  background-size: cover;
  background-position: center;
  position: relative;
  border-radius: 2.2rem;
  overflow: hidden;
  box-shadow:
    0 30px 80px rgba(0,0,0,0.45),
    inset 0 0 0 1px rgba(255,255,255,0.08);
}

/* rectángulo */
.zolaryx-modal-content {
  position: absolute;
  inset: 0;
  width: 90%;
  height: 90%;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem;
  color: white;
	
/*   border: 2px solid green; */
}

/* lado izquierdo: texto */
.zolaryx-left {
  flex: 0 0 65%;
  width: auto;
	
/* flex: 1 1 0;
  min-width: 0; */
	
/*   border: 2px solid red; */
}

.zolaryx-left h2 {
/*   font-size: clamp(2.2rem, 4vw, 3.4rem); */
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin-bottom: 1.6rem;
  text-align: left;
}

.zolaryx-description p {
  margin: 0 0 1.4rem;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  color: rgba(230,242,255,0.85);
}

/* EET list */
.zolaryx-eet {
  margin-top: 0.5rem;
  text-align: left;
}
.zolaryx-eet .eet-item {
  position: relative;
  padding-left: 1.6rem;
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 0.6rem;
  color: rgba(230,242,255,0.9);
}

.zolaryx-eet .eet-item::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0.15em;
  font-size: 1.8rem;
  line-height: 1;
  color: rgba(230,242,255,0.9);
}

/* price (inferior izquierda dentro del contenedor izquierdo) */
.zolaryx-price {
  margin-top: 1.8rem;
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--text-color);
}

/* lado derecho: imagen y botón pdf */
.zolaryx-right {
  flex: 0 0 35%;
	
/* 	max-width: 40%; */
	
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5rem;
  justify-content: flex-end;
	
/* 	transition: flex-basis 0.3s ease, max-width 0.3s ease; */
	
/*   border: 2px solid yellow; */
}

/* Cuando la imagen es vertical */
.zolaryx-right.is-vertical {
  flex: 0 0 auto;
  max-width: none;
}

/* La imagen del producto se adapta, ancho máximo razonable */
.zolaryx-right .product-image {
/*   max-height: 500px;
  width: auto;
  height: auto;
  border-radius: 6px;
  object-fit: cover; */
  max-height: 480px;
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,1));
	
/*   border: 2px solid orange; */
}



/* Botón PDF flotante */
.zolaryx-download-floating {
  position: absolute;
  bottom: 3rem;
  right: 2.4rem;
  width: 4rem;
  z-index: 999999;
  cursor: pointer;
  transition: transform 0.15s ease;
}

.zolaryx-download-floating:hover {
  transform: scale(1.07);
}





/* cerrar modal */
.zolaryx-modal-bg .zolaryx-modal-close {
  position: absolute;
  top: 1.8rem;
  right: 3rem;
  width: 4.5rem;
  height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: center; 
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(10px);
  border-radius: 50%;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: var(--text-color);
  cursor: pointer;
}

.zolaryx-modal-close i {
  font-size: 3rem;
  line-height: 1;
  color: inherit;
}

.zolaryx-modal-bg .zolaryx-modal-close:hover {
  background: transparent;
}

@media (max-width: 1024px) {
	.zolaryx-eet .eet-item {
	  font-size: 1.6rem;
	}
}


@media (max-width: 768px) {

  .zolaryx-modal-bg {
    height: 85vh;
    border-radius: 0;
    aspect-ratio: auto;
  }

  .zolaryx-modal-content {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.8rem;
    overflow-y: auto;
  }

  .zolaryx-right {
    width: 100%;
    order: 1;
    align-items: center;
    margin-bottom: 1.4rem;
  }

  .zolaryx-right .product-image {
    max-height: 240px;
  }

  .zolaryx-left {
    width: 100%;
    order: 2;
  }

  .zolaryx-left h2 {
    font-size: 2rem;
  }
	
  .zolaryx-description p {
    font-size: 1.5rem;
    max-width: 100%;
  }

  .zolaryx-eet .eet-item {
    font-size: 1.4rem;
  }
	
	.zolaryx-price {
	  font-size: 1.6rem;
	  font-weight: 500;
	}
	
  .zolaryx-download-floating {
    position: sticky;
    bottom: 1rem;
    right: 0;
    margin-left: auto;
    width: 3.5rem;
  }
}



/* ################ */
/* VIDEO TAIT RADIO */
/* ################ */
.video-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.video-loop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
	z-index: 0;
}

.video-manual {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
	z-index: 0;
}

/* Capa overlay */
.video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.35) 0%,
        rgba(0, 0, 0, 0.55) 100%
    );
    pointer-events: none;
}

/* Contenido encima */
.texto-video {
  position: relative;
  max-width: 95rem;
  padding: 0 10%;
  z-index: 2;
}

.texto-video-main {
  position: relative;
  max-width: 150rem;
  padding: 0 10%;
  z-index: 2;
/* 	  border: 3px solid red; */
}

.texto-video h2,
.texto-video-main h2 {
  font-size: 5.6rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 1px;
  margin-bottom: 4rem;
  color: var(--text-color);
}

.texto-video-main p {
	font-size: 2.5rem;
}

.texto-blanco-video {
	font-size: 2.5rem;
	color: var(--text-color);
}

/* RESPONSIVE */
@media (max-width: 1024px) {
	.video-hero {
        height: auto;
        aspect-ratio: 16 / 9;
	}
	
  .texto-video-main {
    padding: 0 2rem;
  }
	
  .texto-video-main h2 {
    font-size: 3rem;
    margin: 2rem 0 2rem;
  }
	
  .texto-video-main p {
    font-size: var(--size-texto-movil);
  }

  .texto-video h2 {
	display: none;
  }
	
  .texto-video p {
    display: none;
  }
	
}

/*###################### FLUJO TEXTO E IMÁGENES ######################*/
.section .section-title-red{
	color: var(--titulo-azul);
	margin-bottom: 6rem;
}

/* FILAS */
.feature-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
  margin-bottom: 6rem;
}

.feature-row:nth-of-type(even) {
	direction: rtl;
}

.feature-row:nth-of-type(even) > * {
	direction: ltr;
}

/* IMÁGENES */
.feature-image {
  width: 100%;
  min-height: 35rem;
  background-size: cover;
  background-repeat: no-repeat;
}

/* TEXTO */
.feature-text h3 {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--titulo-azul);
  font-size: 2.5rem;
}

.feature-text p {
  color: var(--text-color);
  font-size: var(--size-texto-desktop);
  line-height: 1.5;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .feature-row {
    grid-template-columns: 1fr;
	gap: 1.5rem;
  }
	
  .feature-image {
    min-height: 220px;
  }
	
	.feature-text h3 {
	  font-size: 2rem;
	}

	.feature-text p {
	  font-size: var(--size-texto-movil);
	}
}

/* ################################################ */
/* #################### OPEN TRUNK ################ */
/* ################################################ */
.section-open-trunk-main {
  width: 80%;
  margin: 0 auto;
  padding-top: 4rem;
	
/* 	border: 3px solid red; */
}

.section-open-trunk-key {
  width: 80%;
  margin: 6rem auto 13rem auto;
  padding-bottom: 20rem;
  position: relative; /* referencia para la imagen flotante */
	
/* 	border: 3px solid yellow; */
}

.section-open-trunk {
  width: 80%;
  margin: 6rem auto 0 auto;
/*   padding-top: 6rem; */
	
/* 	border: 3px solid green; */
}

/* Imagen a todo el ancho */
.open-trunk-image {
  width: 80%;
  margin: 6rem auto 0 auto;
	
/* 	border: 3px solid blue; */
}

.open-trunk-image img {
  width: 100%;
  height: auto;
  display: block;
}

.open-trunk-grid {
  display: grid;
  grid-template-columns: 1.5fr 0.5fr;
  align-items: center;
  gap: 3rem;
	
/* 	border: 3px solid red; */
}

/* =========================
   TEXTO IZQUIERDO
========================= */

/* .open-trunk-content {
	border: 3px solid yellow;
} */

.open-trunk-content .open-trunk-titulo-main {
  font-size: var(--size-titulo-desktop);
  font-weight: 500;
  margin-bottom: 0;
  color: var(--text-color);
}

.open-trunk-content .open-trunk-titulo {
  color: var(--text-color);
  font-size: 2.9rem;
  font-weight: 600;
  margin-bottom: 2rem;
}

.open-trunk-content p {
  color: var(--titulo-azul);
  font-size: var(--size-texto-desktop);
  line-height: 1.5;
  margin-bottom: 1.8rem;
}

/* =========================
   IMAGEN DERECHA VERTICAL
========================= */

.open-trunk-logo {
  display: flex;
  justify-content: center;
  align-items: center;
/* 	margin: 0 auto;
	width: 50%; */
	
/* 	border: 3px solid green; */
}

.open-trunk-logo img {
  width: auto;
	
/* 	border: 3px solid red; */
}

.logo-desktop {
  height: 45rem;
}

.logo-mobile {
  display: none;
}

/* IMAGEN FLOTANTE */
.kf-image {
  position: absolute;
  right: 0;
  bottom: -9rem;
/*   max-width: 80rem; */
	width: 100%;
}

.kf-image img {
  width: 80%;
	margin: 0 auto;
  height: auto;
  display: block;
}

/* Cada bloque de texto */
.info-item {
  margin-bottom: 3rem;
}

.info-item-bottom {
  margin: 0;
}

.info-tittle {
  color: var(--text-color);
  font-size: 2.9rem;
  font-weight: 600;
  margin-bottom: 2rem;
}

.info-item h3 {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--titulo-azul);
  font-size: 2.5rem;
}

.info-item .subtitle-info-item {
  margin-bottom: 0.5rem;
  color: var(--titulo-azul);
  font-size: 2.2rem;
}

.info-item p {
  color: var(--text-color);
  font-size: var(--size-texto-desktop);
  line-height: 1.5;
}

/* ################################################ */
/* ############# OPEN TRUNK RESPONSIVE ############ */
/* ################################################ */
@media (max-width: 768px) {

  /* =========================
     CONTENEDORES GENERALES
  ========================= */
  .section-open-trunk-main,
  .section-open-trunk-key,
  .section-open-trunk,
  .open-trunk-image {
    width: 90%;
    margin: 2rem auto 0 auto;
  }

  /* =========================
     GRID PRINCIPAL (SECCIÓN 1)
  ========================= */
  .open-trunk-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .logo-desktop {
    display: none;
  }

  .logo-mobile {
    display: block;

    width: 85%;
    max-width: 320px;

    height: auto;
    max-height: none;
    object-fit: contain;

    margin: 0 auto;
  }

  /* =========================
     TÍTULOS Y TEXTO
  ========================= */
  .open-trunk-content .open-trunk-titulo-main {
    font-size: var(--size-titulo-movil);
  }

  .open-trunk-content .open-trunk-titulo {
    font-size: 2rem;
  }

  .open-trunk-content p {
	font-size: var(--size-texto-movil);
  }

  /* =========================
     KEY FEATURES – IMAGEN
  ========================= */
  .section-open-trunk-key {
    padding-bottom: 4rem;
  }

  .kf-image {
    position: sticky;
    bottom: auto;
    right: auto;
    top: 2rem;
    max-width: 100%;
    margin-top: 3rem;
  }

  .kf-image img {
    width: 100%;
    margin: 0 auto;
  }

  /* =========================
     INFO ITEMS
  ========================= */
  .info-item {
    margin-bottom: 2.5rem;
  }

  .info-item h3 {
    font-size: 2rem;
  }
	
	.info-item .subtitle-info-item {
	  font-size: 1.8rem;
	}

  .info-item p {
    font-size: var(--size-texto-movil);
  }

  .info-tittle {
    font-size: 2.4rem;
    text-align: center;
  }

  /* =========================
     IMÁGENES FULL WIDTH
  ========================= */
  .open-trunk-image img {
    width: 100%;
    height: auto;
  }
}

/*############################################
############# PÁGINA DE SERVICIOS ############
############################################*/




/* ################################################ */
/* ################### HF RADIO ################# */
/* ################################################ */
.corner-section{
    position:relative;
	width: 80%;
	margin: 4rem auto;
    padding: 3rem;
    overflow:hidden;
	
/* 	border: 2px solid yellow; */
}

/* ==========================
   CONTENEDOR
========================== */

/* .corner-container{
	border: 2px solid green;
} */


/* ==========================
   TITULOS
========================== */
.corner-container h1{
    font-size: var(--size-titulo-desktop);
    font-weight: var(--weight-titulo-desktop);
    line-height:1.1;
    margin-bottom: 1.2rem;
    color: var(--text-color);
}

.corner-container h2{
    font-size: var(--size-titulo-movil);
    font-weight: var(--weight-titulo-movil);
    margin-bottom: 4rem;
}

.corner-h2-primario{
    color: var(--color-primario);
}

.corner-h2-verde{
    color: var(--line-color-verde);
}

.corner-h2-azul{
    color: var(--titulo-azul);
}

.corner-container h3{
    font-size: 3rem;
    color: var(--text-color);
    font-weight: var(--weight-titulo-movil);
    margin-bottom: 4rem;
}

.corner-container p{
    font-size: var(--size-texto-desktop);
    color: var(--text-color);
}

/* ==========================
   DOS COLUMNAS
========================== */
.corner-content-text-image{
    position: relative;
	display:grid;
    grid-template-columns: 4fr 3fr;
    gap: 1rem;
    align-items:center;
	
/* 	border: 2px solid blue; */
}

.corner-content-text-image-one-one{
    position: relative;
	display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items:center;
	
/* 	border: 2px solid blue; */
}

.corner-content-text-image-one-two{
    position: relative;
	display:grid;
    grid-template-columns: 1fr 2fr;
    gap: 3rem;
    align-items:center;
	
/* 	border: 2px solid blue; */
}

.corner-content-text-image-two-one{
    position: relative;
	display:grid;
    grid-template-columns: 2fr 1fr;
    gap: 10rem;
    align-items:center;
	
/* 	border: 2px solid blue; */
}

.corner-content-text-image-multicoupling{
    position: relative;
	display:grid;
    grid-template-columns: 1fr 2fr;
    gap: 3rem;
/*     align-items:center; */
	
/* 	border: 2px solid blue; */
}

/* ==========================
   TEXTO
========================== */

/* .corner-text{
	border: 2px solid red;
} */


.corner-text h2{
    color: var(--text-color);
	margin-bottom:1.5rem;
}

.corner-text p:not(:last-of-type) {
    margin-bottom: 1.7rem;
}
/* ==========================
   IMAGEN RADIO
========================== */

.corner-image-two-columns{
    width:100%;
    position:relative;
    min-height:40rem;
    background-repeat:no-repeat;
    background-size:contain;
	
/* 	border: 2px solid green; */
}

.corner-image-two-columns-one-one {
	position: relative;
	width: 100%;
	margin: 3rem auto;
	
/* 	border: 3px solid yellow; */
}

.corner-image-two-columns-one-one img {
	width: 85%;
	margin: 0 auto;
	height: auto;
	display: block;
}

.corner-image-two-columns-multicoupling {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
	
/* 	border: 3px solid yellow; */
}

.corner-image-two-columns-multicoupling img {
	width: 100%;
/* 	margin: 0 auto; */
	height: auto;
	display: block;
}

.corner-image-two-columns-two-one {
	position: relative;
	width: 100%;
	
/* 	border: 1px solid yellow; */
}

.corner-image-two-columns-two-one img {
	width: auto;
	margin: 0 auto;
	height: 40rem;
	display: block;
}

/*############## LINK Y PDF ##############*/

.subtitle-link{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:3rem;
	
/* 	border: 3px solid yellow; */
}

.subtitle-link h2{
    font-size: var(--size-titulo-movil);
    color: var(--titulo-azul);
    font-weight: var(--weight-titulo-movil);
/*     margin-bottom: 4rem; */
}

.subtitle-link a{
    color: var(--text-color);
    text-decoration:none;
    font-size:1.9rem;
    white-space:nowrap;
}

.hover-green a:hover{
    color: var(--line-color-verde);
    text-decoration: underline;
}

.hover-blue a:hover{
    color: var(--titulo-azul);
    text-decoration: underline;
}

/* ==========================
   ESQUINA SUPERIOR IZQUIERDA VERDE
========================== */

.corner-top-left-verde{
    position:absolute;

    top:0;
    left:0;

    width:var(--top-horizontal);
    height:var(--top-vertical);

    border-top:3px solid var(--line-color-verde);
    border-left:3px solid var(--line-color-verde);

    pointer-events:none;
}


/* ==========================
   ESQUINA INFERIOR DERECHA VERDE
========================== */

.corner-bottom-right-verde{
    position:absolute;

    right:0;
    bottom:0;

    width:var(--bottom-horizontal);
    height:var(--bottom-vertical);

    border-right:3px solid var(--line-color-verde);
    border-bottom:3px solid var(--line-color-verde);

    pointer-events:none;
}

/* ==========================
   ESQUINA SUPERIOR IZQUIERDA AZUL
========================== */

.corner-top-left-azul{
    position:absolute;

    top:0;
    left:0;

    width:var(--top-horizontal);
    height:var(--top-vertical);

    border-top:3px solid var(--titulo-azul);
    border-left:3px solid var(--titulo-azul);

    pointer-events:none;
}


/* ==========================
   ESQUINA INFERIOR DERECHA AZUL
========================== */

.corner-bottom-right-azul{
    position:absolute;

    right:0;
    bottom:0;

    width:var(--bottom-horizontal);
    height:var(--bottom-vertical);

    border-right:3px solid var(--titulo-azul);
    border-bottom:3px solid var(--titulo-azul);

    pointer-events:none;
}

/*######### IMAGEN 6120 #########*/

.sentry-6120-image {
	position:relative;
	width: 100%;
	margin: 3rem auto;
	
/* 	border: 2px solid yellow; */
}

.sentry-6120-image img {
  width: 90%;
  margin: 0 auto;
  display: block;
}

/*######### KEY FEATURES HF #########*/
.hf-key-content {
	position:absolute;
	left:0;
	bottom:0;
	
/* 	border: 2px solid yellow; */
}

.hf-key-content h3 {
  color: var(--text-color);
  font-size: 2.5rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

/* BULLET MANUAL */
.hf-features-list {
  list-style: none;
  padding: 0;
}

.hf-features-list li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: 0.7rem;
  color: var(--text-color);
  font-size: 2.3rem;
  line-height: 1.1;
}

.hf-features-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0.2em;
  font-size: 2rem;
  line-height: 1;
  color: var(--text-color);
}

/* ESTILO GENERAL DE TODAS LAS ETIQUETAS */
.annotation{
    position:absolute;
    color:var(--text-color);
    font-size:var(--size-texto-desktop);
    line-height:1.2;
    z-index:2;
	width: max-content;
}

/* HIGHLIGHTS */
.field-antenna{
    left:52%;
    top:5%;
}

.radio-unit{
    left:38%;
    bottom:39%;
}

.power-supply{
    left:66%;
    bottom:22%;
}

.speaker{
    left:48%;
    bottom:5%;
}

.handset-6120{
    left:89%;
    bottom:10%;
}


/*######### IMAGEN 6110 #########*/

.sentry-6110-image {
  position:relative;
	width: 100%;
  margin: 4rem auto;
	padding: 9rem;
	
/* 	border: 3px solid blue; */
}

.sentry-6110-image img {
  width: 70%;
	margin: 0 auto;
  display: block;
	
/* 		border: 3px solid yellow; */
}

.sentry-6110-image-topologico {
  position:relative;
	width: 100%;
  margin: 3rem auto;
	
/* 	border: 3px solid blue; */
}

.sentry-6110-image-topologico img {
  width: 70%;
	margin: 0 0 0 auto;
  display: block;
	
/* 		border: 3px solid yellow; */
}

/*####### HIGHLIGHTS #######*/
.color-screen-display{
    left:36%;
    top:0;
}

.versatile-battery-system{
    right:5%;
    top:0;
}

.control-point{
    right:0;
    top:25%;
}

.usb-port{
    right:0;
    top:55%;
}

.handset-port{
    right:5%;
    bottom:5%;
}

.keypad{
    right:27%;
    bottom:0;
}

.navigation-keys{
    left:45%;
    bottom:0;
}

.gps-antenna{
    left:22%;
    bottom:0;
}

.discrete-mode-switch{
    left:8%;
    bottom:8%;
}

.front-panel{
    left:3%;
    top:55%;
}

.antenna-port{
    left:8%;
    top:15%;
}

/*####### HIGHLIGHTS TOPOLÓGICO #######*/
.tactical-antenna{
    left:35%;
    top:5%;
}

.battery-case{
    right:13%;
    top:7%;
}

.sentry-hf{
    right:15%;
    bottom:11%;
}

.handset-6110{
    left:46%;
    bottom:16%;
}

.handset-6110-opcional{
    left:30%;
    top:32%;
}

/* sdsssssssssssssss */
.annotations{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;
}

.annotations line{
    stroke: var(--line-color-verde);
    stroke-width: 2;
}

.hf-radio-verde{
    color: var(--line-color-verde);
}

.hf-radio-azul{
    color: var(--titulo-azul);
}

.hf-radio-golden{
    color: var(--line-color-golden);
}

/*######### div para altura #########*/
.div-altura{
	height: 5rem;
}

/* ################ RESPONSIVE HF RADIO ################# */

@media (max-width: 1024px){

    .corner-section{
        width:90%;
        padding:2.5rem;
    }

    .corner-content-text-image-one-one{
        grid-template-columns:1fr;
        gap:4rem;
    }

    .corner-container h2{
        margin-bottom:2rem;
    }

    .corner-container h3{
        font-size:2.6rem;
    }

    .corner-image-two-columns-one-one img,
    .sentry-6120-image img,
    .sentry-6110-image img,
    .sentry-6110-image-topologico img{
        width:100%;
    }

    .sentry-6110-image{
        padding:4rem;
    }

    .annotation{
        font-size:1.5rem;
    }

    .hf-key-content{
        position:relative;
        left:auto;
        bottom:auto;
        margin-bottom:3rem;
    }
}


/* TABLET */
@media (max-width: 768px){

    .corner-section{
        width:95%;
        padding:1rem;
    }

    .corner-container h1{
        font-size: var(--size-titulo-movil);
        line-height:1.2;
    }

    .corner-container h2{
        font-size:2.3rem !important;
    }

    .corner-container h3{
        font-size:2.2rem;
        line-height:1.3;
    }

    .corner-container p{
        font-size:var(--size-texto-tablet);
        line-height:1.6;
    }
	
    .corner-content-text-image{
		display:block !important;
    }

    .corner-content-text-image-one-one{
        grid-template-columns:1fr;
        gap:3rem;
    }

    .sentry-6110-image{
        padding:2rem;
    }

    .hf-key-content h3{
        font-size:2rem;
    }

    .hf-features-list li{
        font-size:1.8rem;
    }

    .annotation{
        font-size:1.2rem;
    }

    .corner-top-left-verde,
    .corner-bottom-right-verde{
        width:50%;
        height:8rem;
    }
	
	.subtitle-link a{
		font-size:1.15rem;
	}
}


/* MOVIL */
@media (max-width: 480px){

    .corner-section{
        width:90%;
        padding:1rem;
    }

    .corner-container h1{
        font-size: 2.5rem;
        line-height: var(--line-height-titulo-movil);
    }

    .corner-container h2{
        font-size: 1.7rem;
        line-height: 1.3;
    }

    .corner-container h3{
        font-size:2rem;
    }

    .corner-container p{
		font-size: var(--size-texto-movil);
		font-weight:var(--weight-texto-movil);
		line-height: var(--line-height-texto-movil);
		letter-spacing: var(--letter-spacing-texto-movil);
    }
	
	.corner-text p:not(:last-of-type) {
		margin-bottom: 1.3rem;
	}
	
    .corner-content-text-image{
		gap: 0.5rem;
		display:block !important;
    }

    .corner-content-text-image-one-one{
        gap:2rem;
    }
	
    .corner-content-text-image-one-two{
		gap: 0.5rem;
		grid-template-columns: 1fr;
    }
	
	.corner-content-text-image-one-two .corner-text-envoy{
		order: 2;
	}
	
	.corner-content-text-image-one-two .corner-image-two-columns-envoy-base{
		order: 1;
	}
	
	.corner-image-two-columns{
		width:90%;
		margin: 0 auto;
		min-height:33rem;
	}

    .sentry-6110-image{
        padding:0;
    }

    .sentry-6120-image,
    .sentry-6110-image,
    .sentry-6110-image-topologico{
        overflow-x:hidden;
    }

    .hf-key-content{
        position:relative;
        margin-top:2rem;
        margin-bottom:2rem;
    }

    .hf-key-content h3{
        font-size:1.8rem;
		margin-bottom: 1rem;
    }

    .hf-features-list li{
        font-size:1.5rem;
		font-weight:var(--weight-texto-movil);
		line-height: var(--line-height-texto-movil);
		letter-spacing: var(--letter-spacing-texto-movil);
        padding-left:1.6rem;
		margin-bottom: 0.2rem;
    }
	
	.hf-features-list li::before {
	  top: 0;
	  line-height: 1;
	}

    /* ocultar anotaciones y líneas SVG en móvil */
    .annotation,
    .annotations{
        display:none;
    }

    .corner-top-left-verde,
    .corner-bottom-right-verde{
        width: 50%;
        height: 10rem;
        border-width:2px;
    }

    .div-altura{
        height:2rem;
    }
}

/* ################################################ */
/* ################### MESH RADIO ################# */
/* ################################################ */

/* ==========================
   PDF DESCARGABLE
========================== */
.pdf-download-container-left-top{
    position:absolute;
    left:0;
    top:0;

    width:max-content;
}

.pdf-download-container-right-top{
    position:absolute;
    right:0;
    top:0;

    width:max-content;
}

.pdf-download-container-right-top-envoy-base{
    position:absolute;
    right:20%;
    top:10%;

    width:max-content;
}

.pdf-download-container-right-top-rolatube{
    position:absolute;
    right:0;
    top:3%;

    width:max-content;
}

.pdf-download-container-right-top-tait{
    position:absolute;
    right:5%;
    top:10%;

    width:max-content;
}

.pdf-download-container-left-top-tait{
    position:absolute;
    left:5%;
    top:10%;

    width:max-content;
}

.pdf-download-container-right-top-tait-dos{
    position:absolute;
    right:5%;
    top:30%;

    width:max-content;
}

.pdf-download-container-right-top-tait-doble{
    position:absolute;
    right:5%;
    top:15%;

    width:max-content;
}

.pdf-download-container-right-top-tait-doble-dos{
    position:absolute;
    right:5%;
    top:35%;

    width:max-content;
}

.pdf-download-container-right-top-tait-doble-tres{
    position:absolute;
    right:5%;
    top:55%;

    width:max-content;
}

.pdf-download-container-right-center{
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: max-content;
}

.pdf-download-container-right-bottom{
    position:absolute;
    right:1rem;
    bottom:2rem;

    width:max-content;
}

.pdf-download-container-right-bottom-multicoupling{
    position:absolute;
    right:-25%;
    bottom:7%;

    width:max-content;
}

.pdf-download-container-left-bottom{
    position:absolute;
    left:0;
    bottom:0;

    width:max-content;
}

.pdf-download-container-left-bottom-combiners{
    position:absolute;
    left:-13%;
    bottom:7%;

    width:max-content;
}

/* ENLACE PDF */
.pdf-download-mesh{
    display:block;
    transition:0.3s;
}

.pdf-download-mesh:hover{
    transform:scale(1.05);
}

.pdf-icon img{
    width:4.5rem;
    height:auto;
    display:block;
}

.pdf-icon-tait img{
    width:4.5rem;
    height:auto;
    display:block;
}

/* ESTILO COMÚN */
.pdf-label-red{
    color: var(--color-primario);
    font-size: var(--size-texto-desktop);
    white-space:nowrap;
}

.pdf-label-blue{
    color: var(--titulo-azul);
    font-size: var(--size-texto-desktop);
    white-space:nowrap;
}

.pdf-label-orange{
    color: #F7941D;
    font-size: var(--size-texto-desktop);
    white-space:nowrap;
}

.pdf-label-verde{
    color: var(--line-color-verde);
    font-size: var(--size-texto-desktop);
    white-space:nowrap;
}

.pdf-label-white-tait{
    color: var(--text-color);
    font-size: 2rem;
    white-space:nowrap;
	line-height: 1.2;
}

/* DEBAJO */
.pdf-label-bottom{
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%);
    margin-top:0.5rem;
}

/* ARRIBA */
.pdf-label-top{
    position:absolute;
    bottom:100%;
    left:50%;
    transform:translateX(-50%);
    margin-bottom:0.5rem;
}

/* DERECHA */
.pdf-label-right{
    position:absolute;
    left:100%;
    top:50%;
    transform:translateY(-50%);
    margin-left:1rem;
}

/* IZQUIERDA */
.pdf-label-left{
    position:absolute;
    right:100%;
    top:50%;
    transform:translateY(-50%);
    margin-right:1rem;
}


/* ==========================
   ESQUINA SUPERIOR IZQUIERDA ROJA
========================== */

.corner-top-left-red{
    position:absolute;

    top:0;
    left:0;

    width:var(--top-horizontal);
    height:var(--top-vertical);

    border-top:3px solid var(--line-color-red);
    border-left:3px solid var(--line-color-red);

    pointer-events:none;
}

/* ==========================
   ESQUINA SUPERIOR DERECHA ROJA
========================== */

.corner-top-right-red{
    position:absolute;

    top:0;
    right:0;

    width:var(--top-horizontal);
    height:var(--top-vertical);

    border-top:3px solid var(--line-color-red);
    border-right:3px solid var(--line-color-red);

    pointer-events:none;
}


/* ==========================
   ESQUINA INFERIOR IZQUIERDA ROJA
========================== */

.corner-bottom-left-red{
    position:absolute;

    left:0;
    bottom:0;

    width:var(--bottom-horizontal);
    height:var(--bottom-vertical);

    border-left:3px solid var(--line-color-red);
    border-bottom:3px solid var(--line-color-red);

    pointer-events:none;
}

/* ==========================
   ESQUINA INFERIOR DERECHA ROJA
========================== */

.corner-bottom-right-red{
    position:absolute;

    right:0;
    bottom:0;

    width:var(--bottom-horizontal);
    height:var(--bottom-vertical);

    border-right:3px solid var(--line-color-red);
    border-bottom:3px solid var(--line-color-red);

    pointer-events:none;
}

/* ==========================
   ESQUINA SUPERIOR DERECHA AZUL
========================== */

.corner-top-right-azul{
    position:absolute;

    top:0;
    right:0;

    width:var(--top-horizontal-card);
    height:var(--top-vertical-card);

    border-top:2px solid var(--titulo-azul);
    border-right:2px solid var(--titulo-azul);

    pointer-events:none;
}

/* ==========================
   ESQUINA INFERIOR IZQUIERDA AZUL
========================== */

.corner-bottom-left-azul{
    position:absolute;

    left:0;
    bottom:0;

    width:var(--bottom-horizontal-card);
    height:var(--bottom-vertical-card);

    border-left:2px solid var(--titulo-azul);
    border-bottom:2px solid var(--titulo-azul);
	

    pointer-events:none;
}

/* ==========================
   ESQUINA SUPERIOR IZQUIERDA DORADA
========================== */

.corner-top-left-golden{
    position:absolute;

    top:0;
    left:0;

    width:var(--top-horizontal);
    height:var(--top-vertical);

    border-top:3px solid var(--line-color-golden);
    border-left:3px solid var(--line-color-golden);

    pointer-events:none;
}


/* ==========================
   ESQUINA INFERIOR DERECHA DORADA
========================== */

.corner-bottom-right-golden{
    position:absolute;

    right:0;
    bottom:0;

    width:var(--bottom-horizontal);
    height:var(--bottom-vertical);

    border-right:3px solid var(--line-color-golden);
    border-bottom:3px solid var(--line-color-golden);

    pointer-events:none;
}

/* ==========================
   ESQUINA SUPERIOR DERECHA DORADA BluSDR
========================== */

.corner-top-right-blusdr{
    position:absolute;

    top:0;
    right:0;

    width:var(--top-horizontal-blusdr);
    height:var(--top-vertical-blusdr);

    border-top:2px solid var(--line-color-golden);
    border-right:2px solid var(--line-color-golden);

    pointer-events:none;
}


/* ==========================
   ESQUINA INFERIOR IZQUIERDA DORADA BluSDR
========================== */

.corner-bottom-left-blusdr{
    position:absolute;

    left:0;
    bottom:0;

    width:var(--bottom-horizontal-blusdr);
    height:var(--bottom-vertical-blusdr);

    border-left:2px solid var(--line-color-golden);
    border-bottom:2px solid var(--line-color-golden);

    pointer-events:none;
}

/* CONTENEDOR */

.blusdr-banner{
    position:relative;
    width:100%;
/*     max-width:1200px; */
    margin-top: 4rem;

    padding: 4rem;
    box-sizing:border-box;
}

/* IMAGEN */

.blusdr-image{
	position: relative;
    width:100%;
    aspect-ratio:16/9;

    background-size:cover;
    background-repeat:no-repeat;
}

/* CONTROLES Y LOGO */
.controles-blusdr{
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	bottom:1rem;

	width:95%;

	display:flex;
/* 	justify-content:space-between; */
	justify-content: flex-end;
	align-items:baseline;
	
/* 	border: 1px solid yellow; */
}

/* Sección */
.blusdr-section{
  width: 100%;
  margin: 0 auto;
  padding-top: 4rem;
}

.blusdr-content{
    position:relative;
	
/* 	border: 1px solid yellow; */
}

/* Título */
.blusdr-title{
    font-size:3rem;
    line-height:1.15;
    max-width:60rem;
    margin:0;
    flex:1;
	color: var(--text-color);
}

.blusdr-blue{
    color: var(--titulo-azul);
}

/* Texto */
.blusdr-description{
    margin-top: 4rem;
    font-size: var(--size-texto-desktop);
	color: var(--text-color);
    line-height:1.3;
}

/* Contenedor Principal */
.card-container {
    display:flex;
    align-items:center;
    width:fit-content;
    padding:0;
}

/* Lado Izquierdo */
.left-side {
    flex:none;
    padding-right:3rem;
}

.left-side h3 {
    font-size: var(--size-titulo-desktop);
	color: var(--text-color);
}

/* Divisor Azul */
.divider-container {
    position: relative;
    height: 18rem; /* Altura de la línea vertical */
    display: flex;
    align-items: center;
}

.divider-container-30 {
    height: 28rem;
}

.divider-container-90 {
    height: 31rem;
}

.vertical-line {
    width: 2px;
    height: 100%;
    background-color: var(--titulo-azul);
}

.horizontal-pointer {
    position: absolute;
    left: -2.5rem;
    width: 2.5rem;
    height: 2px;
    background-color: var(--titulo-azul);
}

/* Lado Derecho */
.right-side {
    flex:none;
    padding-left:2rem;
}

.right-side h4 {
    font-size: 2.6rem;
    margin-bottom: 2px;
	color: var(--text-color);
}

/* Lista de especificaciones inferiores */
.specs-list {
    list-style: none;
    font-size: var(--size-texto-desktop);
    line-height: 1.3;
    color: var(--text-color);
}
/* ########## */
/* ########## */
/* ########## */
/* ########## */
.main-layout{
    display:grid;
    grid-template-columns: 1fr 1fr;
    align-items:center;
    gap:8rem;
    margin-top: 4rem;
	
/* 	border: 1px solid green; */
}

.left-column{
	position:relative;
    display:flex;
    flex-direction:column;
    gap:0;
    align-items:flex-start;
	
/* 	border: 1px solid yellow; */
}

.device-image-container{
    width:90%;
	margin:0 auto;
    min-height:35rem; /* altura para dar espacio al pdf */

    background-size:contain;
    background-repeat:no-repeat;

    display:block;
	
/* 	border: 1px solid pink; */
}

.right-column{
    display:flex;
    justify-content:center;
    align-items:center;
	
/* 	border: 1px solid red; */
}

@media (max-width: 768px) {
	.blusdr-title{
		font-size:2.6rem;
		line-height:1.15;
		max-width:60rem;
	}
	
	.blusdr-description{
		font-size: var(--size-texto-movil);
		margin-top: 2rem;
		line-height:1.3;
	}
	
    .main-layout{
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-top: 2rem;
    }

    .left-column,
    .right-column{
        width: 100%;
    }

    .right-column{
        justify-content: center;
    }

    .device-image-container{
        width: 100%;
        min-height: 13rem;
/* 		padding: 20rem; */
		
/* 		border: 1px solid yellow; */
    }
	
	.divider-container {
		height: 14rem;
	}

	.divider-container-30 {
		height: 22rem;
	}

	.divider-container-90 {
		height: 24rem;
	}

    .responsive-img{
        width: 100%;
        height: auto;
    }
	
    .card-container{
        width: 100%;
        gap: 0.8rem;
		margin: 2rem 0;
    }
	
	.left-side {
		padding-right:2rem;
	}
	
	.left-side h3 {
		font-size: 2.5rem;
	}
	
	.right-side {
		padding-left:0;
	}

	.right-side h4 {
		font-size: 2.2rem;
		margin-bottom: 2px;
	}
	
	.specs-list {
		font-size: var(--size-texto-movil);
		line-height: 1.3;
	}
}

/* ################################################ */
/* ################## TAIT OPEN 2 ################# */
/* ################################################ */
.catalog-viewer{
    width:100%;
    display:flex;
    justify-content:center;
    background:#111;
/*     padding:40px 0; */
}

.catalog-page{
    width:min(100%,1600px);
    background:#fff;
}

.catalog-section{
    position:relative;
    width:100%;
    aspect-ratio:1600 / 900;
    overflow:hidden;
}

.catalog-section .bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.catalog-section .content{
    position:absolute;
    inset:0;
}

.catalog-section .text{
    position:absolute;
    left:7%;
    top:7%;
    width:42%;
    color: var(--text-color);
}

.catalog-section .text-right{
    position:absolute;
    right:7%;
    top:7%;
    width:42%;
    color: var(--text-color);
}

.catalog-section .text-security {
    position:absolute;
    left:22%;
    top:45%;
    width:65%;
    color: var(--text-color);
}

.catalog-section .text p,
.catalog-section .text-right p,
.catalog-section .text-security p{
    font-size: 2.5rem;
    line-height:1.25;
    margin-bottom:3rem;
}

/* .catalog-section .text-right p{
    font-size: 2.5rem;
    line-height:1.25;
    margin-bottom:3rem;
} */

.radio{
    position:absolute;
    max-width:none;
}

.radio-1{
    width:27%;
    top:7%;
    left:51%;
}

.radio-2{
    width:27%;
    top:27%;
    left:51%;
}

.radio-3{
    width:27%;
    top:47%;
    left:51%;
}

.radio-4{
    width:6.7%;
    top:7%;
    right:12.5%;
}

.radio-5{
    width:27%;
    top:57%;
    left:51%;
}

.radio-left{
    height:55%;
	top:7%;
    left:53%;
}

.radio-center{
    height:55%;
	top:7%;
    left:66%;
}

.radio-right{
    height:55%;
	top:7%;
    left:79%;
}

.radio-left-v2{
    height:55%;
	top:7%;
    left:14%;
}

.radio-center-v2{
    height:55%;
	top:7%;
    left:27%;
}

.radio-right-v2{
    height:55%;
	top:7%;
    left:40%;
}


.logo-1-portada{
    width:35%;
    top:13%;
    left:7%;
}

.logo-2-portada{
    width:32%;
    top:30%;
    left:7%;
}

.radio-1-portada{
    width:30%;
    bottom:32%;
    left:7%;
}

.radio-2-portada{
    width:30%;
    bottom:7%;
    left:7%;
}

.radio-3-portada{
    width:50%;
    bottom:7%;
    right:7%;
}

.radio-portatil-1-portada{
    height:63%;
    bottom:23%;
    right:48%;
}

.radio-portatil-2-portada{
    height:63%;
    bottom:23%;
    right:38%;
}

.radio-portatil-3-portada{
    height:63%;
    bottom:23%;
    right:28%;
}

.radio-portatil-4-portada{
    height:63%;
    bottom:23%;
    right:18%;
}

.radio-portatil-5-portada{
    height:63%;
    bottom:23%;
    right:8%;
}

.logo-1-final{
    width:35%;
    top:7%;
    left:12%;
}

.logo-2-final{
    width:32%;
    top:7%;
    right:12%;
}

.imagen-1-final{
    width:25%;
    top:25%;
    left:12%;
}

.imagen-2-final{
    width:25%;
    top:25%;
    left:37.5%;
}

.imagen-3-final{
    width:25%;
    top:25%;
    right:12%;
}

.imagen-4-final{
    width:25%;
    top:55%;
    left:12%;
}

.imagen-5-final{
    width:25%;
    top:55%;
    left:37.5%;
}

.imagen-6-final{
    width:25%;
    top:55%;
    right:12%;
}

.radio-security-1{
    height:85%;
	top:7%;
    left:7%;
}

.radio-security-2{
    width:33%;
	top:15%;
    left:22%;
}

.section-title-personalizado{
    position:absolute;
    left:7%;
    bottom:4%;
    color:transparent;
    -webkit-text-stroke:1.5px var(--text-color);
	text-stroke:2px var(--text-color); /* compatibilidad futura */
	font-family: 'Calibre Black', system-ui, sans-serif;
    font-size:10vw;
/* 	font-size:clamp(4rem, 9.5vw, 14.5rem); */
    line-height:0.5;
    font-weight:900;
    letter-spacing:4px;
    text-transform:uppercase;
	
/* 	border: 2px solid green; */
}

.section-title-personalizado-security{
	left:22%;
}

/*######### FRANJA CON FONDO Y TEXTO #########*/
.franja-tait-open-2{
  position: relative;
  width: 100%;
  height: 5vw;;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
	
/* 	border: 2px solid yellow; */
}

.franja-tait-open-2 p{
	font-size: 2.6rem;
	font-weight: 600;
	color: var(--text-color);
	margin: 0;
	line-height: 1;
	
/* 	border: 2px solid green; */
}

.boton-centrado-tait{
	position:absolute;
	bottom: 5%;
    left: 50%;
    transform: translateX(-50%);
}

@media (max-width: 1300px) {
    .catalog-section .text p,
	.catalog-section .text-right p,
	.catalog-section .text-security p{
        font-size: 2.2rem;
		margin-bottom:2rem;
    }
}

@media (max-width: 1024px) {
    .catalog-section .text p,
	.catalog-section .text-right p,
	.catalog-section .text-security p{
        font-size: 1.7rem;
		margin-bottom:2rem;
    }
}

@media (max-width: 768px) {
    .catalog-section .text p,
	.catalog-section .text-right p,
	.catalog-section .text-security p{
        font-size: 1.3rem;
		margin-bottom:1rem;
    }
	
	.portada-tait {
        height: auto;
        aspect-ratio: 16 / 9;
	}
	
	.logo-1-portada{
		top:20%;
	}

	.logo-2-portada{
		top:35%;
	}
}

@media (max-width: 480px) {
    .catalog-section .text p,
	.catalog-section .text-right p,
	.catalog-section .text-security p{
		font-size: 0.75rem;
		line-height:1.25;
		margin-bottom:1rem;
	}
	
	.franja-tait-open-2{
		height: 11vw;
	}
	
	.franja-tait-open-2 p{
		width:90%;
		font-size: 1.2rem;
		font-weight: 400;
		line-height:1.25;
	}
	
	.section-title-personalizado{
		bottom:1%;
		-webkit-text-stroke:0.7px var(--text-color);
		letter-spacing:2px;
	}
	
	.section-title-personalizado-security{
		left:22%;
	}
	
	.pdf-icon img{
		width:3.2rem;
	}
	
	.pdf-icon-tait img{
		width:1.7rem;
	}
	
	.pdf-label-blue{
		font-size: 1.4rem;
		line-height: 1.2;
	}
	
	.pdf-label-verde{
		font-size: 1.4rem;
		line-height: 1.2;
	}
	
	.pdf-label-white-tait{
		font-size: 0.78rem;
		line-height: 1.2;
	}
	
	.pdf-label-top{
		margin-bottom:0.2rem;
	}
	
	.pdf-label-left{
		margin-right:0.5rem;
	}
	
	.pdf-download-container-right-bottom{
/* 		right:1rem; */
		bottom:1rem;
	}
	
	.pdf-download-container-right-top-tait-doble-dos{
		top:39%;
	}

	.pdf-download-container-right-top-tait-doble-tres{
		top:62%;
	}
	
}

/* ################################################ */
/* ################### ENVOY X2 ################### */
/* ################################################ */
.corner-text .texto-centrado-imagen {
	font-size: 2.5rem;
	font-weight: 600;
	text-align: center;
}

/*######### KEY FEATURES ENVOY #########*/
.corner-text-envoy{
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    height: 100%;
}

/* .envoy-key-content {
	border: 2px solid green;
} */

.envoy-key-content h3 {
  color: var(--text-color);
  font-size: 2.5rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

/* HIGHLIGHTS BASE */
.broadband-hf-dipole-antenna{
    left:23%;
    top:15%;
}

.envoy-x2-base{
    left:15%;
    bottom:50%;
}

.desktop-console-2230{
    left:31%;
    bottom:4%;
}

.power-supply-envoy{
    left:73%;
    bottom:17%;
}

/* HIGHLIGHTS MOBILE */
.envoy-x2-mobile{
    left:15%;
    top:15%;
}

.mobile-tray-mount{
    left:2%;
    top:39%;
}

.handset-mount{
    left:0;
    bottom:35%;
}

.smart-2220-handset{
    left:28%;
    bottom:40%;
}

.mobile-tuner-3040{
    left:93%;
    bottom:43%;
}

.mobile-speaker{
    left:43%;
    bottom:10%;
}

.car-battery{
    right:3%;
    bottom:8%;
}

/* IMAGEN ENVOY BASE */
.corner-image-two-columns-envoy-base {
	position: relative;
	width: 100%;
	margin: 3rem auto;
	
/* 	border: 3px solid blue; */
}

.corner-image-two-columns-envoy-base > img {
	width: 100%;
	margin: 0 auto;
	height: auto;
	display: block;
}

@media (max-width: 768px) {
	.corner-text .texto-centrado-imagen {
		font-size: 2rem;
		font-weight: 500;
	}
	
	.envoy-key-content h3 {
		font-size:1.8rem;
		margin-bottom: 1rem;
	}
	
	.corner-text-envoy{
		gap: 1rem;
		margin-bottom: 3rem;
	}
}

/* ################################################ */
/* ################## RF SYSTEMS ################## */
/* ################################################ */
/*######################## ZZZZZZZZZZZZZZZZZZ ########################*/
.rf-wrapper{
  position:relative;
  overflow:hidden;
}

/* CAPA DE FONDOS */
.rf-backgrounds{
  position:absolute;
  inset:0;
  z-index:0;
}

/* CADA FONDO */
.rf-backgrounds .bg{
  width:100%;
  aspect-ratio: 16 / 9;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.bg-1{
  background-image:url('/wp-content/uploads/2026/06/RF-Systems-fondo-1-nuevo.jpg');
}

.bg-2{
  background-image:url('/wp-content/uploads/2026/06/RF-Systems-fondo-2-nuevo.jpg');
}

.bg-3{
  background-image:url('/wp-content/uploads/2026/06/RF-Systems-fondo-3-nuevo.jpg');
}

.bg-4{
  background-image:url('/wp-content/uploads/2026/06/RF-Systems-fondo-4-nuevo.jpg');
}


.section-rf-space-duplexor{
	margin-bottom: 55vw;
}

.section-rf-space-transmitter{
	margin-bottom: 12vw;
}

.section-rf-space-multicoupling{
	margin-bottom: 55vw;
}


.corner-text-parcial{
	position:relative;
	width:65%;
/* 	border: 1px solid yellow; */
}

.corner-text-parcial h2{
	color: var(--text-color);
	margin-bottom:1.5rem;
}

.corner-text-parcial p.corner-h2-azul{
    color: var(--titulo-azul);
}

.container-pdf-image{
    display: flex;
    justify-content: space-evenly;
	align-items: center;
	margin: 5rem 0;
	
/* 	border: 1px solid red; */
}

.pdf-download-csdsd{
    position:relative;
	
/* 	border: 1px solid green; */
}

.imagen-rf-duplexor {
	width: 35rem;
}








.rf-section{
    display:grid;
    grid-template-columns:10rem 1fr 10rem;
    gap:3rem;
    align-items:center;
}

.rf-antenna{
    display:flex;
    justify-content:center;
    align-items:center;
}

.rf-antenna img{
    width:100%;
    height:auto;
    max-height:60rem;

    object-fit:contain;
}

/* ################################################ */
/* ################ PRODCUTOS NUEVO ############### */
/* ################################################ */
/* 1. Reset e inicialización de estilos modernos */

        .container-productos {
/*             max-width: 150rem; */
			width: 95%;
            margin: 0 auto;
        }

        /* Contenedor Grid (2 columnas en escritorio, 1 en móvil) */
        .productos-grid-main {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem;
            width: 100%;
        }

        @media (max-width: 768px) {
            .productos-grid-main {
                grid-template-columns: 1fr;
            }
        }

        /* 2. Estructura de la Tarjeta (Card) */
        .productos-card {
            position: relative;
            height: 50rem;
            background-color: #000000;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            padding: 4rem 2rem;
			
/* 			border: 1px solid rgba(237, 237, 237, 0.175); */
        }

        /* OPCIÓN A: Contenido arriba */
        .card-content-top {
            justify-content: flex-start;
        }

        /* OPCIÓN B: Contenido abajo */
        .card-content-bottom {
            justify-content: flex-end;
        }

        /* Bloque de textos (Prioridad sobre la imagen de fondo) */
        .card-text-container {
            position: relative;
            z-index: 2;
/*             max-width: 100%; */
        }

        /* 3. Tipografía y Colores */
        .card-title {
            font-size: 2.7rem;
            font-weight: 600;
/*             letter-spacing: -0.015em; */
/*             margin-bottom: 0.5rem; */
			margin-bottom: 2.5rem;
        }

        .card-subtitle {
            font-size: 1.4rem;
/*             font-weight: 400; */
/*             letter-spacing: -0.01em; */
            margin-bottom: 1.8rem;
            line-height: 1.35;
        }

        /* Variaciones de color según el fondo de la imagen */
        .text-light .card-title { color: var(--text-color); }
        .text-light .card-subtitle { color: var(--text-color); }

        .text-dark .card-title { color: #1d1d1f; }
        .text-dark .card-subtitle { color: #515154; }

/* BOTÓN */
.boton-card {
  background-color: #005bb5;
  border: 1px solid #005bb5;
	color: var(--text-color);
  padding: 0.8rem 1.8rem;
  font-size: 1.3rem;
  border-radius: 98rem;
  text-decoration: none;
  font-weight: 500;
	transition: 0.5s ease;
}

.boton-card:hover {	
  border: 1px solid var(--text-color);
  color: var(--text-color);
  background-color: transparent;
}

        /* 5. El truco del Fondo Súper Responsive */
        .card-background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
        }

        .card-background img {
            width: 100%;
            height: 100%;
            object-fit: cover;       /* Clave: Rellena sin deformar */
            object-position: center;   /* Clave: Mantiene el centro intacto */
        }

/* ################################################ */
/* #################### CONTACTO ################## */
/* ################################################ */
.portada-contacto-movil {
  position: relative;
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
  z-index: 0;
}

.contacto-footer{
    position:relative;
    padding:1rem;
}

/* Overlay */
.contact-overlay{
    background:rgba(0,0,0,0.6);
    padding:4rem 3rem;

	display: flex;
	flex-direction: column;
}

/* Dos columnas */
.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10rem;
}

.contact-right {
	position: relative;
}

/* Texto */
.contact-left p,
.contact-right p{
    color: var(--text-color);
    font-size:2.1rem;
    line-height:1.2;
    margin-top:1.8rem;
}

/* Logos */
.logo-zolaryx{
    width:24rem;
    display:block;
}

.logo-nvis{
    width:32rem;
    display:block;
}

/* Whatsapp */
.telefono{
    display:flex;
    align-items:center;
    gap:1rem;
    margin-top:0.8rem;
}

.telefono img{
	position: absolute;
	bottom:4%;
	left:-4rem;
    width:2.8rem;
    height:2.8rem;
    display:block;
}

.copyright{
    position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    text-align: center;
    color: var(--text-color);
    font-size: var(--size-texto-movil);
/* 	font-weight: 500; */
    z-index: 100;
	
	pointer-events: none;
}







/* ==========================================
   ESTILOS GENERALES Y ESCRITORIO
   ========================================== */

/* Tarjeta en escritorio */
.contact-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 2rem 10rem;
  padding: 3.5rem;
}

.card-text-intro {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  color: var(--text-color);
  font-size: 2.1rem;
  line-height: 1.2;
  margin: 0;
}

.logo-brand {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  display: block;
}

.logo-zolaryx { width: 24rem; }
.logo-nvis    { width: 32rem; }

.card-info {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
}

.card-info p {
  color: var(--text-color);
  font-size: 2.1rem;
  line-height: 1.2;
  margin: 0;
}

/* MARCOS Y ESQUINAS (Escritorio) */
.contact-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40%;
  height: 50%;
  border-top: 3px solid transparent;
  border-left: 3px solid transparent;
  pointer-events: none;
}

.contact-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 40%;
  height: 50%;
  border-bottom: 3px solid transparent;
  border-right: 3px solid transparent;
  pointer-events: none;
}

.card-blue::before,  .card-blue::after  { border-color: #38b6ff; }
.card-yellow::before, .card-yellow::after { border-color: #f1c40f; }

/* ==========================================
   ESTILOS RESPONSIVE PARA MÓVIL (> 768px)
   ========================================== */
@media (min-width: 769px) {
	.portada-contacto-movil {
		display:none;
	}
}

/* ==========================================
   ESTILOS RESPONSIVE PARA MÓVIL (≤ 768px)
   ========================================== */
@media (max-width: 768px) {
	
	.portada-contacto-escritorio {
		display:none;
	}
	
  .contact-overlay {
    padding: 2rem 1.2rem;
    gap: 4rem;
  }

  /* Cambia Grid a Columna Flex */
  .contact-card {
    display: flex;
    flex-direction: column;
    padding: 2rem 1.5rem;
    gap: 0;
  }

  /* Orden vertical idéntico a la imagen */
  .card-text-intro {
    order: 1;
    font-size: 1.35rem;
    line-height: 1.35;
    margin-bottom: 1.2rem;
  }

  .logo-brand {
    order: 2;
    margin-bottom: 1.2rem;
  }

  .logo-zolaryx { width: 17rem; }
  .logo-nvis    { width: 21rem; }

  .card-info {
    order: 3;
  }

  .card-info p {
    font-size: 1.35rem;
    line-height: 1.35;
  }

  .telefono {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.4rem;
  }

  .telefono img {
    width: 1.6rem;
    height: 1.6rem;
  }

  /* Marco exterior móvil */
  .contact-card::before {
    width: 90%;
    height: 65%;
  }

  .contact-card::after {
    width: 90%;
    height: 65%;
  }

  /* COPYRIGHT DEBAJO DE TODO */
  .copyright-section {
    width: 100%;
    margin-top: 1rem;
    padding: 1.5rem 1rem 3rem 1rem;
    text-align: center;
    box-sizing: border-box;
  }

  .copyright-section p {
    font-size: 1.2rem;
    line-height: 1.3;
    margin-bottom: 1.2rem;
    color: #ffffff;
  }
}

/* ################################################ */
/* ################## ROLATUBE ################## */
/* ################################################ */

.envoy-key-content h3.corner-h2-verde {
    color: var(--line-color-verde);
}

/* IMAGEN ROLATUBE */
.corner-image-two-columns-rolatube {
	position: relative;
	width: 100%;
	margin: 3rem auto;
	padding: 2rem;
	
	border: 2px solid var(--line-color-verde);
}

.corner-image-two-columns-rolatube img {
	width: 100%;
	margin: 0 auto;
	height: auto;
	display: block;
}

.boton-centrado{
	margin: 4rem 0 2rem 0;
	width:100%;
	display:flex;
	justify-content:center;
	
/* 	border: 1px solid yellow; */
}

.pdf-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
	margin: 3rem 0;
}

.pdf-grid-simple {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:2rem;
}

.pdf-download-grid{
    display:block;
    transition:.3s;
    order:2;
}

.pdf-download-grid:hover{
    transform:scale(1.05);
}

.pdf-label-white-grid{
    color: var(--text-color);
    font-size: var(--size-texto-desktop);
    white-space:nowrap;
	order:1;
}

@media (max-width: 1024px) {
    .pdf-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .pdf-grid {
        grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
    }
	.pdf-grid-simple {
		gap: 1.5rem;
	}
	.pdf-label-white-grid{
		font-size: 1.5rem;
		line-height: 1.3;
	}
	
	.corner-image-two-columns-rolatube {
		margin: 2rem auto;
		padding: 1rem;
	}
}


/* HACER QUE TODOS LOS PDF ABRAN EN UNA PESTAÑA NUEVA */
.pdf-modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.8);
    z-index:99999;
}

.pdf-modal-content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:90%;
    max-width:1200px;
    height:90%;
    background:#fff;
    border-radius:10px;
    overflow:hidden;
}

#pdfFrame{
    width:100%;
    height:100%;
    border:none;
}

.pdf-close{
    position:absolute;
    top:12px;
    right:18px;
    font-size:36px;
    color:#fff;
    cursor:pointer;
    z-index:2;
}

/* ################################################ */
/* ################ TAIT IS RADIOS ################ */
/* ################################################ */
.section-is .title-is {
  font-size: var(--size-titulo-desktop);
  font-weight: var(--weight-titulo-desktop);
  margin-bottom: 1.8rem;
  color: var(--titulo-azul);
}

.section-is .subtitle-is {
  font-size: var(--size-texto-desktop);
  margin-bottom: 2.5rem;
  color: var(--text-color);
	line-height: 1.3;
}

/*###################### DISEÑO ILLUSTRATOR ######################*/
.section-is-main {
  width: 60%;
  margin: 0 auto;
  padding-top: 4rem;
}

.section-is {
  width: 75%;
  margin: 0 auto;
  padding: 1rem 0 5rem 0;
}

.is-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 4rem;
  align-items: center;
	
/* 	border: 2px solid yellow; */
}

.is-titulo-logos {
/*   border: 2px solid green; */
	display: flex;
	
    align-items:center;
    gap:1rem;
    flex-wrap:wrap;
}

.is-titulo-main{
    margin:0;
}

/* .is-content {
  border: 2px solid green;
} */

/* TEXTO */
.is-content .is-titulo-main {
  font-size: 4.2rem;
  font-weight: 500;
  margin-bottom: 0;
  color: var(--text-color);
}

.is-content .is-titulo-main span {
  color: var(--titulo-amarillo);
  border: 3px solid var(--titulo-amarillo);
  border-radius: 50%;
  width: 1.5em;
  height: 1.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  line-height: 1;
}

.is-content .is-subtitulo-main {
  color: var(--titulo-amarillo);
  font-size: 3.5rem;
  font-weight: 500;
}

/* LOGOS */
.is-logos{
    display: flex;
    gap: 2rem;
    align-items: center;
	justify-content: space-evenly;
	
	margin-left: 1rem;
}

.is-logos img{
    height: 4rem;
    width: auto;
}

/* TEXTO DESTACADO */
.is-titulo {
  color: var(--titulo-azul);
  font-size: 2.9rem;
  font-weight: 600;
  margin-bottom: 2rem;
}

.is-titulo-feature {
  color: var(--text-color);
}

.is-content p {
  color: var(--titulo-azul);
  font-size: var(--size-texto-desktop);
  line-height: 1.5;
  margin-bottom: 1.8rem;
  max-width: 95%;
}

/* RADIOS */
.is-radios-img-main {
  display: flex;
/*   grid-template-columns: repeat(2, 1fr); */
/*   gap: 4rem; */
  justify-items: center;
	justify-content: space-evenly;
	
/* 	border: 2px solid red; */
}

.is-radios-img-main img {
/*   width: 100%;
  max-width: 220px;
  height: auto; */
	
	  height: 50rem;
  width: auto;
}

.is-radios-img {
  display: flex;
  justify-items: center;
	justify-content: space-evenly;
	
/* 	border: 2px solid red; */
}

.is-radios-img img {
	height: 38rem;
	width: auto;
}

@media (max-width: 768px) {
    .desktop-br{
        display: none;
    }

    .is-content,
    .is-radios-img-main{
        width: 100%;
    }

    .is-radios-img-main{
        display: flex;
        justify-content: center;
        gap: 1rem;
    }
	
	.is-radios-img-main img {
/*         max-width: 5%;
        height: auto; */
		display: none;
	}
}

/*###################### DISEÑO ILLUSTRATOR - LISTADO DE FEATURES ######################*/
/* RESET BÁSICO */
.is-container {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
}

.is-media-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  align-items: center;
}

.is-media-grid img {
  width: 100%;
  max-width: 7rem;
  margin: 0 auto;
  display: block;
}

.is-media-grid img[src*="IS-Single-Side-Charger.webp"] {
  max-width: 11rem;
}

.is-media-grid-uno {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: center;
  margin: 2rem 0;
}

.is-media-grid-uno img {
  width: 100%;
  max-width: 17rem;
  margin: 0 auto;
  display: block;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .is-container {
    grid-template-columns: 1fr;
	gap: 1rem;
  }

  .is-media {
    margin-top: 3rem;
  }

  .is-media-grid {
    grid-template-columns: 1fr 1fr;
  }
	
  .is-media-grid img {
    max-width: 9rem;
  }
	
	.is-media-grid img[src*="IS-Single-Side-Charger.webp"] {
	  max-width: 13rem;
	}
	
.is-media-grid-uno img {
  max-width: 19rem;
}
}





/* BULLET MANUAL */
.is-features-list {
	position: relative;
  list-style: none;
  padding: 0;
}

.is-features-list li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: 0.7rem;
  color: var(--text-color);
	font-size: 2.2rem;
/*   font-size: var(--size-texto-desktop); */
  line-height: 1.4;
}

.is-features-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0.2em;
  font-size: 2rem;
  line-height: 1;
  color: var(--text-color);
}

/* CONTENEDOR PDF */
.is-pdf-download {
  margin-top: 1.7rem;
}

/* IMAGEN CLICKEABLE */
.is-pdf-download a {
  display: inline-block;
}

.is-pdf-download img {
  max-width: 4rem;
  height: auto;
  cursor: pointer;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* HOVER */
.is-pdf-download img:hover {
  transform: scale(1.05);
/*   opacity: 0.85; */
}

/* ################################################ */
/* #################### RESPONSIVE ################ */
/* ################################################ */

@media (max-width: 1024px) {

  .section-is-main,
  .section-is {
    width: 90%;
  }

  .is-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .is-content p {
    max-width: 100%;
  }

  .is-radios-img {
    gap: 2.5rem;
  }

  .is-radios-img img {
    height: 30rem;
  }
}

/* ===================== MOBILE ===================== */

@media (max-width: 768px) {

  .section-is-main {
    padding-top: 2rem;
  }

  /* GRID A UNA COLUMNA */
  .is-grid {
    grid-template-columns: 1fr;
/*     text-align: center; */
  }

  /* TÍTULOS */
  .is-content .is-titulo-main {
    font-size: 2.8rem;
  }

  .is-content .is-subtitulo-main {
    font-size: 2.2rem;
  }

  .is-titulo {
    font-size: 2rem;
  }

  /* TEXTO */
  .is-content p {
	  font-size: 1.4rem;
	  margin-bottom: 0.9rem;
  }
	
  .is-features-list li {
    font-size: var(--size-texto-movil);
    text-align: left;
  }
	
  .is-features-list li::before {
	top: 0.07em;
  }

  /* LOGOS */
  .is-logos {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }

  .is-logos img {
    width: 7rem;
  }

  /* RADIOS */
  .is-radios-img {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }

  .is-radios-img img {
    height: 22rem;
  }

  /* FEATURES */
  .is-features-list {
    text-align: left;
  }

  /* PDF */
  .is-pdf-download {
    text-align: center;
  }
}

/* ===================== MOBILE PEQUEÑO ===================== */

@media (max-width: 480px) {

  .section-is-main,
  .section-is {
    width: 90%;
  }

  .is-content .is-titulo-main {
    font-size: 2.4rem;
  }

  .is-content .is-subtitulo-main {
    font-size: 1.9rem;
  }

  .is-titulo {
    font-size: 1.9rem;
  }

  .is-radios-img {
    grid-template-columns: repeat(2, 1fr);
  }

  .is-radios-img img {
    height: 24rem;
  }

  .is-logos {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}






/* ############################ */
/* NUEVA ESTRUCTURA IS RADIOS */
/* ############################ */
.pdf-grid-is {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 5rem;
	margin: 3rem 0;
}

.pdf-grid-simple-is {
    display:flex;
    align-items:center;
	justify-content: space-evenly;
    gap:2rem;
}

.pdf-icon-is img{
    width:5.5rem;
    height:auto;
    display:block;
}

.pdf-label-blue-grid{
    color: var(--titulo-azul);
    font-size: 2.2rem;
    white-space:nowrap;
	order:1;
	line-height: 1.2;
}

.pdf-label-green-grid{
    color: var(--color-verde);
    font-size: 2.2rem;
    white-space:nowrap;
	order:1;
	line-height: 1.2;
}

.pdf-label-orange-grid{
    color: var(--color-naranja);
    font-size: 2.2rem;
    white-space:nowrap;
	order:1;
	line-height: 1.2;
}

.white-color {
	color: var(--text-color);
}

.yellow-color {
	color: var(--color-amarillo);
}

/* DOS COLUMNAS INTRÍNSECO */
.content-text-one-one{
    position: relative;
	display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items:flex-start;
	
/* 	border: 2px solid blue; */
}

.image-two-columns-is {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 2rem;

	border: 2px solid var(--titulo-azul);
	border-radius: 1rem;
}

.image-two-columns-is img {
	width: 100%;
	height: auto;
	display: block;
}

.image-two-columns-is-accesorios {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 2rem 8rem;

	border: 2px solid var(--titulo-azul);
	border-radius: 1rem;
}

.padding-is-accesorios {
	padding: 2rem 6rem;
}

.image-two-columns-is-accesorios img {
	width: 100%;
	height: auto;
	display: block;
}

.texto-contenido-dos-columnas h2{
  font-size: var(--size-titulo-desktop);
  font-weight: var(--weight-titulo-desktop);
  margin-bottom: 1.8rem;
  color: var(--titulo-azul);
}

.texto-contenido-dos-columnas p{
  color: var(--text-color);
  font-size: 2.2rem;
  line-height: 1.5;
}

.texto-contenido-dos-columnas p:not(:last-child){
  margin-bottom:2rem;
}










.tait-is-section{
  width:100%;
  padding:4rem 0;
	
/* 		width: 80%;
	margin: 0 auto; */
    z-index: 2;
}

.tait-is-grid{
  width:min(1200px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap:4rem;
  align-items:stretch; /* misma altura en ambas columnas */
	justify-content: center;
}

/* ===== TEXTO ===== */

.tait-is-text{
  display:flex;
  flex-direction:column;
  justify-content:space-between;

  /* border: 1px solid red; */
}

.tait-is-text h1{
  margin:0 0 22px;
  font-size:4rem;
  line-height:1.08;
  font-weight:600;
  letter-spacing:-0.02em;
  color:#0B8CFF;
}

.tait-is-text .yellow{
  color:#FFE600;
}

.is-circle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border:3px solid #FFE600;
  border-radius:50%;
  color:#FFE600;
  font-size:4rem;
  font-weight:500;
  line-height:1;
}

.tait-is-text h2{
  margin:0 0 28px;
  color:#0B8CFF;
  font-size:2.8rem;
  line-height:1.18;
  font-weight:600;
}

.tait-is-text p{
  margin:0 0 28px;
  color:#FFFFFF;
  font-size:2.2rem;
  line-height:1.38;
  font-weight:400;
  max-width:620px;
}

.tait-is-text p:last-child{
  margin-bottom:0;
}

/* ===== RADIOS ===== */

.tait-is-radios{
	position:relative;
    display:flex;
    justify-content:space-evenly;
    align-items:center;
/* 	align-items:flex-start; */
    min-height:100%; /* ocupa la altura completa de la columna izquierda */

/*     border: 1px solid blue; */
}

/* Radios */

.radio-is-portada{
  position:relative;
  /* height:100%; */
  display:flex;
  align-items:flex-start;
}

/* .radio-blue {
  
  border: 1px solid yellow;
} */

.radio-is-portada .radio-img{
  display:block;
  width:auto;
  height:520px; /* ajusta para igualar la altura visual del texto */
  object-fit:contain;
}

/* Logos absolutos */

.logo-p25{
  position:absolute;
  top:1rem;
  left:0;
  width:9rem;
  height:auto;
}

.logo-dmr{
  position:absolute;
  top:1rem;
  left:0;
  width:9rem;
  height:auto;
}

.is-circle-radios{
  position:absolute;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:4rem;
  height:4rem;
  border:2px solid #FFE600;
  border-radius:50%;
  color:#FFE600;
  font-size:3rem;
  font-weight:500;
  line-height:1;

  top:40%;
  right:-5rem;
}

.is-circle-accesorios{
	position:absolute;
    width:5.5rem;
    height:5.5rem;
	font-size:4rem;
    top:5%;
    right:5%;
}


/* ===== RESPONSIVE ===== */

@media (max-width: 1024px){

  .tait-is-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .tait-is-radios{
    min-height:auto;
    padding-top:56px;
  }

  .logo-p25{
    left:25%;
    transform:translateX(-50%);
    width:70px;
  }

  .logo-dmr{
    right:25%;
    transform:translateX(50%);
    width:70px;
  }

  .radio-is-portada img{
    height:420px;
  }

  .tait-is-text h1{
    font-size:2.4rem;
  }

  .tait-is-text h2{
    font-size:1.55rem;
  }
}

@media (max-width: 640px){
	
	.corner-image-two-columns-is {
		margin: 2rem auto;
		padding: 1rem;
	}

  .tait-is-section{
    padding:28px 0;
  }

  .tait-is-grid{
    width:92%;
  }

  .tait-is-text h1{
    font-size:2rem;
  }

  .is-circle{
    width:44px;
    height:44px;
    font-size:1.2rem;
    border-width:2px;
  }

  .tait-is-text h2{
    font-size:1.3rem;
  }

  .tait-is-text p{
    font-size:0.98rem;
    line-height:1.5;
  }

  .tait-is-radios{
    gap:18px;
    padding-top:48px;
  }

  .logo-p25,
  .logo-dmr{
    width:58px;
  }

  .radio-is-portada img{
    height:280px;
  }

  .radio-blue,
  .radio-green{
    transform:none;
  }
}