/* =================================================
   VARIABLES
================================================= */

:root{
--azul-principal:#21396d;
--azul-oscuro:#182b52;
--azul-claro:#2d4f9e;
--gris-fondo:#f4f6f9;
--blanco:#ffffff;
--gris-texto:#4a4a4a;
--verde: #195613;
--verde-soft: rgba(34,197,94,0.15);
--morado: #1800ad;
--morado-soft: rgba(124,58,237,0.15);
}

/* =================================================
   RESET / BASE
================================================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Segoe UI',Arial,sans-serif;
}

body{
background:var(--gris-fondo);
color:var(--gris-texto);
}

.container{
max-width:1200px;
margin:auto;
padding:0 24px;
}

/* =================================================
   LAYOUT
================================================= */

.top-bar{
background:var(--azul-principal);
height:80px;
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
transition:all .3s ease;
}

.top-bar.scrolled{
box-shadow:0 8px 25px rgba(0,0,0,0.15);
}

body{
padding-top:80px;
}

.top-bar__container{
max-width:1500px;
height:100%;
margin:auto;
padding:0 24px;
display:flex;
align-items:center;
justify-content:space-between;
}

.top-bar__nav{
display:flex;
align-items:center;
}

.top-bar__nav a{
color:var(--blanco);
margin-left:28px;
text-decoration:none;
font-weight:500;
position:relative;
transition:.3s;
}

.top-bar__nav a:hover{
opacity:.8;
}

.top-bar__nav a::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:0;
height:2px;
background:white;
transition:.3s;
}

.top-bar__nav a:hover::after{
width:100%;
}

.top-bar__logo{
display:flex;
align-items:center;
}

.top-bar__logo img{
height:70px;
width:auto;
object-fit:contain;
}

.menu-toggle{
display:none;
flex-direction:column;
cursor:pointer;
z-index:1100;
}

.menu-toggle span{
height:3px;
width:25px;
background:white;
margin:4px 0;
display:block;
}

@media (max-width:900px){

.top-bar__nav{
position:fixed;
top:80px;
right:-100%;
width:260px;
height:100vh;
background:var(--azul-principal);
flex-direction:column;
padding-top:40px;
transition:.3s;
}

.top-bar__nav a{
margin:20px 0;
font-size:18px;
}

.top-bar__nav.active{
right:0;
}

.menu-toggle{
display:flex;
}

}

/* =================================================
   BOTONES
================================================= */

.btn{
padding:14px 28px;
border-radius:6px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.btn-primary{
background:var(--blanco);
color:var(--azul-principal);
}

.btn-primary:hover{
background:#e2e8f0;
}

.btn-outline{
border:2px solid var(--blanco);
color:var(--blanco);
margin-left:15px;
}

.btn-outline:hover{
background:var(--blanco);
color:var(--azul-principal);
}

.cta-primary{
display:inline-block;
background:var(--azul-principal);
color:white;
padding:14px 30px;
border-radius:6px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.cta-primary:hover{
background:var(--azul-oscuro);
}


/* =====================
   WHATSAPP FLOAT PRO
===================== */

.whatsapp-float{
    position:fixed;
    bottom:25px;
    right:25px;
    background:var(--blanco);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border-radius:50px;
    box-shadow:0 10px 30px rgba(0,0,0,0.2);
    z-index:9999;
    cursor:pointer;
}

/* LOGO whast*/
.whatsapp-icon{
    width:40px;
    height:40px;
    display:block;
}


/* HOVER */
.whatsapp-float:hover{
    background:#1ebe5d;
    transform:translateY(-3px);
}


/* MOBILE (solo icono) */
@media(max-width:768px){
    .whatsapp-float{
        padding:14px;
        border-radius:50%;
    }
}

/* =================================================
   HERO HOME
================================================= */

.hero{
position:relative;
background:url('/web/assets/img/clienteCID.png') center/cover no-repeat;
padding:180px 20px;
text-align:center;
color:var(--blanco);
}

.hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(
rgba(33,57,109,0.8),
rgba(33,57,109,0.5)
);
}

.hero-content{
position:relative;
max-width:800px;
margin:auto;
}

.hero h1{
font-size:48px;
margin-bottom:20px;
}

.hero p{
font-size:20px;
margin-bottom:40px;
}

/* =================================================
   HOME SECTIONS
================================================= */

.highlight{
padding:80px 20px;
text-align:center;
}

.highlight h2{
color:var(--azul-principal);
margin-bottom:20px;
}

/* =====================
   MAPA COBERTURA
===================== */

.coverage{
    padding:30px 20px;
    text-align:center;
    background:#f8fafc;
}

.map-container{
    position:relative;
    max-width:500px;
    margin:50px auto;
}

.map-base{
    width:100%;
}

/* PIN */
.pin{
    position:absolute;
    width:14px;
    height:14px;
    background:#ef4444;
    border-radius:50%;
    cursor:pointer;
    transform:translate(-50%, -50%);
}

/* EFECTO */
.pin::after{
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    border-radius:50%;
    background:rgba(239,68,68,0.5);
    animation:pulse 2s infinite;
}

@keyframes pulse{
    0%{ transform:scale(1); opacity:1; }
    100%{ transform:scale(2.5); opacity:0; }
}

/* TOOLTIP */
.pin::before{
    content:attr(data-name);
    position:absolute;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
    background:#111;
    color:white;
    padding:5px 10px;
    font-size:12px;
    border-radius:6px;
    opacity:0;
    pointer-events:none;
    transition:.3s;
}

.pin:hover::before{
    opacity:1;
}
/* SERVICES */

.services{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
gap:40px;
margin:100px auto;
}

.card{
background:var(--blanco);
padding:50px;
border-radius:14px;
box-shadow:0 15px 40px rgba(0,0,0,0.08);
transition:.4s;
}

.card:hover{
transform:translateY(-10px);
box-shadow:0 20px 50px rgba(0,0,0,0.12);
}

.card h3{
color:var(--azul-principal);
margin-bottom:15px;
}

.card-button{
display:inline-block;
margin-top:20px;
color:var(--azul-principal);
font-weight:600;
}

/* TRUST */

.trust{
background:var(--azul-principal);
color:white;
padding:80px 20px;
}

.trust-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:40px;
text-align:center;
}

/* CTA */

.cta{
padding:100px 20px;
text-align:center;
}

/* =================================================
   PRODUCT FEATURE
================================================= */

.product-feature{
padding:80px 20px;
background:white;
}

.product-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

.product-text h2{
color:var(--azul-principal);
font-size:36px;
margin-bottom:20px;
}

.product-subtitle{
font-size:18px;
margin-bottom:30px;
}

.product-benefits{
list-style:none;
margin-bottom:30px;
}

.product-benefits li{
margin-bottom:15px;
font-size:17px;
}

.product-visual img{
width:100%;
border-radius:14px;
box-shadow:0 20px 50px rgba(0,0,0,0.12);
}

/* =================================================
   VIDEO TESTIMONIALS
================================================= */

.video-testimonials{
padding:80px 20px;
background:var(--azul-principal);
color:white;
text-align:center;
}

.video-testimonials h2{
margin-bottom:60px;
}

.video-carousel{
overflow:hidden;
}

.video-track{
display:flex;
gap:30px;
overflow-x:auto;
scroll-snap-type:x mandatory;
}

.video-item{
min-width:340px;
scroll-snap-align:start;
}

.video-item video{
width:100%;
border-radius:14px;
}

/* =================================================
   GALLERY
================================================= */

.business-gallery{
padding:80px 20px;
background:var(--gris-fondo);
text-align:center;
}

.business-gallery h2{
color:var(--azul-principal);
margin-bottom:60px;
}

.gallery-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:25px;
}

.gallery-grid img{
width:100%;
border-radius:14px;
object-fit:cover;
height:240px;
transition:.3s;
}

.gallery-grid img:hover{
transform:scale(1.05);
}

/* =================================================
   STATS
================================================= */

.stats-section{
padding:40px 20px;
background:var(--azul-principal);
color:white;
text-align:center;
}

.stats-section h2{
margin-bottom:70px; 
font-size:32px;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:50px;
}

.stat-item h3{
font-size:48px;
margin-bottom:15px;
font-weight:700;
}

.stat-item p{
font-size:18px;
}
/* ICONOS */
.stat-icon{
    width:200px;
    margin-bottom:20px;
    opacity:0.2;
    transform:translateY(20px) scale(0.9);
    transition:all 1s ease;
}

/* CUANDO SE ACTIVA */
.stat-icon.active{
    opacity:1;
    transform:translateY(0) scale(1);
}
/* HOVER PRO */
.stat-item:hover .stat-icon{
    transform:scale(1.1);
}


/* =================================================
   SOFOM SECTION
================================================= */

.sofom-section{
padding:140px 20px;
background:white;
}

.sofom-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.sofom-visual img{
width:100%;
border-radius:14px;
box-shadow:0 25px 60px rgba(0,0,0,0.12);
}

.sofom-content h2{
font-size:36px;
color:var(--azul-principal);
margin-bottom:10px;
}

.sofom-legal{
font-size:14px;
color:#777;
margin-bottom:25px;
font-weight:500;
}

.sofom-description{
font-size:18px;
margin-bottom:30px;
}

.sofom-benefits{
list-style:none;
margin-bottom:30px;
}

.sofom-benefits li{
margin-bottom:12px;
font-size:17px;
}

.btn-sofom{
background:var(--azul-principal);
color:white;
padding:14px 28px;
border-radius:6px;
text-decoration:none;
font-weight:600;
}

.btn-sofom:hover{
background:var(--azul-oscuro);
}

/* =================================================
   IMAGE CAROUSEL
================================================= */

.credit-uses{
padding:40px 0;
background:var(--azul-principal);
color:white;
}

.credit-uses h2{
text-align:center;
margin-bottom:40px;
}

.image-carousel{
position:relative;
max-width:400px;
margin:auto;
}

.carousel-track-container{
overflow:hidden;
}

.image-track{
display:flex;
transition:transform .6s ease;
}

.image-item{
min-width:100%;
text-align:center;
}

.image-item img{
width:100%;
border-radius:12px;
}

.image-item p{
margin-top:15px;
font-weight:600;
font-size:18px;
}

.carousel-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
background:white;
border:none;
font-size:30px;
cursor:pointer;
padding:10px 15px;
border-radius:50%;
}

.prev{ left:-50px; }
.next{ right:-50px; }


/* =====================
   FOOTER PRO
===================== */

.footer{
    background:#0f172a;
    color:#e5e7eb;
    padding:60px 20px 30px;
    font-size:14px;
}

.footer__container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:40px;
    max-width:1200px;
    margin:auto;
}

.footer__col h3{
    color:white;
    margin-bottom:15px;
}

.footer__col h4{
    color:white;
    margin-bottom:15px;
    font-size:16px;
}

.footer__col p{
    margin-bottom:10px;
    color:#cbd5f5;
}

.footer__col ul{
    list-style:none;
    padding:0;
}

.footer__col ul li{
    margin-bottom:8px;
}

.footer__col ul li a{
    color:#cbd5f5;
    text-decoration:none;
    transition:.2s;
}

.footer__col ul li a:hover{
    color:white;
}

/* BOTTOM */

.footer__bottom{
    margin-top:40px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,0.1);
    text-align:center;
}

.footer__legal{
    margin-top:10px;
    font-size:13px;
    color:#94a3b8;
}


/* LOGO */
.footer__logo{
    width:60px;
    margin-bottom:15px;
}

/* MARCA */
.footer__brand p{
    margin-bottom:15px;
}

/* WHATSAPP CTA */
.footer__whatsapp{
    display:inline-block;
    margin-top:10px;
    padding:10px 16px;
    background:#25D366;
    color:white;
    border-radius:8px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.footer__whatsapp:hover{
    background:#1ebe5d;
    transform:translateY(-2px);
}

/* LINKS MAPA */
.footer__col a{
    color:#cbd5f5;
    text-decoration:none;
}

.footer__col a:hover{
    color:white;
}

/* FIRMA DEV */
.footer__dev{
    margin-top:10px;
    font-size:12px;
    color:#64748b;
}

/* =================================================
   PRODUCT PAGE
   Crédito Impulso Diario
================================================= */

/* =================================================
   PRODUCT HERO (CRÉDITO DIARIO)
================================================= */

.product-hero{
position:relative;
height:500px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
background:url("/web/assets/img/portadaCID.png") center/cover no-repeat;
color:white;
}

.product-hero-overlay{
position:absolute;
inset:0;
background:rgba(33,57,109,0.6);
}

.product-hero-content{
position:relative;
max-width:700px;
z-index:2;
}

.product-hero h1{
font-size:48px;
margin-bottom:20px;
}

.product-hero p{
font-size:20px;
margin-bottom:30px;
}

/* =================================================
   product-description
================================================= */
.product-description{
    padding:40px 0;
}


/* =================================================
   CREDIT CALCULATOR
================================================= */

.credit-calculator{
padding:30px 0;
background:var(--gris-fondo);
text-align:center;
}

.calculator-subtitle{
margin-bottom:40px;
font-size:18px;
}

.calculator-box{
max-width:600px;
margin:auto;
background:white;
padding:40px;
border-radius:12px;
box-shadow:0 15px 40px rgba(0,0,0,0.08);
}

/* BOTONES RAPIDOS */

.quick-amounts{
display:flex;
justify-content:center;
gap:15px;
flex-wrap:wrap;
margin-bottom:30px;
}

.quick-btn{
background:var(--azul-principal);
color:white;
border:none;
padding:10px 16px;
border-radius:8px;
cursor:pointer;
font-weight:600;
transition:.2s;
}

.quick-btn:hover{
background:var(--azul-oscuro);
transform:translateY(-2px);
}

.quick-btn.active{
background:#0e1f40;
}

/* CAMPOS */

.calculator-field{
margin-bottom:30px;
}

.calculator-field label{
display:block;
font-weight:600;
margin-bottom:10px;
}

.amount-display{
font-size:22px;
font-weight:bold;
margin-top:10px;
color:var(--azul-principal);
}

.calculator-result{
margin:40px 0;
}

.calculator-result h3{
font-size:36px;
color:var(--azul-principal);
}

input[type="range"]{
width:100%;
}

select{
width:100%;
padding:10px;
border-radius:6px;
border:1px solid #ccc;
}

/* =================================================
   TABLA DE PLAZOS
================================================= */

.loan-table{
padding:40px 0;
background:white;
text-align:center;
}

.loan-table h2{
color:var(--azul-principal);
margin-bottom:40px;
}

.loan-rates{
width:100%;
max-width:600px;
margin:auto;
border-collapse:collapse;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
border-radius:10px;
overflow:hidden;
}

.loan-rates thead{
background:var(--azul-principal);
color:white;
}

.loan-rates th,
.loan-rates td{
padding:16px;
text-align:center;
}

.loan-rates tbody tr:nth-child(even){
background:#f3f6fc;
}

/* =================================================
   BENEFITS
================================================= */
/* ICONO BENEFICIO */

.benefits{
    padding:40px 0;
}

.benefit-icon{
display:flex;
justify-content:center;
margin-bottom:20px;
}

.benefit-icon img{
width:100px;
height:100px;
object-fit:contain;
}

.benefits-grid{ 
    display:grid; 
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); 
    gap:30px; 
}

/* TARJETA */

    .benefit-card{
    background:white;
    padding:35px;
    border-radius:14px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
    text-align:center;
    transition:.35s;
    }

.benefit-card:hover{
transform:translateY(-8px);
box-shadow:0 22px 50px rgba(0,0,0,0.15);
}

.benefit-card h3{
color:var(--azul-principal);
margin-bottom:12px;
font-size:20px;
}

.benefit-card p{
font-size:16px;
line-height:1.6;
}

/* =================================================
   PROCESS
================================================= */
.proceso {
    padding: 40px 0;
    background: #f8f9fc;
    text-align: center;
}

.section-title {
    font-size: 32px;
    margin-bottom: 50px;
}

.proceso-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    position: relative;
}

.proceso-steps::before {
    content: "";
    position: absolute;
    top: 40px;
    left: 10%;
    width: 80%;
    height: 4px;
    background: #dfe4ef;
    z-index: 0;
}

.step {
    background: white;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    position: relative;
    z-index: 1;
}

.step-icon {
    width: 70px;
    height: 70px;
    background: #21396d;
    color: white;
    font-size: 26px;
    font-weight: bold;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px auto;
    border: 5px solid white;
}
/* =================================================
   REQUISITOS
================================================= */

.requirements{
padding:40px 0;
background:var(--gris-fondo);
text-align:center;
}

.requirements h2{
margin-bottom:40px;
color:var(--azul-principal);
}

.requirements ul{
list-style:none;
max-width:500px;
margin:auto;
line-height:2;
font-size:18px;
}

.requirements li::before{
content:"✓ ";
color:var(--azul-principal);
font-weight:bold;
}

/* =================================================
   CTA FINAL
================================================= */

.cta-final{
padding:120px 0;
text-align:center;
background:var(--azul-principal);
color:white;
}

.cta-final h2{
font-size:36px;
margin-bottom:20px;
}

.cta-final p{
max-width:600px;
margin:auto;
margin-bottom:30px;
font-size:18px;
}



/* =================================================
   CONOCENOS PAGE
   Conocenos
================================================= */

/* =================================================
   CONOCENOS HERO 
================================================= */

.heroC{
position:relative;
background:url('/web/assets/img/portadaConocenos.png') center/cover no-repeat;
padding:80px 20px;
text-align:left;
color:var(--blanco);
}

.heroC-overlay{
position:absolute;
inset:0;
background:linear-gradient(
rgba(33,57,109,0.8),
rgba(33,57,109,0.5)
);
}

.heroC-content{
position:relative;
max-width:800px;
margin:auto;
}

.heroC h1{
font-size:48px;
margin-bottom:20px;
}

.heroC p{
font-size:20px;
margin-bottom:40px;
}




/* =================================================
   CONOCENOS historia
================================================= */
.historia {
    padding: 80px 0;
}

.historia-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.historia-texto h2 {
    font-size: 32px;
    margin-bottom: 20px;
}

.historia-texto p {
    margin-bottom: 15px;
    line-height: 1.6;
}

.historia-imagen img {
    width: 100%;
    border-radius: 12px;
}

/* =================================================
   CONOCENOS MISION VISION 
================================================= */

.mision-vision {
    padding: 80px 0;
    background: #f8f9fc;
}

.mv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.mv-card {
    background: white;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

.mv-card h3 {
    margin-bottom: 15px;
    font-size: 24px;
}

/* =================================================
   CONOCENOS VALORES
================================================= */

.valores {
    padding: 80px 0;
    text-align: center;
}

.valores-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.valor {
    background: white;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

/* =================================================
   CONOCENOS CTA 
================================================= */
.cta-final {
    padding: 80px 0;
    background: #21396d;
    color: white;
    text-align: center;
}

.cta-final h2 {
    font-size: 32px;
    margin-bottom: 15px;
}

.cta-final p {
    margin-bottom: 25px;
}

/* =================================================
   FOOTER
================================================= */

.footer{
background:var(--azul-oscuro);
color:white;
padding:40px 20px;
margin-top:80px;
text-align:center;
}

/* =================================================
   RESPONSIVE
================================================= */

@media(max-width:768px){

    .proceso-steps {
        grid-template-columns: 1fr;
    }

    .proceso-steps::before {
        display: none;
    }
.product-grid{
grid-template-columns:1fr;
text-align:center;
}

.product-visual{
order:-1;
}

.sofom-grid{
grid-template-columns:1fr;
text-align:center;
}

.sofom-visual{
order:-1;
}

.process-steps{
flex-direction:column;
}

}


/* =================================================
   SOLICITA PAGE
================================================= */
/* =====================
   HERO SOLICITA
===================== */

.solicita-hero{
position:relative;
height:500px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
background:url("/web/assets/img/heroSolicita.png") center/cover no-repeat;
color:white;
}

.solicita-hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(
rgba(33,57,109,0.85),
rgba(33,57,109,0.6)
);
}

.solicita-hero-content{
position:relative;
z-index:2;
max-width:700px;
}

.solicita-hero h1{
font-size:48px;
margin-bottom:20px;
}

.solicita-hero p{
font-size:20px;
margin-bottom:30px;
}


/* =====================
   SELECTOR DE CRÉDITO
===================== */

.credit-selector{
padding:50px 0;
background:var(--gris-fondo);
text-align:center;
}

.section-title{
color:var(--azul-principal);
margin-bottom:50px;
font-size:32px;
}

.selector-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
max-width:800px;
margin:auto;
}

.selector-card{
background:white;
padding:40px;
border-radius:16px;
cursor:pointer;
transition:all .3s ease;
border:2px solid transparent;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
position:relative;
overflow:hidden;
}

/* efecto hover pro */
.selector-card:hover{
transform:translateY(-8px) scale(1.02);
box-shadow:0 20px 50px rgba(0,0,0,0.12);
}

/* estado activo */
.selector-card.active{
border-color:var(--azul-principal);
box-shadow:0 15px 40px rgba(33,57,109,0.25);
}

/* glow animado */
.selector-card.active::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg, transparent, rgba(255,255,255,.4), transparent);
animation:shine 2s infinite;
}

@keyframes shine{
0%{transform:translateX(-100%);}
100%{transform:translateX(100%);}
}

.selector-card h3{
color:var(--azul-principal);
margin-bottom:10px;
}

.selector-card p{
color:#666;
font-size:14px;
}


/* =====================
   FORMULARIO
===================== */

.form-section{
padding:50px 0;
background:white;
}

.form-header{
text-align:center;
margin-bottom:50px;
}

.form-header h2{
color:var(--azul-principal);
margin-bottom:10px;
font-size:28px;
}

.form-header p{
color:#666;
font-size:15px;
}


/* FORM BASE */

.credit-form{
max-width:650px;
margin:auto;
background:var(--gris-fondo);
padding:45px;
border-radius:18px;
box-shadow:0 25px 60px rgba(0,0,0,0.10);
transition:all .3s ease;
}


/* =====================
   BLOQUES (UX PRO)
===================== */

.form-block{
margin-bottom:30px;
padding-bottom:20px;
border-bottom:1px solid #e5e5e5;
}

.form-block h4{
margin-bottom:20px;
color:var(--azul-principal);
font-size:18px;
}


/* =====================
   CAMPOS
===================== */

.form-group{
margin-bottom:22px;
}

.form-group label{
display:block;
margin-bottom:6px;
font-weight:600;
font-size:14px;
}

.form-group input,
.form-group select{
width:100%;
padding:13px;
border-radius:10px;
border:1px solid #ccc;
font-size:15px;
transition:all .25s ease;
background:white;
}

/* focus estilo fintech */
.form-group input:focus,
.form-group select:focus{
border-color:var(--azul-principal);
outline:none;
box-shadow:0 0 0 3px rgba(33,57,109,0.15);
transform:scale(1.01);
}


/* =====================
   ERRORES
===================== */

.error{
display:none;
color:#d93025;
font-size:13px;
margin-top:5px;
}


/* =====================
   CAMPOS DINÁMICOS
===================== */

.dynamic-fields{
max-height:0;
opacity:0;
overflow:hidden;
transition:all .4s ease;
}

.dynamic-fields.active{
max-height:500px;
opacity:1;
margin-top:20px;
padding-top:20px;
border-top:1px solid #ddd;
}


/* =====================
   BOTÓN
===================== */

.form-submit{
width:100%;
margin-top:25px;
padding:15px;
background:var(--azul-principal);
color:white;
border:none;
border-radius:10px;
font-size:17px;
font-weight:600;
cursor:pointer;
transition:all .3s ease;
}

/* hover pro */
.form-submit:hover{
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(33,57,109,0.3);
}

/* click */
.form-submit:active{
transform:scale(0.98);
}


/* =====================
   SUCCESS
===================== */

.success-message{
display:none;
margin-top:25px;
text-align:center;
color:var(--verde);
font-weight:600;
animation:fadeIn .5s ease;
}

@keyframes fadeIn{
from{opacity:0; transform:translateY(10px);}
to{opacity:1; transform:translateY(0);}
}


/* =====================
   THEMES (🔥 CLAVE)
===================== */

/* DIARIO (verde) */
.tema-diario{
border-top:6px solid var(--verde);
}

.tema-diario .form-submit{
background:var(--verde);
}

.tema-diario .form-submit:hover{
box-shadow:0 10px 25px var(--verde-soft);
}

/* SOFOM (morado) */
.tema-sofom{
border-top:6px solid var(--morado);
}

.tema-sofom .form-submit{
background:var(--morado);
}

.tema-sofom .form-submit:hover{
box-shadow:0 10px 25px var(--morado-soft);
}

/* =====================
   CONFIANZA
===================== */

.trust-solicita{
padding:80px 0;
background:var(--azul-principal);
color:white;
}

.trust-solicita .trust-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
text-align:center;
}

.trust-solicita h3{
margin-bottom:10px;
}


/* =====================
   PROCESO
===================== */

.mini-process{
padding:100px 0;
background:var(--gris-fondo);
text-align:center;
}

.mini-process h2{
margin-bottom:60px;
color:var(--azul-principal);
}

.process-steps{
display:flex;
justify-content:space-between;
gap:30px;
flex-wrap:wrap;
position:relative;
}

.process-steps::before{
content:"";
position:absolute;
top:30px;
left:10%;
right:10%;
height:2px;
background:#ddd;
z-index:0;
}

.step{
flex:1;
min-width:150px;
position:relative;
z-index:2;
}

.step span{
display:inline-block;
width:60px;
height:60px;
line-height:60px;
background:var(--azul-principal);
color:white;
border-radius:50%;
font-weight:bold;
margin-bottom:10px;
}


/* =====================
   CTA FINAL
===================== */

.cta-solicita{
padding:100px 0;
background:var(--azul-principal);
color:white;
text-align:center;
}

.cta-solicita p{
margin:20px 0;
font-size:18px;
}





/* =================================================
   CONtactanos
================================================= */


/* HERO */
.contact-hero{
    position:relative;
    background:url('/web/assets/img/contactanos.png') center/cover no-repeat;
    padding:150px 20px;
    text-align:left;
    color:var(--blanco);
}

.herocontact-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
    rgba(33,57,109,0.8),
    rgba(33,57,109,0.5)
    );
}

.herocontact-content{
    position:relative;
    max-width:800px;
    margin:auto;
}

.contact-hero h1{
    font-size:48px;
    margin-bottom:20px;
}


.herocontact p{
font-size:20px;
margin-bottom:40px;
}


/* GRID */
.contact__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    padding:80px 0;
}

@media(max-width:768px){
    .contact__grid{
        grid-template-columns:1fr;
    }
}


/* CARDS */
.contact-card{
    background:white;
    padding:20px;
    border-radius:10px;
    margin-bottom:20px;
    box-shadow:0 10px 25px rgba(0,0,0,0.05);
}

.contact-card h3{
    margin-bottom:10px;
}


/* FORM */
.contact__form{
    background:var(--gris-fondo);
    padding:30px;
    border-radius:12px;
}

.contact__form textarea{
    width:100%;
    padding:12px;
    border-radius:8px;
    border:1px solid #ccc;
    min-height:120px;
}


/* =====================
   RESPONSIVE
===================== */

@media(max-width:768px){

.solicita-hero h1{
font-size:36px;
}

.process-steps{
flex-direction:column;
}

.process-steps::before{
display:none;
}

}

html {
  scroll-behavior: smooth;
}
