@media (max-width: 1199px) {
    .header-middle-row {
        gap: 25px;
    }

    .site-identity {
        flex-basis: 220px;
    }

    .site-identity .custom-logo {
        max-width: 220px;
    }

    .header-middle-info {
        gap: 25px;
    }

    .header-middle-actions {
        gap: 12px;
    }

    .nav-menu {
        gap: 36px;
    }
}

@media (max-width: 991px) {
    .site-header {
        z-index: 1200;
        padding-top: 68px;
    }

    .header-top-bar {
        min-height: 52px;
    }

    .top-bar-contacts {
        gap: 15px;
    }

    .top-bar-contacts .top-contact-item:nth-child(2),
    .top-bar-contacts .top-contact-item:nth-child(3),
    .header-yandex-badge,
    .header-middle-info {
        display: none;
    }

    .header-main-middle,
    .header-middle-row {
        min-height: 210px;
    }

    .site-identity {
        flex: 1;
    }

    .site-identity .custom-logo {
        max-width: 210px;
        max-height: 65px;
    }

    .header-bottom-nav,
    .navigation-row {
        min-height: 0;
    }

    .header-bottom-nav {
        display: block;
        height: 0;
        background: transparent;
    }

    .navigation-row,
    #site-navigation {
        width: 0;
        height: 0;
    }

    .nav-button {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 42px;
        padding: 0 12px;
        border: 1px solid rgba(255, 255, 255, .65);
        background: transparent;
        color: #fff;
        cursor: pointer;
    }

    .primary-menu-panel {
        position: fixed;
        top: 68px;
        left: 0;
        z-index: 1001;
        width: min(360px, 88vw);
        height: calc(100vh - 68px);
        height: calc(100dvh - 68px);
        padding: 76px 20px 30px;
        overflow-y: auto;
        background: linear-gradient(180deg, #fff8fb 0, #fff 150px);
        box-shadow: 10px 0 40px rgba(0, 0, 0, .2);
        transform: translateX(-105%);
        transition: transform .28s ease;
    }

    .primary-menu-panel.is-active {
        transform: translateX(0);
    }

    .primary-menu-panel .close-nav {
        position: absolute;
        top: 17px;
        right: 18px;
        display: grid;
        width: 38px;
        height: 38px;
        place-items: center;
        padding: 0;
        border: 1px solid #eadde1;
        border-radius: 50%;
        background: #fff;
        color: #5a4e52;
        font-size: 28px;
        line-height: 1;
        cursor: pointer;
    }

    .primary-menu-panel__title {
        position: absolute;
        top: 25px;
        left: 20px;
        display: block;
        color: #332d2f;
        font-size: 20px;
        font-weight: 600;
    }

    .menu-overlay {
        position: fixed;
        top: 68px;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1000;
        display: none;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(20, 15, 17, .62);
    }

    .menu-overlay.is-active {
        display: block;
    }

    .nav-menu {
        display: block;
    }

    .nav-menu > li {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin-bottom: 7px;
        border: 1px solid #eee4e7;
        border-radius: 10px;
        background: rgba(255, 255, 255, .92);
        overflow: hidden;
    }

    .nav-menu > li > a {
        flex: 1;
        min-height: 54px;
        padding: 0 15px;
        color: #3e3739;
        font-size: 15px;
        font-weight: 500;
    }

    .nav-menu > li.current-menu-item {
        border-color: #e5b5c1;
        background: #fff4f7;
    }

    .submenu-toggle {
        position: relative;
        display: grid;
        width: 38px;
        height: 38px;
        place-items: center;
        margin-right: 8px;
        border: 0;
        border-radius: 8px;
        background: #fff6f8;
        color: #555;
    }

    .submenu-toggle::before {
        width: 8px;
        height: 8px;
        transform: translateY(-2px) rotate(45deg);
        border-right: 1px solid currentColor;
        border-bottom: 1px solid currentColor;
        content: '';
        transition: transform .2s ease;
    }

    .submenu-toggle[aria-expanded="true"]::before {
        transform: translateY(2px) rotate(225deg);
    }

    .nav-menu li.menu-item-has-children > a::after {
        display: none;
    }

    .nav-menu .sub-menu {
        position: static;
        display: none !important;
        width: 100%;
        padding: 0 0 10px 16px;
        border: 0;
        box-shadow: none;
    }

    .nav-menu .submenu-open > .sub-menu {
        display: block !important;
    }

    .site-header {
        display: flex;
        flex-direction: column;
    }

    .mobile-header-bar {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1200;
        display: grid;
        order: -2;
        grid-template-columns: 44px minmax(112px, 1fr) 44px 44px;
        align-items: center;
        gap: 8px;
        min-height: 68px;
        padding: 0 14px;
        border-bottom: 1px solid rgba(179, 96, 117, .12);
        background: #ffd8ef;
        box-shadow: 0 5px 18px rgba(86, 52, 65, .09);
    }

    body.admin-bar .mobile-header-bar {
        top: 46px;
    }

    body.admin-bar .primary-menu-panel,
    body.admin-bar .menu-overlay {
        top: 114px;
    }

    body.admin-bar .primary-menu-panel {
        height: calc(100vh - 114px);
        height: calc(100dvh - 114px);
    }

    .mobile-header-bar .nav-button {
        display: grid;
        width: 44px;
        height: 44px;
        min-height: 44px;
        place-items: center;
        padding: 0;
        border: 0;
        background: transparent;
        color: #5c5054;
        font-size: 25px;
        cursor: pointer;
    }

    .mobile-header-bar .nav-button .cf-icon,
    .mobile-header-action .cf-icon {
        width: 24px;
        height: 24px;
        stroke-width: 2;
    }

    .mobile-site-identity,
    .mobile-site-identity .custom-logo-link {
        display: flex;
        min-width: 0;
        align-items: center;
        justify-content: center;
    }

    .mobile-site-identity .custom-logo {
        width: auto;
        max-width: 142px;
        max-height: 34px;
        object-fit: contain;
    }

    .mobile-header-action {
        display: grid;
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
        place-items: center;
        padding: 0;
        border: 0;
        background: transparent;
        color: #5c5054;
        font-size: 25px;
        cursor: pointer;
    }

    .mobile-header-bar .site-header-cart {
        justify-self: end;
    }

    .mobile-header-bar .colorflowers-clean-cart-link {
        width: 44px;
        min-width: 44px;
        min-height: 44px;
        justify-content: center;
        color: #5c5054;
    }

    .header-top-bar {
        display: none;
    }

    .mobile-header-bar .cart-icon-wrap,
    .mobile-header-bar .icon-cart-svg {
        width: 23px;
        height: 23px;
    }

    .mobile-header-bar .cart-count {
        top: -8px;
        right: -11px;
        width: 19px;
        height: 19px;
        border: 2px solid #ffd8ef;
        font-size: 10px;
    }

    .mobile-header-bar .header-mini-cart-dropdown {
        z-index: 1501;
        width: min(440px, calc(100vw - 18px));
        height: 100vh;
        height: 100dvh;
        padding-right: 20px;
        padding-bottom: max(20px, env(safe-area-inset-bottom));
        padding-left: 20px;
    }

    body.admin-bar .mobile-header-bar .header-mini-cart-dropdown {
        top: 46px;
        height: calc(100vh - 46px);
        height: calc(100dvh - 46px);
    }

    .mobile-header-bar button:focus-visible,
    .mobile-header-bar a:focus-visible {
        border-radius: 8px;
        outline: 2px solid #9c5165;
        outline-offset: 1px;
    }

    .site-header--internal .header-main-middle {
        display: none;
    }

    .header-main-middle,
    .header-middle-row {
        min-height: 760px;
    }

    .site-header--home .header-main-middle {
        background-image:
            linear-gradient(rgba(38, 16, 24, .16), rgba(38, 16, 24, .16)),
            url('/wp-content/uploads/2020/06/dostavka-czvetov-po-moskve-na-8-marta-2.webp');
        background-position: center center;
        background-size: cover;
    }

    .header-middle-row {
        position: relative;
        width: min(calc(100% - 40px), var(--cf-container));
        padding-right: 0;
        padding-left: 0;
        margin-right: auto;
        margin-left: auto;
    }

    .site-identity {
        position: absolute;
        top: 196px;
        left: 10px;
        width: calc(100% - 20px);
        text-align: center;
    }

    .site-identity .custom-logo {
        width: 315px;
        max-width: 100%;
        max-height: 79px;
        margin: 0 auto;
    }

    .header-middle-info {
        position: absolute;
        top: 384px;
        left: 20px;
        display: flex;
        width: calc(100% - 40px);
        flex-direction: column;
        gap: 86px;
    }

    .header-middle-info .info-block {
        width: 100%;
        max-width: none;
        justify-content: center;
    }

    .header-middle-actions {
        display: none;
    }

    .why-us-yandex-grid {
        grid-template-columns: 1fr;
    }

    .customer-gallery-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .blog-cards-grid,
    .footer-grid-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .container {
        width: min(calc(100% - 40px), var(--cf-container));
    }

    .top-bar-right,
    .cart-total-price {
        display: none;
    }

    .top-bar-row {
        justify-content: center;
    }

    .woocommerce ul.products,
    .woocommerce-page ul.products,
    ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px 20px;
    }

    .catalog-toolbar-row,
    .catalog-loop-controls {
        align-items: flex-start;
        flex-direction: column;
    }

    .catalog-toolbar-row {
        gap: 14px;
    }

    .catalog-toolbar-left {
        width: 100%;
        flex: none;
    }

    .native-catalog-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .catalog-quick-filters {
        display: none;
    }

    .catalog-active-filters {
        align-items: flex-start;
        padding: 12px;
        flex-direction: column;
        gap: 9px;
        margin-bottom: 14px;
    }

    .catalog-active-filters__list {
        width: 100%;
        max-width: 100%;
        flex: none;
        flex-wrap: nowrap;
        gap: 7px;
        padding-bottom: 3px;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .catalog-active-filter {
        min-height: 36px;
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .catalog-active-filters__reset {
        margin-top: 1px;
    }

    .catalog-toolbar-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: stretch;
        gap: 10px;
        min-height: 0;
        padding: 12px;
        margin-bottom: 24px;
        border-radius: 10px;
        background: #fffafa;
        box-shadow: 0 8px 24px rgba(74, 52, 58, .055);
    }

    .catalog-toolbar-left {
        grid-row: 1;
        grid-column: 1;
        width: auto;
    }

    .catalog-filter-toggle {
        width: 100%;
        min-height: 48px;
        justify-content: center;
        border-radius: 7px;
        font-weight: 500;
    }

    .catalog-loop-controls {
        display: contents;
    }

    .catalog-loop-controls .woocommerce-ordering {
        grid-row: 1;
        grid-column: 2;
        width: 100%;
    }

    .catalog-loop-controls .woocommerce-ordering select {
        width: 100%;
        min-width: 0;
        height: 48px;
        border-radius: 7px;
    }

    .catalog-loop-controls .woocommerce-result-count {
        grid-row: 2;
        grid-column: 1 / -1;
        padding: 4px 2px 0;
        font-size: 12px;
        line-height: 1.4;
        white-space: normal;
    }

    .catalog-filter-panel {
        top: 68px;
        width: min(390px, calc(100vw - 18px));
        height: calc(100vh - 68px);
        height: calc(100dvh - 68px);
    }

    body.admin-bar .catalog-filter-panel {
        top: 114px;
        height: calc(100vh - 114px);
        height: calc(100dvh - 114px);
    }

    .catalog-filter-panel__head {
        min-height: 64px;
        padding: 12px 18px;
    }

    .catalog-filter-panel__content {
        padding: 10px 18px 28px;
    }

    .native-catalog-filters--panel details {
        border-bottom-color: #eadfe2;
    }

    .native-catalog-filters--panel summary {
        height: 58px;
        padding: 0 4px;
        font-size: 15px;
    }

    .native-catalog-filters--panel details[open] > summary {
        background: transparent;
        color: #a24e63;
    }

    .native-catalog-filters--panel details > div {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4px;
        max-height: 300px;
        padding: 2px 0 14px;
    }

    .native-catalog-filters--panel a {
        padding: 10px 12px;
        border-radius: 7px;
        background: #faf7f8;
        line-height: 1.35;
    }

    .catalog-loop-controls {
        width: 100%;
        gap: 10px;
    }

    .product-card-info {
        min-height: 130px;
        padding: 10px 15px;
    }

    .product-card-title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        min-height: 42px;
        line-height: 18.2px;
        text-overflow: clip;
        white-space: normal;
    }

    .product-card-actions {
        position: static;
        height: 35px;
        padding: 0;
        opacity: 1;
        transform: none;
    }

    .product-card-item:hover .product-card-info {
        transform: none;
    }

    .product-card-item:hover,
    .product-card-item:focus-within {
        box-shadow: none;
    }

    h1.home-products-title {
        font-size: 29px;
    }

    .home-products-subtitle,
    .home-products-title,
    .section-title,
    .block-title {
        font-size: 25px;
    }

    .teddy-banner-overlay {
        min-height: 365px;
    }

    .teddy-subtitle {
        font-size: 15px;
    }

    .teddy-title {
        font-size: 34px;
    }

    .teddy-desc {
        font-size: 15px;
    }

    .features-grid {
        gap: 28px 12px;
    }

    .customer-gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 5px;
    }

    .customer-gallery-lightbox {
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        gap: 4px;
        padding-right: 8px;
        padding-left: 8px;
    }

    .customer-lightbox-nav {
        width: 42px;
        font-size: 44px;
    }

    .yandex-reviews-widget-wrap iframe {
        height: 500px;
    }

    .blog-cards-grid,
    .footer-grid-row {
        grid-template-columns: 1fr;
    }

    .footer-promo-row,
    .bottom-bar-row {
        align-items: flex-start;
        flex-direction: column;
    }

    #cookie-notice {
        right: 12px;
        bottom: 82px;
        left: 12px;
        width: auto;
        padding: 16px;
        transform: none;
        border-radius: 18px;
    }

    .cookie-notice-inner {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    .cookie-text {
        font-size: 14px;
        line-height: 1.5;
        text-align: left;
    }

    #cookie-accept {
        width: 100%;
        min-width: 0;
        padding: 14px 20px;
    }

    .header-search-modal {
        padding: 8vh 14px 24px;
    }

    .search-modal-content {
        padding: 32px 20px 22px;
        border-radius: 16px;
    }

    .search-modal-close-button {
        top: 12px;
        right: 12px;
    }

    .search-modal-heading {
        padding-right: 38px;
        margin-bottom: 20px;
    }

    .search-modal-heading strong {
        font-size: 23px;
    }

    .search-modal-heading p {
        font-size: 12px;
    }

    .header-search-modal .search-form {
        grid-template-columns: 1fr;
    }

    .search-submit-btn {
        width: 100%;
        min-width: 0;
    }

    .mobile-bottom-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 999;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        min-height: 64px;
        border-top: 1px solid var(--cf-border);
        background: #fff;
        box-shadow: 0 -5px 18px rgba(0, 0, 0, .08);
        transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    }

    body.mini-cart-open .mobile-bottom-nav,
    body.mobile-menu-open .mobile-bottom-nav,
    body.catalog-filters-open .mobile-bottom-nav {
        opacity: 0;
        transform: translateY(100%);
        visibility: hidden;
        pointer-events: none;
    }

    .mobile-bottom-nav a,
    .mobile-bottom-nav button {
        display: flex;
        min-width: 0;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 3px;
        padding: 7px 4px;
        border: 0;
        background: transparent;
        color: #666;
        font-size: 11px;
    }

    .mobile-bottom-nav .cf-icon {
        width: 22px;
        height: 22px;
    }

    .mobile-account-link {
        position: relative;
    }

    .mobile-account-link.is-authenticated {
        color: #397926;
        font-weight: 600;
    }

    .mobile-account-link.is-authenticated::after {
        position: absolute;
        top: 7px;
        left: calc(50% + 7px);
        width: 7px;
        height: 7px;
        border: 2px solid #fff;
        border-radius: 50%;
        background: var(--cf-green);
        content: '';
    }

    .mobile-account-link.is-current {
        background: #fff4f7;
        color: #9c5165;
    }

    h1.home-products-title {
        font-size: 14px;
        line-height: 1;
    }

    .home-products-subtitle {
        font-size: 20px;
        line-height: 1;
    }

    .home-products-title,
    .section-title {
        font-size: 36px;
        line-height: 1;
    }

    .front-why-us-yandex-section .block-title {
        font-size: 30px;
    }

    .teddy-subtitle {
        font-size: 18px;
    }

    .teddy-title {
        font-size: 25px;
    }

    .teddy-desc {
        font-size: 14px;
    }
}

@media (max-width: 420px) {
    .header-middle-actions > a:first-child,
    .header-middle-actions > a:nth-of-type(2) {
        display: none;
    }

    .product-card-title {
        font-size: 14px !important;
    }

    .product-card-actions .button {
        font-size: 12px !important;
    }

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

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
