/* =========================
   FOOTER
========================= */

.tt-footer{
    background:
        radial-gradient(circle at top,#3a134d 0%,#280B36 65%,#21072d 100%);
    color:var(--white);
    position:relative;
    overflow:hidden;
}

/* Soft animated glow */

.tt-footer::before{
    content:"";
    position:absolute;
    inset:-30%;
    background:
        radial-gradient(circle,rgba(197,108,196,.10),transparent 60%);
    animation:ttGlow 12s linear infinite;
}

@keyframes ttGlow{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}

.tt-footer-top-line{
    height:3px;
    background:linear-gradient(90deg,
    transparent,
    var(--light-purple),
    transparent);
}

.tt-footer-container{
    max-width:1400px;
    margin:auto;
    padding:20px 20px 25px;
    position:relative;
    z-index:2;
}

.tt-footer-grid{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:60px;
}

/* Left */

.tt-footer-left{
    flex:1;
    max-width:600px;
}

.tt-footer-logo{
    width:200px;
    height: auto;
    max-width:100%;
    filter:brightness(1000%);
}


.tt-footer-left p{
    color:rgba(255,255,255,.82);
    font-size:1.15rem;
    line-height:1.8;
    text-align:justify;
    margin-top:15px;
}

/* Right */

.tt-footer-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:40px;
}

.tt-footer-social{
    display:flex;
    gap:18px;
}

.tt-footer-social a{
    width:54px;
    height:54px;
    border-radius:50%;
    background:var(--milky);
    color:var(--purple);
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:1.3rem;
    transition:.35s ease;
    position:relative;
    overflow:hidden;
}

.tt-footer-social a::before{
    content:"";
    position:absolute;
    inset:0;
    background:var(--light-purple);
    transform:scale(0);
    border-radius:50%;
    transition:.35s;
}

.tt-footer-social a i{
    position:relative;
    z-index:2;
}

.tt-footer-social a:hover{
    transform:translateY(-8px) rotate(8deg);
    box-shadow:0 15px 30px rgba(197,108,196,.35);
}

.tt-footer-social a:hover::before{
    transform:scale(1);
}

.tt-footer-social a:hover i{
    color:var(--white);
}

/* Menu */

.tt-footer-menu{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:18px;
    margin-top:20px;
}

.tt-footer-menu a{
    color:var(--white);
    text-decoration:none;
    font-size:1.08rem;
    position:relative;
    padding:5px 10px;
    transition:.3s;
}

.tt-footer-menu a::after{
    content:"";
    position:absolute;
    left:10px;
    bottom:-4px;
    width:0;
    height:2px;
    background:var(--light-purple);
    transition:.35s;
}

.tt-footer-menu a:hover{
    color:var(--light-purple);
}

.tt-footer-menu a:hover::after{
    width:calc(100% - 20px);
}

/* Divider */

.tt-footer-divider{
    margin:25px 0 18px;
    height:1px;
    background:linear-gradient(90deg,
    transparent,
    rgba(255,255,255,.35),
    transparent);
}

/* Copyright */

.tt-footer-copy{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
}


.tt-copy-text{
    font-size:1.05rem;
    color:var(--milky);
    font-weight:500;
    animation:ttFade 3s ease-in-out infinite;
}







@keyframes ttFade{

    0%,100%{
        opacity:.8;
    }

    50%{
        opacity:1;
    }

}

@keyframes ttLinePulse{

    0%,100%{
        opacity:.5;
        transform:scaleX(.9);
    }

    50%{
        opacity:1;
        transform:scaleX(1.05);
    }

}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:992px){

    .tt-footer-grid{
        flex-direction:column;
        text-align:center;
        align-items:center;
    }

    .tt-footer-right{
        align-items:center;
    }

    .tt-footer-menu{
        justify-content:center;
    }

}

@media(max-width:576px){

    .tt-footer-container{
        padding:55px 22px 35px;
    }

    .tt-footer-logo{
        width:200px;
        height:auto;
    }


    .tt-footer-left p{
        font-size:1rem;
    }

    .tt-footer-social a{
        width:46px;
        height:46px;
        font-size:1.1rem;
    }

    .tt-footer-menu{
        gap:12px;
        margin-top:0;
    }

    .tt-footer-menu a{
        font-size:.95rem;
    }

    .tt-copy-text{
        font-size:.9rem;
        text-align:center;
    }

}







/* scroll top buttton */

.scroll-top-btn {
    position: fixed;
    right: 25px;
    bottom: 25px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: #C56CC4;
    font-size: 17px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    z-index: 9999;
    box-shadow: 0 8px 25px rgb(231 25 94 / 0.35);
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
.scroll-top-btn.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.scroll-top-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgb(231 25 94 / 0.5);
}
.scroll-top-btn i {
    transition: transform 0.3s ease;
}
.scroll-top-btn:hover i {
    transform: translateY(-3px);
}
@media (max-width: 600px) {
    .scroll-top-btn {
        width: 42px;
        height: 42px;
        right: 15px;
        bottom: 15px;
        font-size: 14px;
    }
}








/* Overlay */
.tt-popup-overlay{
    position:fixed;
    inset:0;
    background:rgba(25,0,35,.82);
    backdrop-filter:blur(8px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
    opacity:0;
    visibility:hidden;
    transition:.35s ease;
    z-index:99999;
}

.tt-popup-overlay.active{
    opacity:1;
    visibility:visible;
}

/* Popup Card */
.tt-popup-card{
    position:relative;
    width:100%;
    max-width:480px;
    background:var(--milky);
    border-radius:24px;
    padding:28px 24px;
    transform:translateY(25px) scale(.95);
    opacity:0;
    transition:.4s cubic-bezier(.22,1,.36,1);
    box-shadow:0 20px 50px rgba(0,0,0,.3);
    overflow:hidden;
}

/* Decorative Corner */
.tt-popup-card::before{
    content:"";
    position:absolute;
    top:-55px;
    right:-55px;
    width:110px;
    height:110px;
    background:#C56CC4;
    border-radius:50%;
}

.tt-popup-overlay.active .tt-popup-card{
    transform:translateY(0) scale(1);
    opacity:1;
}

/* Close Button */
.tt-popup-close{
    position:absolute;
    top:14px;
    right:14px;
    width:34px;
    height:34px;
    border:none;
    background:var(--purple);
    color:var(--white);
    font-size:22px;
    border-radius:50%;
    cursor:pointer;
    transition:.3s;
    z-index:2;
}

.tt-popup-close:hover{
    transform:rotate(90deg);
    background:#341042;
}

/* Heading */
.tt-popup-card h2{
    text-align:center;
    color:var(--font-purple);
    font-size:clamp(24px,3vw,34px);
    font-weight:800;
    margin:0 0 20px;
    line-height:1.15;
}



/* Tablet */
@media (max-width:768px){
    .tt-popup-card{
        max-width:430px;
        padding:24px 20px;
    }

    .tt-popup-card h2{
        font-size:26px;
    }
}

/* Mobile */
@media (max-width:480px){
    .tt-popup-overlay{
        padding:12px;
        align-items:center;
    }

    .tt-popup-card{
        width:100%;
        max-width:100%;
        border-radius:20px;
        padding:22px 18px;
    }

    .tt-popup-card h2{
        font-size:22px;
        margin-bottom:16px;
    }

    .tt-popup-close{
        width:32px;
        height:32px;
        font-size:20px;
    }
}




/* new form css */


.tt-form-wrapper {
    width: 350px;
    flex-shrink: 0;
}
.tt-form-wrapper_modal {
    width: 100%;
    flex-shrink: 0;
}
.tt-form {
    background: var(--milky);
    color: var(--font-purple);
    border-radius: 7px;
    padding: 17px 15px 13px;
    /* box-shadow: 0 12px 35px rgb(0 0 0 / 0.35); */
}
.tt-form h2 {
    margin: 0;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
}
.tt-form-subtitle {
    text-align: center;
    font-size: 10px;
    line-height: 1.45;
    margin: 7px 0 12px;
    color: #2F1337;
}
.tt-input {
    position: relative;
    width: 100%;
    height: 34px;
    margin-bottom: 9px;
}
.tt-input > i:first-child {
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #2F1337;
    z-index: 2;
}
.tt-input input,
.tt-input select {
    width: 100%;
    height: 100%;
    border: 1px solid #e4e4e4;
    border-radius: 5px;
    background: var(--white);
    padding: 0 10px 0 29px;
    font-size: 13px;
    color: #2F1337;
    outline: none;
    font-weight: 700;
}
.tt-input input::placeholder {
    color: #2F1337;
}
.tt-input input:focus,
.tt-input select:focus {
    border-color: #2F1337;
}
.tt-input select {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
.tt-select-icon {
    position: absolute !important;
    right: 10px;
    left: auto !important;
    top: 50%;
    transform: translateY(-50%);
    font-size: 8px !important;
    color: #555 !important;
    pointer-events: none;
}
.tt-submit {
    width: 100%;
    height: 36px;
    border: 0;
    border-radius: 5px;
    margin-top: 4px;
    background: var(--light-purple);
    color: var(--font-purple);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: 0.3s ease;
}
.tt-submit:hover {
    background: var(--purple);
    color:var(--white);
}
.tt-submit span {
    width: 17px;
    height: 17px;
    border: 1px solid rgb(255 255 255 / 0.8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tt-submit span i {
    font-size: 7px;
}
.tt-form-note {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    margin-top: 8px;
    color: #777;
    font-size: 7px;
    line-height: 1.3;
    text-align: left;
}
.tt-form-note i {
    color: #2F1337;
    font-size: 9px;
}
.form_info_text {
    font-size: 12px;
    color:#2F1337;
}


@media (max-width: 900px) {
    .tt-form-wrapper {
        width: 320px;
    }
}


@media (max-width: 700px) {
     .tt-form-wrapper {
        width: 100%;
        max-width: 380px;
        margin: 0 auto;
    }
    .tt-form {
        padding: 20px 17px 15px;
    }
    .tt-form h2 {
        font-size: 18px;
    }
}


@media (max-width: 400px) {
     .tt-form {
        padding: 17px 13px;
    }
}








/* ===============================
   WHATSAPP BUTTON
================================ */

.tt-whatsapp{

    position:fixed;

    right:22px;
    bottom:80px;

    width:55px;
    height:55px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#59ed6d;
    color:var(--white);

    border:2px solid var(--milky);
    border-radius:50%;

    text-decoration:none;

    z-index:99999;

    box-shadow:
        0 8px 25px rgba(40,11,54,.35);

    transition:
        width .35s ease,
        border-radius .35s ease,
        transform .3s ease,
        background .3s ease;
}


/* ===============================
   ICON
================================ */

.tt-whatsapp svg{

    width:30px;
    height:30px;

    fill:var(--white);

    position:relative;
    z-index:2;

    transition:transform .3s ease;
}


/* ===============================
   PULSE
================================ */

.tt-whatsapp-pulse{

    position:absolute;

    inset:-7px;

    border:2px solid var(--light-purple);

    border-radius:50%;

    animation:ttWhatsappPulse 2s infinite;

    pointer-events:none;
}


@keyframes ttWhatsappPulse{

    0%{
        transform:scale(.85);
        opacity:1;
    }

    70%{
        transform:scale(1.3);
        opacity:0;
    }

    100%{
        transform:scale(1.3);
        opacity:0;
    }

}


/* ===============================
   HOVER
================================ */

.tt-whatsapp:hover{

    width:155px;

    border-radius:40px;

    background:#59ed6d;

    transform:translateY(-4px);
}


.tt-whatsapp-text{

    position:absolute;

    white-space:nowrap;

    color:var(--white);

    font-size:14px;

    font-weight:600;

    opacity:0;

    transform:translateX(10px);

    transition:.3s ease;
}


.tt-whatsapp:hover .tt-whatsapp-text{

    opacity:1;

    transform:translateX(20px);
}


.tt-whatsapp:hover svg{

    transform:translateX(-42px);
}


/* ===============================
   MOBILE
================================ */

@media(max-width:600px){

    .tt-whatsapp{

        right:12px;
        bottom:64px;

        width:46px;
        height:46px;
    }


    .tt-whatsapp svg{

        width:27px;
        height:27px;
    }


    .tt-whatsapp:hover{

        width:56px;

        height:56px;

        border-radius:50%;

        transform:none;
    }


    .tt-whatsapp:hover svg{

        transform:none;
    }


    .tt-whatsapp-text{

        display:none;
    }

}