/* =====================================
   SERVICIOS GLOBALES
   STYLE.CSS
===================================== */

:root{

--primary:#0B2D5C;
--secondary:#00AEEF;
--accent:#FF6B00;

--white:#ffffff;
--light:#f4f7fa;
--dark:#111827;

--shadow:0 10px 30px rgba(0,0,0,.15);

}

*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

body{

font-family:'Montserrat',sans-serif;
background:#fff;
color:#333;
line-height:1.6;

}

.container{

width:90%;
max-width:1200px;
margin:auto;

}

/* =========================
HEADER
========================= */

header{

position:fixed;
top:0;
left:0;
width:100%;

background:rgba(11,45,92,.92);

backdrop-filter:blur(10px);

z-index:999;

}

.header-container{

display:flex;
align-items:center;
justify-content:space-between;

padding:15px 0;

}

.logo img{
height:75px;
}

nav ul{

display:flex;
list-style:none;
gap:30px;

}

nav a{

text-decoration:none;
color:white;

font-weight:600;

transition:.3s;

}

nav a:hover{

color:var(--secondary);

}

/* =========================
HERO
========================= */

.hero{

height:100vh;

background:url('../img/hero-bg.jpg');

background-size:cover;
background-position:center;

position:relative;

display:flex;
align-items:center;
justify-content:center;

text-align:center;

}

.overlay{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.60);

}

.hero-content{

position:relative;
z-index:2;

max-width:900px;

padding:20px;

}

.hero-content h1{

font-size:3.8rem;

font-weight:800;

line-height:1.1;

max-width:1000px;

margin:0 auto 25px;

color:white;

text-shadow:0 5px 15px rgba(0,0,0,.3);

}

.hero-content p{

font-size:1.35rem;

font-weight:500;

color:#ffffff;

max-width:900px;

margin:0 auto 35px;

text-shadow:0 2px 10px rgba(0,0,0,.5);

}

/* =========================
BOTONES
========================= */

.hero-buttons{

margin-top:35px;

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}
.btn-primary{

background:var(--secondary);
color:white;

padding:15px 35px;

border-radius:50px;

text-decoration:none;
font-weight:700;

transition:.3s;

}

.btn-primary:hover{

transform:translateY(-4px);

box-shadow:var(--shadow);

}

.btn-whatsapp{

background:#25D366;
color:white;

padding:15px 35px;

border-radius:50px;

text-decoration:none;
font-weight:700;

transition:.3s;

}

.btn-whatsapp:hover{

transform:translateY(-4px);

}

/* =========================
SECCIONES
========================= */

.section{

padding:110px 0;

}

.section h2{

text-align:center;

font-size:2.5rem;

color:var(--primary);

margin-bottom:40px;

}

.bg-light{

background:var(--light);

}

/* =========================
NOSOTROS
========================= */

.nosotros-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:30px;

margin-top:50px;

}

.card-info{

background:white;

padding:35px;

border-radius:15px;

box-shadow:var(--shadow);

}

.card-info h3{

color:var(--primary);

margin-bottom:15px;

}

/* =========================
SERVICIOS
========================= */

.services-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:25px;

}

.service-card{

background:white;

padding:40px 25px;

text-align:center;

border-radius:20px;

box-shadow:var(--shadow);

transition:.4s;

cursor:pointer;

}

.service-card:hover{

transform:translateY(-10px);

background:var(--primary);

color:white;

}

.service-card i{

font-size:3rem;

color:var(--secondary);

margin-bottom:20px;

}

.service-card:hover i{

color:white;

}

.service-card h3{

font-size:1.3rem;

}


/* =========================
CONTACTO
========================= */

.contact-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:40px;

}

.contact-info{

font-size:1.1rem;

}

.contact-info p{

margin-bottom:20px;

}

.contact-info i{

color:var(--secondary);

margin-right:10px;

}

.contact-form form{

display:flex;
flex-direction:column;

gap:15px;

}

.contact-form input,
.contact-form select,
.contact-form textarea{

padding:15px;

border:1px solid #ddd;

border-radius:10px;

font-size:1rem;

}

.contact-form textarea{

height:150px;

resize:none;

}

.contact-form button{

background:var(--primary);

color:white;

border:none;

padding:15px;

font-size:1rem;

font-weight:700;

border-radius:10px;

cursor:pointer;

transition:.3s;

}

.contact-form button:hover{

background:var(--secondary);

}

/* =========================
WHATSAPP
========================= */

.whatsapp-float{

position:fixed;

right:25px;
bottom:25px;

width:65px;
height:65px;

background:#25D366;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

font-size:2rem;

color:white;

text-decoration:none;

box-shadow:var(--shadow);

z-index:9999;

}

/* =========================
FOOTER
========================= */

footer{

background:var(--primary);

color:white;

text-align:center;

padding:30px;

}

/* =========================
MENU MOBILE
========================= */

.menu-toggle{

display:none;

font-size:2rem;

color:white;

cursor:pointer;

}

.modal{
display:none;
position:fixed;
z-index:99999;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(0,0,0,.7);
}

.modal-content{
background:white;
width:90%;
max-width:700px;
margin:80px auto;
padding:30px;
border-radius:15px;
position:relative;
}

.cerrar{
position:absolute;
right:20px;
top:10px;
font-size:30px;
cursor:pointer;
}

.modal-content{

background:#fff;

width:90%;
max-width:750px;

max-height:85vh;

overflow-y:auto;

margin:40px auto;

padding:40px;

border-radius:25px;

box-shadow:0 20px 60px rgba(0,0,0,.3);

animation:modalEntrada .3s ease;

}

@keyframes modalEntrada{

from{
opacity:0;
transform:translateY(-30px);
}

to{
opacity:1;
transform:translateY(0);
}

}

.modal-content h2{

font-size:2rem;

color:#0B2D5C;

margin-bottom:25px;

border-bottom:3px solid #00AEEF;

padding-bottom:10px;

}

.modal-content ul{

list-style:none;

padding:0;

}

.modal-content li{

padding:12px 0;

border-bottom:1px solid #eee;

font-size:1.1rem;

}

.modal-content li:last-child{

border-bottom:none;

}

.cerrar{

font-size:40px;

color:#666;

transition:.3s;

}

.cerrar:hover{

color:red;

}

/* =====================================
   MODAL PROFESIONAL
===================================== */

.modal-subtitulo{

font-size:1rem;

font-weight:600;

color:#666;

margin-bottom:10px;

}

.modal-descripcion{

font-size:1rem;

line-height:1.8;

color:#444;

margin-bottom:15px;

}

.modal-linea{

height:5px;

background:#00AEEF;

border-radius:50px;

margin-bottom:20px;

}

.modal-actions{

display:flex;

gap:15px;

flex-wrap:wrap;

margin-top:25px;

}

.modal-actions a{

text-decoration:none;

text-align:center;

}

.modal-actions .btn-primary,
.modal-actions .btn-whatsapp{

padding:12px 25px;

font-size:.95rem;

}