@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
      max-width: 1370px;
    }
}

@media (max-width: 1399.98px) {
    .review-card {
        padding: 15px;
    }
    .review-card__text {
        font-size: 16px;
        line-height: 1.5;
    }
    .review-card__footer {
        flex-direction: column;
        gap: 10px;
    }
    .contacts-page__card--schedule {
        justify-content: center;
    }
    .site-header.is-sticky .site-header__nav-left, .site-header.is-sticky .site-header__nav-right {
        gap: 10px;
    }
    .site-header__search {
        max-width: 200px;
    }
    .site-header__search .is-form-style input.is-search-input, .site-header__search .is-form-style.is-form-style-3 input.is-search-input {
        font-size: 16px !important;
    }
    .site-header__topbar-inner {
        gap: 20px;
    }
    .services-grid--narrow {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .team-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-team-slider__track .team-card {
        flex: 0 0 calc((100% - 60px) / 3);
        min-width: 260px;
    }

    .site-header__nav-inner {
        column-gap: 40px;
    }

    .site-header__nav-left,
    .site-header__nav-right {
        gap: 16px;
    }

    .site-header__nav-link,
    .site-header__services-btn {
        font-size: 16px;
    }

    .site-header__services-btn {
        gap: 12px;
        padding: 0 16px;
    }

    .team-reviews__widget .reviews-page__widget,
    .team-reviews__main,
    .team-reviews__main-slide,
    .team-reviews__main-slide img {
        min-height: 580px;
        height: 580px;
    }
}

/* Reviews gallery: thumbnails below main photo (≤1399px, toggled via JS) */
.team-reviews__gallery.is-bottom-nav {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
}

.team-reviews__gallery.is-bottom-nav .team-reviews__side {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: none;
    margin: 0;
}

.team-reviews__gallery.is-bottom-nav .team-reviews__nav {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.team-reviews__gallery.is-bottom-nav .team-reviews__nav .slick-list,
.team-reviews__gallery.is-bottom-nav .team-reviews__nav .slick-track {
    height: auto !important;
}

.team-reviews__gallery.is-bottom-nav .team-reviews__nav-slide {
    padding: 0 7px;
}

.team-reviews__gallery.is-bottom-nav .team-reviews__thumb img {
    height: 100px;
    border-radius: 20px;
}

.team-reviews__gallery.is-bottom-nav .team-reviews__arrows {
    display: none;
}

.team-reviews__gallery.is-bottom-nav .team-reviews__arrow--prev {
    grid-column: 1;
    grid-row: 1;
}

.team-reviews__gallery.is-bottom-nav .team-reviews__arrow--next {
    grid-column: 3;
    grid-row: 1;
}

.team-reviews__gallery.is-bottom-nav .team-reviews__arrow--prev svg,
.team-reviews__gallery.is-bottom-nav .team-reviews__arrow--next svg {
    transform: rotate(-90deg);
}

@media (min-width: 1200px) {
    .site-header__burger {
        display: none;
    }
}

@media (max-width: 1199.98px) {
    .home-section--reviews .team-reviews,
    .team-reviews {
        display: block;
    }
    .team-reviews__widget {
        margin-bottom: 30px;
    }
    #wrapper-navbar,
    .site-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 1000;
    }

    .site-header__fixed-spacer {
        display: block;
    }

    .home-hero {
        margin-top: 0px;
    }
    .site-header__topbar-logo img {
        filter: brightness(0) invert(1);
    }
    .services-grid--wide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .services-grid--narrow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .team-grid,
    .cases-grid,
    .articles-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-about {
        grid-template-columns: 1fr;
    }

    .home-team-slider__track .team-card {
        flex: 0 0 calc((100% - 30px) / 2);
    }

    .home-section--reviews .team-reviews {
        grid-template-columns: 1fr;
    }

    .contacts-page__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contacts-page__card--legal {
        grid-column: 1 / -1;
    }

    .reviews-page__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .reviews-page__widget {
        min-height: 520px;
    }

    .reviews-page__widget-inner,
    .reviews-page__widget-inner > iframe,
    .reviews-page__widget-inner > div {
        min-height: 520px;
    }

    .site-header__topbar-inner {
        gap: 20px;
    }

    .site-header__topbar-logo {
        display: flex;
    }

    .site-header__info--location,
    .site-header__info--worktime {
        display: none;
    }

    .site-header__burger {
        display: block;
        margin-left: 0;
    }

    .site-header__nav-left,
    .site-header__nav-right {
        display: none !important;
    }

    .site-header__nav {
        display: none;
    }

    .site-footer__bottom-inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .site-footer__meta {
        text-align: center;
    }

    #page-wrapper,
    #single-wrapper {
        padding: 40px 0 60px;
    }

    .home-section {
        padding: 50px 0;
    }

    .home-about__content,
    .home-about__gallery,
    .home-about__carousel {
        min-height: auto;
    }

    .home-about__content {
        min-height: 0;
    }

    .home-about__image,
    .home-about__carousel .carousel-item img {
        min-height: 420px;
        height: 420px;
    }

    .home-team-slider__nav--prev {
        left: 0;
    }

    .home-team-slider__nav--next {
        right: 0;
    }

    .team-reviews__widget .reviews-page__widget,
    .team-reviews__main,
    .team-reviews__main-slide,
    .team-reviews__main-slide img {
        min-height: 520px;
        height: 520px;
    }

    .service-single__panel {
        min-height: auto;
        padding: 40px;
    }

    .service-indications__box {
        min-height: auto;
    }

    .service-indications__title {
        font-size: 32px;
    }

    .site-footer__map,
    .site-footer__map iframe,
    .site-footer__map > div {
        min-height: 360px;
    }
}

@media (max-width: 991.98px) {
    .team-grid,
    .cases-grid,
    .articles-grid,
    .case-single__gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reviews-grid:not(.slick-initialized) {
        grid-template-columns: 1fr;
    }

    .reviews-grid .slick-slide > div {
        gap: 20px;
        margin-bottom: 20px;
    }

    .home-hero__slide,
    .home-hero__content {
        min-height: 620px;
    }

    .home-section__title {
        font-size: 32px;
        margin-bottom: 40px;
    }

    .home-directions__subtitle {
        font-size: 24px;
    }

    .home-team-slider__nav {
        display: none;
    }

    .home-team-slider__viewport {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .home-team-slider__track {
        transform: none !important;
    }

    .home-team-slider__track .team-card {
        flex: 0 0 280px;
        scroll-snap-align: start;
    }

    .home-section--reviews .team-reviews {
        grid-template-columns: 1fr;
    }

    .home-section--reviews .team-reviews__widget .reviews-page__widget,
    .home-section--reviews .team-reviews__main,
    .home-section--reviews .team-reviews__main-slide,
    .home-section--reviews .team-reviews__main-slide img {
        min-height: 420px;
    }

    .home-section--reviews .team-reviews__main-slide img {
        height: 420px;
    }

    .case-card__text {
        font-size: 16px;
        line-height: 26px;
    }

    .site-footer__newsletter {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .site-footer__newsletter p {
        max-width: none;
    }

    .service-single__hero,
    .service-faq__layout {
        grid-template-columns: 1fr;
    }

    .service-faq__media {
        order: -1;
    }

    .service-cta__banner {
        height: auto;
        min-height: 375px;
        padding: 40px;
    }

    .service-cta__content {
        height: auto;
    }

    .service-cta .form-flex {
        gap: 20px;
    }

    #page-wrapper,
    #single-wrapper {
        padding: 30px 0 50px;
    }

    .home-section {
        padding: 40px 0;
    }

    .home-section__actions {
        margin-top: 30px;
    }

    .home-about__image,
    .home-about__carousel .carousel-item img {
        min-height: 360px;
        height: 360px;
    }

    .home-directions__subtitle--center {
        margin-top: 24px;
    }

    .service-single__panel {
        padding: 30px;
    }

    .service-single__text {
        font-size: 18px;
        line-height: 28px;
    }

    .service-indications__title,
    .service-faq__title,
    .team-single__reviews-title {
        font-size: 32px;
        margin-bottom: 30px;
    }

    .service-cta .cta-title {
        font-size: 32px;
    }

    .service-cta .cta-subtitle {
        margin-bottom: 30px;
        font-size: 24px;
        line-height: 1.2;
    }

    .service-cta .form-flex {
        flex-direction: column;
    }

    .service-cta .form-item,
    .service-cta .form-action {
        flex: 1 1 100%;
        width: 100%;
    }

    .case-single__gallery-grid {
        grid-template-columns: 1fr;
    }

    .team-single__photo,
    .team-single__photo img {
        min-height: 560px;
    }

    .team-reviews__widget .reviews-page__widget,
    .team-reviews__main,
    .team-reviews__main-slide,
    .team-reviews__main-slide img {
        min-height: 480px;
        height: 480px;
    }

    .doca-modal .modal-dialog {
        max-width: min(500px, calc(100% - 40px));
    }

    .site-header.is-sticky .site-header__nav-menu {
        gap: 20px;
    }

    .site-header.is-sticky .site-header__nav-left,
    .site-header.is-sticky .site-header__nav-right {
        gap: 20px;
    }

    .site-header.is-sticky .site-header__nav-link,
    .site-header.is-sticky .site-header__services-btn {
        font-size: 16px;
    }
}

@media (max-width: 767.98px) {
    .page-header {
        margin-bottom: 30px;
    }

    h1.entry-title {
        font-size: 28px;
    }

    .services-grid {
        gap: 20px;
    }

    .team-grid,
    .cases-grid,
    .articles-grid {
        gap: 20px;
    }

    .articles-pagination {
        margin-top: 40px;
    }

    .article-single__header {
        margin-bottom: 30px;
    }

    .article-single__image {
        float: none;
        width: 100%;
        height: auto;
        min-height: 280px;
        margin: 0 0 30px;
    }

    .article-single__content {
        margin-top: 30px;
    }

    .article-single__content h2 {
        font-size: 24px;
    }

    .article-single__footer {
        margin-top: 40px;
    }

    .article-single__back {
        width: 100%;
        max-width: 320px;
    }

    .case-single__header {
        margin-bottom: 30px;
    }

    .case-single__block {
        padding: 20px;
    }

    .case-single__block-title {
        font-size: 24px;
    }

    .case-single__gallery {
        margin-top: 40px;
    }

    .case-single__gallery-title {
        margin-bottom: 30px;
        font-size: 32px;
    }

    .case-single__gallery-grid {
        gap: 20px;
    }

    .case-single__gallery-item {
        height: 240px;
    }

    .team-single__header {
        margin-bottom: 30px;
    }

    .team-single__hero {
        grid-template-columns: 1fr;
    }

    .team-single__photo,
    .team-single__photo img {
        min-height: 480px;
    }

    .team-single__panel {
        min-height: auto;
        padding: 24px;
    }

    .team-single__actions {
        gap: 16px;
        padding-top: 30px;
    }

    .team-single__btn {
        width: 100%;
        max-width: 320px;
    }

    .team-single__reviews {
        margin-top: 40px;
    }

    .team-single__reviews-title {
        margin-bottom: 30px;
        font-size: 32px;
    }

    .team-reviews {
        grid-template-columns: 1fr;
    }

    .team-reviews__widget .reviews-page__widget {
        min-height: 520px;
    }

    .team-reviews__gallery.is-bottom-nav {
        gap: 16px;
    }

    .team-reviews__main,
    .team-reviews__main-slide,
    .team-reviews__main-slide img {
        min-height: 420px;
        height: 420px;
    }

    .team-reviews__gallery.is-bottom-nav .team-reviews__thumb img {
        height: 90px;
    }

    .home-hero__btn {
        min-width: 0;
        width: 100%;
        max-width: 320px;
    }

    .home-about__content,
    .home-about__gallery,
    .home-about__carousel {
        min-height: auto;
    }

    .home-about__image,
    .home-about__carousel .carousel-item img {
        min-height: 280px;
        height: 280px;
    }

    .contacts-page__cards {
        gap: 20px;
        margin-bottom: 30px;
    }

    .contacts-page__card {
        min-height: auto;
        padding: 20px;
    }

    .contacts-page__map,
    .contacts-page__map iframe,
    .contacts-page__map > div {
        min-height: 320px;
    }

    .reviews-grid .slick-slide > div {
        gap: 20px;
        margin-bottom: 20px;
    }

    .review-card {
        min-height: auto;
        padding: 20px;
    }

    .review-card.is-expanded {
        min-height: auto;
    }

    .reviews-pagination {
        margin-top: 30px;
    }

    .cards-more {
        margin-top: 40px;
    }

    #page-wrapper,
    #single-wrapper {
        padding: 24px 0 40px;
    }

    .home-section {
        padding: 32px 0;
    }

    .home-section__title {
        margin-bottom: 24px;
        font-size: 28px;
    }

    .home-section__btn {
        width: 100%;
        max-width: 320px;
    }

    .home-directions__subtitle {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .home-about__text {
        font-size: 16px;
        line-height: 26px;
    }

    .home-about__controls {
        gap: 12px;
    }

    .team-reviews__gallery.is-bottom-nav .team-reviews__side {
        gap: 8px;
    }

    .team-reviews__gallery.is-bottom-nav .team-reviews__thumb img {
        height: 80px;
    }

    .team-reviews__gallery.is-bottom-nav .team-reviews__nav-slide {
        padding: 0 5px;
    }

    .team-reviews__gallery.is-bottom-nav .team-reviews__arrow svg {
        width: 32px;
        height: 32px;
    }

    .service-single__section-title {
        font-size: 32px;
        margin-bottom: 30px;
    }

    .service-single__price-new {
        font-size: 28px;
    }

    .doca-modal .modal-dialog {
        max-width: calc(100% - 30px);
        margin: 15px auto;
    }

    .doca-modal__content {
        padding: 24px 20px;
    }

    .doca-modal .modal-title {
        font-size: 24px;
        line-height: 32px;
    }

    .doca-modal .modal-subtitle {
        font-size: 18px;
    }

    .doca-modal .wpcf7-form input[type="submit"],
    .doca-modal__btn {
        width: 100%;
        min-width: 0;
    }

    .services-grid--wide,
    .services-grid--narrow {
        grid-template-columns: 1fr;
        margin-bottom: 20px;
    }

    .service-card__link {
        min-height: 220px;
        padding: 32px 20px 24px;
    }

    .service-card__icon {
        width: 80px;
        height: 80px;
    }

    .service-card__title {
        font-size: 18px;
        line-height: 24px;
    }

    .site-header__topbar-inner {
        flex-wrap: nowrap;
        gap: 12px;
    }

    .site-header__info--worktime {
        display: none;
    }

    .site-header__search {
        display: none;
    }

    .site-header__contacts {
        display: flex;
        margin-left: auto;
    }

    .site-header__burger {
        margin-left: 0;
        flex-shrink: 0;
    }

    .site-footer__main-inner {
        padding: 40px 0;
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
    }

    .site-footer__map {
        min-height: 280px;
    }

    .site-footer__map iframe,
    .site-footer__map > div {
        min-height: 280px;
    }

    .site-footer__newsletter-form {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .site-footer__newsletter-form input[type="email"],
    .site-footer__newsletter-form input[type="text"],
    .site-footer__newsletter-form button,
    .site-footer__newsletter-form input[type="submit"] {
        width: 100%;
        min-width: 0;
    }

    .site-footer__bottom-inner {
        padding-top: 12px;
        padding-bottom: 12px;
    }
}

@media (max-width: 575.98px) {
    .team-grid,
    .cases-grid,
    .articles-grid {
        grid-template-columns: 1fr;
    }

    .contacts-page__cards {
        grid-template-columns: 1fr;
    }

    .contacts-page__card--legal {
        grid-column: auto;
    }

    .case-card__title {
        font-size: 16px;
    }

    .service-single__hero {
        grid-template-columns: 1fr;
    }

    .service-single__panel {
        min-height: auto;
        padding: 24px;
    }

    .service-single__media,
    .service-single__media img {
        min-height: 280px;
    }

    .service-single__actions {
        flex-direction: column;
        gap: 16px;
    }

    .service-single__btn {
        width: 100%;
        max-width: 320px;
    }

    .service-single__section-title,
    .service-faq__title {
        margin-bottom: 30px;
        font-size: 32px;
    }

    .service-prices {
        padding: 24px;
    }

    .service-prices__row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .service-prices__right {
        width: 100%;
        min-width: 0;
        justify-content: flex-start;
    }

    .service-prices__price {
        opacity: 1;
        visibility: visible;
    }

    .service-prices__btn {
        position: static;
        width: 100%;
        max-width: 320px;
        opacity: 1;
        visibility: visible;
    }

    .service-indications__box {
        min-height: auto;
        padding: 24px;
    }

    .service-indications__title {
        font-size: 32px;
    }

    .service-faq__layout {
        grid-template-columns: 1fr;
    }

    .service-faq__media {
        order: -1;
        min-height: 280px;
    }

    .service-faq__media img {
        min-height: 280px;
    }

    .service-cta__banner {
        height: auto;
        min-height: 375px;
        padding: 30px 24px;
    }

    .service-cta__content {
        height: auto;
    }

    .service-cta .cta-title {
        margin-bottom: 16px;
        font-size: 32px;
    }

    .service-cta .cta-subtitle {
        margin-bottom: 24px;
        font-size: 24px;
        line-height: 1.2;
    }

    .service-cta .form-flex {
        flex-direction: column;
        gap: 16px;
    }

    .service-cta .form-item,
    .service-cta .form-action {
        flex: 1 1 100%;
        width: 100%;
    }

    .service-cta .form-policy {
        margin-top: 16px;
    }

    .home-hero__slide,
    .home-hero__content {
        min-height: 520px;
    }

    .home-hero__content {
        padding: 100px 15px 60px;
    }

    .cards-more__btn {
        width: 100%;
        max-width: 320px;
    }

    .site-footer__bottom-socials {
        flex-wrap: wrap;
        justify-content: center;
    }
    .home-team-slider__track .team-card {
        flex: unset;
        width: 100%;
    }
    .case-single__block-title {
        font-size: 18px;
        margin-bottom: 10px;
    }
    .case-single__block-text {
        font-size: 16px;
        line-height: 1.4;
    }
    .service-single__text {
        font-size: 16px;
        line-height: 1.5;
    }
    .service-single__price-new {
        font-size: 20px;
    }
    .service-single__price-old {
        font-size: 16px;
    }
    .service-single__price-label {
        font-size: 16px;
    }
    .service-single__price {
        gap: 4px;
        margin-top: 10px;
    }
    .service-prices__right {
        flex-direction: column;
        gap: 10px;
    }
    .service-single__content {
        font-size: 16px;
        line-height: 1.5;
    }
    .service-indications__text {
        font-size: 16px;
        line-height: 1.5;
    }
    .service-indications__title {
        font-size: 28px;
        margin-bottom: 20px;
    }
    .single-services .team-single__reviews {
        padding-top: 50px;
    }
    .service-cta .cta-subtitle {
        font-size: 16px;
    }
    .service-cta .cta-title {
        font-size: 26px;
    }
    .service-cta .form-policy .wpcf7-list-item-label {
        font-size: 14px;
    }
    .single-services .service-faq {
        margin-top: 0px;
    }
    .service-faq__toggle {
        font-size: 17px;
    }
    .service-faq__toggle {
        padding: 8px 10px 8px 20px;
    }
    .home-about__content {
        padding: 20px;
    }
    .service-card__link {
        min-height: 180px;
    }
	.site-header__phone {
  		font-size: 16px;
	}

}
