/* ================================
RESET + BASE
================================ */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter','Poppins',sans-serif;
background:#F8FAFC;
color:#1F2937;
line-height:1.6;
-webkit-font-smoothing:antialiased;
}

a{
text-decoration:none;
color:inherit;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
padding:0 1em;
}

section{
padding:4em 0;
}

h2{
font-size:1.8rem;
margin-bottom:1em;
text-align:center;
}

p{
margin-bottom:1em;
text-align:center;
}

/* ================================
SITE UNDER CONTRUCTION
================================ */
#construction-banner{
  width:100%;
  background:#ffb020;
  color:#1a1a1a;
  text-align:center;
  padding:10px;
  font-weight:600;
  font-size:14px;
}

/* ================================
BOTONES
================================ */

.btn-primary{
background:#1F6FE5;
color:white;
padding:.8em 1.6em;
border-radius:8px;
font-weight:600;
transition:.25s;
}

.btn-primary:hover{
background:#114ABF;
transform:translateY(-2px);
box-shadow:0 8px 18px rgba(31,111,229,.25);
}

.btn-secondary{
border:2px solid #1F6FE5;
color:#1F6FE5;
padding:.7em 1.4em;
border-radius:8px;
font-weight:600;
transition:.25s;
}

.btn-secondary:hover{
background:#1F6FE5;
color:white;
}

.btn-large{
font-size:1.2rem;
padding:1em 2em;
}

/* CONTAINER */
.container {width:90%; max-width:1200px; margin:auto;
  padding:0 1em;}

/* ================================
NAVBAR
================================ */

.navbar{
background:white;
position:sticky;
top:0;
z-index:1000;
box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.navbar-container{
display:flex;
align-items:center;
justify-content:space-between;
padding:.8em 0;
}

.logo img{
height:42px;
}

.nav-links{
display:flex;
align-items:center;
}

.nav-links a{
margin:0 1em;
font-weight:600;
}

.nav-buttons{
display:flex;
align-items:center;
}

.nav-buttons a{
margin-left:1em;
}

.hamburger{
display:none;
flex-direction:column;
cursor:pointer;
width:30px;
}

.hamburger span{
height:3px;
width:100%;
background:#1F6FE5;
margin:4px 0;
border-radius:2px;
}

/* ================================
HERO
================================ */

.hero {
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2em;
  padding: 4em 0;
  background-color: #F1F5F9;  /* gris suave */
  border-radius: 16px; /* opcional, bordes redondeados estilo startup */
  color: #1F2937;      /* asegura que el texto principal contraste bien */
}

.hero-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.hero-text {
  flex: 1 1 50%;   /* ocupa la mitad del ancho, mínimo 50% */
  min-width: 300px; /* evita que se achique demasiado en móviles */
}

.hero-text h1 {
  font-size: 2rem;
  margin-bottom: 1em;
  font-weight: 700;
}

.hero-text p {
  color: #6B7280;
  margin-bottom: 2em;
}

.hero-buttons a {
  margin-right: 1em;
   box-shadow: 0 6px 15px rgba(0,0,0,0.1);

}

.hero-image {
  flex: 1 1 50%;   /* ocupa la otra mitad */
  min-width: 300px; /* mínimo ancho para que la imagen se vea bien */
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-image img {
  max-width: 100%;      /* nunca se desborda del contenedor */
  height: auto;         /* mantiene proporción */
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

/* LOGO */
.logo img {
  height: 80px;        /* altura fija para que no desborde el navbar */
  width: auto;         /* mantiene proporción */
  display: block;
}

.navbar .logo a {
  display: flex;
  align-items: center;
}

/* SECCIONES */
section {padding:4em 0;}
h2 {font-size:1.8rem; margin-bottom:1em; text-align:center;}
p {margin-bottom:1em; text-align:center;}

/* ================================
PROBLEMA
================================ */

.problema{
background:#F1F5F9;
}

.problema-icons{
display:grid;
grid-template-columns:repeat(2,150px);
justify-content:center;
gap:3em;
margin-top:2em;
}

.problema-icons .icon{
text-align:center;
}

.problema-icons i{
margin-bottom:.5em;
transition:.3s;
}

.problema-icons .icon:hover i{
transform:scale(1.2);
}

/* ================================
SOLUCIÓN
================================ */

.solucion{
background:white;
}

.solucion-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:2em;
margin-top:2em;
}

.card{
background:white;
padding:2em;
border-radius:16px;
text-align:center;
box-shadow:0 6px 15px rgba(0,0,0,.05);
transition:.25s;
}

.card:hover{
transform:translateY(-5px);
}

/* ================================
CÓMO FUNCIONA
================================ */

.como-funciona{
background:#F8FAFC;
}

.steps{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:2em;
margin-top:2em;
}

.step{
background:white;
padding:2em;
border-radius:16px;
text-align:center;
box-shadow:0 6px 15px rgba(0,0,0,.05);
}

.step span{
display:inline-block;
background:#F47A2A;
color:white;
border-radius:50%;
width:40px;
height:40px;
line-height:40px;
font-weight:700;
margin-bottom:1em;
}
/* CARACTERÍSTICAS */

.caracteristicas { background-color: #FFFFFF; }

/* GRID DE BENEFICIOS */
.grid-beneficios {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1.5em;
  margin-top: 2em;
}

.beneficio-card {
  background: white;
  padding: 2em;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 6px 15px rgba(0,0,0,0.05);
  transition: transform 0.3s;
}

.beneficio-card:hover {
  transform: translateY(-5px);
}

.beneficio-card i {
  margin-bottom: 0.5em;
}

/* BOTÓN DE WHATSAPP */
.whatsapp-btn {
  margin-top: 2.5em;
  text-align: center;
}

.whatsapp-btn a {
  display: inline-block;
  padding: 1em 2em;
  font-size: 1.1rem;
  border-radius: 12px;
  text-decoration: none;
  background-color: #25D366; /* verde WhatsApp */
  color: white;
  font-weight: 600;
  transition: 0.3s;
}

.whatsapp-btn a:hover {
  background-color: #1ebe57; /* más oscuro al hover */
}
/* PLACAS */
.disenos { background-color: #F1F5F9; }

/* GRID DE DISEÑOS DE PLACAS */
.grid-disenos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2em;
  margin-top: 2em;
}

.diseno-card {
  background: white;
  border-radius: 16px;
  padding: 1.5em;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
  transition: transform 0.3s, box-shadow 0.3s;
}

.diseno-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 25px rgba(0,0,0,0.12);
}

.diseno-card img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin-bottom: 1em;
}

.diseno-card h3 {
  margin-bottom: 0.8em;
  font-size: 1.2rem;
  color: #1F2937;
}

.diseno-card a.btn-secondary {
  display: inline-block;
  padding: 0.8em 1.5em;
  font-size: 0.95rem;
  background-color: #F8FAFC; /* botón suave */
  color: #1F6FE5; /* azul principal */
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  transition: 0.3s;
}

.diseno-card a.btn-secondary:hover {
  background-color: #1F6FE5;
  color: white;
}

/*SEGURIDAD*/
.seguridad { background-color: #FFFFFF; }

/* SECCIÓN SEGURIDAD */
.seguridad {
  background-color: #F8FAFC; /* fondo suave */
  padding: 4em 0;
}

.seguridad h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 0.5em;
  color: #1F2937;
}

.seguridad p {
  text-align: center;
  color: #6B7280;
  margin-bottom: 3em;
}

/* GRID DE CARDS */
.seguridad-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2em;
  justify-items: center;
}

.seguridad-card {
  background: white;
  padding: 2em;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 6px 15px rgba(0,0,0,0.05);
  transition: transform 0.3s, box-shadow 0.3s;
}

.seguridad-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 25px rgba(0,0,0,0.12);
}

.seguridad-card i {
  margin-bottom: 0.8em;
}

.seguridad-card h3 {
  margin-bottom: 0.5em;
  color: #1F2937;
}

.seguridad-card p {
  color: #6B7280;
  font-size: 0.95rem;
}

/* TESTIMONIOS */
.testimonios { background-color: #F8FAFC; }

.testimonial-card {background:white; padding:2em; border-radius:16px; text-align:center; box-shadow:0 6px 15px rgba(0,0,0,0.05); max-width:600px; margin:2em auto;}

/* ================================
CTA FINAL
================================ */

.cta-final {
  background-color: #1F6FE5; /* azul principal */
  color: white;
  text-align: center;
  padding: 5em 1em;
  border-radius: 16px;
  margin-top: 4em;
}

.cta-final h2 {
  font-size: 2.2rem;
  margin-bottom: 0.5em;
}

.cta-final p {
  font-size: 1.1rem;
  margin-bottom: 2em;
  color: #E6F0FF; /* subtítulo más suave */
}

/* BOTÓN CTA FINAL CON ANIMACIÓN */
.cta-final a.btn-primary {
  background-color: #F47A2A; /* naranja acento */
  color: white;
  padding: 1.2em 2.5em;
  font-size: 1.2rem;
  border-radius: 12px;
  font-weight: 700;
  display: inline-block;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.cta-final a.btn-primary:hover {
  background-color: #e1661f; /* naranja más oscuro */
  transform: translateY(-4px) scale(1.05); /* pequeño “lift” y leve aumento */
  box-shadow: 0 8px 20px rgba(0,0,0,0.2); /* sombra suave al elevar */
}

/* ================================
FAQ
================================ */

.faq-item{
background:white;
padding:1em 2em;
border-radius:12px;
margin:1em 0;
cursor:pointer;
box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.faq-item p{
display:none;
margin-top:.5em;
color:#6B7280;
}

/* ================================
FOOTER
================================ */

footer{
background:white;
padding:2em 0;
box-shadow:0 -2px 6px rgba(0,0,0,.05);
}

.footer-container{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
align-items:center;
}

.footer-links a{
margin:0 1em;
}

.socials a{
margin-left:1em;
font-size:1.2rem;
}

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

@media(max-width:900px){

.hero{
flex-direction:column;
text-align:center;
padding:2em 1em;
}

.hero-buttons{
display:flex;
flex-direction:column;
gap:1em;
align-items:center;
}

.hero-image img{
width:90%;
max-width:400px;
margin:auto;
}

.navbar-container{
  flex-wrap:wrap;
}

.nav-links,
.nav-buttons{
display:none;
flex-direction:column;
width:100%;
text-align:center;
gap:12px;
margin-top:10px;
}

.nav-links.active,
.nav-buttons.active{
display:flex;
}

.logo{
  order:1;
}

.hamburger{
display:flex;
order:2;
margin-left:auto;
}

/* menu debajo */
.nav-links{
  order:3;
}

/* botones debajo del menu */
.nav-buttons{
  order:4;
}

.footer-container{
flex-direction:column;
text-align:center;
gap:1em;
}

}

@media(max-width:600px){

body{
font-size:14px;
}

h1{
font-size:1.5rem;
}

h2{
font-size:1.5rem;
}

.btn-primary,
.btn-secondary{
font-size:.9rem;
padding:10px 16px;
}

.btn-large{
font-size:.95rem;
padding:12px 18px;
}

.nav-buttons .btn-primary,
.nav-buttons .btn-secondary{
  font-size:.75rem;
  padding:8px 14px;
  width:80%;
  text-align:center;
}

.card,
.beneficio-card,
.diseno-card,
.seguridad-card{
padding:1.5em;
}

footer{
padding:2em 1em;
}

}