.recognition {
    position: relative;
    overflow: hidden;

    background-color: #151515;
    background-image: url('/wp-content/themes/akdev/assets/icons/squares.svg');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 270px;
}

.recognition-container {
    position: relative;
    z-index: 2;

    padding: 80px 16px;

    display: flex;
    flex-direction: column;

    color: #FFFFFF;
    font-family: 'Manrope', sans-serif;
    line-height: normal;
}

.recognition-description {
    position: relative;
    z-index: 3;

    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 16px;
}

.recognition-description h3 {
    margin: 0;

    color: #FFFFFF;
    font-family: 'Manrope', sans-serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
}

.recognition-description p {
    margin: 0;

    color: #DEE1EA;
    font-family: 'Manrope', sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
}


/*
 * Gradient
 *
 * На мобильном он должен начинаться примерно
 * от нижней части description и мягко уходить
 * в черный.
 */
.recognition::after {
    content: '';

    position: absolute;
    z-index: 1;

    pointer-events: none;

    width: 420px;
    height: 260px;

    left: -100px;
    bottom: -80px;

    background: radial-gradient(
            ellipse at center,
            rgba(46, 193, 123, 0.65) 0%,
            rgba(46, 193, 123, 0.42) 25%,
            rgba(46, 193, 123, 0.20) 48%,
            rgba(46, 193, 123, 0.06) 68%,
            rgba(21, 21, 21, 0) 82%
    );

    filter: blur(25px);
}


/*
 * Mobile
 */
@media (max-width: 767px) {

    .recognition {
        /*
         * Не задаем squares через отдельный элемент.
         * Просто опускаем изображение в нижнюю часть блока.
         */
        background-position: right bottom;
        background-size: 270px auto;
    }

    .recognition-container {
        padding: 32px 20px 110px;
        margin-bottom: 170px;
    }

    .section-container.recognition-container {
        padding-left: 20px;
        padding-right:20px;
    }

    .recognition-description {
        max-width: 100%;
    }

    .recognition-description h3 {
        font-size: 20px;
        line-height: 1.25;
    }

    .recognition-description p {
        max-width: 100%;

        font-size: 13px;
        line-height: 1.45;
    }

    /*
     * Градиент находится НИЖЕ description.
     *
     * Не делаем большой прямоугольник.
     * Центр свечения расположен снизу слева,
     * а края полностью растворяются в black.
     */
    .recognition::after {
        width: 360px;
        height: 220px;

        left: -140px;
        bottom: 115px;

        background: radial-gradient(
                ellipse at center,
                rgba(46, 193, 123, 0.77) 0%,
                rgba(46, 193, 123, 0.46) 28%,
                rgba(46, 193, 123, 0.20) 50%,
                rgba(46, 193, 123, 0.055) 70%,
                transparent 32%
        );

        filter: blur(30px);
    }
}

/* Keep the section geometry aligned with the other theme blocks. */
.recognition {
    height: auto;
    min-height: 0;

    background-color: #151515;
    background-image: none;
}

.recognition::before {
    content: '';

    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;

    width: 310px;
    height: 310px;

    pointer-events: none;

    background: url('/wp-content/themes/akdev/assets/icons/recognition-squares.svg') center / contain no-repeat;
    transform: scaleX(-1);
}

.recognition::after {
    top: auto;
    bottom: -80px;
    left: -100px;

    width: 420px;
    height: 260px;

    background: radial-gradient(
        ellipse at center,
        rgba(46, 193, 123, 0.65) 0%,
        rgba(46, 193, 123, 0.42) 25%,
        rgba(46, 193, 123, 0.20) 48%,
        rgba(46, 193, 123, 0.06) 68%,
        rgba(21, 21, 21, 0) 82%
    );
    filter: blur(25px);
}

.recognition-container.section-container {
    height: auto;
    min-height: 0;
    max-width: none;
    margin: 0;
    padding: 80px 16px;
}

.recognition-description {
    width: auto;
    min-height: 0;
}

@media (min-width: 768px) {
    .recognition-container.section-container {
        flex-direction: row;
    }

    .recognition::after {
        top: 0;
        bottom: auto;
        left: 0;

        width: 320px;
        height: 320px;

        background: url('/wp-content/themes/akdev/assets/icons/gradient.svg') center right 40px / 180% no-repeat;
        filter: brightness(0.8);
    }
}

@media (min-width: 992px) {
    .recognition-description {
        max-width: 544px;
    }
}

@media (min-width: 1200px) {
    .recognition-container.section-container {
        margin: 0 auto;
        max-width: 1200px;
    }

    .recognition-description {
        width: auto;
        max-width: 727px;
        min-height: 0;
    }
}

@media (min-width: 1400px) {
    .recognition-container.section-container {
        max-width: 1200px;
    }
}

@media (max-width: 767px) {
    .recognition {
        background-image: none;
    }

    .recognition::before {
        top: auto;
        bottom: 0;

        width: 270px;
        height: 270px;
    }

    .recognition::after {
        top: auto;
        bottom: 115px;
        left: -140px;

        width: 360px;
        height: 220px;

        background: radial-gradient(
            ellipse at center,
            rgba(46, 193, 123, 0.77) 0%,
            rgba(46, 193, 123, 0.46) 28%,
            rgba(46, 193, 123, 0.20) 50%,
            rgba(46, 193, 123, 0.055) 70%,
            transparent 82%
        );
        filter: blur(30px);
    }

    .recognition-container.section-container {
        flex-direction: column;
        align-items: flex-start;

        margin-bottom: 170px;
        padding: 32px 20px 110px;
    }

    .recognition-description {
        width: auto;
        max-width: 100%;
        min-height: 0;
    }

    .recognition-description h3 {
        font-size: 24px;
        line-height: 1;
    }

    .recognition-description p {
        max-width: 100%;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.3;
    }
}


/*
 * Tablet
 */
@media (min-width: 768px) {

    .recognition-container {
        flex-direction: row;
    }

    .recognition-description {
        z-index: 3;
    }

    .recognition::after {
        width: 320px;
        height: 320px;

        top: 0;
        left: 0;

        background-image: url('/wp-content/themes/akdev/assets/icons/gradient.svg');
        background-repeat: no-repeat;
        background-size: 180%;
        background-position: center right 40px;

        filter: brightness(0.8);
    }
}


/*
 * Desktop
 */
@media (min-width: 992px) {

    .recognition-description {
        max-width: 544px;
    }
}


/*
 * Large desktop
 *
 * Оставляем desktop практически таким,
 * каким он уже был.
 */
@media (min-width: 1200px) {

    .recognition {
        padding: 0;
        margin:0;
    }

    .recognition-description {
        max-width: 727px;
    }

    .recognition-container {
        margin: 0 auto;
        padding: 120px 0;
    }
}

@media (min-width: 1110px) {
    .section-container.recognition-container {
        padding-left: 120px;
        padding-right: 120px;
    }
}

@media (min-width: 1400px) {
    .recognition-container {
        margin: 0 auto;
        padding: 80px 0 !important;
    }
    .recognition {
        justify-content: center;
    }
    section div.recognition-container {
        max-width: 1200px;
    }
}

/* Figma: Founded in 2017 */
.recognition {
    height: 310px;
    min-height: 310px;

    background-color: #000;
    background-image: url('/wp-content/themes/akdev/assets/icons/recognition-squares.svg');
    background-position: right top;
    background-size: 310px;
}

.recognition::after {
    width: 268px;
    height: 186px;

    top: 56px;
    bottom: auto;
    left: -134px;

    background: url('/wp-content/themes/akdev/assets/icons/recognition-gradient.svg') center / 452.8px 534.8px no-repeat;
    filter: none;
}

.recognition-container.section-container {
    display: flex;
    flex-direction: row;
    align-items: center;

    box-sizing: border-box;
    height: 310px;
    min-height: 310px;
    max-width: none;
    margin: 0;
    padding: 0 16px;
}

.recognition-description {
    width: 426px;
    max-width: none;
    min-height: 186px;
}

.recognition-description h3,
.recognition-description p {
    color: #fff;
}

.recognition-description h3 {
    font-size: 32px;
    font-weight: 600;
    line-height: 1;
}

.recognition-description p {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
}

@media (min-width: 1200px) {

    .recognition-description {
        width: 950px;
        min-height: 172px;
    }

    .recognition-description p {
        font-size: 20px;
        font-weight: 400;
        line-height: 1.4;
    }
}

@media (max-width: 767px) {
    .recognition {
        height: 501px;
        min-height: 501px;

        background-position: right bottom;
        background-size: 270px;
    }

    .recognition::after {
        width: 240px;
        height: 166px;

        top: 189px;
        bottom: auto;
        left: -87px;
    }

    .recognition-container.section-container {
        flex-direction: column;
        align-items: flex-start;

        height: 501px;
        min-height: 501px;
        margin: 0;
        padding: 40px 16px 0;
    }

    .recognition-description {
        width: 100%;
        min-height: 175px;
    }

    .recognition-description h3 {
        font-size: 24px;
        line-height: 1;
    }

    .recognition-description p {
        font-size: 14px;
        font-weight: 500;
        line-height: 1.3;
    }
}

/* Final layout reset: preserve the original section/container geometry. */
.recognition {
    height: auto;
    min-height: 0;
    background-color: #151515;
    background-image: none;
}

.recognition::before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    width: 310px;
    height: 310px;
    pointer-events: none;
    background: url('/wp-content/themes/akdev/assets/icons/recognition-squares.svg') center / contain no-repeat;
    transform: scaleX(-1);
}

.recognition::after {
    top: auto;
    bottom: -80px;
    left: -100px;
    width: 420px;
    height: 260px;
    background: radial-gradient(ellipse at center, rgba(46, 193, 123, 0.65) 0%, rgba(46, 193, 123, 0.42) 25%, rgba(46, 193, 123, 0.20) 48%, rgba(46, 193, 123, 0.06) 68%, rgba(21, 21, 21, 0) 82%);
    filter: blur(25px);
}

.recognition-container.section-container {
    height: auto;
    min-height: 0;
    max-width: none;
    margin: 0;
    padding: 80px 16px;
}

.recognition-description {
    width: auto;
    min-height: 0;
}

@media (min-width: 768px) {
    .recognition-container.section-container { flex-direction: row; }
    .recognition::after {
        top: 0;
        bottom: auto;
        left: 0;
        width: 320px;
        height: 320px;
        background: url('/wp-content/themes/akdev/assets/icons/gradient.svg') center right 40px / 180% no-repeat;
        filter: brightness(0.8);
    }
}

@media (min-width: 769px) {
    .recognition-container.section-container { padding-right: 64px; padding-left: 64px; }
}

@media (min-width: 1200px) {
    .recognition-container.section-container { padding-right: 120px; padding-left: 120px; }
}

@media (min-width: 992px) {
    .recognition-description { max-width: 544px; }
}

@media (min-width: 1200px) {
    .recognition-container.section-container { margin: 0 auto; max-width: 1200px; }
    .recognition-description { width: auto; max-width: 727px; min-height: 0; }
}

@media (min-width: 1400px) {
    .recognition-container.section-container { max-width: 1200px; padding: 80px 0 !important; }
}

/* Keep the company page's desktop content on the shared 120px grid. */
@media (min-width: 1400px) {
    .recognition-container.section-container {
        max-width: 1200px;
    }
}

@media (max-width: 767px) {
    .recognition::before {
        top: auto;
        bottom: 0;
        width: 270px;
        height: 270px;
    }
    .recognition::after {
        top: auto;
        bottom: 115px;
        left: -140px;
        width: 360px;
        height: 220px;
        background: radial-gradient(ellipse at center, rgba(46, 193, 123, 0.77) 0%, rgba(46, 193, 123, 0.46) 28%, rgba(46, 193, 123, 0.20) 50%, rgba(46, 193, 123, 0.055) 70%, transparent 82%);
        filter: blur(30px);
    }
    .recognition-container.section-container {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 170px;
        padding: 32px 20px 110px;
    }
    .recognition-description { width: auto; max-width: 100%; min-height: 0; }
    .recognition-description h3 { font-size: 24px; line-height: 1; }
    .recognition-description p { max-width: 100%; font-size: 14px; font-weight: 500; line-height: 1.3; }
}

/* Company page: use the same horizontal grid as verified-work. */
body.page-id-16 .recognition-container.section-container {
    max-width: none;
    padding-right: 16px !important;
    padding-left: 16px !important;
}

@media (min-width: 992px) {
    body.page-id-16 .recognition-container.section-container {
        padding-right: 120px !important;
        padding-left: 120px !important;
    }
}
