/* ==========================================================
   CTA - KARE Core Premium Final
========================================================== */

.cta-section{
    position:relative;
    overflow:hidden;
    padding:76px 0;
    background:
        radial-gradient(circle at 8% 12%,rgba(217,163,106,.25),transparent 30%),
        radial-gradient(circle at 88% 16%,rgba(183,201,139,.28),transparent 32%),
        linear-gradient(135deg,#fff3df 0%,#f8f1e6 48%,#eef4e8 100%);
}

.cta-section::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(90,70,50,.04) 1px,transparent 1px),
        linear-gradient(90deg,rgba(90,70,50,.04) 1px,transparent 1px);
    background-size:46px 46px;
    opacity:.30;
    pointer-events:none;
}

.cta-inner{
    position:relative;
    z-index:2;
    width:min(1180px,92%);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) 1px 360px;
    gap:38px;
    align-items:center;
    padding:44px 46px;
    border-radius:34px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(217,163,106,.22);
    box-shadow:0 28px 80px rgba(15,23,42,.10);
    backdrop-filter:blur(20px);
}

.cta-left{
    min-width:0;
}

.cta-badge{
    display:inline-flex;
    align-items:center;
    gap:11px;
    padding:9px 18px;
    border-radius:999px;
    background:rgba(255,247,237,.82);
    border:1px solid rgba(217,163,106,.32);
    color:#8a5a00;
    font-size:12px;
    font-weight:950;
    letter-spacing:.17em;
}

.cta-badge-icon{
    width:22px;
    height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#b7791f;
    color:#fff;
    font-size:11px;
    letter-spacing:0;
}

.cta-left h2{
    max-width:720px;
    margin:24px 0 0;
    color:#162033;
    font-size:clamp(30px,2.7vw,42px);
    line-height:1.15;
    letter-spacing:-.035em;
    font-weight:900;
}

.cta-title-line{
    display:block;
    width:78px;
    height:4px;
    margin:26px 0 28px;
    border-radius:999px;
    background:linear-gradient(90deg,#d9a36a,#b7794b);
}

.cta-left p{
    max-width:720px;
    margin:0;
    color:#52637a;
    font-size:16px;
    line-height:1.72;
    font-weight:600;
}

.cta-trust{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:30px;
}

.cta-trust span{
    display:inline-flex;
    align-items:center;
    gap:11px;
    min-height:48px;
    padding:9px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.68);
    border:1px solid rgba(217,163,106,.24);
    color:#334155;
    font-size:14px;
    font-weight:900;
    box-shadow:0 12px 30px rgba(15,23,42,.055);
}

.cta-trust b{
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,#d9a36a,#bd7b35);
    color:#fff;
    font-size:15px;
    line-height:1;
    box-shadow:0 8px 18px rgba(217,163,106,.28);
}

.cta-info{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:22px;
    margin-top:30px;
    padding-top:24px;
    border-top:1px solid rgba(217,163,106,.24);
    color:#50617a;
    font-size:14px;
    font-weight:700;
}

.cta-divider{
    width:1px;
    height:360px;
    background:linear-gradient(180deg,transparent,rgba(217,163,106,.55),transparent);
}

.cta-right{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.cta-contact-card{
    position:relative;
    overflow:hidden;
    padding:24px 24px 22px;
    border-radius:26px;
    background:rgba(255,255,255,.64);
    border:1px solid rgba(217,163,106,.28);
    box-shadow:0 18px 48px rgba(15,23,42,.08);
}

.cta-whatsapp-card{
    border-color:rgba(52,181,111,.22);
    background:rgba(255,255,255,.62);
}

.cta-contact-card::before{
    content:"";
    position:absolute;
    right:-60px;
    top:-60px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:rgba(217,163,106,.12);
    filter:blur(12px);
}

.cta-whatsapp-card::before{
    background:rgba(52,181,111,.14);
}

.cta-contact-icon{
    position:absolute;
    left:24px;
    top:30px;
    width:70px;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(217,163,106,.22);
    color:#b7791f;
    font-size:34px;
    box-shadow:0 14px 34px rgba(15,23,42,.07);
}

.cta-whatsapp-card .cta-contact-icon{
    color:#20a45f;
    border-color:rgba(52,181,111,.22);
}

.cta-contact-content{
    position:relative;
    z-index:2;
    min-height:82px;
    padding-left:96px;
}

.cta-contact-content span{
    display:block;
    margin-bottom:8px;
    color:#c1843b;
    font-size:12px;
    font-weight:950;
    letter-spacing:.10em;
}

.cta-whatsapp-card .cta-contact-content span{
    color:#2fab66;
}

.cta-contact-content a{
    display:block;
    color:#162033 !important;
    text-decoration:none !important;
    font-size:26px;
    line-height:1.1;
    font-weight:950;
    letter-spacing:-.035em;
}

.cta-contact-content i{
    display:block;
    width:78px;
    height:3px;
    margin-top:18px;
    border-radius:999px;
    background:linear-gradient(90deg,#d9a36a,#bd7b35);
}

.cta-whatsapp-card .cta-contact-content i{
    background:linear-gradient(90deg,#34b56f,#23945a);
}

.cta-contact-btn{
    position:relative;
    z-index:2;
    min-height:54px;
    margin-top:20px;
    padding:0 22px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-decoration:none !important;
    color:#fff !important;
    font-size:15px;
    font-weight:950;
    letter-spacing:.02em;
    box-shadow:0 18px 40px rgba(15,23,42,.14);
    transition:.30s ease;
}

.cta-contact-btn:hover{
    transform:translateY(-3px);
}

.cta-phone-btn{
    background:linear-gradient(135deg,#d9a36a,#b7791f);
}

.cta-whatsapp-btn{
    background:linear-gradient(135deg,#34b56f,#229456);
}

.cta-contact-btn span{
    font-size:20px;
}

.cta-contact-btn em{
    margin-left:auto;
    font-style:normal;
    font-size:30px;
    line-height:1;
    opacity:.92;
}

@media(max-width:1100px){
    .cta-inner{
        grid-template-columns:1fr;
        gap:34px;
        text-align:center;
    }

    .cta-title-line{
        margin-left:auto;
        margin-right:auto;
    }

    .cta-left h2,
    .cta-left p{
        margin-left:auto;
        margin-right:auto;
    }

    .cta-trust,
    .cta-info{
        justify-content:center;
    }

    .cta-divider{
        display:none;
    }

    .cta-right{
        width:100%;
        max-width:460px;
        margin:0 auto;
    }
}

@media(max-width:640px){
    .cta-section{
        padding:64px 0;
    }

    .cta-inner{
        width:min(94%,430px);
        padding:34px 20px;
        border-radius:28px;
    }

    .cta-left h2{
        font-size:clamp(30px,8.2vw,38px);
    }

    .cta-badge{
        font-size:10.5px;
        letter-spacing:.12em;
    }

    .cta-trust span,
    .cta-info span{
        width:100%;
        justify-content:center;
    }

    .cta-info{
        gap:12px;
    }

    .cta-contact-card{
        padding:22px 20px;
    }

    .cta-contact-icon{
        width:58px;
        height:58px;
        font-size:28px;
    }

    .cta-contact-content{
        padding-left:78px;
        text-align:left;
    }

    .cta-contact-content a{
        font-size:22px;
    }
}

/* ==========================================================
   CTA FINAL PREMIUM MICRO ANIMATIONS + FOOTER BRIDGE
========================================================== */

.cta-section{
    padding-bottom:104px;
}

.cta-section::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:86px;
    background:
        linear-gradient(180deg,transparent 0%,rgba(212,149,61,.18) 45%,rgba(17,20,24,.94) 100%);
    pointer-events:none;
    z-index:1;
}

.cta-inner{
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.cta-inner:hover{
    transform:translateY(-4px);
    border-color:rgba(217,163,106,.34);
    box-shadow:0 34px 96px rgba(15,23,42,.14);
}

.cta-contact-card{
    transition:
        transform .30s ease,
        box-shadow .30s ease,
        border-color .30s ease;
}

.cta-contact-card:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 62px rgba(15,23,42,.12);
}

.cta-trust span{
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.cta-trust span:hover{
    transform:translateY(-2px);
    border-color:rgba(217,163,106,.36);
    box-shadow:0 16px 38px rgba(15,23,42,.08);
}

.cta-badge{
    animation:ctaBadgeFloat 4.8s ease-in-out infinite;
}

.cta-contact-btn{
    overflow:hidden;
}

.cta-contact-btn::after{
    content:"";
    position:absolute;
    top:0;
    left:-80%;
    width:55%;
    height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent);
    transform:skewX(-20deg);
    opacity:0;
}

.cta-contact-btn:hover::after{
    animation:ctaBtnShine .72s ease;
}

@keyframes ctaBadgeFloat{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-4px);
    }
}

@keyframes ctaBtnShine{
    0%{
        left:-80%;
        opacity:0;
    }
    25%{
        opacity:1;
    }
    100%{
        left:130%;
        opacity:0;
    }
}

@media (prefers-reduced-motion:reduce){
    .cta-badge{
        animation:none !important;
    }

    .cta-inner:hover,
    .cta-contact-card:hover,
    .cta-trust span:hover{
        transform:none;
    }
}