:root {
--primary-color: #7f0000;
--secondary-color: #930000;
--text-color: hsl(0, 0%, 100%);
--white: #555454b2;
--transition: all 0.3s ease;
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
color: var(--text-color);
margin: 0;
padding: 0;
}

.container {
width: 90%;
max-width: 1200px;
margin: 0 auto;
padding: 0 15px;
}

/* Estilos del header */
.header {
background-color: var(--white);
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
position: fixed;
width: 100%;
top: 0;
left: 0;
z-index: 1000;
padding: 15px 0;
}

.header .container {
display: flex;
justify-content: space-between;
align-items: center;
}

.logo img {
height: 50px;
width: auto;
}

.nav {
transition: var(--transition);
}

.nav-list {
display: flex;
list-style: none;
}

.nav-item {
margin-left: 30px;
}

.nav-link {
text-decoration: none;
color: var(--text-color);
font-weight: 500;
font-size: 1rem;
text-transform: uppercase;
letter-spacing: 1px;
padding: 5px 0;
position: relative;
transition: var(--transition);
}

.nav-link:hover {
color: var(--primary-color);
}

.nav-link::after {
content: '';
position: absolute;
width: 0;
height: 2px;
background-color: var(--primary-color);
bottom: 0;
left: 0;
transition: var(--transition);
}

.nav-link:hover::after {
width: 100%;
}

/* Estilos del menú hamburguesa */




.menu-toggle {
display: none;
background: none;
border: none;
font-size: 1.5rem;
color: var(--primary-color);
cursor: pointer;
padding: 5px;
}

/* Estilos del menú desplegable */
.nav-item.dropdown {
position: relative;
}

.dropdown-list {
display: none;
position: absolute;
top: 100%;
left: 0;
background-color: var(--white);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
width: 200px;
padding: 10px 0;
list-style: none;
margin: 0;
z-index: 1000;
}

.dropdown-item {
padding: 8px 20px;
}

.dropdown-link {
text-decoration: none;
color: var(--text-color);
display: block;
font-size: 1rem;
text-transform: uppercase;
letter-spacing: 1px;
transition: var(--transition);
}

.dropdown-link:hover {
color: var(--primary-color);
}

.dropdown-item:hover {
background-color: #f4f4f4;
}

/* Mostrar el menú desplegable al pasar el ratón */
.nav-item.dropdown:hover .dropdown-list {
display: block;
}

/* Estilos responsivos */
@media (max-width: 860px) {
.menu-toggle {
display: block;
z-index: 1001;
}

.nav {
position: fixed;
top: 0;
right: -100%;
width: 80%;
max-width: 300px;
height: 100vh;
background-color: var(--white);
box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
padding: 80px 30px 30px;
transition: right 0.4s ease;
}

.nav.active {
right: 0;
}

.nav-list {
flex-direction: column;
}

.nav-item {
margin: 15px 0;
}

.nav-link {
font-size: 1.1rem;
}

/* Estilos del dropdown en móviles */
.nav-item.dropdown {
display: block;
}

.dropdown-list {
position: static;
box-shadow: none;
padding: 10px 0;
}

.dropdown-item {
margin: 5px 0;
}

.dropdown-list.active {
display: block;
}
}





.hero {
  position: relative;
  height: 90vh;
  min-height: 600px;
  background-image: url('fotos/1.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  margin-top: 80px;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0); /* Transparente */
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
  color: var(--white);
  max-width: 600px;
  padding: 40px;
  background-color: #ffffffcc;
  border-radius: 8px;
  animation: fadeInUp 1s ease-out;
}

.hero-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 20px;
  text-shadow: 1px 1px 3px rgb(216, 216, 216);
}

.hero-description {
  font-size: 1.5rem;
  margin-bottom: 30px;
  text-shadow: 1px 1px 2px rgb(171, 171, 171);
}


.hero-cta {
display: flex;
gap: 15px;
flex-wrap: wrap;
}

.btn {
display: inline-block;
padding: 12px 30px;
border-radius: 4px;
font-weight: 600;
text-decoration: none;
text-align: center;
transition: var(--transition);
text-transform: uppercase;
letter-spacing: 1px;
font-size: 0.9rem;
}

.btn-primary {
background-color: var(--secondary-color);
color: var(--text-color);
border: 2px solid var(--secondary-color);
}

.btn-primary:hover {
background-color: transparent;
color: var(--secondary-color);
}

.btn-secondary {
background-color: transparent;
color: var(--white);
border: 2px solid var(--white);
}

.btn-secondary:hover {
background-color: var(--white);
color: var(--text-color);
}

/* Animación */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

/* Responsive */
@media (max-width: 768px) {
.hero {
height: auto;
padding: 100px 0;
text-align: center;
}

.hero-content {
max-width: 100%;
padding: 30px 20px;
}

.hero-title {
font-size: 2rem;
}

.hero-description {
font-size: 1rem;
}

.hero-cta {
justify-content: center;
}
}

@media (max-width: 480px) {
.hero-title {
font-size: 1.8rem;
}

.btn {
padding: 10px 20px;
width: 100%;
}

.hero-cta {
flex-direction: column;
gap: 10px;
}
}




/* Submenú dentro del dropdown */
.dropdown-item.dropdown {
position: relative;
}

.submenu {
display: block;
/* Necesario para animar */
position: absolute;
top: 0;
left: 100%;
background-color: var(--white);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
width: 200px;
padding: 10px 0;
opacity: 0;
transform: translateY(10px);
pointer-events: none;
transition: opacity 0.3s ease, transform 0.3s ease;
z-index: 1000;
}

.dropdown-item.dropdown:hover .submenu {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}

/* En móviles el submenú se comporta como lista normal */
@media (max-width: 860px) {
.submenu {
position: static;
box-shadow: none;
opacity: 1;
transform: none;
pointer-events: auto;
}
}





.footer {
width: 100%;
background-color: var(--white);
color: var(--text-color);
padding: 30px 0 30px;
margin-bottom: 0;
padding-bottom: 0;
margin: 0;
}

.footer-inner {
max-width: 1200px;
margin: 0 auto;
text-align: center;
padding: 0 15px;
}

.fabricante {
margin-bottom: 20px;
}

.fabricante strong {
font-size: 1.3rem;
display: block;
margin-bottom: 5px;
}

.fabricante .rojo {
color: var(--secondary-color);
font-weight: bold;
}

.redes {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 15px;
margin: 15px 0 25px;
}

.redes .item {
display: flex;
align-items: center;
gap: 8px;
font-size: 1rem;
}

.redes .item i.fa-instagram,
.redes .item i.fa-facebook {
color: var(--secondary-color);
}

.icono {
font-size: 1.3rem;
}

.logo-mini {
width: 20px;
height: 20px;
object-fit: contain;
}

.footer-links {
margin-top: 20px;
}

.footer-links a {
color: var(--text-color);
text-decoration: none;
margin: 0 10px;
font-weight: 500;
transition: var(--transition);
}

.footer-links a:hover {
color: var(--secondary-color);
text-decoration: underline;
}






.servicios-sivicon {
font-family: Arial, sans-serif;
background-color: #fff;
color: #000;
padding: 60px 20px;
display: flex;
flex-direction: column;
align-items: center;
}

.servicios-titulo {
text-align: center;
color: #8B0000;
font-size: 52px;
line-height: 1.2;
max-width: 1000px;
margin-bottom: 40px;
}

.servicios-titulo span {
color: #000;
}

.servicios-contenedor {
max-width: 1000px;
width: 100%;
display: flex;
flex-direction: column;
gap: 60px;
}

.servicios-seccion {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 40px;
flex-wrap: wrap;
}

.servicios-reversa {
flex-direction: row-reverse;
}

.servicios-texto {
flex: 1;
min-width: 250px;
}

.servicios-texto h3 {
color: #8B0000;
margin-bottom: 10px;
font-size: 20px;
}

.servicios-texto p {
font-size: 16px;
line-height: 1.5;
margin: 0;
}

.servicios-imagen {
flex-shrink: 0;
min-width: 200px;
}

.servicios-imagen img {
width: 200px;
height: auto;
border-radius: 8px;
}

@media (max-width: 768px) {

.servicios-seccion,
.servicios-reversa {
flex-direction: column;
text-align: center;
align-items: center;
}

.servicios-imagen img {
width: 100%;
max-width: 300px;
margin-top: 20px;
}
}

.puertas-seguridad {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: #ffffff;
color: #000;
display: flex;
flex-direction: column;
align-items: center;
padding: 40px 0;
}

.puertas-seguridad .header-seguridad {
text-align: center;
}

.puertas-seguridad .header-seguridad h1 {
font-size: 40px;
color: #b10000;
margin-bottom: 10px;
text-transform: uppercase;
position: relative;
display: inline-block;
}

.puertas-seguridad .header-seguridad h1::after {
content: '';
display: block;
width: 100%;
height: 4px;
background-color: #b10000;
margin-top: 5px;
}

.puertas-seguridad .header-seguridad h2 {
font-size: 20px;
color: #333;
margin-top: 10px;
text-align: center;
margin-left: auto;
margin-right: auto;
width: 80%;
}