/* ======================================== */
/* cta banner                               */
/* ======================================== */

.cta {
    position: relative;
    padding: 18px 0 46px;
    isolation: isolate;
}

.cta::before {
    content: "";
    position: absolute;
    right: 50%;
    bottom: 4px;
    z-index: -1;

    width: min(860px, 92%);
    height: 180px;

    transform: translateX(50%);

    background:
        radial-gradient(circle at 50% 50%, rgba(31, 93, 85, 0.16), transparent 64%),
        radial-gradient(circle at 22% 50%, rgba(126, 231, 212, 0.10), transparent 38%);

    filter: blur(14px);
    pointer-events: none;
}

.cta-banner {
    position: relative;
    overflow: hidden;

    min-height: 252px;
    border-radius: 28px;

    display: flex;
    align-items: center;

    background-image:
        linear-gradient(
            90deg,
            rgba(13, 50, 44, 0.10) 100%
        ),
        radial-gradient(circle at 16% 38%, rgba(126, 231, 212, 0.16), transparent 34%),
        url("../../img/home/cta_banner/Untitled-4-copy.webp");

    background-size:
        cover,
        cover,
        cover;

    /* تصویر کمی به سمت راست */
    background-position:
        center,
        center,
        72% center;

    background-repeat: no-repeat;

    box-shadow:
        0 26px 60px rgba(9, 24, 21, 0.18),
        0 8px 22px rgba(9, 24, 21, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);

    isolation: isolate;
}

/* Border shine */
.cta-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;

    border-radius: inherit;
    padding: 1px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.46),
            rgba(255, 255, 255, 0.08) 34%,
            rgba(126, 231, 212, 0.26) 68%,
            rgba(255, 255, 255, 0.16)
        );

    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;

    pointer-events: none;
}

/* Soft premium overlay */
.cta-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.08) 0%,
            transparent 32%,
            rgba(0, 0, 0, 0.14) 100%
        ),
        radial-gradient(circle at 84% 34%, rgba(255, 255, 255, 0.08), transparent 30%);

    pointer-events: none;
}

.cta-text {
    position: relative;
    z-index: 3;

    width: min(560px, 100%);
    padding: 42px 42px 38px;

    color: #ffffff;
}

.cta-text h3 {
    margin: 0;

    max-width: 540px;

    color: #ffffff;
    font-size: clamp(30px, 3.2vw, 46px);
    font-weight: 950;
    line-height: 1.18;
    letter-spacing: -0.5px;

    text-shadow:
        0 16px 34px rgba(0, 0, 0, 0.42),
        0 0 26px rgba(126, 231, 212, 0.10);
}

.cta-text p {
    margin: 13px 0 22px;

    max-width: 430px;

    color: rgba(255, 255, 255, 0)
}
