/* =====================================================
   MYSTIC LUXE ASTRO CTA SECTION
   PREMIUM PINK DIVINE THEME
===================================================== */

.astro-cta-section{

    --pink:#ff1493;
    --pink2:#ff4db8;
    --light:#fff8fc;
    --soft:#ffe6f2;
    --text:#111111;
    --muted:#5f5f5f;
    --white:#ffffff;

    position:relative;
    overflow:hidden;

    width:100%;
    padding:120px 24px;

    background:
    radial-gradient(circle at top left,
    rgba(255,20,147,0.12),
    transparent 35%),

    radial-gradient(circle at bottom right,
    rgba(255,77,184,0.10),
    transparent 35%),

    linear-gradient(
        135deg,
        #fff5fa 0%,
        #ffffff 45%,
        #fff7fb 100%
    );

    font-family:'Poppins',sans-serif;
}

/* =====================================================
   SOFT DIVINE BACKGROUND
===================================================== */

.astro-cta-section::before{

    content:'';

    position:absolute;
    inset:0;

    background:
    linear-gradient(
        rgba(255,20,147,0.03) 1px,
        transparent 1px
    ),

    linear-gradient(
        90deg,
        rgba(255,20,147,0.03) 1px,
        transparent 1px
    );

    background-size:70px 70px;

    mask-image:linear-gradient(to bottom,transparent,black,transparent);

    animation:gridMove 18s linear infinite;
}

@keyframes gridMove{

    from{
        transform:translateY(0);
    }

    to{
        transform:translateY(70px);
    }
}

/* =====================================================
   FLOATING GLOWS
===================================================== */

.astro-cta-section .cta-glow{

    position:absolute;
    border-radius:50%;
    filter:blur(120px);
    z-index:1;
}

.astro-cta-section .cta-glow-1{

    width:420px;
    height:420px;

    background:rgba(255,20,147,0.18);

    top:-120px;
    left:-100px;

    animation:floatGlow 10s ease-in-out infinite;
}

.astro-cta-section .cta-glow-2{

    width:380px;
    height:380px;

    background:rgba(255,77,184,0.14);

    right:-100px;
    bottom:-100px;

    animation:floatGlow2 12s ease-in-out infinite;
}

@keyframes floatGlow{

    0%{
        transform:translate(0,0);
    }

    50%{
        transform:translate(40px,30px);
    }

    100%{
        transform:translate(0,0);
    }
}

@keyframes floatGlow2{

    0%{
        transform:translate(0,0);
    }

    50%{
        transform:translate(-40px,-20px);
    }

    100%{
        transform:translate(0,0);
    }
}

/* =====================================================
   CONTAINER
===================================================== */

.astro-cta-section .astro-cta-container{

    max-width:1450px;
    margin:auto;

    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:80px;

    align-items:center;

    position:relative;
    z-index:3;
}

/* =====================================================
   CONTENT BOX
===================================================== */

.astro-cta-section .astro-cta-content{

    padding:60px;

    border-radius:38px;

    background:
    linear-gradient(
        135deg,
        rgba(255,255,255,0.95),
        rgba(255,255,255,0.82)
    );

    border:1px solid rgba(255,20,147,0.08);

    box-shadow:
    0 20px 60px rgba(255,20,147,0.08);

    position:relative;
    overflow:hidden;
}

/* =====================================================
   TAG
===================================================== */

.astro-cta-section .cta-tag{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:12px 24px;

    border-radius:999px;

    background:
    linear-gradient(
        135deg,
        rgba(255,20,147,0.12),
        rgba(255,77,184,0.12)
    );

    color:var(--pink);

    font-size:14px;
    font-weight:800;

    letter-spacing:1px;

    margin-bottom:28px;

    text-transform:uppercase;
}

/* =====================================================
   HEADING
===================================================== */

.astro-cta-section h2{

    font-size:72px;
    line-height:1.05;

    color:#111;

    font-weight:900;

    margin-bottom:28px;
}

.astro-cta-section h2 span{

    background:
    linear-gradient(
        90deg,
        #ff1493,
        #ff4db8
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* =====================================================
   TEXT
===================================================== */

.astro-cta-section p{

    color:var(--muted);

    font-size:19px;
    line-height:1.9;

    max-width:760px;

    margin-bottom:40px;
}

/* =====================================================
   BUTTONS
===================================================== */

.astro-cta-section .cta-buttons{

    display:flex;
    gap:22px;
    flex-wrap:wrap;
}

.astro-cta-section .cta-buttons a{

    position:relative;

    overflow:hidden;

    padding:18px 38px;

    border-radius:999px;

    text-decoration:none;

    font-size:17px;
    font-weight:800;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    transition:all .45s ease;
}

/* PRIMARY */

.astro-cta-section .cta-call-btn{

    background:
    linear-gradient(
        135deg,
        #ff1493,
        #ff4db8
    );

    color:#fff;

    box-shadow:
    0 12px 30px rgba(255,20,147,0.25);
}

.astro-cta-section .cta-call-btn:hover{

    transform:translateY(-7px);

    box-shadow:
    0 20px 40px rgba(255,20,147,0.35);
}

/* SECONDARY */

.astro-cta-section .cta-whatsapp-btn{

    background:#fff;

    color:#111;

    border:1px solid rgba(255,20,147,0.12);

    box-shadow:
    0 10px 30px rgba(0,0,0,0.05);
}

.astro-cta-section .cta-whatsapp-btn:hover{

    transform:translateY(-7px);

    box-shadow:
    0 18px 35px rgba(255,20,147,0.12);
}

/* SHINE EFFECT */

.astro-cta-section .cta-buttons a::before{

    content:'';

    position:absolute;

    top:0;
    left:-120%;

    width:70%;
    height:100%;

    background:
    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.6),
        transparent
    );

    transition:.8s;
}

.astro-cta-section .cta-buttons a:hover::before{

    left:130%;
}

/* =====================================================
   IMAGE SECTION
===================================================== */

.astro-cta-section .astro-cta-image{

    position:relative;

    display:flex;
    justify-content:center;
    align-items:center;
}

/* =====================================================
   IMAGE FRAME
===================================================== */

.astro-cta-section .image-frame{

    position:relative;

    padding:18px;

    border-radius:50%;

    background:
    linear-gradient(
        135deg,
        rgba(255,255,255,0.95),
        rgba(255,240,247,0.9)
    );

    box-shadow:
    0 25px 60px rgba(255,20,147,0.12);

    z-index:3;
}

/* =====================================================
   IMAGE
===================================================== */

.astro-cta-section .astro-cta-image img{

    width:100%;
    max-width:480px;

    aspect-ratio:1/1;

    object-fit:cover;

    border-radius:50%;

    border:8px solid #fff;

    position:relative;
    z-index:2;

    animation:imageFloat 5s ease-in-out infinite;
}

@keyframes imageFloat{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-16px);
    }

    100%{
        transform:translateY(0);
    }
}

/* =====================================================
   ORBIT RINGS
===================================================== */

.astro-cta-section .orbit-ring{

    position:absolute;

    border-radius:50%;

    border:1px dashed rgba(255,20,147,0.12);

    animation:orbitRotate 24s linear infinite;
}

.astro-cta-section .ring1{

    width:560px;
    height:560px;
}

.astro-cta-section .ring2{

    width:690px;
    height:690px;

    animation-direction:reverse;
    animation-duration:34s;
}

@keyframes orbitRotate{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1200px){

    .astro-cta-section .astro-cta-container{

        grid-template-columns:1fr;
        text-align:center;
    }

    .astro-cta-section .cta-buttons{

        justify-content:center;
    }

    .astro-cta-section p{

        margin-inline:auto;
    }
}

/* =====================================================
   TABLET
===================================================== */

@media(max-width:768px){

    .astro-cta-section{

        padding:80px 18px;
    }

    .astro-cta-section .astro-cta-content{

        padding:38px 26px;
    }

    .astro-cta-section h2{

        font-size:46px;
    }

    .astro-cta-section p{

        font-size:16px;
    }

    .astro-cta-section .astro-cta-image img{

        max-width:320px;
    }

    .astro-cta-section .ring1{

        width:390px;
        height:390px;
    }

    .astro-cta-section .ring2{

        width:500px;
        height:500px;
    }
}

/* =====================================================
   MOBILE
===================================================== */

@media(max-width:480px){

    .astro-cta-section h2{

        font-size:34px;
    }

    .astro-cta-section .cta-buttons{

        flex-direction:column;
    }

    .astro-cta-section .cta-buttons a{

        width:100%;
    }

    .astro-cta-section .astro-cta-content{

        border-radius:28px;
    }

    .astro-cta-section .astro-cta-image img{

        max-width:260px;
    }
}