/* DISEÑO FOOTER */

.footer{

padding:120px 7% 40px;

background:#040706;

border-top:1px solid rgba(255,255,255,.05);

position:relative;

overflow:hidden;

}

/* EFECTO DE FONDO */

.footer::before{

content:"";

position:absolute;

width:700px;

height:700px;

left:50%;

top:50%;

transform:translate(-50%,-50%);

background:radial-gradient(
circle,
rgba(164,255,0,.08),
transparent 70%
);

pointer-events:none;

}

/* GRID */

.footer-grid{

display:grid;

grid-template-columns:1.5fr .8fr 1fr;

gap:90px;

position:relative;

z-index:2;

}

/* COLUMNA IZQUIERDA */

.footer-brand h2{

font-size:58px;

line-height:.95;

font-weight:300;

color:white;

max-width:450px;

}

.footer-brand h2 span{

color:#a4ff00;

font-weight:600;

}

.footer-brand p{

margin-top:30px;

max-width:420px;

line-height:1.8;

color:#9b9b9b;

}

/* BOTON */

.footer-btn{

display:inline-flex;

align-items:center;

justify-content:center;

margin-top:35px;

padding:18px 38px;

border-radius:999px;

background:#a4ff00;

color:black;

font-weight:600;

text-decoration:none;

transition:.35s;

}

.footer-btn:hover{

transform:translateY(-4px);

box-shadow:0 0 25px rgba(164,255,0,.35);

}

/* TITULOS */

.footer h4{

margin-bottom:25px;

font-size:15px;

font-weight:600;

color:white;

}

/* MENU */

.footer-nav ul{

list-style:none;

padding:0;

margin:0;

}

.footer-nav li{

margin-bottom:16px;

}

.footer-nav a{

color:#9b9b9b;

text-decoration:none;

transition:.3s;

}

.footer-nav a:hover{

color:#a4ff00;

padding-left:3px;

}

/* CONTACTO */

.footer-contact{

list-style:none;

padding:0;

margin:0;

display:flex;

flex-direction:column;

gap:22px;

}

.footer-contact li{

display:flex;

flex-direction:column;

gap:6px;

}

.footer-contact strong{

font-size:14px;

font-weight:600;

color:white;

}

/* LINKS */

.footer-link{

position:relative;

width:max-content;

color:#a9a9a9;

text-decoration:none;

transition:.3s ease;

}

.footer-link::after{

content:"";

position:absolute;

left:0;

bottom:-4px;

width:100%;

height:1px;

background:rgba(255,255,255,.18);

transition:.3s;

}

.footer-link:hover{

color:#a4ff00;

}

.footer-link:hover::after{

background:#a4ff00;

}

/* DIVISOR */

.footer-divider{

height:1px;

background:rgba(255,255,255,.08);

margin:25px 0;

}

/* SOCIAL */

.footer-social{

display:flex;

gap:16px;

margin-top:85px;

}

.footer-social a{

width:42px;
height:42px;

display:flex;

align-items:center;
justify-content:center;

border-radius:50%;

background:rgba(255,255,255,.03);

border:1px solid rgba(255,255,255,.08);

color:#a0a0a0;

text-decoration:none;

transition:.35s;

}

.footer-social a:hover{

color:#A3FF12;

border-color:#A3FF12;

transform:translateY(-4px);

}

.footer-social i,
.footer-social svg{

font-size:18px;

}

/* FOOTER BOTTOM */

.footer-bottom{

margin-top:80px;

padding-top:30px;

border-top:1px solid rgba(255,255,255,.06);

display:flex;

justify-content:space-between;

align-items:center;

gap:20px;

flex-wrap:wrap;

position:relative;

z-index:2;

}

.footer-copy{

display:flex;

flex-direction:column;

gap:8px;

}

.footer-copy span{

color:#757575;

font-size:14px;

}

.footer-credit{

font-size:13px;

color:#666;

}

.footer-credit a{

color:#a4ff00;

text-decoration:none;

}

.footer-legal{

display:flex;

gap:25px;

}

.footer-legal a{

color:#757575;

text-decoration:none;

transition:.3s;

}

.footer-legal a:hover{

color:#a4ff00;

}

/* CONTACTO PREMIUM */

.contact-section{

position:relative;
}

/* BANNER / HERO DE CONTACTO */

.contact-hero{

position:relative;

max-width:1450px;

margin:150px auto 0;

padding:130px 7% 100px;

text-align:center;

border-radius:36px;

overflow:hidden;
}

.contact-hero-bg{

position:absolute;

inset:0;

width:100%;

height:100%;

object-fit:cover;

object-position:center 40%;

filter:grayscale(20%) brightness(.55);

transform:scale(1.05);

transition:filter 1.1s ease, transform 1.4s ease;

z-index:-3;
}

.contact-hero:hover .contact-hero-bg{

filter:grayscale(0%) brightness(.65);

transform:scale(1);
}

.contact-hero-glow{

position:absolute;

inset:0;

background:radial-gradient(circle at 30% 20%, rgba(163,255,18,.12), transparent 55%);

z-index:-2;

pointer-events:none;
}

.contact-hero::after{

content:'';

position:absolute;

inset:0;

background:linear-gradient(180deg, rgba(4,7,6,.55), rgba(4,7,6,.35), rgba(4,7,6,.85));

z-index:-1;
}

.contact-intro{

text-align:center;

position:relative;

z-index:2;
}

.contact-intro .contact-tag{
display:block;
width:max-content;
margin:0 auto 25px;
padding:10px 22px;
border-radius:999px;
background:rgba(164,255,0,.1);
border:1px solid rgba(164,255,0,.25);
color:#A4FF00;
font-size:12px;
font-weight:600;
letter-spacing:2px;
}

.contact-intro h1{
max-width:900px;
margin:auto;
font-size:clamp(34px,5vw,58px);
font-weight:600;
letter-spacing:-2px;
line-height:1.08;
color:#fff;
}

.contact-intro p{
max-width:560px;
margin:20px auto 0;
color:#c9c9c9;
line-height:1.8;
font-size:16px;
}

.contact-actions{
display:flex;
justify-content:center;
gap:16px;
margin:40px 0 90px;
}

.contact-btn-primary,
.contact-btn-secondary{

padding:18px 34px;

border-radius:999px;

font-weight:600;

text-decoration:none;

transition:.35s;
}

.contact-btn-primary{

background:#A4FF00;

color:#000;
}

.contact-btn-primary:hover{

transform:translateY(-4px);

box-shadow:0 0 25px rgba(164,255,0,.25);
}

.contact-btn-secondary{

background:rgba(255,255,255,.03);

border:1px solid rgba(255,255,255,.08);

color:#fff;
}

.contact-btn-secondary:hover{

border-color:#A4FF00;

color:#A4FF00;
}

/* GRID */

.contact-grid{

width:min(1450px,92%);

margin:70px auto 0;

display:grid;

grid-template-columns:1.4fr .95fr;

gap:50px;

align-items:start;

}

/* FORMULARIO */

.contact-form-side{

position:relative;
}

.contact-title{

font-size:32px;

font-weight:600;

text-align:left;

line-height:1.2;

letter-spacing:-.5px;

color:white;

margin-bottom:35px;
}

#contact-form{

display:flex;

flex-direction:column;

gap:18px;
}

.form-row{

display:grid;

grid-template-columns:1fr 1fr;

gap:18px;
}

.form-group{

display:flex;

flex-direction:column;

gap:10px;
}

.form-group label{

font-size:13px;

color:#8d8d8d;

font-weight:500;
}

.form-group input,
.form-group select,
.form-group textarea{

width:100%;

background:#060606;

border:1px solid rgba(255,255,255,.06);

border-radius:22px;

padding:20px 24px;

font-size:15px;

color:white;

font-family:'Outfit',sans-serif;

transition:.35s;
}

.form-group textarea{

height:180px;

resize:none;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

outline:none;

border-color:rgba(164,255,0,.35);

box-shadow:
0 0 25px rgba(164,255,0,.08);
}

/* SELECTOR DE PAÍS + TELÉFONO */

.phone-input-group{

position:relative;

display:flex;

align-items:stretch;

background:#060606;

border:1px solid rgba(255,255,255,.06);

border-radius:22px;

transition:.35s;
}

.phone-input-group:focus-within{

border-color:rgba(164,255,0,.35);

box-shadow:
0 0 25px rgba(164,255,0,.08);
}

.phone-country-btn{

display:flex;

align-items:center;

gap:8px;

flex-shrink:0;

background:transparent;

border:none;

border-right:1px solid rgba(255,255,255,.08);

padding:0 18px;

color:white;

font-family:'Outfit',sans-serif;

font-size:15px;

cursor:pointer;
}

.phone-country-flag{

font-size:18px;

line-height:1;
}

.phone-country-caret{

width:13px;

height:13px;

stroke:#8d8d8d;

flex-shrink:0;

transition:transform .3s ease;
}

.phone-country-btn[aria-expanded="true"] .phone-country-caret{

transform:rotate(180deg);
}

.phone-input-group input{

flex:1;

min-width:0;

width:auto;

background:transparent;

border:none;

border-radius:0;

padding:20px 24px;

font-size:15px;

color:white;

font-family:'Outfit',sans-serif;
}

.phone-input-group input:focus{

outline:none;

box-shadow:none;
}

.phone-country-list{

position:absolute;

top:calc(100% + 8px);

left:0;

min-width:250px;

max-height:260px;

overflow-y:auto;

background:#0d0f0d;

border:1px solid rgba(255,255,255,.08);

border-radius:16px;

padding:8px;

margin:0;

list-style:none;

z-index:20;

box-shadow:0 20px 45px rgba(0,0,0,.55);
}

.phone-country-list[hidden]{

display:none;
}

.phone-country-list li{

display:flex;

align-items:center;

gap:10px;

padding:11px 14px;

border-radius:10px;

color:#d8d8d8;

font-size:14px;

cursor:pointer;

white-space:nowrap;

transition:.2s;
}

.phone-country-list li:hover,
.phone-country-list li.is-active{

background:rgba(164,255,0,.1);

color:#fff;
}

.phone-country-list li .flag{

font-size:17px;
}

.phone-country-list li .code{

color:#A4FF00;

font-weight:600;

min-width:48px;
}

.phone-country-list li.phone-country-other{

border-top:1px solid rgba(255,255,255,.08);

margin-top:6px;

padding-top:12px;

color:#9a9a9a;

font-style:italic;
}

#contact-form button:not(.phone-country-btn){

height:72px;

border:none;

border-radius:999px;

background:#A4FF00;

color:#000;

font-size:17px;

font-weight:700;

cursor:pointer;

margin-top:10px;

transition:.35s;
}

#contact-form button:not(.phone-country-btn):hover{

transform:translateY(-4px);

box-shadow:
0 0 30px rgba(164,255,0,.25);
}

#contact-form button:not(.phone-country-btn):disabled{

opacity:.6;

cursor:not-allowed;

transform:none;

box-shadow:none;
}

.form-status{

margin-top:16px;

font-size:14px;

line-height:1.6;

min-height:1px;

}

.form-status.is-success{

color:#A4FF00;

font-weight:600;
}

.form-status.is-error{

color:#ff6b6b;

font-weight:600;
}

/* TARJETAS DERECHA */

.contact-cards-side{

display:grid;

grid-template-columns:1fr 1fr;

align-content:start;

gap:22px;

margin-top:64px;

}

.cards-side-label{

grid-column:1/-1;

display:block;

font-size:12px;

font-weight:600;

letter-spacing:2px;

color:#8d8d8d;

margin-bottom:2px;
}

.contact-card{

background:rgba(255,255,255,.02);

border:1px solid rgba(255,255,255,.05);

border-radius:30px;

padding:30px;

transition:.35s;

backdrop-filter:blur(20px);
}

.contact-card:hover{

transform:translateY(-5px);

border-color:rgba(164,255,0,.15);
}

.contact-card-large{

grid-column:1/-1;

min-height:180px;
}

.contact-card i,
.contact-card svg{

font-size:26px;

color:#A4FF00;

margin-bottom:20px;
}

.contact-card h3{

font-size:26px;

color:white;

margin-bottom:15px;
}

.contact-card p{

line-height:1.8;

color:#9a9a9a;
}

.contact-card a{

display:block;

margin-top:10px;

text-decoration:none;

color:#bdbdbd;

transition:.3s;
}

.contact-card a:hover{

color:#A4FF00;
}

/* WHATSAPP */


.contact-whatsapp{

grid-column:1/-1;

display:flex;

align-items:center;

justify-content:space-between;

height:86px;

padding:0 16px 0 32px;

border-radius:999px;

background:rgba(255,255,255,.02);

border:1px solid rgba(255,255,255,.08);

text-decoration:none;

transition:.35s;

overflow:hidden;

}

.contact-whatsapp:hover{

border-color:rgba(164,255,0,.18);

transform:translateY(-3px);

box-shadow:
0 10px 30px rgba(0,0,0,.25);

}

.contact-whatsapp span{

font-size:17px;

font-weight:500;

color:white;

}

.contact-whatsapp i,
.contact-whatsapp svg{

width:54px;

height:54px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:rgba(255,255,255,.04);

border:1px solid rgba(255,255,255,.08);

color:white;

font-size:18px;

transition:.35s;

}

.contact-whatsapp:hover i,
.contact-whatsapp:hover svg{

background:#A4FF00;

color:black;

transform:translateX(4px);

}

.contact-whatsapp span{

font-size:17px;

font-weight:600;

color:white;
}

.contact-whatsapp i,
.contact-whatsapp svg{

font-size:20px;

color:white;
}

/* MAPA */

.contact-map{

width:min(1450px,92%);

margin:80px auto 120px;

overflow:hidden;

border-radius:32px;

border:1px solid rgba(255,255,255,.05);

box-shadow:
0 30px 80px rgba(0,0,0,.45);
}

.contact-map iframe{

display:block;

width:100%;

height:650px;

border:none;
}

/* RESPONSIVE */

@media(max-width:1100px){

.contact-grid{

grid-template-columns:1fr;
}

.contact-title{

font-size:28px;
}

.contact-cards-side{

margin-top:30px;
}

}

/* CONSENTIMIENTO DE PRIVACIDAD */

.form-consent{

display:flex;

align-items:flex-start;

gap:12px;

cursor:pointer;

padding:4px 2px;
}

.form-consent input[type="checkbox"]{

width:20px;

height:20px;

flex-shrink:0;

margin-top:2px;

accent-color:#A4FF00;

cursor:pointer;
}

.form-consent span{

font-size:13.5px;

line-height:1.7;

color:#9a9a9a;
}

.form-consent a{

color:#A4FF00;

text-decoration:none;

border-bottom:1px solid rgba(164,255,0,.35);

transition:.3s;
}

.form-consent a:hover{

color:#fff;

border-color:#fff;
}

@media(max-width:992px){

.contact-hero{

margin-top:130px;
}

}

@media(max-width:768px){

.contact-hero{

padding:90px 7% 60px;

border-radius:24px;
}

.contact-title{

font-size:24px;

letter-spacing:-.5px;
}

.form-row{

grid-template-columns:1fr;
}

.contact-cards-side{

grid-template-columns:1fr;
}

.contact-actions{

flex-direction:column;

align-items:center;
}

.contact-btn-primary,
.contact-btn-secondary{

width:100%;

max-width:280px;

text-align:center;
}

.contact-map iframe{

height:420px;
}

}