/* =========================================================
   CLEANNORA — DOWNLOAD APP SECTION V3
   CLEAN / COMPACT / PREMIUM
========================================================= */

.cn-app-download {
    width: 100%;
    padding: 45px 0;
    background: #ffffff;
    overflow: hidden;
}


/* =========================================================
   MAIN GREEN CARD
========================================================= */

.cn-app-download-inner {
    width: min(1280px, calc(100% - 40px));
    height: 650px;
    margin: 0 auto;

    position: relative;
    overflow: hidden;

    background: #083D2B;
    border-radius: 26px;

    box-sizing: border-box;
}


/* =========================================================
   BACKGROUND DECORATION
========================================================= */

.cn-app-download-inner::before {
    content: "";
    position: absolute;

    width: 700px;
    height: 700px;

    top: -480px;
    right: 30px;

    border-radius: 50%;

    border: 1px solid rgba(255,255,255,0.035);

    box-shadow:
        0 0 0 85px rgba(255,255,255,0.012),
        0 0 0 170px rgba(255,255,255,0.008);

    pointer-events: none;
}

.cn-app-download-inner::after {
    content: "";

    position: absolute;

    width: 820px;
    height: 220px;

    left: -80px;
    bottom: -135px;

    border-radius: 50%;

    border-top: 1px solid rgba(255,255,255,0.09);

    transform: rotate(-5deg);

    pointer-events: none;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.cn-app-content {
    position: absolute;

    z-index: 5;

    left: 60px;
    top: 62px;

    width: 570px;

    padding: 0;
}


/* =========================================================
   KICKER
========================================================= */

.cn-app-kicker {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 22px;

    color: #F4BF19;

    font-size: 14px;
    font-weight: 800;

    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.cn-app-kicker span {
    display: block;

    width: 85px;
    height: 1px;

    background: #F4BF19;
}

.cn-app-kicker b {
    font-size: 16px;
    font-weight: 700;
}


/* =========================================================
   HEADING
========================================================= */

.cn-app-title {
    max-width: 560px;

    margin: 0;

    color: #ffffff;

    font-size: 58px;
    line-height: 0.98;

    letter-spacing: -2.2px;

    font-weight: 800;
}

.cn-app-title span {
    display: block;

    color: #F4BF19;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.cn-app-text {
    max-width: 500px;

    margin: 22px 0 0;

    color: rgba(255,255,255,0.94);

    font-size: 18px;
    line-height: 1.5;
}


/* =========================================================
   APP BADGES
========================================================= */

.cn-app-badges {
    margin-top: 42px;
}

.cn-app-badges img {
    display: block;

    width: 430px;
    max-width: 100%;

    height: auto;

    object-fit: contain;
}


/* =========================================================
   FEATURES
========================================================= */

.cn-app-features {
    position: absolute;

    left: 0;
    top: 535px;

    width: 530px;

    display: flex;
    align-items: center;

    margin: 0;
}

.cn-app-feature {
    display: flex;
    align-items: center;

    min-width: 0;
}

.cn-app-feature-icon {
    flex: 0 0 auto;

    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #F4BF19;

    font-size: 27px;
}

.cn-app-feature-text {
    display: flex;
    flex-direction: column;

    margin-left: 10px;

    color: #ffffff;

    font-size: 14px;
    line-height: 1.3;
}

.cn-app-feature-text strong {
    font-weight: 800;
}

.cn-app-feature-text span {
    font-weight: 500;
}

.cn-app-feature-divider {
    width: 1px;
    height: 48px;

    margin: 0 20px;

    background: rgba(255,255,255,0.28);
}


/* =========================================================
   PHONE AREA
========================================================= */

.cn-app-phone-area {
    position: absolute;

    z-index: 2;

    top: 0;
    right: 0;

    width: 47%;
    height: 100%;

    overflow: visible;
}


/* =========================================================
   DECORATIVE CIRCLES
========================================================= */

.cn-app-circle {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;
}

.cn-app-circle-one {
    width: 620px;
    height: 620px;

    top: -400px;
    left: -70px;

    background: rgba(255,255,255,0.032);
}

.cn-app-circle-two {
    width: 420px;
    height: 420px;

    right: -200px;
    bottom: -250px;

    background: rgba(255,255,255,0.022);
}


/* =========================================================
   PHONE
========================================================= */

.cn-app-phone {
    position: absolute;

    z-index: 4;

    display: block;

    width: 455px;
    max-width: none;

    height: auto;

    top: 22px;
    left: 50%;

    transform:
        translateX(-30%)
        rotate(8deg);

    object-fit: contain;

    filter:
        drop-shadow(
            0 25px 28px rgba(0,0,0,0.30)
        );
}


/* =========================================================
   1200px - 1350px
========================================================= */

@media (min-width: 992px) and (max-width: 1350px) {

    .cn-app-download-inner {
        width: calc(100% - 40px);
        height: 630px;
    }

    .cn-app-content {
        left: 55px;
        top: 58px;

        width: 540px;
    }

    .cn-app-title {
        font-size: 54px;
    }

    .cn-app-text {
        font-size: 17px;
    }

    .cn-app-badges img {
        width: 410px;
    }

    .cn-app-features {
        top: 515px;
        width: 510px;
    }

    .cn-app-phone {
        width: 425px;
        top: 25px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .cn-app-download {
        padding: 35px 0;
    }

    .cn-app-download-inner {
        width: min(760px, calc(100% - 30px));
        height: auto;

        min-height: 760px;

        padding: 50px 35px 35px;

        border-radius: 24px;
    }

    .cn-app-content {
        position: relative;

        left: auto;
        top: auto;

        width: 100%;

        padding: 0;

        text-align: center;
    }

    .cn-app-kicker {
        justify-content: center;
    }

    .cn-app-title {
        margin-left: auto;
        margin-right: auto;

        font-size: 50px;
    }

    .cn-app-text {
        margin-left: auto;
        margin-right: auto;

        font-size: 17px;
    }

    .cn-app-badges {
        display: flex;
        justify-content: center;

        margin-top: 32px;
    }

    .cn-app-badges img {
        width: 410px;
    }

    .cn-app-features {
        position: relative;

        left: auto;
        top: auto;

        width: 100%;

        justify-content: center;

        margin-top: 42px;
    }

    .cn-app-phone-area {
        position: relative;

        top: auto;
        right: auto;

        width: 100%;
        height: 360px;

        margin-top: 5px;
    }

    .cn-app-phone {
        width: 350px;
        max-width: 75%;

        top: -5px;
        left: 50%;

        transform:
            translateX(-50%)
            rotate(7deg);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .cn-app-download {
        padding: 22px 0 30px;
    }

    .cn-app-download-inner {
        width: calc(100% - 22px);

        min-height: 720px;

        padding: 35px 18px 25px;

        border-radius: 21px;
    }

    .cn-app-kicker {
        gap: 7px;

        margin-bottom: 17px;

        font-size: 10px;
        letter-spacing: 1.4px;
    }

    .cn-app-kicker span {
        width: 32px;
    }

    .cn-app-kicker b {
        font-size: 12px;
    }

    .cn-app-title {
        font-size: 37px;

        line-height: 1;

        letter-spacing: -1.3px;
    }

    .cn-app-text {
        margin-top: 16px;

        font-size: 14px;
        line-height: 1.5;
    }

    .cn-app-badges {
        margin-top: 28px;
    }

    .cn-app-badges img {
        width: 285px;
    }

    .cn-app-features {
        flex-direction: column;

        gap: 14px;

        margin-top: 28px;
    }

    .cn-app-feature-divider {
        display: none;
    }

    .cn-app-feature {
        justify-content: center;
    }

    .cn-app-phone-area {
        height: 325px;

        margin-top: 5px;
    }

    .cn-app-phone {
        width: 285px;
        max-width: 82%;

        top: -10px;

        transform:
            translateX(-50%)
            rotate(7deg);
    }

    .cn-app-circle-one {
        width: 330px;
        height: 330px;

        top: -170px;
        left: -80px;
    }

    .cn-app-circle-two {
        width: 250px;
        height: 250px;

        right: -130px;
        bottom: -130px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .cn-app-download-inner {
        min-height: 680px;

        padding-left: 15px;
        padding-right: 15px;
    }

    .cn-app-title {
        font-size: 32px;
    }

    .cn-app-text {
        font-size: 13px;
    }

    .cn-app-badges img {
        width: 250px;
    }

    .cn-app-phone-area {
        height: 300px;
    }

    .cn-app-phone {
        width: 260px;
    }
}

