/**
Theme Name: ROVNO КОММЕРЦИЯ
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rovno
Template: astra
*/

body * {
    font-family: 'SF Pro Display', sans-serif;
}

.widget_block>p:not([class]) {
    display: none !important;
}

.page-id-143 .ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0;
}

.ast-nav-menu .sub-menu {
    background: #171717E6;
}

.ast-builder-menu-1,
.ast-builder-menu-1 .ast-main-header-bar-alignment,
.ast-builder-menu-1 .main-navigation {
    width: 100%;
}

.ast-builder-menu .main-navigation>ul {
    width: 100%;
    justify-content: space-between;
}

body.single-post .ast-single-entry-banner {
    padding-top: 124px;
}

body.single-post article {
    padding: 0 !important;
}

body.single-post #primary {
    margin: 50px 0;
}


.site-footer-primary-section-1,
.site-footer-primary-section-1 .footer-widget-area {
    height: 100%;
}


.site-footer-primary-section-1 .footer-widget-area {
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
}

#block-9 p {
    margin: 0;
}

footer p:empty,
header p:empty {
    display: none !important;
}

@media (max-width: 1024px) {
    body.single-post .ast-single-entry-banner {
        padding-top: 32px;
    }

    body.single-post #primary {
        padding: 0 !important;
        margin: 24px 0;
    }

    .ast-plain-container.ast-no-sidebar #primary {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}

@media (max-width: 921px) {
    .ast-header-break-point .site-logo-img .custom-mobile-logo-link img {
        max-width: 50px;
    }
}

@media (max-width: 767px) {

    .ast-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    body.single-post #primary {
        margin: 16px 0;
    }

    .ast-header-break-point .ast-above-header-bar {
        display: none !important;
    }

    .site-footer-primary-section-1 .footer-widget-area {
        flex-direction: row;
    }

    .ast-plain-container.ast-no-sidebar #primary {
        padding-top: 24px;
        padding-bottom: 24px;
    }
}


/* =========================================================
 * Глобальные стили темы ROVNO
 * ========================================================= */

/* Шапка поверх hero */
.ast-below-header-wrap {
    position: absolute;
    width: 100%;
    backdrop-filter: blur(1px);
}

.ast-container,
.ast-container-fluid {
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 768px) and (max-width: 922px) {

    .ast-header-break-point .ast-has-mobile-header-logo .custom-logo-link,
    .ast-header-break-point .wp-block-site-logo .custom-logo-link,
    .ast-desktop .wp-block-site-logo .custom-mobile-logo-link {
        display: inline-block !important;
    }

    .ast-header-break-point .ast-has-mobile-header-logo .custom-mobile-logo-link {
        display: none !important;
    }

    .site-header-primary-section-right {
        display: none !important;
    }

    .ast-builder-grid-row.ast-grid-center-col-layout {
        grid-template-columns: 1fr 1fr;
    }

    .site-header-primary-section-center .header-widget-area {
        width: 100%
    }

    .ast-above-header-bar .ast-builder-grid-row {
        grid-column-gap: 0 !important;
        grid-template-columns: auto;
    }

    .ast-above-header-bar .ast-builder-grid-row .header-widget-area {
        width: 100%;
    }

    .site-header-section .header-widget-area-inner {
        padding: 0 !important;
    }
}

@media (max-width: 767px) {

    .site-header-primary-section-center .header-widget-area {
        width: 100%
    }

    .ast-builder-grid-row.ast-grid-center-col-layout {
        grid-template-columns: 20% 65% 15% !important;
        grid-column-gap: 0 !important;
    }

    .site-header-primary-section-left,
    .site-header-primary-section-right {
        min-width: 0;
        overflow: hidden;
    }

    .site-branding img {
        max-width: 100%;
        height: auto;
    }

    .ast-builder-layout-element.site-header-focus-item {
        justify-content: flex-end;
    }

    .ast-logo-title-inline .ast-site-identity {
        padding: 0;
    }

    .ast-mobile-menu-trigger-minimal {
        padding: 0 !important;
    }
}

/* =========================================================
 * Шорткод [rk_header_infoblock]
 * ========================================================= */
.rk-header-infoblock {
    display: flex;
    align-items: center;
    gap: 100px;
    font-weight: 500;
    font-size: 15px;
    line-height: 21px;
}

.rk-header-infoblock__item {
    flex: 0 1 auto;
}

.rk-header-infoblock__item--address {
    max-width: 200px;
    margin-right: 55px;
}

.rk-header-infoblock__item--phone {
    display: flex;
    flex-direction: column;
}

.rk-header-infoblock__phone {
    color: #003C8D;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    font-size: 15px;
    line-height: 21px;
}

.rk-header-infoblock__phone:hover {
    color: #EFE500;
}

.rk-header-infoblock__hours {
    color: #757575;
    font-size: 13px;
    line-height: 13px;
    font-weight: 400;
}

.rk-header-infoblock__item--whatsapp {
    display: none;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    color: #000;
}

.rk-header-infoblock__item--whatsapp:hover {
    color: #EFE500;
}

.rk-header-infoblock__whatsapp-icon {
    display: inline-flex;
    flex-shrink: 0;
    line-height: 0;
}

.rk-header-infoblock__callback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #3F3C42;
    background: #EFE500;
    padding: 16px 30px;
    border-radius: 32px;
    font-weight: 600;
    font-size: 14px;
    line-height: 21px;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.rk-header-infoblock__callback:hover {
    background: rgba(240, 228, 0, 0.8);
    color: #3F3C42;
}

@media (max-width: 1200px) and (min-width: 923px) {
    .rk-header-infoblock {
        gap: 20px;
        justify-content: space-between;
    }
}


/* Планшет: WhatsApp + кнопка */
@media (max-width: 922px) {

    .rk-header-infoblock__item--address,
    .rk-header-infoblock__item--phone {
        display: none;
    }

    .rk-header-infoblock__item--whatsapp {
        display: inline-flex;
    }

    .rk-header-infoblock {
        gap: 20px;
        justify-content: space-between;
    }
}

/* Мобильный: только кнопка */
@media (max-width: 767px) {
    .rk-header-infoblock {
        gap: 0;
    }

    .rk-header-infoblock__item--whatsapp {
        display: none;
    }

    .rk-header-infoblock__callback {
        width: 100%;
        font-size: 12px;
        line-height: 16px;
        padding: 11px;
    }
}

/* =========================================================
 * Шорткод [rk_header_tablet_bar] — планшет
 * ========================================================= */
.rk-header-tablet-bar {
    display: none;
    align-items: center;
    width: 100%;
    gap: 16px;
    font-weight: 500;
    font-size: 16px;
    line-height: 21px;
    justify-content: space-between;
    color: #003C8D;
}

.rk-header-tablet-bar__col {
    min-width: 0;
}

.rk-header-tablet-bar__col--phone {
    text-align: center;
}

.rk-header-tablet-bar__col--menu {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
}

.rk-header-tablet-bar__phone {
    color: #003C8D;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}

.rk-header-tablet-bar__phone:hover {
    color: #EFE500;
}

.rk-header-tablet-bar__menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border: 0;
    background: transparent !important;
    color: inherit;
    cursor: pointer;
}

.rk-header-tablet-bar__menu-toggle svg {
    width: 35px;
    height: 35px;
    fill: #003C8D;
}

.rk-header-tablet-bar .ast-button-wrap {
    display: flex;
    justify-content: flex-end;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .rk-header-tablet-bar {
        display: flex;
    }
}

/* =========================================================
 * Hero-секция для обычных страниц
 * ========================================================= */
.rovno-page-hero {
    position: relative;
    padding: 124px 0 40px 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
}

body:not(.home) .rovno-page-hero:before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    z-index: 0;
}

.rovno-page-hero__overlay {
    position: relative;
    z-index: 1;
}

body.home .rovno-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(23, 23, 23, 0.9) 20.13%, rgba(23, 23, 23, 0.5) 57.67%, rgba(23, 23, 23, 0.9) 80%);
    z-index: 0;
}

.rovno-page-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: 16px;
    align-items: center;
}

.rovnо-page-hero--layout-features .rovno-page-hero__inner {
    grid-template-columns: minmax(0, 2.7fr) minmax(0, 1fr);
}

/* Простой макет hero — одна колонка, форма под описанием */
.rovnо-page-hero--layout-simple .rovno-page-hero__inner {
    grid-template-columns: minmax(0, 1fr);
}

.rovnо-page-hero--layout-simple .rovno-page-hero__aside {
    display: none;
}

.rovno-page-hero__content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.rovnо-page-hero--layout-simple .rovno-page-hero__content {
    text-align: center;
}

.rovnо-page-hero--layout-simple .rovno-page-hero__form {
    max-width: 735px;
    margin: 0 auto;
    text-align: left;
}

.rovno-page-hero__title {
    font-size: 64px;
    line-height: 68px;
    margin: 0 0 48px;
    font-weight: 700;
    color: #fff;
}

body.single-rovno_service .rovno-page-hero__title {
    font-size: 40px;
    line-height: 48px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}


body.single-rovno_direction .rovno-page-hero__title {
    font-size: 48px;
    line-height: 52px;
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
}

.rovno-page-hero__title strong {
    color: #EEE315;
    font-weight: 700;
}

.rovno-page-hero__city-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    backdrop-filter: blur(3px);
    background: #17171780;
    min-width: 240px;
    padding: 10px 22px;
    border-radius: 32px;
    border: 2px solid #fff;
    font-size: 16px;
    line-height: 16px;
    font-weight: 700;
}

.rovno-page-hero__city-icon {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.3161 1.50469C8.66298 1.70156 6.21142 3.16875 4.7583 5.4375C4.25674 6.21094 3.76924 7.42969 3.59111 8.32031C3.1458 10.5984 3.59111 12.9 4.84736 14.7891C5.43798 15.675 5.99111 16.2563 6.92861 16.9781C7.86142 17.7 8.73798 18.6188 9.31923 19.4906C9.46923 19.7156 9.91455 20.4656 10.3083 21.1547C10.702 21.8438 11.0817 22.4766 11.1474 22.5563C11.3255 22.7672 11.6864 22.9219 12.0005 22.9219C12.2911 22.9219 12.6614 22.7719 12.8302 22.5891C12.8864 22.5281 13.2895 21.8484 13.7302 21.0844C14.6395 19.4906 14.8458 19.1719 15.3661 18.5578C15.8302 18 16.2661 17.5969 17.0395 17.0016C17.7895 16.425 18.3895 15.8297 18.8536 15.2016C21.4224 11.7516 21.0708 6.98906 18.0286 3.96094C16.927 2.86406 15.5724 2.1 14.0395 1.71563C13.2895 1.52813 12.1739 1.43906 11.3161 1.50469ZM13.2427 5.83594C14.6958 6.25781 15.8442 7.40156 16.2942 8.88281C16.4161 9.27656 16.4255 9.36094 16.4255 10.125C16.4255 10.8891 16.4161 10.9734 16.2942 11.3672C15.4786 14.0391 12.5442 15.3422 10.0552 14.1328C8.79423 13.5234 7.89892 12.3609 7.61767 10.9734C7.50517 10.4391 7.54267 9.45469 7.68798 8.95781C7.89424 8.24063 8.2458 7.61719 8.74267 7.08281C9.89111 5.85469 11.6349 5.37188 13.2427 5.83594Z' fill='white'/%3E%3C/svg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.rovno-page-hero__city-label {
    white-space: nowrap;
}

/* По умолчанию мобильный вариант (над заголовком) */
.rovno-page-hero__city-pill.rovnо-page-hero__city-pill--mobile {
    display: inline-flex;
}

.rovno-page-hero__city-pill.rovnо-page-hero__city-pill--simple-desktop,
.rovno-page-hero__city-pill.rovnо-page-hero__city-pill--aside-desktop {
    display: none;
}

.rovnо-page-hero--layout-features .rovno-page-hero__city-pill.rovnо-page-hero__city-pill--aside-desktop {
    width: 100%;
}

.rovnо-page-hero--layout-simple .rovno-page-hero__city-pill.rovnо-page-hero__city-pill--simple-desktop {
    margin: 0 auto 32px auto;
}

.rovno-page-hero__city-pill.rovnо-page-hero__city-pill--mobile {
    margin: 0 auto 20px auto;
}

.rovnо-page-hero--layout-features .rovno-page-hero__content {
    padding-top: 72px;
}

.rovnо-page-hero--layout-features .rovno-page-hero__title {
    margin: 0 0 50px;
}

body.home .rovno-page-hero__city-pill {
    margin: -95px 0 60px 320px;
    width: fit-content;
}

body.home .rovno-page-hero__title strong {
    padding-left: 90px;
}

body.home .rovno-page-hero__description {
    font-size: 24px;
    line-height: 30px;
}

@media (min-width: 1024px) {
    .rovno-page-hero__city-pill.rovnо-page-hero__city-pill--mobile {
        display: none;
    }

    /* Простой макет — город после описания */
    .rovnо-page-hero--layout-simple .rovno-page-hero__city-pill.rovnо-page-hero__city-pill--simple-desktop {
        display: inline-flex;
    }

    /* Макеты с aside (features/menu) — город над карточками/меню */
    .rovnо-page-hero--layout-features .rovno-page-hero__city-pill.rovnо-page-hero__city-pill--aside-desktop,
    .rovnо-page-hero--layout-menu .rovno-page-hero__city-pill.rovnо-page-hero__city-pill--aside-desktop {
        display: inline-flex;
        margin-bottom: 16px;
    }
}

.rovno-page-hero__description {
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    margin-bottom: 60px;
}

body.single-rovno_service .rovno-page-hero__description,
body.single-rovno_direction .rovno-page-hero__description {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Правая колонка hero (features/menu) */
.rovno-page-hero__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    height: 100%;
}

/* Карточки преимуществ в hero (layout = features) — десктоп */
.rovno-page-hero__features {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
}

.rovno-page-hero-feature {
    position: relative;
    background: #fff;
    border-radius: 16px;
    padding: 36px;
    min-width: 220px;
    min-height: 195px;
    border: 1px solid var(--bento, #EEEEEE);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.rovno-page-hero-feature__icon {
    width: 96px;
    height: 96px;
    flex-shrink: 0;
    position: absolute;
    top: 0;
    right: 0;
}

.rovno-page-hero-feature__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rovno-page-hero-feature__title {
    font-weight: 600;
    margin-bottom: 4px;
    font-size: 24px;
    color: #171717;
}

.rovno-page-hero-feature__text {
    font-size: 16px;
    line-height: 22px;
    color: #757575;
}

.rovno-page-hero__form {
    background: #fff;
    border-radius: 16px;
    padding: 24px 36px;
    color: #171717;
    border: 2px solid #EEEEEE;
    margin-top: auto;
}

.rovno-page-hero__form-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 16px;
}

.rovno-page-hero__form .wpcf7 form {
    margin: 0;
}

.rovno-page-hero__form .wpcf7 input[type="text"],
.rovno-page-hero__form .wpcf7 input[type="email"],
.rovno-page-hero__form .wpcf7 input[type="tel"],
.rovno-page-hero__form .wpcf7 textarea,
.rovno-page-hero__form .wpcf7 select {
    width: 100%;
    border-radius: 10px;
    border: 1px solid #e0e0e0;
    padding: 11px 14px;
    font-size: 14px;
}

.rovno-page-hero .rk-cf7-form-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 23px;
    margin: 0;
}

.rk-cf7-form-wrapper .wpcf7-spinner {
    position: absolute;
}

.rk-cf7-form-accept-wrapper .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}

.wpcf7-form-control-wrap[data-name="consult-cf-phone"] input {
    font-size: 16px;
    line-height: 18px;
    color: #757575;
    border: none !important;
    outline: none;
    box-shadow: none;
    background: none;
    padding: 0 !important;
    height: auto;
}

.wpcf7-form-control-wrap[data-name="consult-cf-phone"] {
    padding: 12px 16px 12px 48px;
    background: #EEEEEE;
    border-radius: 32px;
}

.wpcf7-form-control-wrap[data-name="consult-cf-phone"]:before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 16px;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_50_9544)'%3E%3Cpath d='M0.436662 6.78721C0.153997 6.02369 -0.050691 5.24392 0.0110404 4.41542C0.0500286 3.90532 0.241721 3.46996 0.615358 3.11256C1.02149 2.72918 1.40487 2.3263 1.8045 1.93642C2.32434 1.42307 2.9774 1.42632 3.49724 1.93642C3.81889 2.25157 4.1373 2.57323 4.4557 2.89488C4.76436 3.20354 5.07627 3.51219 5.38492 3.8241C5.92751 4.37318 5.93076 5.01324 5.38817 5.55908C4.99829 5.94896 4.61166 6.34209 4.21527 6.72547C4.11131 6.82619 4.10156 6.91067 4.15679 7.03738C4.41671 7.66119 4.7936 8.21678 5.21597 8.73662C6.06722 9.7828 7.02893 10.712 8.17583 11.4301C8.42276 11.5828 8.69243 11.6965 8.9491 11.8362C9.08231 11.9077 9.17003 11.8849 9.27725 11.7745C9.66388 11.3748 10.0603 10.9817 10.4566 10.5886C10.9765 10.0752 11.6263 10.072 12.1461 10.5886C12.7829 11.2189 13.4165 11.8524 14.0468 12.4892C14.5764 13.0221 14.5732 13.6751 14.0403 14.2112C13.6797 14.5751 13.2995 14.9195 12.9616 15.2996C12.4678 15.852 11.844 16.0339 11.1357 15.9949C10.1025 15.9397 9.15054 15.5953 8.23107 15.1502C6.19068 14.1592 4.4492 12.7849 2.99039 11.0499C1.91172 9.76331 1.02149 8.36623 0.436662 6.78721ZM15.9995 7.95036C15.9995 3.56743 12.432 0 8.04912 0V1.51404C11.5971 1.51404 14.4854 4.40242 14.4854 7.95036H15.9995ZM11.6458 7.95036H13.1598C13.1598 5.13345 10.866 2.83964 8.04912 2.83964V4.35369C9.01083 4.35369 9.91406 4.72733 10.5931 5.40637C11.2722 6.08542 11.6458 6.98865 11.6458 7.95036Z' fill='%233F3C42'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_50_9544'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}

.rovno-page-hero__form .wpcf7 input[type="submit"] {
    width: 100%;
    border-radius: 32px;
    padding: 11px 22px;
    font-weight: 600;
    font-size: 14px;
    line-height: 22px;
    color: #3F3C42;
}

.rovno-page-hero__features.rovno-page-hero__features--tablet {
    display: none;
}

@media (max-width: 1024px) {
    .rovno-page-hero {
        padding: 24px 0 40px 0;
    }

    .rovno-page-hero__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .rovnо-page-hero--layout-features .rovno-page-hero__inner,
    .rovnо-page-hero--layout-simple .rovno-page-hero__inner {
        grid-template-columns: 1fr;
        max-width: 650px;
        margin-left: auto;
        margin-right: auto;
    }

    .rovnо-page-hero--layout-features .rovno-page-hero__content {
        padding-top: 0;
    }

    .rovno-page-hero__city-pill.rovnо-page-hero__city-pill--mobile {
        margin-bottom: 28px;
    }

    .rovno-page-hero__title,
    body.single-rovno_direction .rovno-page-hero__title,
    body.single-rovno_service .rovno-page-hero__title {
        font-size: 36px;
        line-height: 40px;
    }

    .rovnо-page-hero--layout-features .rovno-page-hero__title {
        text-align: center;
        margin-bottom: 24px;
    }

    body.home .rovno-page-hero__title {
        font-size: 48px;
        line-height: 52px;
    }

    body.home .rovno-page-hero__city-pill {
        margin: -95px 0 60px 250px;
    }

    /* В режиме menu на планшете оставляем двухколоночную сетку 60/40 */
    .rovnо-page-hero--layout-menu .rovno-page-hero__inner {
        grid-template-columns: minmax(0, 5fr) minmax(0, 1fr);
    }

    .rovno-page-hero__aside.rovno-page-hero__aside--desktop {
        display: none;
    }

    /* Макет features: карточки в строку под текстом */
    .rovnо-page-hero--layout-features .rovno-page-hero__aside {
        align-items: stretch;
    }

    .rovnо-page-hero--layout-features .rovno-page-hero__features {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
    }

    .rovnо-page-hero--layout-features .rovno-page-hero-feature {
        flex: 0 1 auto;
        padding: 22px 24px;
        min-height: auto;
        min-width: auto;
        width: 33.3%;
    }

    .rovno-page-hero .rk-cf7-form-wrapper .rk-cf7-form-fieldset,
    .rovno-page-hero .rk-cf7-form-wrapper .rk-cf7-form-submit-wrapper {
        width: calc(50% - 12px);
    }

    .rovno-page-hero__description {
        font-size: 16px;
        line-height: 21px;
        margin-bottom: 20px;
    }

    .rovnо-page-hero--layout-features .rovno-page-hero__description {
        text-align: center;
    }

    body.home .rovno-page-hero__description {
        font-size: 18px;
        line-height: 24px;
    }

    .rovno-page-hero__form-title {
        font-size: 18px;
        line-height: 24px;
    }

    .rovno-page-hero__features.rovno-page-hero__features--tablet {
        display: flex;
        margin-bottom: 15px;
        flex-wrap: nowrap;
    }

    .rovno-page-hero-feature__title {
        font-size: 18px;
        line-height: 22px;
        margin: 0;
    }

    .rovno-page-hero-feature__icon {
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 767px) {

    .rovno-page-hero__features.rovno-page-hero__features--tablet {
        display: none;
    }

    .rovnо-page-hero--layout-menu .rovno-page-hero__inner,
    .rovno-page-hero__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .rovno-page-hero {
        padding: 40px 0 45px;
    }

    .rovno-page-hero__title,
    body.single-rovno_direction .rovno-page-hero__title,
    body.single-rovno_service .rovno-page-hero__title {
        font-size: 24px;
        line-height: 32px;
        text-align: center;
        margin-bottom: 16px;
    }

    body.home .rovno-page-hero__title strong {
        padding-left: 0;
    }

    .rovno-page-hero__description,
    body.home .rovno-page-hero__description {
        font-size: 14px;
        line-height: 21px;
        text-align: center;
        font-weight: 400;
        margin-bottom: 16px;
    }

    .rovno-page-hero__form {
        padding: 16px;
    }

    /* Макет features: на мобильных скрываем карточки, оставляем как simple */
    .rovnо-page-hero--layout-features .rovno-page-hero__aside,
    .rovnо-page-hero--layout-menu .rovno-page-hero__aside {
        display: none;
    }

    .rovno-page-hero__city-pill {
        min-width: auto;
        padding: 7px 35px;
        font-size: 12px;
        line-height: 16px;
        margin-bottom: 10px;
    }

    body.home .rovno-page-hero__city-pill {
        margin: 0 auto 30px auto;
    }

    .rovno-page-hero__city-icon {
        width: 18px;
        height: 18px;
    }

    .rovno-page-hero__form-title {
        font-size: 14px;
        margin-bottom: 12px;
    }

    .rovno-page-hero .rk-cf7-form-wrapper .rk-cf7-form-fieldset,
    .rovno-page-hero .rk-cf7-form-wrapper .rk-cf7-form-submit-wrapper {
        width: 100%;
    }
}


.rovno-page-hero__menu {
    width: 100%;
    height: 100%;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
}

.rovno-page-hero__menu .rovno-page-hero-menu__list {
    margin: 0 0 90px 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    height: 100%;
}

.rovno-page-hero-menu__list a {
    font-size: 14px;
    text-decoration: underline;
    text-transform: uppercase;
    color: #fff;
}

.rovno-page-hero-menu__list a:hover {
    color: #EFE500;
}

/* =========================================================
 * Блок "Почему нам доверяют?"
 * ========================================================= */
.rovno-trust {
    padding: 0 32px;
    margin-bottom: 96px;
}

.rovno-trust__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.rovno-trust__title {
    font-size: 32px;
    font-weight: 700;
    margin: 0;
    color: #2b2b2f;
}

.rovno-trust__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 40px;
    border-radius: 32px;
    background: #fff;
    text-decoration: none;
    font-family: SF Pro Display;
    font-weight: 600;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #171717;
    border: 1px solid #EEEEEE;
    transition: all 0.3s ease;
}

.rovno-trust__cta:hover {
    color: #171717;
    background: linear-gradient(90deg, #F7971E 0%, #EFE500 100%), linear-gradient(0deg, #FFFFFF, #FFFFFF);
}


.rovno-trust__cta-icon svg {
    width: 24px;
    height: 24px;
}

.rovno-trust__grid {
    display: grid;
    /* Боковые карточки чуть шире, видео чуть уже */
    grid-template-columns: 1.2fr 0.9fr 0.9fr 1.2fr;
    grid-template-rows: auto auto;
    gap: 32px;
}

.rovno-trust__card {
    border-radius: 32px;
    background: linear-gradient(90deg, #434343 0%, #000000 100%);
    color: #fff;
    padding: 25px 32px;
    position: relative;
    overflow: hidden;
}

.rovnо-trust__card--stats {
    grid-column: 1 / span 1;
}

.rovnо-trust__card--video {
    grid-column: 2 / span 2;
    background: url(/wp-content/themes/rovno/assets/img/rk-img-trust-bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.rovnо-trust__card--team {
    grid-column: 4 / span 1;
    display: flex;
    flex-direction: column;
}

.rovnо-trust__card--team .rovno-trust__card-image {
    margin: 0 -32px 0 -32px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rovno-trust__video-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    color: inherit;
    text-decoration: none;
}

button.rovno-trust__video-link {
    border: none;
    background: transparent;
    cursor: pointer;
    font: inherit;
    padding: 0;
    text-align: inherit;
}

.rovno-trust__video-link--static {
    cursor: default;
}

.rovno-trust__video-thumb {
    flex: 1;
    border-radius: 32px 32px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.rovno-trust__video-play {
    width: 96px;
    height: 96px;
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.rovno-trust__video-caption {
    margin-top: auto;
    text-align: center;
    color: #fff;
}

.rovno-trust-video-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.rovno-trust-video-modal[hidden] {
    display: none;
}

.rovno-trust-video-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.78);
}

.rovno-trust-video-modal__dialog {
    position: relative;
    width: min(960px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    background: #000;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
}

.rovno-trust-video-modal__close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s ease;
}

.rovno-trust-video-modal__close:hover,
.rovno-trust-video-modal__close:focus {
    background: rgba(0, 0, 0, 0.8);
    outline: none;
}

.rovno-trust-video-modal__content {
    position: relative;
    width: 100%;
    height: min(calc((min(960px, 100vw - 48px)) * 9 / 16), calc(100vh - 48px));
    max-height: calc(100vh - 48px);
    background: #000;
}

.rovno-trust-video-modal__content iframe,
.rovno-trust-video-modal__content video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
    border: 0;
    background: #000;
}

.rovno-trust-video-modal__content video {
    object-fit: contain;
}

body.rovno-trust-video-modal-open {
    overflow: hidden;
}

.rovno-trust__card.rovnо-trust__card--stats {
    padding: 0;
}

.rovno-trust__stats-numbers {
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%;
}

.rovno-trust__stats-number {
    font-family: 'SF Pro Display', sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: #EEE315;
}

.rovnо-trust__stats-number--small-3 {
    opacity: 0.1;
}

.rovnо-trust__stats-number--small-2 {
    opacity: 0.2;
    margin-right: 15%;
}

.rovnо-trust__stats-number--small-1 {
    opacity: 0.5;
    margin-right: 30%;
}

.rovnо-trust__stats-number--main {
    margin: auto;
}

.rovno-trust__stats-label {
    font-size: 16px;
    color: #fff;
    padding: 25px 32px;
    text-align: center;
}

.rovno-trust__card-title {
    font-weight: 600;
    margin-bottom: 4px;
    font-size: 16px;
}

.rovnо-trust__card--team .rovno-trust__card-title {
    font-weight: 600;
    font-size: 24px;
    margin-top: auto;
    text-align: center;
}

.rovnо-trust__card--legal .rovno-trust__card-title,
.rovnо-trust__card--quality .rovno-trust__card-title {
    font-size: 24px;
}

.rovno-trust__card-text {
    font-size: 16px;
    color: #757575;
}


/* Нижние широкие карточки */
.rovnо-trust__card--legal,
.rovnо-trust__card--quality {
    grid-column: span 2;
}

@media (max-width: 1024px) {
    .rovno-trust {
        padding: 0;
        margin-bottom: 46px;
    }

    .rovno-trust__grid {
        gap: 16px 24px;
    }

    .rovno-trust__card {
        border-radius: 23px;
    }

    .rovnо-trust__card--legal,
    .rovnо-trust__card--quality {
        grid-column: span 2;
    }

    .rovno-trust__stats-label {
        font-size: 14px;
        line-height: 18px;
    }

    .rovno-trust__card-title,
    .rovnо-trust__card--team .rovno-trust__card-title {
        font-size: 18px;
        line-height: 22px;
    }

    .rovno-trust__card-text {
        font-size: 14px;
        line-height: 18px;
    }

    .rovno-trust__card {
        padding: 20px 23px;
    }

    .rovno-trust__stats-label {
        padding: 20px 30px;
    }

}

@media (max-width: 767px) {
    .rovno-trust__header {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 16px;
    }

    .rovno-trust__grid {
        display: flex;
        flex-direction: column;
    }

    .rovno-trust__card,
    .rovno-trust__card.rovnо-trust__card--stats {
        border-radius: 16px;
        padding: 21px 24px;
    }

    .rovno-trust__header {
        gap: 16px;
    }

    .rovno-trust__title {
        font-size: 24px;
        line-height: 32px;
        color: #3F3C42;
        text-align: center;
        width: 100%;
    }

    .rovno-trust__cta {
        background: #EEE315;
        padding: 11px 20px;
        border-radius: 16px;
        gap: 4px;
        width: 100%;
        justify-content: center;
        align-items: center;
    }

    .rovno-trust__cta-icon svg {
        width: 18px;
        height: 18px;
    }

    .rovno-trust__card.rovnо-trust__card--video {
        order: -1;
        height: 170px;
    }

    .rovno-trust__stats-number:not(.rovnо-trust__stats-number--main) {
        display: none;
    }

    .rovno-trust__stats-numbers {
        margin-bottom: 4px;
    }

    .rovno-trust__stats-number {
        font-size: 24px;
        line-height: 28px;
    }

    .rovno-trust__stats-label {
        padding: 0;
    }

    .rovno-trust__card.rovnо-trust__card--team {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: space-between;
    }

    .rovno-trust__card-title,
    .rovnо-trust__card--team .rovno-trust__card-title {
        font-size: 14px;
        line-height: 18px;
    }

    .rovnо-trust__card--team .rovno-trust__card-image {
        margin: 0 0 -24px 0;
        max-width: 85px;
    }

    .rovnо-trust__card--team .rovno-trust__card-title {
        margin: 0 auto 0 0;
        max-width: 130px;
        text-align: left;
    }

    .rovnо-trust__card--legal .rovno-trust__card-title,
    .rovnо-trust__card--quality .rovno-trust__card-title {
        font-size: 18px;
        line-height: 22px;
    }
}


/* =========================================================
 * Блок преимуществ (статичный) [rovno_advantages]
 * ========================================================= */
.rovno-advantages {
    padding: 0 32px;
    margin-bottom: 64px;
}

.rovno-advantages__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    margin: 0 auto;
}

.rovno-advantages__card {
    background: #fff;
    border-radius: 32px;
    border: 1px solid #EEEEEE;
    padding: 32px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.rovnо-advantages__card--budget .rovno-advantages__card-content {
    margin-top: auto;
}

/* Карточка 1 — сроки и бюджет */
.rovnо-advantages__card--budget .rovno-advantages__card-stat {
    display: block;
    font-size: 16px;
    color: #E0E0E0;
    margin-bottom: 8px;
}

.rovno-advantages__card-title {
    font-size: 24px;
    font-weight: 600;
    color: #3F3C42;
    margin: 0 0 8px;
    line-height: 28px;
    letter-spacing: -2%;
}

.rovno-advantages__card-desc {
    font-size: 16px;
    color: #757575;
    margin: 0 !important;
    line-height: 20px;
}

.rovno-advantages__card.rovnо-advantages__card--budget {
    background-image: url(/wp-content/themes/rovno/assets/img/advantages/rk-advantages-image-ruble.svg);
    background-repeat: no-repeat;
    background-position: 92% 75%;
    background-size: 127px;
}




/* Баннер 10 лет */
.rovnо-advantages__card--banner {
    position: relative;
    background: linear-gradient(90deg, #F09819 0%, #EFE500 100%);
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 150px 95px 32px 95px;
}

.rovno-advantages__banner-title {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    font-size: 48px;
    font-weight: 700;
    line-height: 52px;
}

.rovno-advantages__banner-title.rovnо-fill {
    color: #fff;
    z-index: 1;
}

.rovno-advantages__banner-title.rovnо-stroke {
    color: transparent;
    -webkit-text-stroke: 1px #fff;
    z-index: 3;
}

.rovno-advantages__banner-image {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    margin: auto;
    height: auto;
    max-width: 200px;
    z-index: 2;
}

.rovno-advantages__banner-desc {
    position: relative;
    z-index: 4;
    font-size: 16px;
    color: #fff;
    margin-top: auto;
}

.rovno-advantages__card-icon.rovnо-advantages__card-icon--check {
    max-width: 74px;
    margin-bottom: 25px;
}


/* Карточка 3 — материалы (нижний ряд, 1 колонка) */
.rovnо-advantages__card--materials {
    grid-column: 1;
    grid-row: 2;
}

.rovno-advantages__card-pic.rovnо-advantages__card-pic--materials {
    margin-bottom: -32px;
    max-width: 230px;
    margin-left: auto;
    margin-right: auto;
}

/* Карточка 4 — бизнесы (нижний ряд, на 2 колонки, с изображением) */
.rovnо-advantages__card--business {
    grid-column: 2 / span 2;
    grid-row: 2;
    padding: 32px 32px 0 32px;
}

.rovnо-advantages__card-pic--building {
    margin: 0 -32px 0 -32px;
}

@media (max-width: 1024px) {
    .rovno-advantages {
        padding: 16px 0 0 0;
    }

    .rovno-advantages__grid {
        /*grid-template-columns: repeat(2, minmax(0, 1fr));*/
        gap: 16px 24px;
    }

    /*.rovnо-advantages__card--banner {
        grid-column: 1 / span 2;
    }*/

    .rovnо-advantages__card--materials {
        grid-column: 1;
        grid-row: auto;
    }

    /*.rovnо-advantages__card--business {
        grid-column: 2;
        grid-row: auto;
    }*/

    .rovno-advantages__card {
        border-radius: 16px;
        padding: 26px 26px 40px 26px;
    }

    .rovnо-advantages__card--budget .rovno-advantages__card-stat {
        font-size: 12px;
        line-height: 16px;
    }

    .rovno-advantages__card-title {
        font-size: 18px;
        line-height: 22px;
    }

    .rovno-advantages__card-desc {
        font-size: 14px;
        line-height: 18px;
    }

    .rovno-advantages__banner-title {
        font-size: 36px;
        line-height: 40px;
    }

    .rovno-advantages__banner-desc {
        font-size: 14px;
        line-height: 18px;
    }

    .rovno-advantages__card.rovnо-advantages__card--budget {
        background-position: 92% 50%;
        background-size: 94px;
    }

    .rovno-advantages__card-icon.rovnо-advantages__card-icon--check {
        max-width: 56px;
        margin-bottom: 20px;
    }

    .rovnо-advantages__card-pic--building {
        margin: 0 -32px -40px -32px;
    }
}

@media (max-width: 767px) {
    .rovno-advantages {
        margin-bottom: 48px;
    }

    .rovno-advantages__grid {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .rovno-advantages__grid>.rovno-advantages__card {
        grid-column: auto;
        grid-row: auto;
    }

    .rovnо-advantages__card--banner {
        grid-column: 1;
        order: -1;
        border-radius: 16px;
        padding: 28px 20px;
    }

    .rovno-advantages__banner-title {
        font-size: 32px;
    }

    .rovnо-advantages__card--budget .rovno-advantages__card-stat {
        display: none;
    }

    .rovno-advantages__card-title {
        margin: 0 0 4px;
    }

    .rovno-advantages__card {
        padding: 21px 70px 21px 24px;
    }

    .rovno-advantages__card.rovnо-advantages__card--banner {
        padding: 16px;
        border-radius: 16px;
    }

    .rovno-advantages__card.rovnо-advantages__card--banner {
        min-height: 120px;
    }

    .rovno-advantages__banner-image {
        max-width: 110px;
    }

    .rovno-advantages__card-content {
        z-index: 1;
    }

    .rovno-advantages__card.rovnо-advantages__card--budget {
        background-position: 90% 50%;
        background-size: 47px;
    }

    .rovno-advantages__card-icon.rovnо-advantages__card-icon--check {
        position: absolute;
        right: 20px;
        margin: 0;
        top: 50%;
        transform: translateY(-50%);
        max-width: 56px;
    }

    .rovno-advantages__card-pic.rovnо-advantages__card-pic--materials {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        margin-bottom: 0;
        max-width: 60px;
    }

    .rovnо-advantages__card-pic--building {
        margin: 0 0 -10px 0;
        position: absolute;
        right: 0;
        bottom: 0;
        max-width: 165px;
    }

    .rovno-advantages__card.rovnо-advantages__card--budget {
        order: 1;
    }

    .rovno-advantages__card.rovnо-advantages__card--complex {
        order: 2;
    }

    .rovno-advantages__card.rovnо-advantages__card--materials {
        order: 3;
    }

    .rovno-advantages__card.rovnо-advantages__card--business {
        order: 4;
    }
}


/* =========================================================
 * Блок «Вопрос — Ответ» (FAQ аккордеон)
 * ========================================================= */
.rovno-faq {
    padding: 0 32px;
}

body.home .rovno-faq {
    margin-bottom: 100px;
}

.rovno-faq__title {
    font-size: 36px;
    font-weight: 700;
    color: #171717;
    margin: 0 0 30px;
}

.rovno-faq__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rovno-faq__item {
    box-shadow: 0px 4px 20px 0px #0000001A;
    border: 1px solid #EEEEEE;
    border-radius: 32px;
    overflow: hidden;
}

.rovno-faq__item-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 32px;
    background: #fff;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 24px;
    font-weight: 600;
    color: #171717;
    border-radius: 32px 32px 0 0;
    transition: background-color 0.2s ease;
}

.rovno-faq__item-header:hover,
.rovno-faq__item-header:focus,
.rovno-faq__item-header:active {
    background: #fff;
}

.rovno-faq__item-question {
    flex: 1 1 auto;
}

.rovno-faq__item-toggle {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #EEEEEE;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.35s ease;
}

.rovno-faq__item--open .rovno-faq__item-toggle {
    background: #EEE315;
    border-color: #EEE315;
}

.rovno-faq__item--open .rovno-faq__item-toggle .rovno-faq__icon {
    transform: rotate(180deg);
}

.rovno-faq__item-toggle .rovno-faq__icon {
    flex-shrink: 0;
    transition: transform 0.35s ease;
}

.rovno-faq__item-body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.35s ease;
}

.rovno-faq__item--open .rovno-faq__item-body {
    grid-template-rows: 1fr;
}

.rovno-faq__item-body-inner {
    min-height: 0;
    overflow: hidden;
}

.rovno-faq__item-answer {
    padding: 25px 40px;
    background: #F9F9F9;
    font-size: 20px;
    line-height: 100%;
    color: #3F3C42;
    border-top: 1px solid #EEEEEE;
}

.rovno-faq__item-answer p {
    margin: 0 0 0.75em;
}

.rovno-faq__item-answer p:last-child {
    margin-bottom: 0;
}

@media (max-width: 1024px) {
    .rovno-faq {
        padding: 0;
    }

    body.home .rovno-faq {
        margin-bottom: 45px;
    }

    .rovno-faq__list {
        gap: 14px;
    }

    .rovno-faq__title {
        font-size: 32px;
        line-height: 36px;
        margin-bottom: 16px;
    }

    .rovno-faq__item-header {
        padding: 14px 28px;
        font-size: 18px;
        line-height: 22px;
        border-radius: 16px 16px 0 0;
    }

    .rovno-faq__item-toggle {
        width: 28px;
        height: 28px;
    }

    .rovno-faq__item-toggle svg {
        width: 12px;
        height: 12px;
    }

    .rovno-faq__item-answer {
        padding: 18px 28px;
        font-size: 14px;
        line-height: 18px;
        border-radius: 0 0 16px 16px;
    }

    .rovno-faq__item {
        border-radius: 16px;
    }

}

@media (max-width: 767px) {
    .rovno-faq__title {
        font-size: 24px;
        line-height: 28px;
        margin-bottom: 20px;
        text-align: center;
    }

    .rovno-faq__item-header {
        padding: 15px;
    }

    .rovno-faq__item-answer {
        padding: 18px 24px;
    }

    .rovno-faq__item-toggle {
        width: 26px;
        height: 26px;
    }

    .rovno-faq__item-toggle svg {
        width: 18px;
        height: 18px;
    }
}

/* =========================================================
 * Блок «Отзывы клиентов» (карусель Swiper)
 * ========================================================= */
.rovno-testimonials {
    padding: 0 32px;
    overflow: hidden;
}

.rovno-testimonials__title {
    font-size: 32px;
    line-height: 100%;
    font-weight: 700;
    color: #171717;
    margin: 0 0 12px;
    text-align: center;
}

.rovno-testimonials__subtitle {
    font-size: 16px;
    line-height: 100%;
    color: #757575;
    text-align: center;
    margin: 0 0 32px;
}

.rovno-testimonials__slider {
    overflow: hidden;
    padding: 32px !important;
}

/* Одинаковая высота слайдов: растягиваем по высоте самого высокого */
.rovno-testimonials__slider.swiper {
    height: auto;
}

.rovno-testimonials__slider .swiper-wrapper {
    align-items: stretch;
    height: auto !important;
}

.rovno-testimonials__slider .swiper-slide {
    height: auto;
    display: flex;
}

.rovno-testimonials__card {
    position: relative;
    background: #fff;
    border-radius: 32px;
    padding: 32px 36px 32px 32px;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.rovno-testimonials__card-star {
    position: absolute;
    top: 21px;
    right: 36px;
    display: block;
    line-height: 0;
}

.rovno-testimonials__card-star svg {
    width: 45px;
    height: 45px;
}

.rovno-testimonials__card-name {
    font-size: 24px;
    font-weight: 700;
    color: #003C8D;
    margin-bottom: 6px;
    padding-right: 50px;
}

.rovno-testimonials__card-text {
    font-size: 16px;
    font-weight: 400;
    color: #757575;
    line-height: 20px;
    flex: 1;
    min-height: 0;
    max-height: 145px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    line-clamp: 7;
}

.rovno-testimonials__card-text p {
    margin: 0 0 0.6em;
    display: inline;
}

.rovno-testimonials__card-text p:last-child {
    margin-bottom: 0;
}

@media (max-width: 1024px) {
    .rovno-testimonials {
        padding: 0;
        margin: 0 -15px !important;
    }

    .rovno-testimonials__title {
        font-size: 32px;
        line-height: 36px;
        margin: 0 0 6px;
        padding: 0 15px;
    }

    .rovno-testimonials__subtitle {
        font-size: 14px;
        line-height: 18px;
        margin-bottom: 20px;
        padding: 0 15px;
    }

    .rovno-testimonials__card {
        padding: 24px;
        border-radius: 16px;
    }

    .rovno-testimonials__card-name {
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 5px;
    }

    .rovno-testimonials__card-text {
        font-size: 14px;
        line-height: 18px;
    }

    .rovno-testimonials__card-star svg {
        width: 34px;
        height: 34px;
    }

    .rovno-testimonials__slider {
        padding: 0 15px !important;
    }
}

@media (max-width: 767px) {
    .rovno-testimonials__title {
        font-size: 24px;
        line-height: 28px;
        margin: 0 0 8px;
    }

    .rovno-testimonials__subtitle {
        margin-bottom: 16px;
    }

    .rovno-testimonials__card-star {
        top: 16px;
        right: 16px;
    }
}

/* =========================================================
 * Секция снизу страницы
 * ========================================================= */

.rovno-bottom-section {
    margin-top: 100px;
}

.rovno-bottom-section__inner {
    display: flex;
    flex-direction: column;
    gap: 100px;
}

.page-id-143 .rovno-bottom-section {
    margin-top: 0;
}

@media (max-width: 1024px) {
    .rovno-bottom-section {
        margin-top: 36px;
    }

    .rovno-bottom-section__inner {
        gap: 44px;
    }
}

@media (max-width: 767px) {
    .rovno-bottom-section__inner {
        gap: 40px;
    }
}

/* =========================================================
 * Секция «Следите за нами в соцсетях»
 * ========================================================= */
.rovno-social {
    padding: 0;
}

.rovno-social__title {
    font-weight: 700;
    color: #171717;
    margin: 0 0 30px;
    font-size: 36px;
    line-height: 36px;
}

.rovno-social__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 16px;
}

.rovno-social__card {
    border-radius: 32px;
    box-shadow: 0px 4px 20px 0px #0000001A;
    overflow: hidden;
    background: #fff;
}

.rovno-social__img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: top;
}

/* Планшет: 4 в ряд, gap 20px */
@media (min-width: 768px) {
    .rovno-social__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
}

/* ПК: 4 в ряд, gap 27px */
@media (min-width: 1025px) {
    .rovno-social__grid {
        gap: 27px;
    }
}

@media (max-width: 1024px) {
    .rovno-social__grid {
        gap: 20px;
    }

    .rovno-social__title {
        font-size: 32px;
        line-height: 36px;
        margin-bottom: 20px;
        text-align: center;
    }
}

@media (max-width: 767px) {
    .rovno-social__grid {
        gap: 16px;
    }

    .rovno-social__title {
        font-size: 24px;
        line-height: 28px;
        margin-bottom: 16px;
        text-align: center;
    }
}

/* =========================================================
 * Секция «Как с нами связаться»
 * ========================================================= */
.rovno-contact {
    padding: 0 32px 40px;
}

.rovno-contact__title {
    font-weight: 700;
    color: #171717;
    margin: 0 0 16px;
    font-size: 36px;
    line-height: 36px;
    text-align: center;
}

.rovno-contact__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.rovno-contact__card {
    border-radius: 32px;
    overflow: hidden;
    padding: 32px;
    position: relative;
}

.rovno-contact__card--info {
    background: #fff;
    display: flex;
    flex-direction: column;
}

.rovno-contact__card--form {
    background: #EEE315;
}

.rovno-contact__map {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    margin-bottom: 20px;
    flex: 1 1 0;
    min-height: 200px;
}

/* Обёртка из кода Яндекса/других карт */
.rovno-contact__map>div {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.rovno-contact__map iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: none;
}


.rovno-contact__address,
.rovno-contact__phone-wrap,
.rovno-contact__hours {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 16px;
    color: #171717;
}

.rovno-contact__phone {
    color: #003C8D;
    font-weight: 500;
    text-decoration: none;
}

.rovno-contact__phone:hover {
    text-decoration: underline;
}

.rovno-contact__hours {
    font-size: 16px;
    color: #757575;
    margin: 0 !important;
}

.rovno-contact__whatsapp {
    position: absolute;
    bottom: 32px;
    right: 32px;
    display: inline-flex;
    line-height: 0;
}

.rovno-contact__whatsapp:hover {
    opacity: 0.9;
}

.rovno-contact__form-title {
    font-weight: 600;
    color: #171717;
    margin: 0 0 4px;
    font-size: 24px;
    line-height: 26px;
}

.rovno-contact__form-desc {
    font-size: 16px;
    color: #3F3C42;
    margin: 0 0 24px;
    line-height: 16px;
}

.rovno-contact__form .wpcf7-form-control-wrap {
    display: block;
    margin-bottom: 12px;
}

.rovno-contact__card--form form {
    max-width: 400px;
}

.rovno-contact__form label {
    display: block;
    font-size: 16px;
    font-weight: 500;
    color: #3F3C42;
    margin-bottom: 8px;
}

.rovno-contact__form input[type="text"],
.rovno-contact__form input[type="tel"],
.rovno-contact__form input[type="email"],
.rovno-contact__form textarea {
    width: 100%;
    max-width: 100%;
    padding: 10px 32px;
    border: none;
    border-radius: 32px;
    font-size: 12px;
    color: #757575;
    box-sizing: border-box;
}

.rovno-contact__form textarea {
    border-radius: 16px;
    min-height: 80px;
    resize: vertical;
}

.rovno-contact__form-note {
    font-size: 16px;
    font-weight: 500;
    color: #757575;
    margin: 0;
    line-height: 16px;
}

.rk-cf7-form-submit-wrapper .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}

.wpcf7-acceptance .wpcf7-list-item-label {
    font-size: 12px;
    line-height: 14px;
}

.rovno-contact__form input[type="submit"] {
    background: #fff;
    border: 2px solid #fff;
    transition: all 0.3s;
}

.rovno-contact__form input[type="submit"]:hover,
.rovno-contact__form input[type="submit"]:focus {
    background: #EEE315;
}

@media (min-width: 768px) {
    .rovno-contact__grid {
        grid-template-columns: 1fr 2fr;
        gap: 16px;
    }
}

@media (max-width: 1024px) {
    .rovno-contact {
        padding: 0 0 40px;
    }

    .rovno-contact__title {
        font-size: 32px;
        line-height: 38px;
    }

    .rovno-contact__card,
    .rovno-contact__card--info {
        padding: 24px;
        border-radius: 16px;
    }

    .rovno-contact__form-title {
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 4px;
    }

    .rovno-contact__form-desc {
        font-size: 14px;
        line-height: 18px;
        margin-bottom: 12px;
    }

    .rovno-contact__form label {
        font-size: 14px;
        line-height: 18px;
        margin-bottom: 4px;
    }

    .rovno-contact__form-note {
        font-size: 14px;
        line-height: 18px;
    }

    .rovno-contact__address,
    .rovno-contact__phone-wrap,
    .rovno-contact__hours {
        font-size: 14px;
        line-height: 18px;
        margin-bottom: 8px;
    }

    .rovno-contact__whatsapp {
        bottom: 24px;
        right: 24px;
    }

    .rovno-contact__whatsapp svg {
        width: 22px;
        height: 22px;
    }

    .rovno-contact__map {
        border-radius: 23px;
    }
}

@media (max-width: 767px) {
    .rovno-contact__card {
        padding: 24px;
    }

    .rovno-contact__title {
        font-size: 24px;
        line-height: 32px;
    }

    .rovno-contact__form-title {
        font-size: 18px;
        line-height: 22px;
    }

    .rovno-contact__form-desc {
        font-size: 14px;
        line-height: 18px;
    }

    .rovno-contact__form-note {
        font-size: 14px;
        line-height: 18px;
    }

    .rovno-contact__map,
    .rovno-contact__info {
        max-width: 80%;
    }

    .rovno-contact__whatsapp {
        bottom: auto;
        top: 24px;
        right: 24px;
    }

    .rovno-contact__whatsapp svg {
        width: 30px;
        height: 30px;
    }
}


/* Стили для шорткода направлений (3D-карта) */
.rovno-directions-block {
    position: relative;
    margin-bottom: 64px;
    padding: 0 32px;
}


.rovno-directions-header {
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    width: calc(100% - 192px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: -89px;
    margin-left: auto;
    margin-right: auto;
    flex-wrap: wrap;
    gap: 15px;
    z-index: 1;
}

.rovno-directions-title {
    font-size: 32px;
    font-weight: 700;
    margin: 0;
    color: #1a1a1a;
}

.rovno-directions-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #F5F5F5CC;
    color: #757575;
    padding: 12px 30px;
    border-radius: 16px 16px 16px 0;
    border: 1px solid var(--bento, #EEEEEE);
    text-decoration: none;
    font-weight: 600;
    font-size: 24px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.rovno-directions-more:hover {
    background: #e2e8f0;
    color: #1a1a1a;
}

.rovno-directions-map-container {
    position: relative;
    width: 100%;
    border-radius: 32px;
    overflow: hidden;
    background-color: #f4f7f9;
}

.rovno-directions-bg {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.rovno-directions-bg-placeholder {
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 Aspect Ratio */
    background: #eef2f6;
}

.rovno-directions-items {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    /* чтобы карта под ними была кликабельна, если нужно */
}

.rovno-direction-pin {
    position: absolute;
    z-index: 10;
}


.rovno-direction-tag {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 245, 245, 0.8);
    padding: 10px 30px;
    border-radius: 16px 16px 16px 0;
    border: 1px solid var(--bento, #EEEEEE);
    text-decoration: none;
    color: #003a8c;
    font-weight: 600;
    font-size: 24px;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    pointer-events: auto;
    box-shadow: 0px 3.4px 13px 0px #00000009;
}

.rovno-direction-tag:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

.rovno-direction-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0056b3;
}

/* Направления выноски (Line & Tag Position) */
.pin-dir-top-right .rovno-direction-line {
    transform: rotate(-45deg);
    width: 60px;
}

.pin-dir-top-right .rovno-direction-tag {
    bottom: 100%;
    left: 100%;
}

.rovno-directions-more--mobile {
    display: none;
}


/* Адаптив - Планшеты и телефоны (Превращаем в список тегов) */
@media (max-width: 1024px) {
    .rovno-directions-block {
        padding: 0;
    }

    .rovno-directions-map-container {
        border-radius: 16px;
    }

    .rovno-directions-header {
        top: 36px;
        width: 100%;
        padding: 0 45px 0 36px;
    }

    .rovno-directions-more,
    .rovno-direction-tag {
        padding: 8px 21px;
        font-size: 18px;
        line-height: 22px;
        border-radius: 12px 12px 12px 0;
    }

    .rovno-directions-header svg,
    .rovno-direction-icon {
        max-width: 18px;
    }
}

@media (max-width: 767px) {
    .rovno-directions-map-container {
        display: flex;
        flex-direction: column;
    }

    .rovno-directions-bg {
        border-radius: 16px;
        order: 2;
    }

    .rovno-directions-header {
        position: relative;
        top: 0;
        width: 100%;
        padding: 0;
        justify-content: center;
        margin-bottom: 20px;
    }

    .rovno-directions-items {
        position: relative;
        width: 100%;
        height: auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 16px 10px;
        pointer-events: auto;
        order: 1;
        padding: 0 20px;
        margin-bottom: 16px;
    }

    .rovno-direction-pin {
        position: static !important;
    }

    .rovno-direction-dot,
    .rovno-direction-line {
        display: none !important;
    }

    .rovno-direction-tag {
        position: static;
        margin: 0 !important;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 16px;
        box-shadow: none;
    }

    .rovno-directions-more {
        border-radius: 16px;
        box-shadow: none;
        background: #fff;
    }

    .rovno-directions-more--desktop {
        display: none;
    }

    .rovno-directions-more--mobile {
        display: flex;
    }
}


/* =========================================================
 * Секция блоков Ровно Дом
 * ========================================================= */
.rovno-dom-links-wrap {
    margin: 0 auto;
    padding: 0 32px;
}

.rovno-dom-links {
    display: grid;
    grid-template-columns: 66.6% 30.5%;
    justify-content: space-between;
    gap: 32px;
}

.rovno-dom-card {
    position: relative;
    border-radius: 32px;
    overflow: hidden;
    text-decoration: none;
    min-height: 300px;
    color: #eee;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-color: #1f1f1f;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    isolation: isolate;
}

.rovno-dom-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    z-index: -1;
}

.rovno-dom-card--big {
    padding: 48px;
    min-height: 364px;
    background-image: url("/wp-content/themes/rovno/assets/img/rovno-dom/rovno-dom-bg-1.webp");
}

.rovno-dom-card--small {
    padding: 48px 30px;
    min-height: 364px;
    background-image: url("/wp-content/themes/rovno/assets/img/rovno-dom/rovno-dom-bg-2.webp");
}

.rovno-dom-card__icon {
    display: inline-flex;
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
}

.rovno-dom-card__title {
    margin: 0;
    font-size: 36px;
    font-weight: 700;
    line-height: 40px;
    color: #eee;
    max-width: 440px;
}

.rovno-dom-links-title__title {
    font-weight: 700;
    font-size: 36px;
    line-height: 36px;
    text-align: center;
    color: #171717;
}

.rovno-dom-links-title {
    margin-bottom: 16px;
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
}

.rovno-dom-links-subtitle {
    margin-bottom: 32px;
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
}

.rovno-dom-links-subtitle__text {
    font-weight: 600;
    font-size: 24px;
    line-height: 24px;
    letter-spacing: -2%;
    text-align: center;
    color: #757575;
}

@media (max-width: 1200px) {
    .rovno-dom-links-wrap {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 1024px) {

    .rovno-dom-links-wrap {
        padding: 0;
    }

    .rovno-dom-links {
        gap: 24px;
    }

    .rovno-dom-card {
        min-height: 245px;
        border-radius: 16px;
        justify-content: center;
        align-items: center;
    }

    .rovno-dom-card__icon {
        width: 35px;
        height: 35px;
        margin-bottom: 8px;
    }

    .rovno-dom-card__title {
        font-size: 18px;
        line-height: 22px;
        text-align: center;
        FONT-WEIGHT: 600;
    }

    .rovno-dom-links-title {
        margin-bottom: 8px;
        max-width: none
    }

    .rovno-dom-links-subtitle {
        margin-bottom: 24px;
    }

    .rovno-dom-links-title__title {
        font-size: 32px;
        line-height: 32px;
    }

    .rovno-dom-links-subtitle__text {
        font-size: 18px;
        line-height: 18px;
    }
}

@media (max-width: 767px) {
    .rovno-dom-links {
        gap: 16px;
        grid-template-columns: 1fr;
    }

    .rovno-dom-card {
        min-height: auto;
    }



    .rovno-dom-card--big,
    .rovno-dom-card--small {
        padding: 26px;
    }

    .rovno-dom-links-title__title {
        font-size: 24px;
        line-height: 24px;
    }

    .rovno-dom-links-subtitle__text {
        font-size: 16px;
        line-height: 16px;
    }
}

/* =========================================================
 * Блок «Коммерция» / направления [rovno_commerce_directions]
 * ========================================================= */
.rovno-cd {
    margin-top: -60px;
    margin-bottom: 16px;
    padding: 0 16px;
}

.rovno-cd__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 34%);
    gap: 10px 20px;
    align-items: start;
    background: #fff;
    padding: 64px 32px 50px 32px;
    border-radius: 0 0 32px 32px;
}

.rovno-cd__title {
    margin: 0 0 24px;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    color: #3F3C42;
}

.rovno-cd__intro {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 24px;
    color: #171717;
    max-width: 520px;
}

.rovno-cd__head {
    grid-column: 1;
    grid-row: 1;
}

.rovno-cd__visual {
    grid-column: 1;
    grid-row: 2;
    max-width: 600px;
}

.rovno-cd__hero-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 32px;
    object-fit: cover;
    background: #e8ecf0;
    max-height: 220px;
}

.rovno-cd__tagline--desktop {
    grid-column: 1;
    grid-row: 3;
    margin: auto 0 0;
    font-size: 24px;
    line-height: 30px;
    color: #757575;
    max-width: 410px;
}

.rovno-cd__tagline--mobile {
    display: none;
}

.rovno-cd__aside {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: start;
}

.rovno-cd__nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    width: fit-content;
    margin-left: auto;
}

.rovno-cd__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    padding: 12px 30px;
    border-radius: 32px;
    background: #F5F5F5CC;
    text-decoration: none;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    color: #003C8D;
    border: 1px solid #EEEEEE;
    width: auto;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.rovno-cd__pill--primary {
    color: #003b71;
}

.rovno-cd__pill--primary:hover {
    background: #e8eef4;
    border-color: #dde5ee;
    color: #003b71;
}

.rovno-cd__pill--muted {
    color: #757575;
}

.rovno-cd__pill--muted:hover {
    background: #eceff2;
    color: #5a5a5a;
}

.rovno-cd__pill-icon {
    display: inline-flex;
    flex-shrink: 0;
    line-height: 0;
}

.rovno-cd__icon-svg {
    display: block;
}


.rovno-cd__banner {
    display: none;
}

@media (max-width: 1024px) {
    .rovno-cd {
        background-color: #fff;
        margin-top: 0;
        margin-left: -15px !important;
        margin-right: -15px !important;
        margin-bottom: 32px;
        padding: 0 15px;
    }

    .rovno-cd>.ast-container {
        padding: 0;
    }

    .rovno-cd__inner {
        padding: 16px 0;
    }

    .rovno-cd__title {
        font-size: 32px;
        line-height: 32px;
        margin-bottom: 16px;
    }

    .rovno-cd__intro {
        margin-left: auto;
        margin-right: auto;
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 24px;
    }

    .rovno-cd__tagline--desktop {
        font-size: 14px;
        line-height: 18px;
    }

    .rovno-cd__nav {
        gap: 16px;
    }

    .rovno-cd__pill {
        font-size: 18px;
        line-height: 22px;
    }
}

@media (max-width: 767px) {

    .rovno-cd,
    .rovno-cd__inner {
        background: transparent;
    }

    .rovno-cd__nav {
        grid-template-columns: 1fr 1fr;
        width: auto;
    }

    .rovno-cd__inner {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .rovno-cd__banner {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        margin-top: 24px;
        border-radius: 32px;
        padding: 24px 5px;
        overflow: hidden;
        background-color: #2a2a2a;
        background-image: var(--rovno-cd-banner);
        background-size: cover;
        background-position: center;
    }

    .rovno-cd__banner-overlay {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.55);
        pointer-events: none;
    }

    .rovno-cd__visual {
        display: none;
    }

    .rovno-cd__tagline--desktop {
        display: none;
    }

    .rovno-cd__title {
        font-size: 24px;
        line-height: 32px;
        margin-bottom: 16px;
    }

    .rovno-cd__tagline--mobile {
        display: block;
        position: relative;
        z-index: 1;
        margin: 0;
        text-align: center;
        font-size: 14px;
        font-weight: 600;
        line-height: 18px;
        color: #ffffff;
    }

    .rovno-cd__aside {
        grid-column: 1;
        grid-row: 2;
    }

    .rovno-cd__nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .rovno-cd__head {
        grid-row: 1;
        text-align: center;
    }

    .rovno-cd__pill {
        justify-content: center;
        padding: 8px 11px;
        font-size: 18px;
    }

    .rovno-cd__pill-icon {
        width: 20px;
        height: 20px;
    }
}


/* =========================================================
 * Блок «Почему выбирают нас?» [rovno_why_us]
 * ========================================================= */
.rovno-why-us {
    padding: 0 16px;
    margin-bottom: 64px;
}

.rovno-why-us__grid {
    display: grid;
    grid-template-columns: repeat(24, minmax(0, 1fr));
    gap: 16px;
    max-width: 1280px;
    margin: 0 auto;
}

.rovno-why-us__card {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    padding: 70px 28px 36px 28px;
    min-height: 210px;
    background: #fff;
    border: 1px solid #EEEEEE;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.rovno-why-us__card--title {
    grid-column: span 9;
    background: #EEE315;
    border: none;
    justify-content: flex-end;
    align-items: flex-start;
}

.rovno-why-us__card--objects {
    grid-column: span 8;
}

.rovno-why-us__card--team {
    grid-column: span 7;
}

.rovno-why-us__card--years {
    grid-column: span 6;
    align-items: center;
    text-align: center;
}

.rovno-why-us__card--contracts {
    grid-column: span 13;
}

.rovno-why-us__card--quality {
    grid-column: span 5;
}

.rovno-why-us__title {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    line-height: 32px;
    color: #3F3C42;
    letter-spacing: -0.02em;
    max-width: 180px;
}

.rovno-why-us__stat {
    font-size: 64px;
    font-weight: 800;
    line-height: 72px;
    color: #003C8D;
    margin-bottom: 12px;
}

.rovno-why-us__card-title {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 600;
    line-height: 28px;
    color: #3F3C42;
    letter-spacing: -0.02em;
}

.rovno-why-us__card-desc {
    margin: 0 !important;
    font-size: 16px;
    line-height: 20px;
    color: #757575;
}

.rovno-why-us__card--contracts .rovno-why-us__card-desc {
    max-width: 180px;
}

.rovno-why-us__card-desc--center {
    text-align: center;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
}

.rovno-why-us__years {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin: auto -10px;
}

.rovno-why-us__years-num,
.rovno-why-us__years-label {
    display: block;
    font-size: 64px;
    font-weight: 800;
    line-height: 64px;
    color: #003C8D;
    margin-bottom: -10px;
}

.rovno-why-us__years-label {
    font-size: 24px;
    line-height: 24px;
    font-weight: 600;
    margin-bottom: 64px;
}

.rovno-why-us__card-body {
    position: relative;
    z-index: 1;
}


.rovno-why-us__card-media {
    position: absolute;
    right: 0;
    bottom: 0;
    pointer-events: none;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    height: 100%;
}

.rovno-why-us__card-media img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: right bottom;
}

.rovno-why-us__card--objects .rovno-why-us__card-media {
    bottom: auto;
    top: 0;
    right: 0;
}

.rovno-why-us__card--team .rovno-why-us__card-media {
    bottom: auto;
    top: 0;
    right: 0;
    left: 0;
    justify-content: center;
}

.rovno-why-us__card--quality .rovno-why-us__card-media {
    bottom: auto;
    top: 24px;
    right: 34px;
}

.rovno-why-us__card--quality .rovno-why-us__card-body {
    max-width: 100%;
}

.rovno-why-us__card--quality .rovno-why-us__card-title {
    font-size: 20px;
    line-height: 24px;
}

.rovno-why-us__card--quality .rovno-why-us__card-desc {
    font-size: 14px;
    line-height: 18px;
}

.rovno-why-us__card--quality .rovno-why-us__card-media {
    max-width: 56%;
}


@media (max-width: 1024px) {

    .rovno-why-us {
        padding: 0;
        margin-bottom: 40px;
    }

    .rovno-why-us__grid {
        gap: 16px 8px;
    }

    .rovno-why-us__card {
        padding: 45px 24px 24px 24px;
    }

    .rovno-why-us__title {
        font-size: 24px;
        line-height: 32px;
        max-width: none;
    }

    .rovno-why-us__stat,
    .rovno-why-us__years-num {
        font-size: 48px;
        line-height: 52px;
    }

    .rovno-why-us__card-title,
    .rovno-why-us__years-label {
        font-size: 18px;
        line-height: 22px;
    }

    .rovno-why-us__years-label {
        margin-bottom: 35px;
    }

    .rovno-why-us__card-desc {
        font-size: 14px;
        line-height: 16px;
    }

}

@media (max-width: 767px) {
    .rovno-why-us {
        padding: 0;
    }

    .rovno-why-us__grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .rovno-why-us__card--title,
    .rovno-why-us__card--objects,
    .rovno-why-us__card--team,
    .rovno-why-us__card--years,
    .rovno-why-us__card--contracts,
    .rovno-why-us__card--quality {
        grid-column: auto;
    }

    .rovno-why-us__card--contracts {
        grid-column: 1 / -1;
    }

    .rovno-why-us__card {
        min-height: 84px;
        padding: 15px;
        text-align: center;
    }

    .rovno-why-us__card--title {
        min-height: 120px;
        align-items: center;
        justify-content: center;
    }

    .rovno-why-us__title {
        font-size: 18px;
        line-height: 22px;
        max-width: none;
    }

    .rovno-why-us__stat {
        font-size: 24px;
        line-height: 28px;
        font-weight: 700;
        margin-bottom: 4px;
    }

    .rovno-why-us__card-title {
        font-size: 18px;
        line-height: 22px;
    }

    .rovno-why-us__card-desc {
        display: none;
    }

    .rovno-why-us__years-num {
        font-size: 24px;
        line-height: 28px;
        font-weight: 700;
        margin-bottom: 0;
    }

    .rovno-why-us__years-label {
        font-size: 18px;
        line-height: 22px;
        color: #3F3C42;
        font-weight: 600;
        margin-bottom: 0;
    }

    .rovno-why-us__card--objects .rovno-why-us__card-media {
        display: none;
    }

    .rovno-why-us__card--contracts .rovno-why-us__card-media,
    .rovno-why-us__card--quality .rovno-why-us__card-media {
        left: 0;
        margin: auto;
        justify-content: center;
    }

    .rovno-why-us__card--quality .rovno-why-us__card-media {
        top: 0;
        max-height: 56px;
        max-width: none;
        width: 100%;
    }

    .rovno-why-us__card--quality .rovno-why-us__card-media img {
        transform: rotate(90deg);
    }
}


/* =========================================================
 * Блок «Схема сотрудничества» [rovno_scheme_partners]
 * ========================================================= */
.rovno-scheme-partners {
    padding: 0 16px;
}

.rovno-scheme-partners__grid {
    display: grid;
    grid-template-columns: repeat(24, minmax(0, 1fr));
    gap: 16px;
    max-width: 1280px;
    margin: 0 auto;
}

.rovno-scheme-partners__card {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    padding: 36px;
    min-height: 210px;
    background: #fff;
    border: 1px solid #EEEEEE;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.rovno-scheme-partners__card--title {
    grid-column: span 8;
    background: #EEE315;
    border: none;
    justify-content: flex-end;
    align-items: flex-start;
}

.rovno-scheme-partners__card--step1 {
    grid-column: span 8;
}

.rovno-scheme-partners__card--step2 {
    grid-column: span 8;
}

.rovno-scheme-partners__card--step3 {
    grid-column: span 7;
}

.rovno-scheme-partners__card--step4 {
    grid-column: span 10;
}

.rovno-scheme-partners__card--step5 {
    grid-column: span 7;
}

.rovno-scheme-partners__title {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    line-height: 32px;
    color: #3F3C42;
    letter-spacing: -0.02em;
    max-width: 180px;
}

.rovno-scheme-partners__card-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    height: 100%;
}

.rovno-scheme-partners__num {
    flex-shrink: 0;
    font-size: 128px;
    font-weight: 800;
    line-height: 128px;
    color: #003C8D;
    background: linear-gradient(180deg, #003C8D 0%, rgba(0, 60, 141, 0) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

.rovno-scheme-partners__card-text {
    flex: 0 1 auto;
    min-width: 0;
}

.rovno-scheme-partners__card-title {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 600;
    line-height: 24px;
    color: #3F3C42;
    letter-spacing: -0.02em;
}

.rovno-scheme-partners__card-desc {
    margin: 0 !important;
    font-size: 16px;
    line-height: 20px;
    color: #757575;
}

.rovno-scheme-partners__card-title span {
    display: none;
}

@media (max-width: 1024px) {

    .rovno-scheme-partners {
        padding: 0;
        margin-bottom: 40px;
    }

    .rovno-scheme-partners__grid {
        gap: 16px 8px;
    }

    .rovno-scheme-partners__card {
        padding: 30px 24px 24px 24px;
    }

    .rovno-scheme-partners__title {
        font-size: 18px;
        line-height: 22px;
    }

    .rovno-scheme-partners__card-body {
        gap: 5px;
    }

    .rovno-scheme-partners__num {
        font-size: 92px;
        line-height: 92px;
    }

    .rovno-scheme-partners__card-title {
        font-size: 18px;
        line-height: 22px;
    }

    .rovno-scheme-partners__card-desc {
        font-size: 14px;
        line-height: 16px;
    }

}

@media (max-width: 767px) {
    .rovno-scheme-partners {
        padding: 0;
    }

    .rovno-scheme-partners__grid {
        grid-template-columns: 1fr;
        gap: 16px 0;
    }

    .rovno-scheme-partners__card--title,
    .rovno-scheme-partners__card--step1,
    .rovno-scheme-partners__card--step2,
    .rovno-scheme-partners__card--step3,
    .rovno-scheme-partners__card--step4,
    .rovno-scheme-partners__card--step5 {
        grid-column: auto;
    }

    .rovno-scheme-partners__card--step4 {
        grid-column: 1 / -1;
    }

    .rovno-scheme-partners__card {
        min-height: 84px;
        padding: 24px;
    }

    .rovno-scheme-partners__card-body {
        display: block;
        max-width: 90%;
    }

    .rovno-scheme-partners__card--title {
        min-height: 120px;
        align-items: center;
        justify-content: center;
    }

    .rovno-scheme-partners__card-title span {
        display: inline-block;
        margin-right: 5px;
    }

    .rovno-scheme-partners__title {
        font-size: 18px;
        line-height: 22px;
        max-width: none;
    }

    .rovno-scheme-partners__num {
        display: none;
    }

}


/* =========================================================
 * Блог
 * ========================================================= */

.ast-blog-layout-5-grid .ast-article-post {
    margin-bottom: 4em;
}

article.type-post .post-content {
    background: #fff;
    border: 2px solid #eee;
    border-radius: 16px;
    padding: 26px 34px;
}

article.type-post .post-content .entry-meta *,
article.type-post .post-content .ast-excerpt-container {
    color: #757575;
}

article.type-post .post-content .entry-title * {
    color: #3F3C42;
}

article.type-post .post-content .read-more a {
    padding: 11px 22px;
    color: #3F3C42;
    font-size: 14px;
    border-radius: 32px;
    background: #EFE500;
    min-width: 220px;
    text-align: center;
}

article.type-post .post-content .read-more a:hover {
    opacity: 0.8;
}


/* =========================================================
 * Кастомное меню футера
 * ========================================================= */
.rovno-custom-menu .footer-custom-menu {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rovno-custom-menu .footer-custom-menu a {
    color: #fff;
    font-size: 16px;
    line-height: 20px;
}

.rovno-custom-menu .footer-custom-menu a:hover {
    color: #efe500;
}

@media (max-width: 767px) {
    .rovno-custom-menu .footer-custom-menu {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 22px 30px;
    }

    .rovno-custom-menu .footer-custom-menu li {
        width: calc(33.3% - 22px);
    }

    .rovno-custom-menu .footer-custom-menu a {
        font-size: 12px;
        line-height: 16px;
    }

    #menu-footer-services {
        margin-top: 60px;
    }
}