/* =====================================================
   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);
    }
}

/* =====================================================
   SCROLL REVEAL
   (js/cta.js adds .in-view via IntersectionObserver —
   these were previously unstyled so nothing ever animated)
===================================================== */

.astro-cta-section .reveal{
    opacity:0;
    transform:translateY(32px);
    transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
}

.astro-cta-section .reveal-right{
    transform:translateY(24px) translateX(26px);
}

.astro-cta-section .reveal.in-view{
    opacity:1;
    transform:translate(0,0);
}

.astro-cta-section .reveal.d1{transition-delay:.05s;}
.astro-cta-section .reveal.d2{transition-delay:.15s;}
.astro-cta-section .reveal.d3{transition-delay:.25s;}
.astro-cta-section .reveal.d4{transition-delay:.35s;}

@media(prefers-reduced-motion:reduce){
    .astro-cta-section .reveal{
        opacity:1;
        transform:none;
        transition:none;
    }
}

/* =====================================================
   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);
    }
}

/* =====================================================
   AURA GLOW (behind image)
===================================================== */

.astro-cta-section .cta-image-circle{
    position:absolute;
    top:50%;
    left:50%;
    width:74%;
    height:74%;
    border-radius:50%;
    transform:translate(-50%,-50%);
    background:radial-gradient(circle, rgba(255,20,147,.30), transparent 72%);
    filter:blur(30px);
    z-index:1;
    animation:ctaAuraPulse 4s ease-in-out infinite;
}

@keyframes ctaAuraPulse{
    0%,100%{opacity:.6;transform:translate(-50%,-50%) scale(1);}
    50%{opacity:1;transform:translate(-50%,-50%) scale(1.1);}
}

@media(prefers-reduced-motion:reduce){
    .astro-cta-section .cta-image-circle{animation:none;}
}

/* =====================================================
   ROTATING CHAKRA (SVG)
===================================================== */

.astro-cta-section .cta-chakra{
    position:absolute;
    width:120%;
    height:120%;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:1;
    opacity:0;
    transition:opacity 1s ease;
}

.astro-cta-section .cta-chakra.in-view{
    opacity:1;
}

.astro-cta-section .cta-chakra .chk-outer{
    transform-origin:100px 100px;
    animation:ctaChakraSpin 40s linear infinite;
}

.astro-cta-section .cta-chakra .chk-inner{
    transform-origin:100px 100px;
    animation:ctaChakraSpin 26s linear infinite reverse;
}

@keyframes ctaChakraSpin{
    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}
}

@media(prefers-reduced-motion:reduce){
    .astro-cta-section .cta-chakra .chk-outer,
    .astro-cta-section .cta-chakra .chk-inner{
        animation:none;
    }
}

/* =====================================================
   ORBIT RINGS
===================================================== */

.astro-cta-section .orbit-ring{

    position:absolute;
    top:50%;
    left:50%;
    z-index:0;

    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:translate(-50%,-50%) rotate(0deg);
    }

    to{
        transform:translate(-50%,-50%) rotate(360deg);
    }
}

@media(prefers-reduced-motion:reduce){
    .astro-cta-section .orbit-ring{
        animation:none;
        transform:translate(-50%,-50%);
    }
}

/* =====================================================
   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;
    }
}