@charset "UTF-8";
/**
 * Flora Modern Header Styles
 * Version: 1.0.0
 * Modern, responsive header with animations
 */

/* ===== VARIABLES ===== */
:root {
    --flora-primary: #2E7D32;
    --flora-primary-light: #4caf50;
    --flora-primary-dark: #1b5e20;
    --flora-secondary: #ff5722;
    --flora-text: #333333;
    --flora-text-light: #666666;
    --flora-border: #e8f5e9;
    --flora-bg: #ffffff;
    --flora-bg-light: #f8f8f8;
    --flora-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    --flora-shadow-lg: 0 4px 25px rgba(0, 0, 0, 0.12);
    --flora-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --flora-header-height: 140px;
}

/* ===== GENERAL RESET ===== */
.flora-modern-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Hide header on scroll down */
.flora-modern-header.header-hidden {
    transform: translateY(-100%);
}

/* Ensure parent containers don't restrict header width */
#page,
.hfeed.site,
.site {
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
}

/* Full width header backgrounds - override any restrictions including homepage */
.flora-topbar,
.flora-header-main,
.flora-navigation {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

.flora-modern-header * {
    box-sizing: border-box;
}

/* ===== CONTAINER ===== */
/* Header container - more specific to override homepage styles */
.flora-modern-header .flora-container {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    width: 100%;
    box-sizing: border-box;
}

/* General fallback */
.flora-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== TOP BAR ===== */
.flora-topbar {
    background: linear-gradient(135deg, var(--flora-primary-dark) 0%, var(--flora-primary) 100%);
    color: #ffffff;
    font-size: 13px;
    padding: 8px 0;
    border-bottom: 2px solid var(--flora-primary-light);
}

/* Пустой контейнер на обычных страницах — заполняется только suborder-JS, когда у клиента активный дозаказ. */
.flora-topbar:empty {
    display: none !important;
}

.flora-topbar-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.flora-topbar-left,
.flora-topbar-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.flora-topbar-link {
    color: #ffffff;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--flora-transition);
    padding: 4px 0;
}

.flora-topbar-link:hover {
    color: #c8e6c9;
    transform: translateY(-1px);
}

.flora-topbar-link i {
    font-size: 14px;
    opacity: 0.9;
}

.flora-topbar-text {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.flora-topbar-text i {
    color: var(--flora-secondary);
    animation: truck-bounce 2s ease-in-out infinite;
}

/* Customer quota/progress: visible in the header from the same server-side
   source used by the ФЛОРА Эксперт account screen. */
.flora-topbar--expert {
    padding-block: 7px;
}

.flora-header-expert-progress {
    display: grid;
    grid-template-columns: auto auto minmax(100px, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    line-height: 1.2;
}

.flora-header-expert-progress:hover,
.flora-header-expert-progress:focus-visible {
    color: #fff;
    text-decoration: none;
}

.flora-header-expert-brand,
.flora-header-expert-value,
.flora-header-expert-note {
    white-space: nowrap;
}

.flora-header-expert-brand {
    font-weight: 800;
    letter-spacing: 0.01em;
}

.flora-header-expert-value {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.flora-header-expert-note {
    color: #e8f5e9;
}

.flora-header-expert-bar {
    display: block;
    min-width: 0;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.25);
}

.flora-header-expert-bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #ffcc80;
}

.flora-header-expert-progress:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
    border-radius: 3px;
}

@keyframes truck-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

/* ===== MAIN HEADER ===== */
.flora-header-main {
    background: var(--flora-bg);
    padding: 20px 0;
    box-shadow: var(--flora-shadow);
    transition: var(--flora-transition);
}

.flora-header-main.scrolled {
    padding: 8px 0;
    box-shadow: var(--flora-shadow-lg);
}

/* ===== COMPACT HEADER — при прокрутке ===== */
/* Скрываем зелёную верхнюю полосу */
.flora-modern-header.header-compact .flora-topbar {
    max-height: 0;
    padding: 0;
    overflow: hidden;
    border-bottom-width: 0;
    opacity: 0;
    transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.2s ease;
}

.flora-topbar {
    max-height: 60px;
    transition: max-height 0.3s ease, padding 0.3s ease, opacity 0.2s ease;
}

/* Скрываем подзаголовок "Индустрия вегетативных растений" */
.flora-modern-header.header-compact .flora-logo-subtitle {
    display: none;
}

/* Уменьшаем лого ещё компактнее */
.flora-modern-header.header-compact .flora-logo-img {
    width: 40px;
    height: 40px;
    border-width: 2px;
}

.flora-modern-header.header-compact .flora-logo-title {
    font-size: 18px;
}

.flora-modern-header.header-compact .flora-logo {
    gap: 10px;
}

/* Prevent content overlap on homepage */
body.home .site-content,
body.page .site-content {
    margin-top: 0;
}

.flora-header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

/* ===== LOGO ===== */
.flora-logo-wrapper {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

/* Мобильный текст скрыт по умолчанию (показывается только на мобиле) */
.flora-logo-mobile-text {
    display: none;
    text-decoration: none;
    color: var(--flora-primary);
}

.flora-logo {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    color: var(--flora-text);
    transition: var(--flora-transition);
}

.flora-logo:hover {
    transform: scale(1.02);
}

.flora-logo-img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--flora-primary);
    box-shadow: 0 4px 15px rgba(46, 125, 50, 0.2);
    transition: var(--flora-transition);
}

.flora-logo:hover .flora-logo-img {
    border-color: var(--flora-primary-light);
    box-shadow: 0 6px 20px rgba(76, 175, 80, 0.3);
    transform: rotate(5deg);
}

.flora-header-main.scrolled .flora-logo-img {
    width: 50px;
    height: 50px;
}

.flora-logo-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.flora-logo-title {
    font-size: 26px;
    font-weight: 700;
    color: var(--flora-primary);
    line-height: 1.2;
    background: linear-gradient(135deg, var(--flora-primary) 0%, var(--flora-primary-light) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.flora-header-main.scrolled .flora-logo-title {
    font-size: 20px;
}

.flora-logo-subtitle {
    font-size: 11px;
    color: var(--flora-text-light);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
}

/* ===== SEARCH BAR ===== */
.flora-search-wrapper {
    flex: 1;
    max-width: 600px;
    position: relative;
}

.flora-search-form {
    position: relative;
}

.flora-search-input-wrapper {
    display: flex;
    align-items: center;
    background: var(--flora-bg-light);
    border: 2px solid var(--flora-border);
    border-radius: 50px;
    padding: 0 10px;
    transition: var(--flora-transition);
    height: 52px;
}

.flora-search-input-wrapper:focus-within {
    background: #ffffff;
    border-color: var(--flora-primary);
    box-shadow: 0 4px 20px rgba(76, 175, 80, 0.15);
}

.flora-search-icon {
    color: var(--flora-text-light);
    font-size: 18px;
    margin: 0 12px;
    transition: var(--flora-transition);
}

.flora-search-input-wrapper:focus-within .flora-search-icon {
    color: var(--flora-primary);
}

.flora-search-input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 0 15px;
    font-size: 15px;
    color: var(--flora-text);
    outline: none;
}

/* Storefront задаёт всем текстовым инпутам серый фон и inset-тень селектором
   input[type="text"], … (специфичность выше, чем у .flora-search-input), из-за чего
   внутри скруглённой «пилюли» был виден прямоугольник другого оттенка с тёмной
   линией по верхней кромке. Перебиваем адресно, без !important. */
.flora-search-form input.flora-search-input {
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

.flora-search-input::placeholder {
    color: var(--flora-text-light);
}

.flora-search-submit {
    background: var(--flora-primary);
    color: #ffffff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--flora-transition);
}

.flora-search-submit:hover {
    background: var(--flora-primary-light);
    transform: scale(1.1) rotate(45deg);
}

/* Live Search - Now handled by Flora Search plugin */
/* Autocomplete appears as #flora-autocomplete-results */
/* Styling is in /wp-content/plugins/flora-search/assets/css/flora-search.css */

/* ===== HEADER ACTIONS ===== */
.flora-header-action.flora-header-inline-link {
    display: none;
}

.flora-header-actions {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}

.flora-header-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    color: var(--flora-text);
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 12px;
    transition: var(--flora-transition);
    position: relative;
}

.flora-header-action:hover {
    background: var(--flora-bg-light);
    color: var(--flora-primary);
    transform: translateY(-2px);
}

.flora-header-action i {
    font-size: 24px;
}

.flora-action-label {
    font-size: 12px;
    font-weight: 500;
}

/* Cart Count Badge */
.flora-cart-count {
    position: absolute;
    top: 4px;
    right: 6px;
    background: var(--flora-secondary);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 10px;
    min-width: 20px;
    text-align: center;
    animation: cart-badge-pulse 1.5s ease-in-out infinite;
    transition: all 0.3s ease;
}

.flora-cart-count.empty {
    /* было #fff на #ccc — контраст 1.6:1 при норме 4.5:1. #333 на #e0e0e0 даёт ~9.6:1. */
    background: #e0e0e0;
    color: var(--flora-text);
    animation: none;
}

.flora-cart-count.updated {
    animation: cart-badge-pop 0.6s ease;
}

@keyframes cart-badge-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

@keyframes cart-badge-pop {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

/* Mini Cart Dropdown */
.flora-cart-wrapper {
    position: relative;
    display: inline-block;
    width: auto;
}


.flora-mini-cart-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 15px;
    background: #ffffff;
    border: none;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.1);
    min-width: 420px;
    max-width: 480px;
    max-height: calc(100vh - 200px);
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* ВАЖНО: без этого скрытые элементы перехватывают клики! */
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 998;
}

/* Невидимый мост между иконкой и меню - решает проблему с hover */
.flora-mini-cart-dropdown::after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    height: 15px;
    background: transparent;
}

/* Показываем dropdown ТОЛЬКО через класс .keep-open (управление через JS клик) */
.flora-mini-cart-dropdown.keep-open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

/* Добавляем визуальный индикатор что иконка кликабельна */
.flora-cart-trigger {
    cursor: pointer;
    transition: transform 0.2s ease;
}

.flora-cart-trigger:hover {
    transform: scale(1.05);
}

.flora-cart-trigger:active {
    transform: scale(0.95);
}

/* Mini Cart Header */
.flora-mini-cart-dropdown::before {
    content: '🛒 Корзина';
    display: block;
    padding: 20px 24px 16px;
    font-size: 18px;
    font-weight: 700;
    color: var(--flora-text);
    border-bottom: 2px solid #f5f5f5;
}

/* Mini Cart Content Area */
.flora-mini-cart-dropdown .widget_shopping_cart_content {
    padding: 0;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* Mini Cart Product List */
.flora-mini-cart-dropdown ul.woocommerce-mini-cart {
    margin: 0;
    padding: 16px 24px;
    list-style: none;
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

/* Custom Scrollbar */
.flora-mini-cart-dropdown ul.woocommerce-mini-cart::-webkit-scrollbar {
    width: 6px;
}

.flora-mini-cart-dropdown ul.woocommerce-mini-cart::-webkit-scrollbar-track {
    background: #f5f5f5;
    border-radius: 3px;
}

.flora-mini-cart-dropdown ul.woocommerce-mini-cart::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}

.flora-mini-cart-dropdown ul.woocommerce-mini-cart::-webkit-scrollbar-thumb:hover {
    background: #999;
}

/* Individual Cart Item */
.flora-mini-cart-dropdown .woocommerce-mini-cart-item {
    background: #f9f9f9;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 12px;
    position: relative;
    transition: all 0.3s ease;
    border: 1px solid transparent;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.flora-mini-cart-dropdown .woocommerce-mini-cart-item:hover {
    background: #fff;
    border-color: var(--flora-primary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.flora-mini-cart-dropdown .woocommerce-mini-cart-item:last-child {
    margin-bottom: 0;
}

/* Remove Button */
.flora-mini-cart-dropdown .remove_from_cart_button {
    position: absolute !important;
    top: 8px;
    right: 8px;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 50% !important;
    color: #999 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    z-index: 10;
    margin: 0 !important;
}

.flora-mini-cart-dropdown .remove_from_cart_button:hover {
    background: #ff4757 !important;
    border-color: #ff4757 !important;
    color: #fff !important;
    transform: rotate(90deg);
}

/* Product Image - квадратное и слева */
.flora-mini-cart-dropdown .woocommerce-mini-cart-item img {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
    min-height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
    object-fit: cover !important;
    border-radius: 10px;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
    margin: 0 !important;
    display: block !important;

    /* Антимерцание: фон пока изображение загружается */
    background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%) !important;
    background-size: cover !important;

    /* Оптимизация рендеринга */
    will-change: auto;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);

    /* Убираем transitions для предотвращения мерцания */
    transition: none !important;
    animation: none !important;

    /* Отключаем lazy loading эффекты */
    opacity: 1 !important;
    visibility: visible !important;
}

.flora-mini-cart-dropdown .woocommerce-mini-cart-item > a {
    flex-shrink: 0;
}

/* Product Details Container */
.flora-mini-cart-dropdown .flora-mini-cart-item-details {
    flex: 1;
    min-width: 0;
    padding-right: 36px;
}

/* Product Title */
.flora-mini-cart-dropdown .flora-mini-cart-item-name {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--flora-text);
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.flora-mini-cart-dropdown .flora-mini-cart-item-name:hover {
    color: var(--flora-primary);
}

/* Product SKU - старый стиль (deprecated) */
.flora-mini-cart-dropdown .flora-mini-cart-item-sku {
    font-size: 12px;
    color: #999;
    margin-bottom: 6px;
}

/* Стили для плашек артикула и даты - универсальные */
.flora-info-sku {
    font-size: 11px;
    color: #64748b;
    background: #f1f5f9;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
    display: inline-block;
}

.flora-info-preorder {
    font-size: 11px;
    font-weight: 600;
    color: #ea580c;
    background: #fff7ed;
    padding: 2px 8px;
    border-radius: 4px;
    border: 1px solid #fed7aa;
    display: inline-block;
}

.flora-product-info-line {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 6px 0;
}

/* Quantity and Price - красивая плашка */
.flora-mini-cart-dropdown .quantity {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #475569;
    margin-top: 8px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    padding: 6px 12px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.flora-mini-cart-dropdown .quantity .woocommerce-Price-amount {
    font-weight: 700;
    color: var(--flora-primary);
    font-size: 14px;
}

/* Mini Cart Total - фиксированный внизу */
.flora-mini-cart-dropdown .woocommerce-mini-cart__total {
    padding: 16px 24px;
    border-top: 2px solid #f5f5f5;
    background: linear-gradient(to bottom, #f9f9f9, #ffffff);
    margin: 0;
    flex-shrink: 0;
}

.flora-mini-cart-dropdown .woocommerce-mini-cart__total strong {
    font-size: 16px;
    color: var(--flora-text);
}

.flora-mini-cart-dropdown .woocommerce-mini-cart__total .amount {
    font-size: 20px;
    font-weight: 700;
    color: var(--flora-primary);
}

/* Mini Cart Buttons - фиксированные внизу */
.flora-mini-cart-dropdown .woocommerce-mini-cart__buttons {
    padding: 0 24px 20px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}

.flora-mini-cart-dropdown .woocommerce-mini-cart__buttons a {
    display: block;
    text-align: center;
    padding: 14px 24px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
}

/* View Cart Button */
.flora-mini-cart-dropdown .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout) {
    background: linear-gradient(135deg, #f5f5f5, #e8e8e8);
    color: var(--flora-text);
    border: 1px solid #ddd;
}

.flora-mini-cart-dropdown .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):hover {
    background: linear-gradient(135deg, #e8e8e8, #ddd);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Checkout Button */
.flora-mini-cart-dropdown .woocommerce-mini-cart__buttons .button.checkout {
    background: linear-gradient(135deg, var(--flora-primary), #6a994e);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(106, 153, 78, 0.3);
}

.flora-mini-cart-dropdown .woocommerce-mini-cart__buttons .button.checkout:hover {
    background: linear-gradient(135deg, #6a994e, var(--flora-primary));
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(106, 153, 78, 0.4);
}

/* Empty Cart Message */
.flora-mini-cart-dropdown .woocommerce-mini-cart__empty-message {
    padding: 40px 24px;
    text-align: center;
    color: #999;
    font-size: 15px;
}

/* Preorder Badge in Cart */
.flora-mini-cart-dropdown .preorder-label {
    display: inline-block;
    background: linear-gradient(135deg, #ff6b6b, #ee5a6f);
    color: #fff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    margin-top: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Loading State */
.flora-mini-cart-dropdown.loading::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    z-index: 100;
}

/* Mobile Toggle */
.flora-mobile-toggle {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 10px;
}

/* Мобильная иконка поиска — по умолчанию скрыта, показывается на ≤768px */
.flora-search-trigger-mobile {
    display: none !important;
}

/* Overlay поиска — по умолчанию скрыт */
.flora-mobile-search-overlay {
    display: none;
}

.flora-hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 26px;
}

.flora-hamburger span {
    display: block;
    width: 100%;
    height: 3px;
    background: var(--flora-primary);
    border-radius: 2px;
    transition: var(--flora-transition);
}

.flora-mobile-toggle.active .flora-hamburger span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
}

.flora-mobile-toggle.active .flora-hamburger span:nth-child(2) {
    opacity: 0;
}

.flora-mobile-toggle.active .flora-hamburger span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}

/* ===== NAVIGATION v2 ===== */
.flora-navigation {
    background: #ffffff;
    border-bottom: 1px solid #e8e8e8;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    padding: 0;
    position: relative;
    z-index: 100;
}

/* Main flex container */
.flora-nav-v2 {
    display: flex;
    align-items: center;
    gap: 0;
    min-height: 50px;
}

/* Vertical separator */
.fnv2-sep {
    width: 1px;
    height: 24px;
    background: #e0e0e0;
    flex-shrink: 0;
    margin: 0 4px;
}

/* ---- Zone 1: Catalog trigger + mega-menu ---- */
.fnv2-catalog-wrap {
    position: relative;
    flex-shrink: 0;
}

.fnv2-catalog-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    margin: 6px 0;
    background: linear-gradient(135deg, var(--flora-primary) 0%, var(--flora-primary-light) 100%);
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.fnv2-catalog-trigger:hover {
    box-shadow: 0 4px 16px rgba(46, 125, 50, 0.35);
    transform: translateY(-1px);
    color: #fff;
}

/* Inline-стиль триггера для соседей по nav (Прайс-лист/Хиты/Лидеры/Подбор/Агро):
   тот же helper, но визуально ведёт себя как обычная nav-ссылка вместо большой
   зелёной кнопки. Двойная специфичность (.fnv2-catalog-trigger.fnv2-catalog-trigger--inline)
   побеждает базовые .fnv2-catalog-trigger правила без !important. */
.fnv2-catalog-trigger.fnv2-catalog-trigger--inline {
    position: relative;
    background: transparent;
    color: var(--flora-text);
    padding: 12px 14px;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    gap: 7px;
}

/* signature: подчёркивание, растущее из центра (hover + открытое меню) */
.fnv2-catalog-trigger.fnv2-catalog-trigger--inline::after {
    content: '';
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 6px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--flora-primary), #7cb342);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.fnv2-catalog-trigger.fnv2-catalog-trigger--inline:hover {
    background: rgba(46, 125, 50, 0.06);
    color: var(--flora-primary);
    box-shadow: none;
    transform: none;
}

.fnv2-catalog-trigger.fnv2-catalog-trigger--inline:hover::after,
.fnv2-catalog-wrap.fnv2-open .fnv2-catalog-trigger--inline::after {
    transform: scaleX(1);
}

.fnv2-catalog-wrap.fnv2-open .fnv2-catalog-trigger--inline {
    color: var(--flora-primary);
    background: rgba(46, 125, 50, 0.06);
}

.fnv2-catalog-trigger.fnv2-catalog-trigger--inline .fnv2-chevron {
    margin-left: 2px;
    color: var(--flora-text-light, #777);
    opacity: 0.7;
}

.fnv2-catalog-trigger.fnv2-catalog-trigger--inline:hover .fnv2-chevron {
    color: var(--flora-primary);
    opacity: 1;
}

/* Колонка-«растяжка» — для одно-колоночных дропдаунов (Прайс-лист и т.п.) */
.fnv2-mega-col--full {
    grid-column: 1 / -1;
    padding-right: 0;
}

/* «Сегменты прайса» — список крупных строк с иконкой+подзаголовком+счётчиком */
.fnv2-mn-segments {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fnv2-mn-segments li {
    margin: 0;
}

.fnv2-mn-segments li a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    margin: 0 -14px;
    color: var(--flora-text);
    text-decoration: none;
    border-radius: 10px;
    transition: background 0.15s ease;
}

.fnv2-mn-segments li a:hover {
    background: #f0f7f0;
    padding-left: 16px;
}

.fnv2-mn-seg-icon {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f0f7f0 0%, #e8f5e9 100%);
    color: var(--flora-primary);
    border-radius: 10px;
    font-size: 15px;
    transition: transform 0.15s ease, background 0.15s ease;
}

.fnv2-mn-segments li a:hover .fnv2-mn-seg-icon {
    transform: scale(1.05);
    background: linear-gradient(135deg, #e8f5e9 0%, #d4edda 100%);
}

.fnv2-mn-seg-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.fnv2-mn-seg-body strong {
    font-size: 14px;
    font-weight: 600;
    color: var(--flora-text);
}

.fnv2-mn-seg-body small {
    font-size: 12px;
    color: var(--flora-text-light);
    line-height: 1.3;
}

.fnv2-mn-seg-arrow {
    flex-shrink: 0;
    font-size: 12px;
    color: var(--flora-text-light);
    opacity: 0.5;
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.fnv2-mn-segments li a:hover .fnv2-mn-seg-arrow {
    opacity: 1;
    transform: translateX(2px);
    color: var(--flora-primary);
}

/* Список статей агробиблиотеки в dropdown — миниатюра + название + дата */
.fnv2-mn-articles {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fnv2-mn-articles li {
    margin: 0;
}

.fnv2-mn-articles li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    margin: 0 -10px;
    color: var(--flora-text);
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.15s ease;
}

.fnv2-mn-articles li a:hover {
    background: #f0f7f0;
    color: var(--flora-primary);
}

.fnv2-mn-article-thumb {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: hidden;
    background: #f0f7f0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--flora-primary);
    font-size: 18px;
}

.fnv2-mn-article-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.fnv2-mn-article-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.fnv2-mn-article-body strong {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fnv2-mn-article-body small {
    font-size: 11px;
    color: var(--flora-text-light);
}

/* «Хиты» — миникарточки 2×3 (фото 60 + название 2-line + цена + units) */
.fnv2-mn-hits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-bottom: 8px;
}

.fnv2-mn-hit {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px;
    margin: 0;
    text-decoration: none;
    color: var(--flora-text);
    border-radius: 10px;
    transition: background 0.15s ease, transform 0.15s ease;
    min-width: 0;
}

.fnv2-mn-hit:hover {
    background: #f0f7f0;
    color: var(--flora-text);
    transform: translateY(-1px);
}

.fnv2-mn-hit-thumb {
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f5f5;
    position: relative;
}

/* Бейдж места #1, #2, #3 поверх миниатюры (top-left). */
.fnv2-mn-hit-rank {
    position: absolute;
    top: -4px;
    left: -4px;
    z-index: 2;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: var(--flora-text);
    font-size: 11px;
    font-weight: 800;
    border-radius: 11px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    line-height: 1;
}

/* Top-3 — золото / серебро / бронза */
.fnv2-mn-hit--rank-1 .fnv2-mn-hit-rank {
    background: linear-gradient(135deg, #ffd54f 0%, #ffb300 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(255, 179, 0, 0.4);
}

.fnv2-mn-hit--rank-2 .fnv2-mn-hit-rank {
    background: linear-gradient(135deg, #e0e0e0 0%, #9e9e9e 100%);
    color: #fff;
    box-shadow: 0 2px 6px rgba(158, 158, 158, 0.3);
}

.fnv2-mn-hit--rank-3 .fnv2-mn-hit-rank {
    background: linear-gradient(135deg, #d4a574 0%, #a16d3b 100%);
    color: #fff;
    box-shadow: 0 2px 6px rgba(161, 109, 59, 0.3);
}

/* Лидеры — золотой fixed для всех (это lifetime, не сравнение) */
.fnv2-mn-hit-rank--gold {
    background: linear-gradient(135deg, #ffd54f 0%, #ffb300 100%) !important;
    color: #fff !important;
}

.fnv2-mn-hit-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.fnv2-mn-hit-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fnv2-mn-hit-body strong {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fnv2-mn-hit-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    font-size: 11px;
    margin-top: auto;
}

.fnv2-mn-hit-price {
    color: var(--flora-primary);
    font-weight: 700;
    white-space: nowrap;
}

.fnv2-mn-hit-units {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #f57c00;
    font-weight: 600;
    white-space: nowrap;
}

.fnv2-mn-hit-units i {
    font-size: 10px;
}

.fnv2-mn-hit-units--gold {
    color: #c98e0a;
}

/* «Подбор» — карточки готовых пресетов (auto-fit grid, иконка-эмодзи + название + описание) */
.fnv2-mn-projects {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.fnv2-mn-projects--auto {
    /* для пресетов (5 шт) layout более компактный */
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
}

.fnv2-mn-project {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 12px;
    background: linear-gradient(145deg, #f0f7f0 0%, #e8f5e9 100%);
    border-radius: 12px;
    text-decoration: none;
    color: var(--flora-text);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    text-align: left;
}

.fnv2-mn-project:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(46, 125, 50, 0.15);
    color: var(--flora-text);
}

.fnv2-mn-project-thumb {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--flora-primary);
    font-size: 18px;
}

.fnv2-mn-project-emoji {
    font-size: 22px;
    line-height: 1;
}

.fnv2-mn-project strong {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

.fnv2-mn-project small {
    font-size: 11px;
    color: var(--flora-text-light);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fnv2-mn-features {
    list-style: none;
    margin: 0 0 12px 0;
    padding: 0;
}

.fnv2-mn-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    font-size: 13px;
    color: var(--flora-text);
}

.fnv2-mn-features li i {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f0f7f0;
    color: var(--flora-primary);
    border-radius: 50%;
    font-size: 9px;
}

/* Чипсы быстрых фильтров (Прайс-лист → Топ культур) */
.fnv2-mn-quickfilters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 8px 0 12px;
}

.fnv2-mn-quickfilters-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--flora-text-light);
    margin-right: 4px;
}

.fnv2-mn-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px 4px 6px;
    background: #f3f5f3;
    color: var(--flora-text);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    border-radius: 999px;
    transition: background 0.15s ease, color 0.15s ease;
}

/* Если у chip есть миниатюра, делаем компактнее padding */
.fnv2-mn-chip--with-thumb {
    padding: 3px 12px 3px 3px;
}

.fnv2-mn-chip-thumb {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.fnv2-mn-chip-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.fnv2-mn-chip-label {
    line-height: 1;
}

.fnv2-mn-chip:hover {
    background: var(--flora-primary);
    color: #fff;
}

.fnv2-mn-chip-cnt {
    font-size: 11px;
    font-weight: 700;
    opacity: 0.7;
    flex-shrink: 0;
    white-space: nowrap;
}

.fnv2-mn-chip:hover .fnv2-mn-chip-cnt {
    opacity: 1;
}

/* Подзаголовок-разделитель внутри одной колонки */
.fnv2-mn-subheading {
    font-size: 12px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--flora-text-light) !important;
    margin: 16px 0 10px !important;
    padding-bottom: 6px !important;
    border-bottom: 1px solid var(--flora-border) !important;
}

/* Color plates для Подбора */
.fnv2-mn-colors {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 6px;
    margin-bottom: 12px;
}

.fnv2-mn-color {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: #fafafa;
    color: var(--flora-text);
    text-decoration: none;
    border-radius: 8px;
    font-size: 13px;
    transition: background 0.15s ease, transform 0.15s ease;
    border: 1px solid #eee;
}

.fnv2-mn-color:hover {
    background: #f0f7f0;
    color: var(--flora-text);
    transform: translateY(-1px);
}

.fnv2-mn-color-swatch {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background-size: cover;
    background-position: center;
}

.fnv2-mn-color--white .fnv2-mn-color-swatch {
    border-color: #ddd;
    box-shadow: inset 0 0 0 1px #ccc;
}

.fnv2-mn-color-label {
    flex: 1 1 auto;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fnv2-mn-color-count {
    font-size: 11px;
    color: var(--flora-text-light);
    font-weight: 600;
}

.fnv2-chevron {
    font-size: 11px;
    transition: transform 0.25s ease;
}

/* chevron rotation handled by .fnv2-open class only */

/* Mega-menu */
/* Мега-панель. Ширина ограничена viewport'ом (max-width: 100vw - 32px), а контент
   внутри сжимается (min-width:0 на .fnv2-mega-content) — поэтому панель и её содержимое
   физически не могут выйти за край экрана. JS только добивает горизонтальную позицию
   через --fnv2-mn-shift (см. catalogMegaMenu в modern-header-v2.js): единый источник
   left без анимации по X; transform отвечает только за раскрытие по Y. */
.fnv2-mega {
    position: absolute;
    top: 100%;
    left: var(--fnv2-mn-shift, 0px);
    width: max(700px, 56vw);
    max-width: min(920px, calc(100vw - 32px));
    background: #fff;
    border-radius: 0 0 18px 18px;
    box-shadow:
        inset 0 2px 0 0 var(--flora-primary),
        0 18px 50px -12px rgba(27, 94, 32, 0.22),
        0 0 0 1px rgba(46, 125, 50, 0.06);
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 1000;
    pointer-events: none;
    max-height: var(--fnv2-mn-max-height, calc(100dvh - 180px));
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* Мост между триггером и мега-меню (чтобы hover не прерывался) */
.fnv2-catalog-wrap::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 8px;
    display: none;
}

/* hover bridge now handled by .fnv2-open::after below */

.fnv2-catalog-wrap.fnv2-open .fnv2-mega {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.fnv2-catalog-wrap.fnv2-open .fnv2-chevron {
    transform: rotate(180deg);
}

.fnv2-catalog-wrap.fnv2-open::after {
    display: block;
}

/* Оболочка панели: гибкая зона контента + фикс-рейл промо.
   .fnv2-mega-content { min-width:0 } — критично: разрешает колонкам сжиматься и
   переносить текст вместо раздувания grid'а за пределы панели (баг агро-промо). */
.fnv2-mega-inner {
    display: flex;
    align-items: stretch;
    gap: 0;
    padding: 28px 32px;
}

.fnv2-mega-content {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

/* Каталог — три равные колонки */
.fnv2-mega-content--catalog {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Агробиблиотека — статьи шире, категории уже */
.fnv2-mega-content--agro {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
}

.fnv2-mega-col {
    padding-right: 24px;
    min-width: 0;
}

.fnv2-mega-col h4 {
    position: relative;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6b8e6f;
    margin: 0 0 14px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--flora-border);
}

/* короткий «листовой» штрих-акцент под eyebrow-заголовком */
.fnv2-mega-col h4::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 28px;
    height: 2px;
    background: linear-gradient(90deg, var(--flora-primary), #7cb342);
    border-radius: 2px;
}

/* спейсер-заголовок (выравнивает 2-ю колонку каталога) — высота есть, метки/штриха нет */
.fnv2-h4-spacer {
    color: transparent;
    border-bottom-color: transparent;
}
.fnv2-h4-spacer::after {
    display: none;
}

/* Общая базовая линия колонок «Каталога»: «Популярные растения» переносится на
   две строки, а спейсер соседней колонки — однострочный, из-за чего 2-я и 3-я
   колонки начинались на 18px выше первой. Фиксируем line-height и высоту в две
   строки — обе ветки дают одинаковый заголовок при любой длине названия.
   Только десктопная панель: в мобильном аккордеоне (.flora-mn-acc-inner) колонки
   идут друг под другом и лишняя высота там была бы пустотой. */
.fnv2-mega-content.fnv2-mega-content--catalog .fnv2-mega-col h4 {
    line-height: 1.6;
    min-height: calc(3.2em + 11px);
}

.fnv2-mega-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fnv2-mega-col ul li {
    margin: 0;
}

.fnv2-mega-col ul li a {
    display: block;
    padding: 6px 10px;
    margin: 0 -10px;
    color: var(--flora-text);
    text-decoration: none;
    font-size: 14px;
    border-radius: 8px;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.fnv2-mega-col ul li a:hover {
    background: rgba(46, 125, 50, 0.07);
    color: var(--flora-primary);
    box-shadow: inset 3px 0 0 0 var(--flora-primary);
}

/* Счётчик товаров в мега-меню */
.fnv2-mega-cnt {
    display: inline-block;
    margin-left: auto;
    padding: 1px 7px;
    background: var(--flora-border);
    color: var(--flora-text-light);
    font-size: 11px;
    font-weight: 600;
    border-radius: 10px;
    min-width: 24px;
    text-align: center;
    /* Родитель — flex; без этих двух строк бейдж сжимался и число ломалось
       по слогам: «287» → «28»/«7», «1 880» → «1 88»/«0». */
    flex-shrink: 0;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.fnv2-mega-col ul li a:hover .fnv2-mega-cnt {
    background: var(--flora-primary);
    color: #fff;
}

.fnv2-mega-col ul li a {
    display: flex;
    align-items: center;
}

.fnv2-mega-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding: 0;
    color: var(--flora-primary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: gap 0.2s ease;
}

.fnv2-mega-all:hover {
    gap: 10px;
    color: var(--flora-primary-dark);
}

.fnv2-mega-all i {
    font-size: 11px;
}

/* Нижняя строка прайса: переход в таблицу и скачивание файла — соседи,
   а не зелёная колонка на всю высоту панели. */
.fnv2-mn-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 8px;
}

.fnv2-mn-actions .fnv2-mega-all {
    margin-top: 0;
    flex: 0 0 auto;
}

.fnv2-mn-export {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    max-width: 320px;
    margin-left: auto;
    padding: 8px 12px 8px 8px;
    border: 1px solid rgba(46, 125, 50, 0.28);
    border-radius: 12px;
    background: #f4faf4;
    color: var(--flora-text);
    text-decoration: none;
    text-align: left;
}

.fnv2-mn-export:hover,
.fnv2-mn-export:focus-visible {
    background: #e8f5e9;
    border-color: rgba(46, 125, 50, 0.45);
    color: var(--flora-text);
}

.fnv2-mn-export > i {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #1b5e20;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

.fnv2-mn-export-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.fnv2-mn-export-text strong {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--flora-primary-dark);
}

.fnv2-mn-export-text small {
    font-size: 11px;
    line-height: 1.3;
    color: var(--flora-text-light);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (min-width: 993px) {
    .fnv2-mega-content--selector .fnv2-mn-projects--auto {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* Широкая панель без рейла иначе ставит 5 узких плашек, и «Фиолетовый» режется. */
    .fnv2-mega-content--selector .fnv2-mn-colors {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Agro mega menu: compact media rows that work for both SVG icons and AI photo covers. */
.fnv2-mega-content--agro {
    grid-template-columns: minmax(390px, 1.5fr) minmax(200px, 0.75fr);
    column-gap: 26px;
}

.fnv2-mega-col--agro-articles {
    padding-right: 0;
}

.fnv2-mega-content--agro .fnv2-mn-articles {
    display: grid;
    gap: 6px;
}

.fnv2-mega-content--agro .fnv2-mn-articles li a {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 6px 8px;
    margin: 0;
    border-radius: 10px;
    box-shadow: none;
    white-space: normal;
}

.fnv2-mega-content--agro .fnv2-mn-articles li a:hover {
    background: rgba(46, 125, 50, 0.07);
    box-shadow: none;
    color: var(--flora-primary);
}

.fnv2-mega-content--agro .fnv2-mn-article-thumb {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: 1px solid rgba(46, 125, 50, 0.10);
    background: linear-gradient(135deg, #f2f8f0 0%, #e8f3e7 100%);
    box-shadow: 0 4px 12px rgba(27, 94, 32, 0.08);
}

.fnv2-mega-content--agro .fnv2-mn-article-thumb--svg {
    padding: 5px;
}

.fnv2-mega-content--agro .fnv2-mn-article-thumb--photo {
    padding: 0;
}

.fnv2-mega-content--agro .fnv2-mn-article-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: inherit;
}

.fnv2-mega-content--agro .fnv2-mn-article-thumb--svg img {
    object-fit: contain;
}

.fnv2-mega-content--agro .fnv2-mn-article-thumb--photo img {
    object-fit: cover;
}

.fnv2-mega-content--agro .fnv2-mn-article-body {
    min-width: 0;
    white-space: normal;
}

.fnv2-mega-content--agro .fnv2-mn-article-body strong {
    display: -webkit-box;
    font-size: 13px;
    line-height: 1.28;
    max-height: 2.56em;
    color: var(--flora-text);
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fnv2-mega-content--agro .fnv2-mn-articles li a:hover .fnv2-mn-article-body strong {
    color: var(--flora-primary);
}

.fnv2-mega-content--agro .fnv2-mega-col--agro-categories ul li a {
    min-height: 34px;
    padding: 7px 10px;
}

/* Promo rail — фирменная зелёная карточка (signature-элемент меню) */
.fnv2-mega-promo {
    flex: 0 0 240px;
    padding-left: 24px;
    display: flex;
    align-items: stretch;
}

.fnv2-promo-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, #2f7d33 0%, #1b5e20 100%);
    border-radius: 16px;
    padding: 26px 22px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 1;
    box-shadow: 0 10px 24px -10px rgba(27, 94, 32, 0.5);
}

/* тихая световая фактура в углу карточки */
.fnv2-promo-card::after {
    content: '';
    position: absolute;
    right: -34px;
    top: -34px;
    width: 130px;
    height: 130px;
    background: radial-gradient(closest-side, rgba(255, 255, 255, 0.12), transparent);
    pointer-events: none;
}

.fnv2-promo-card > i {
    font-size: 26px;
    color: #d9f2dc;
}

.fnv2-promo-card h4 {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.fnv2-promo-card p {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
    line-height: 1.45;
}

.fnv2-promo-btn {
    display: inline-block;
    margin-top: 6px;
    padding: 9px 18px;
    background: #fff;
    color: var(--flora-primary-dark);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    border-radius: 9px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
}

.fnv2-promo-btn:hover {
    background: #fff;
    color: var(--flora-primary-dark);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
    transform: translateY(-1px);
}

/* Promo variant bar — узкая полоса ПОД контентом панели (агро-«Библиотекарь»).
   Зачем: контент-грид агро имеет жёсткие минимумы (390+200+26 gap = 616px), и
   вместе с рейлом 240px+24 это больше ширины панели (700–920px) — колонка
   категорий уезжала ПОД карточку, подписи перекрывались; сама карточка при
   align-items:stretch вырастала на высоту пяти статей. Полоса внизу отдаёт
   колонкам всю ширину (616+64 паддингов = 680 ≤ 700 при любой ширине панели),
   а промо сжимается до двух строк текста + кнопки. Та же фирменная зелёная
   карточка (градиент/фактура/белая кнопка) — просто горизонтальная и низкая. */
.fnv2-mega-inner--stack {
    flex-direction: column;
}

/* Дубль класса намеренно: перебивает по специфичности `.fnv2-mega-promo`
   из @media ≤1200px ниже (flex-basis:200px в column-флексе стал бы ВЫСОТОЙ
   полосы, padding-left:18px — лишним отступом). */
.fnv2-mega-promo.fnv2-mega-promo--bar {
    flex: 0 0 auto;
    padding-left: 0;
    margin-top: 20px;
}

.fnv2-mega-promo--bar .fnv2-promo-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 14px;
    row-gap: 1px;
    padding: 11px 16px;
    border-radius: 14px;
    text-align: left;
}

.fnv2-mega-promo--bar .fnv2-promo-card > i {
    grid-row: 1 / 3;
    font-size: 20px;
}

.fnv2-mega-promo--bar .fnv2-promo-card h4 {
    grid-column: 2;
    font-size: 13.5px;
    line-height: 1.3;
}

.fnv2-mega-promo--bar .fnv2-promo-card p {
    grid-column: 2;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fnv2-mega-promo--bar .fnv2-promo-btn {
    grid-column: 3;
    grid-row: 1 / 3;
    margin-top: 0;
    padding: 8px 16px;
}

/* ---- Zone 2: Primary nav ---- */
.fnv2-primary {
    display: flex;
    align-items: center;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.fnv2-primary li a {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 12px 14px;
    color: var(--flora-text);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.fnv2-primary li a:hover {
    background: #f0f7f0;
    color: var(--flora-primary);
}

/* Цветные иконки */
.fnv2-ic-green { color: var(--flora-primary); }
.fnv2-ic-orange { color: #ef6c00; }
.fnv2-ic-gold { color: #f9a825; }
.fnv2-ic-violet { color: #7b1fa2; }

.fnv2-primary li a:hover .fnv2-ic-green,
.fnv2-primary li a:hover .fnv2-ic-orange,
.fnv2-primary li a:hover .fnv2-ic-gold,
.fnv2-primary li a:hover .fnv2-ic-violet {
    color: var(--flora-primary);
}

/* ---- Zone 3: Secondary nav ---- */
.fnv2-secondary {
    display: flex;
    align-items: center;
    gap: 2px;
    list-style: none;
    margin: 0 0 0 auto;
    padding: 0;
}

.fnv2-secondary li a {
    display: flex;
    align-items: center;
    gap: 6px;
    /* 8px вместо 12px: expanded-режим (все четыре подписи) не влезал в контейнер
       1360px ровно на 7px после того, как плагин листа ожидания добавил в
       .fnv2-primary пункт шириной 144px. Экономия 32px на четырёх ссылках
       возвращает подписи «Доставка/Правила/Контакты/О компании» на ≥1400px. */
    padding: 10px 8px;
    color: var(--flora-text-light);
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    border-radius: 6px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.fnv2-secondary li a i {
    font-size: 13px;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

.fnv2-secondary li a:hover {
    color: var(--flora-primary);
    background: #fafafa;
}

.fnv2-secondary li a:hover i {
    opacity: 1;
}

/* ===== MOBILE MENU ===== */
/* Бургер-меню живёт до 992px включительно (совпадает с .flora-mobile-toggle и
   скрытием десктоп-nav). Раньше меню гасилось уже с 769px → в 769–992px бургер
   открывался «в пустоту». */
@media (min-width: 993px) {
    .flora-mobile-menu-overlay,
    .flora-mobile-menu {
        display: none !important;
    }
}

/* F085 (UI-QA 20.08.2026): страница выдачи поиска — standalone-шаблон со своей
   компактной шапкой, мега-навигации на ней нет. Там бургер остаётся единственным
   входом в разделы на ЛЮБОЙ ширине, поэтому панель меню не гасим по body-классу
   .flora-search-independent (его ставит фильтр body_class в functions.php).
   На остальных страницах правило выше работает как раньше. */
@media (min-width: 993px) {
    .flora-search-independent .flora-mobile-menu-overlay {
        display: block !important;
    }

    .flora-search-independent .flora-mobile-menu:not(.active) {
        display: none !important;
    }

    .flora-search-independent .flora-mobile-menu.active {
        display: flex !important;
    }
}

/* Слайд-панель корзины — отдельный ≤768px-компонент (на 769–992px корзина = обычная ссылка) */
@media (min-width: 769px) {
    .flora-mobile-cart-overlay,
    .flora-mobile-cart-panel {
        display: none !important;
    }
}

.flora-mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    visibility: hidden;
    transition: var(--flora-transition);
    z-index: 100000;
    -webkit-tap-highlight-color: transparent;
}

.flora-mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

.flora-mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    width: 320px;
    max-width: 85%;
    height: 100vh;
    height: 100dvh; /* Dynamic viewport height for mobile */
    background: #ffffff;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.2);
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.3s ease-out, visibility 0s linear 0.3s;
    z-index: 100001;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
}

@media (max-width: 992px) {
    .flora-header-expert-progress {
        grid-template-columns: auto auto minmax(70px, 1fr);
    }

    .flora-header-expert-note {
        display: none;
    }

    .flora-mobile-menu:not(.active) {
        display: none !important;
    }

    .flora-mobile-menu.active {
        display: flex !important;
    }
}

.flora-mobile-menu.active {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
    transition: transform 0.3s ease-out;
}

.flora-mobile-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    min-height: 60px;
    background: var(--flora-primary);
    color: #ffffff;
    position: sticky;
    top: 0;
    z-index: 10;
    flex-shrink: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.flora-mobile-menu-title {
    font-size: 18px;
    font-weight: 700;
}

.flora-mobile-close {
    background: rgba(255, 255, 255, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
    padding: 8px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: var(--flora-transition);
    -webkit-tap-highlight-color: transparent;
}

.flora-mobile-close:hover,
.flora-mobile-close:active {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
    transform: rotate(90deg);
}

.flora-mobile-menu-content {
    padding: 20px;
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.flora-mobile-menu-icon-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.flora-mobile-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.flora-mobile-nav li {
    margin-bottom: 5px;
}

.flora-mobile-nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 15px;
    color: var(--flora-text);
    text-decoration: none;
    font-size: 15px;
    border-radius: 8px;
    transition: var(--flora-transition);
}

.flora-mobile-nav a > i:not(.flora-mn-acc-arrow) {
    width: 20px;
    font-size: 16px;
    color: var(--flora-primary);
    transition: var(--flora-transition);
}

.flora-mobile-nav-icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    color: var(--flora-primary);
    overflow: visible;
    transition: transform 0.16s ease, color 0.16s ease;
}

.flora-mobile-nav-icon use {
    transform: scale(1.18);
    transform-origin: center;
    transform-box: fill-box;
}

.flora-mobile-nav a:hover,
.flora-mobile-nav .current-menu-item > a {
    background: var(--flora-bg-light);
    color: var(--flora-primary);
    padding-left: 20px;
}

.flora-mobile-nav a.flora-mobile-nav-feature {
    align-items: center;
    gap: 10px;
    margin: 1px 0 7px;
    border: 1px solid rgba(46, 125, 50, 0.14);
    background: #f3faf3;
}

.flora-mobile-nav a.flora-mobile-nav-feature:hover {
    background: #ecf7ec;
}

.flora-mobile-nav-label {
    flex: 1 1 auto;
    min-width: 0;
}

.flora-mobile-nav-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 18px;
    padding: 2px 7px;
    border-radius: 999px;
    border: 1px solid rgba(46, 125, 50, 0.18);
    background: #ffffff;
    color: var(--flora-primary);
    font-size: 10px;
    font-weight: 760;
    line-height: 1;
    letter-spacing: 0;
}

.flora-mobile-nav a:hover > i:not(.flora-mn-acc-arrow),
.flora-mobile-nav a:hover .flora-mobile-nav-icon {
    transform: scale(1.12);
}

.flora-mobile-nav-divider {
    height: 1px;
    background: #e0e0e0;
    margin: 8px 15px;
}

/* ===== MOBILE ACCORDION (≤992px) — инлайн-подменю в бургер-меню =====
   Надпись пункта (.flora-mn-acc-link) = ссылка-переход в раздел; индикатор-шеврон
   (.flora-mn-acc-toggle) РАСКРЫВАЕТ И СВОРАЧИВАЕТ подменю. Логика — mobileAccordion в JS. */
.flora-mn-acc {
    margin-bottom: 5px;
}

/* Шапка пункта: ссылка-переход (растягивается) + кнопка-индикатор справа */
.flora-mn-acc-head {
    display: flex;
    align-items: stretch;
    gap: 4px;
}

.flora-mn-acc-link {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-start;
}

/* Ссылка не «прыгает» вправо на hover/focus — рядом статичный индикатор */
.flora-mobile-nav .flora-mn-acc-link:hover,
.flora-mobile-nav .flora-mn-acc-link:focus {
    padding-left: 15px;
}

.flora-mn-acc-label {
    flex: 1 1 auto;
    min-width: 0;
}

/* Индикатор-кнопка сворачивания/разворачивания (тап-таргет ≥44px) */
.flora-mn-acc-toggle {
    flex: 0 0 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 8px;
    color: var(--flora-text-light);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.flora-mn-acc-toggle:hover,
.flora-mn-acc-toggle:focus-visible {
    background: var(--flora-bg-light);
    color: var(--flora-primary);
}

.flora-mn-acc-arrow {
    font-size: 15px;
    transition: transform 0.2s ease;
}

/* Открытое состояние: подсветка надписи и индикатора, поворот шеврона */
.flora-mn-acc--open > .flora-mn-acc-head .flora-mn-acc-link,
.flora-mn-acc--open > .flora-mn-acc-head .flora-mn-acc-link .flora-mobile-nav-icon,
.flora-mn-acc--open > .flora-mn-acc-head .flora-mn-acc-toggle {
    color: var(--flora-primary);
}

.flora-mn-acc--open > .flora-mn-acc-head .flora-mn-acc-arrow {
    transform: rotate(180deg);
}

/* Панель подменю — по умолчанию скрыта; slideToggle (JS) управляет display */
.flora-mn-acc-panel {
    display: none;
    padding: 2px 2px 8px;
}

.flora-mn-acc-inner {
    display: block;
    background: #f7faf6;
    border: 1px solid rgba(46, 125, 50, 0.10);
    border-radius: 12px;
    padding: 14px 14px 6px;
}

.flora-mn-acc-inner .fnv2-mega-col {
    padding-right: 0;
    margin: 0 0 14px;
}

.flora-mn-acc-inner .fnv2-mega-col:last-child {
    margin-bottom: 4px;
}

.flora-mn-acc-inner .fnv2-mega-col h4 {
    margin-bottom: 10px;
}

/* Тап-таргет: базовые 6px по вертикали давали строке культуры 35px при минимуме 44px,
   и соседние строки шли вплотную. Вертикальное место в аккордеоне есть — он прокручивается. */
.flora-mn-acc-inner .fnv2-mega-col ul li a {
    padding: 11px 10px;
}

/* Превью-карточки хитов/лидеров в узком аккордеоне — в ОДНУ колонку: в 2 колонки на
   ~119px название «съедалось» (показывалось «Агр о…»), а цена налезала. В одну колонку
   карточка получает всю ширину — и фото, и название, и цена читаются. */
.flora-mn-acc-inner .fnv2-mn-hits {
    grid-template-columns: 1fr;
    gap: 6px;
}

.flora-mn-acc-inner .fnv2-mn-hit {
    padding: 8px 10px;
}

.flora-mn-acc-inner .fnv2-mn-hit-body strong {
    font-size: 13px;
}

/* Промо внутри аккордеона — та же низкая полоса, что на десктопе.
   Рейл на ширине ящика снова вырастал в карточку ~220px. */
.flora-mn-acc-panel .fnv2-mega-promo {
    flex: none;
    width: auto;
    padding: 12px 2px 2px;
    border: 0;
}

.flora-mn-acc-panel .fnv2-promo-card {
    width: 100%;
}

.flora-mn-acc-panel .fnv2-mega-promo--bar {
    padding: 10px 2px 2px;
}

.flora-mn-acc-panel .fnv2-mega-promo--bar .fnv2-promo-card {
    width: 100%;
    padding: 10px 12px;
    column-gap: 10px;
}

.flora-mn-acc-panel .fnv2-mega-promo--bar .fnv2-promo-btn {
    padding: 8px 12px;
}

.flora-mn-acc-inner .fnv2-mn-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

.flora-mn-acc-inner .fnv2-mn-export {
    max-width: none;
    margin-left: 0;
}

/* В ящике две колонки по 120px режут «Зелёный» до «З…». Одна строка на цвет. */
.flora-mn-acc-inner .fnv2-mn-colors {
    grid-template-columns: 1fr;
}

/* ===== MOBILE CART PANEL ===== */
.flora-mobile-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    visibility: hidden;
    transition: var(--flora-transition);
    z-index: 100000;
    -webkit-tap-highlight-color: transparent;
}

.flora-mobile-cart-overlay.active {
    opacity: 1;
    visibility: visible;
}

.flora-mobile-cart-panel {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    width: 380px;
    max-width: 90%;
    height: 100vh;
    height: 100dvh;
    background: #ffffff;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.2);
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.3s ease-out, visibility 0s linear 0.3s;
    z-index: 100001;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

@media (max-width: 768px) {
    .flora-mobile-cart-panel:not(.active) {
        display: none !important;
    }

    .flora-mobile-cart-panel.active {
        display: flex !important;
    }
}

.flora-mobile-cart-panel.active {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
    transition: transform 0.3s ease-out;
}

/* Mobile Cart Header */
.flora-mobile-cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    background: linear-gradient(135deg, var(--flora-primary-dark) 0%, var(--flora-primary) 100%);
    color: #ffffff;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.flora-mobile-cart-title {
    font-size: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 10px;
}

.flora-mobile-cart-close {
    background: rgba(255, 255, 255, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
    padding: 8px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    transition: var(--flora-transition);
    -webkit-tap-highlight-color: transparent;
}

.flora-mobile-cart-close:hover,
.flora-mobile-cart-close:active {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
    transform: rotate(90deg);
}

/* Mobile Cart Content */
.flora-mobile-cart-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #f9f9f9;
}

.flora-mobile-cart-content .widget_shopping_cart_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Mobile Cart Product List */
.flora-mobile-cart-content ul.woocommerce-mini-cart {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 16px;
    margin: 0;
    list-style: none;
}

/* Mobile Cart Items - Improved Layout */
.flora-mobile-cart-content .woocommerce-mini-cart-item {
    background: #ffffff;
    border-radius: 12px;
    padding: 10px;
    margin-bottom: 10px;
    position: relative;
    border: 1px solid #e8e8e8;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    transition: all 0.3s ease;
}

.flora-mobile-cart-content .woocommerce-mini-cart-item:last-child {
    margin-bottom: 0;
}

.flora-mobile-cart-content .woocommerce-mini-cart-item:active {
    transform: scale(0.98);
}

/* Mobile Cart Remove Button */
.flora-mobile-cart-content .remove_from_cart_button {
    position: absolute !important;
    top: 8px;
    right: 8px;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 50% !important;
    color: #999 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    z-index: 10;
    margin: 0 !important;
}

.flora-mobile-cart-content .remove_from_cart_button:active {
    background: #ff4757 !important;
    border-color: #ff4757 !important;
    color: #fff !important;
    transform: scale(0.9);
}

/* Mobile Cart Product Image Container */
.flora-mobile-cart-content .woocommerce-mini-cart-item > a {
    flex-shrink: 0;
    display: block;
    width: 80px;
    height: 80px;
    overflow: hidden;
    border-radius: 10px;
    background: #f5f5f5;
}

/* Mobile Cart Product Image */
.flora-mobile-cart-content .woocommerce-mini-cart-item img {
    width: 100% !important;
    height: 100% !important;
    min-width: 80px !important;
    min-height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
    object-fit: cover !important;
    border-radius: 8px;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Mobile Cart Product Details */
.flora-mobile-cart-content .flora-mini-cart-item-details {
    flex: 1;
    min-width: 0;
    padding-right: 40px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.flora-mobile-cart-content .flora-mini-cart-item-name {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--flora-text);
    text-decoration: none;
    margin-bottom: 2px;
    line-height: 1.3;
}

/* Старый стиль SKU (deprecated) */
.flora-mobile-cart-content .flora-mini-cart-item-sku {
    font-size: 11px;
    color: #999;
    margin-bottom: 2px;
}

/* Компактная информационная строка: Артикул + Дата выдачи */
.flora-mobile-cart-content .flora-product-info-line {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 6px 0;
}

.flora-mobile-cart-content .flora-info-sku {
    font-size: 10px;
    color: #64748b;
    background: #f1f5f9;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
    display: inline-block;
}

.flora-mobile-cart-content .flora-info-preorder {
    font-size: 10px;
    font-weight: 600;
    color: #ea580c;
    background: #fff7ed;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #fed7aa;
    display: inline-block;
}

/* Quantity and Price - красивая плашка */
.flora-mobile-cart-content .quantity {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #475569;
    margin-top: 6px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    padding: 4px 10px;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    white-space: nowrap;
}

.flora-mobile-cart-content .quantity .woocommerce-Price-amount {
    font-weight: 700;
    color: var(--flora-primary);
    font-size: 13px;
}

/* Mobile Cart Total */
.flora-mobile-cart-content .woocommerce-mini-cart__total {
    padding: 20px;
    background: linear-gradient(to top, #ffffff, #f9f9f9);
    border-top: 2px solid #e8e8e8;
    flex-shrink: 0;
    margin: 0;
}

.flora-mobile-cart-content .woocommerce-mini-cart__total strong {
    font-size: 16px;
    color: var(--flora-text);
}

.flora-mobile-cart-content .woocommerce-mini-cart__total .amount {
    font-size: 22px;
    font-weight: 700;
    color: var(--flora-primary);
}

/* Mobile Cart Buttons */
.flora-mobile-cart-content .woocommerce-mini-cart__buttons {
    padding: 0 20px 24px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-shrink: 0;
    background: #ffffff;
}

.flora-mobile-cart-content .woocommerce-mini-cart__buttons a {
    display: block;
    text-align: center;
    padding: 16px 24px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
}

/* Mobile Cart View Button */
.flora-mobile-cart-content .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout) {
    background: linear-gradient(135deg, #f5f5f5, #e8e8e8);
    color: var(--flora-text);
    border: 2px solid #ddd;
}

.flora-mobile-cart-content .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):active {
    transform: scale(0.96);
    background: linear-gradient(135deg, #e8e8e8, #ddd);
}

/* Mobile Cart Checkout Button */
.flora-mobile-cart-content .woocommerce-mini-cart__buttons .button.checkout {
    background: linear-gradient(135deg, var(--flora-primary), #6a994e);
    color: #ffffff;
    box-shadow: 0 6px 20px rgba(106, 153, 78, 0.3);
}

.flora-mobile-cart-content .woocommerce-mini-cart__buttons .button.checkout:active {
    transform: scale(0.96);
    box-shadow: 0 4px 15px rgba(106, 153, 78, 0.4);
}

/* Mobile Cart Empty State */
.flora-mobile-cart-content .woocommerce-mini-cart__empty-message {
    padding: 60px 24px;
    text-align: center;
    color: #999;
    font-size: 15px;
    line-height: 1.6;
}

/* Mobile Cart Preorder Badge */
.flora-mobile-cart-content .preorder-label {
    display: inline-block;
    background: linear-gradient(135deg, #ff6b6b, #ee5a6f);
    color: #fff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700;
    margin-top: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Override WooCommerce default mini-cart styles for mobile */
.flora-mobile-cart-content .woocommerce-mini-cart-item a:first-child {
    float: none !important;
    margin-right: 0 !important;
}

.flora-mobile-cart-content .woocommerce-mini-cart-item a img {
    float: none !important;
    margin: 0 !important;
}

/* Ensure proper text wrapping */
.flora-mobile-cart-content .woocommerce-mini-cart-item .quantity {
    /* Already styled above - using flex for inline layout */
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1200px) {
    .flora-logo-title {
        font-size: 22px;
    }

    .flora-search-wrapper {
        max-width: 450px;
    }

    /* Nav v2: compact on 1200px */
    .fnv2-catalog-trigger {
        padding: 9px 16px;
        font-size: 14px;
    }
    .fnv2-primary li a {
        padding: 10px 10px;
        font-size: 13px;
        gap: 5px;
    }
    .fnv2-secondary li a {
        padding: 8px 8px;
        font-size: 12px;
    }
    .fnv2-secondary li a span {
        display: none;
    }
    .fnv2-mega-inner {
        padding: 22px 24px;
    }
    .fnv2-mega-promo {
        flex-basis: 200px;
        padding-left: 18px;
    }
    /* Каталог на узком десктопе — две колонки (3-я переносится ниже) */
    .fnv2-mega-content--catalog {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .flora-topbar-text span {
        display: none;
    }

    .flora-action-label {
        display: none;
    }

    .flora-navigation {
        display: none;
    }

    .flora-mobile-toggle {
        display: block;
    }

    .flora-header-content {
        gap: 10px;
        flex-wrap: nowrap;
    }

    .flora-logo-img {
        width: 50px;
        height: 50px;
    }

    .flora-logo-title {
        font-size: 18px;
    }

    .flora-logo-subtitle {
        font-size: 10px;
    }

    .flora-search-wrapper {
        order: 2;
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        max-width: none;
        margin-top: 0;
        overflow: hidden;
    }

    .flora-search-wrapper .flora-search-form,
    .flora-search-wrapper .flora-search-input-wrapper {
        min-width: 0;
        width: 100%;
    }

    .flora-search-wrapper input.flora-search-input {
        min-width: 0;
        width: 0;
        flex: 1 1 auto;
        text-overflow: ellipsis;
    }

    .flora-search-wrapper .flora-search-submit {
        flex: 0 0 36px;
        width: 36px;
        height: 36px;
    }

    .flora-header-inline-link {
        display: flex !important;
    }

    .flora-header-actions {
        order: 3;
        flex: 0 0 auto;
        gap: 2px;
        position: relative;
        z-index: 2;
    }

    .flora-header-actions .flora-header-action,
    .flora-header-actions .flora-mobile-toggle {
        padding: 8px;
        min-width: 44px;
        min-height: 44px;
    }

    .flora-logo-wrapper {
        order: 1;
    }

    /* Показываем мобильный текст на планшетах */
    .flora-logo-mobile-text {
        display: block !important;
        font-size: 14px;
        font-weight: 700;
        color: var(--flora-primary);
        margin-left: 8px;
    }

    /* Скрываем полное название на планшетах */
    .flora-logo-text {
        display: none !important;
    }
}

@media (max-width: 768px) {
    /* === КОМПАКТНЫЙ МОБИЛЬНЫЙ ХЕДЕР === */

    /* 1. Пустой/общий topbar скрыт; персональный прогресс остаётся короткой
       двухстрочной полосой и не конкурирует с иконками основного ряда. */
    .flora-topbar {
        display: none !important;
    }

    .flora-topbar.flora-topbar--expert {
        display: block !important;
        padding-block: 5px;
    }

    .flora-topbar--expert .flora-container {
        padding-inline: 10px !important;
    }

    .flora-header-expert-progress {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 3px 8px;
        font-size: 11px;
    }

    .flora-header-expert-brand {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .flora-header-expert-bar {
        grid-column: 1 / -1;
        height: 4px;
    }

    /* 2. Поиск скрыт — вместо строки иконка-trigger в header-actions */
    .flora-search-wrapper {
        display: none !important;
    }

    .flora-header-inline-link {
        display: none !important;
    }

    /* Скрываем account на мобильном — доступен через гамбургер-меню */
    .flora-hide-mobile {
        display: none !important;
    }

    /* 3. Однострочный layout: лого + иконки */
    .flora-header-content {
        flex-wrap: nowrap !important;
        gap: 8px;
        padding: 8px 0;
    }

    .flora-header-actions {
        gap: 6px;
        margin-left: auto;
    }

    .flora-header-action {
        padding: 8px;
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .flora-header-action i {
        font-size: 20px;
    }

    /* Иконка поиска — показываем как кнопку в ряду */
    .flora-search-trigger-mobile,
    .flora-mobile-toggle {
        display: flex !important;
        /* Storefront красит любой <button> в #eee, и лупа выглядела «нажатой»
           рядом с прозрачными сердцем, корзиной и бургером. */
        background: transparent;
        border: 0;
        box-shadow: none;
        color: inherit;
    }

    /* Касание не оставляет системную рамку; клавиатурный фокус видим. */
    .flora-search-trigger-mobile:focus:not(:focus-visible) {
        outline: none;
        box-shadow: none;
    }

    .flora-search-trigger-mobile:focus-visible {
        outline: 2px solid #0d3d13;
        outline-offset: 3px;
        box-shadow: none;
    }

    /* HIDE desktop dropdown on mobile - use mobile panel instead */
    .flora-mini-cart-dropdown {
        display: none !important;
    }

    .flora-cart-trigger:hover + .flora-mini-cart-dropdown,
    .flora-mini-cart-dropdown:hover {
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* Overlay поиска при клике на иконку */
    .flora-mobile-search-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 10001;
        background: #fff;
        padding: 10px 15px;
        box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    }

    .flora-mobile-search-overlay.active {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .flora-mobile-search-overlay .flora-search-form {
        flex: 1;
        min-width: 0;
        margin: 0;
    }

    .flora-mobile-search-overlay .flora-search-input-wrapper {
        height: 44px;
        padding: 0 8px;
        min-width: 0;
    }

    .flora-mobile-search-overlay .flora-search-input,
    .flora-mobile-search-overlay input.flora-search-input:focus {
        width: 0;
        min-width: 0;
        font-size: 16px;
        background: transparent;
        box-shadow: none;
        border: 0;
        outline: none;
        -webkit-appearance: none;
        appearance: none;
        color: #143c1e;
    }

    .flora-mobile-search-overlay input[type="search"]::-webkit-search-decoration,
    .flora-mobile-search-overlay input[type="search"]::-webkit-search-cancel-button,
    .flora-mobile-search-overlay input[type="search"]::-webkit-search-results-button {
        -webkit-appearance: none;
        appearance: none;
        display: none;
    }

    .flora-mobile-search-overlay .flora-search-hint {
        background: #f3f7f3;
        color: #2f4a36;
        border-top-color: #d5e3d6;
    }

    .flora-mobile-search-overlay .flora-search-hint kbd {
        background: #2e7d32;
    }

    .flora-mobile-search-overlay .flora-search-submit {
        flex: 0 0 36px;
        width: 36px;
        height: 36px;
        font-size: 14px;
    }

    .flora-mobile-search-close {
        background: none;
        border: none;
        font-size: 24px;
        color: #666;
        padding: 8px;
        cursor: pointer;
        line-height: 1;
    }
}

@media (max-width: 480px) {
    .flora-container {
        padding: 0 15px;
    }

    .flora-logo-text {
        display: none;
    }

    /* Мобильный текст "Завод ФЛОРА" рядом с лого */
    .flora-logo-mobile-text {
        display: block !important;
        font-size: 16px;
        font-weight: 700;
        color: var(--flora-primary);
        margin-left: 8px;
        white-space: nowrap;
    }

    /* Корректировка счетчика корзины на мобиле - смещаем правее и выше */
    .flora-cart-count {
        top: -2px;
        right: -2px;
        font-size: 10px;
        padding: 2px 5px;
        min-width: 18px;
    }

    .flora-topbar-left a:last-child {
        display: none;
    }
}

/* ===== ANIMATIONS ===== */
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0);
    }
}

/* Add smooth scrolling */
html {
    scroll-behavior: smooth;
}

@media (max-width: 992px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
}

/* Баннер незавершённой оплаты — слой body с z-index 99999.
   Меню и ящик корзины лежат внутри шапки (её контекст z-index 1000),
   поэтому их собственный z-index не поднимается над баннером.
   Пока панель открыта, баннер уходит под шапку и не принимает нажатия.
   Поиск остаётся 999999. */
body.mobile-menu-open .flora-pending-banner,
body.mobile-cart-open .flora-pending-banner {
    z-index: 1;
    pointer-events: none;
}

/* Lock body scroll when mobile menu is open */
body.mobile-menu-open,
body.mobile-cart-open {
    overflow: hidden !important;
    position: fixed;
    width: 100%;
    height: 100vh;
}

/* ===== FLORA SEARCH PLUGIN INTEGRATION ===== */
/* Override all Flora Search CSS to ensure single unified autocomplete */

/* Ensure wrapper has proper positioning context */
.flora-search-wrapper {
    position: relative;
    z-index: 100;
}

/* CRITICAL: Override Flora Search plugin CSS to ensure single unified autocomplete */
/* JS in flora-search.js handles positioning, we only override styling */
body #flora-autocomplete-results {
    /* High z-index to ensure visibility */
    z-index: 999999 !important;

    /* Custom Flora theme appearance */
    background: #fff !important;
    border: 2px solid var(--flora-primary) !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 32px rgba(46, 125, 50, 0.15) !important;

    /* Smooth scrolling */
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;

    /* Clear conflicting margins */
    margin: 0 !important;

    /* Display controlled by jQuery .show()/.hide() - do NOT use !important */
}

/* Seamless connection between search field and autocomplete */
/* Remove top border radius when autocomplete is visible */
body #flora-autocomplete-results:not(:empty) {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top: none !important;
}

/* Desktop specific adjustments */
@media (min-width: 769px) {
    body #flora-autocomplete-results {
        /* Exact same border radius as search field */
        border-radius: 25px !important;
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
        border-top: none !important;
    }
}

/* Mobile specific adjustments */
@media (max-width: 768px) {
    body #flora-autocomplete-results {
        /* Match mobile search field radius */
        border-radius: 25px !important;
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
        border-top: none !important;
    }
}

/* Enhance plant items to match theme colors */
.flora-plant-item {
    border-left-color: var(--flora-primary) !important;
}

.flora-plant-item:hover {
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%) !important;
}

/* Match theme green colors */
.flora-plant-thumbnail {
    border-color: var(--flora-primary) !important;
}

.flora-item-price,
.flora-plant-stat.stock {
    color: var(--flora-primary) !important;
}

.flora-stock-indicator.instock {
    background: #e8f5e9 !important;
    color: var(--flora-primary-dark) !important;
}

/* Enhance search hint styling */
.flora-search-hint {
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%) !important;
    color: var(--flora-primary-dark) !important;
    border-top: 1px solid var(--flora-primary) !important;
}

/* ===== LIVE SEARCH RESULTS ITEMS ===== */
.flora-live-search-item {
    display: flex !important;
    align-items: center !important;
    padding: 12px 15px !important;
    text-decoration: none !important;
    color: var(--flora-text) !important;
    border-bottom: 1px solid #eee !important;
    transition: background 0.2s ease !important;
    gap: 12px !important;
}

.flora-live-search-item:last-child {
    border-bottom: none !important;
}

.flora-live-search-item:hover {
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%) !important;
}

.flora-live-search-img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 1px solid #eee !important;
    flex-shrink: 0 !important;
}

.flora-live-search-info {
    flex: 1 !important;
    min-width: 0 !important;
}

.flora-live-search-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--flora-text) !important;
    line-height: 1.3 !important;
    margin-bottom: 4px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.flora-live-search-item:hover .flora-live-search-title {
    color: var(--flora-primary) !important;
}

.flora-live-search-sku {
    font-size: 11px !important;
    color: #999 !important;
    margin: 2px 0 !important;
}

.flora-live-search-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--flora-primary) !important;
}

.flora-live-search-price del {
    color: #999 !important;
    font-weight: 400 !important;
    font-size: 12px !important;
}

.flora-live-search-price ins {
    text-decoration: none !important;
    color: #e53935 !important;
}

.flora-search-hint kbd {
    background: var(--flora-primary) !important;
}

/* Improve autocomplete positioning on mobile */
@media (max-width: 992px) {
    #flora-autocomplete-results {
        max-width: calc(100vw - 30px) !important;
    }
}

/* Desktop positioning - align with search wrapper */
@media (min-width: 993px) {
    .flora-header-main #flora-autocomplete-results {
        min-width: 600px !important;
    }

    /* Tight positioning - no gap between search field and autocomplete */
    .flora-search-wrapper #flora-autocomplete-results {
        margin-top: 0 !important;
        top: calc(100% + 2px) !important; /* 2px gap instead of 8px */
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
    }

    /* When search is focused, round top corners of autocomplete */
    .flora-search-input:focus ~ #flora-autocomplete-results,
    .flora-search-form:focus-within ~ #flora-autocomplete-results {
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
    }
}

/* Mobile positioning - seamless connection */
@media (max-width: 992px) {
    #flora-autocomplete-results {
        margin-top: 0 !important;
        /* Prижат к полю поиска без зазора */
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
    }
}

/* ===== ОХУЕННЫЙ АВТОКОМПЛИТ ПОИСКА - НОВЫЕ СТИЛИ v2.0 ===== */
/* Фиксим проблему с отсутствием названий товаров */

/* Контейнер результатов */
body #flora-autocomplete-results {
    background: #ffffff !important;
    border: 2px solid var(--flora-primary) !important;
    border-radius: 16px !important;
    box-shadow:
        0 10px 40px rgba(46, 125, 50, 0.15),
        0 4px 12px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
}

/* Убираем верхние скругления когда прижат к полю */
body #flora-autocomplete-results:not(:empty) {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top: none !important;
    margin-top: -2px !important;
}

/* === ТОВАРЫ В АВТОКОМПЛИТЕ === */
body #flora-autocomplete-results .flora-product-item {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 16px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #f0f0f0 !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    position: relative !important;
}

body #flora-autocomplete-results .flora-product-item:last-child {
    border-bottom: none !important;
}

body #flora-autocomplete-results .flora-product-item:hover,
body #flora-autocomplete-results .flora-product-item.keyboard-active {
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%) !important;
}

/* Полоска статуса слева */
body #flora-autocomplete-results .flora-product-item.instock::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 4px !important;
    background: linear-gradient(180deg, #4caf50 0%, #2e7d32 100%) !important;
}

body #flora-autocomplete-results .flora-product-item.onbackorder::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 4px !important;
    background: linear-gradient(180deg, #ff9800 0%, #e65100 100%) !important;
}

/* Картинка товара */
body #flora-autocomplete-results .flora-item-thumbnail {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    border: 2px solid #e8e8e8 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

body #flora-autocomplete-results .flora-product-item:hover .flora-item-thumbnail {
    border-color: var(--flora-primary) !important;
    transform: scale(1.05) !important;
    box-shadow: 0 4px 12px rgba(46, 125, 50, 0.2) !important;
}

/* Контент товара - ЗАНИМАЕТ ВСЁ ДОСТУПНОЕ МЕСТО */
body #flora-autocomplete-results .flora-item-content {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

/* НАЗВАНИЕ ТОВАРА - ДО 2 СТРОК */
body #flora-autocomplete-results .flora-item-title {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1a1a2e !important;
    line-height: 1.4 !important;
    margin: 0 0 4px 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transition: color 0.2s ease !important;
    word-break: break-word !important;
}

body #flora-autocomplete-results .flora-product-item:hover .flora-item-title {
    color: var(--flora-primary) !important;
}

/* Подсветка совпадений в названии */
body #flora-autocomplete-results .flora-item-title .highlight {
    background: linear-gradient(135deg, #fff59d 0%, #ffeb3b 100%) !important;
    /* Горизонтальный padding раздвигал буквы внутри слова: «Кали»+3px+«брахоа».
       Подсветка обязана лежать ровно по буквам совпадения. */
    padding: 1px 0 !important;
    border-radius: 3px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
}

/* Мета информация (артикул + статус) */
body #flora-autocomplete-results .flora-item-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-top: 2px !important;
}

/* Артикул */
body #flora-autocomplete-results .flora-item-sku {
    font-size: 12px !important;
    color: #666 !important;
    background: #f5f5f5 !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

/* Статус наличия */
body #flora-autocomplete-results .flora-stock-indicator {
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    text-transform: lowercase !important;
    white-space: nowrap !important;
}

body #flora-autocomplete-results .flora-stock-indicator.instock {
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%) !important;
    color: #2e7d32 !important;
    border: 1px solid #4caf50 !important;
}

body #flora-autocomplete-results .flora-stock-indicator.onbackorder {
    background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%) !important;
    color: #e65100 !important;
    border: 1px solid #ff9800 !important;
}

/* Блок с ценой - фикс под 4 цифры (9999 ₽) */
body #flora-autocomplete-results .flora-price-block {
    flex: 0 0 70px !important;
    width: 70px !important;
    text-align: right !important;
    margin-left: 8px !important;
}

/* Цена */
body #flora-autocomplete-results .flora-item-price {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--flora-primary) !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

body #flora-autocomplete-results .flora-item-price.on-sale {
    color: #d32f2f !important;
}

/* Старая цена (зачёркнутая) */
body #flora-autocomplete-results .flora-regular-price {
    font-size: 12px !important;
    color: #999 !important;
    text-decoration: line-through !important;
    margin-bottom: 2px !important;
}

/* === РАСТЕНИЯ (КАТЕГОРИИ) В АВТОКОМПЛИТЕ === */
body #flora-autocomplete-results .flora-plant-item {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 16px !important;
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%) !important;
    border-left: 5px solid var(--flora-primary) !important;
    border-bottom: 1px solid rgba(46, 125, 50, 0.1) !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

body #flora-autocomplete-results .flora-plant-item:hover {
    background: linear-gradient(135deg, #c8e6c9 0%, #dcedc8 100%) !important;
    padding-left: 20px !important;
}

/* Картинка растения */
body #flora-autocomplete-results .flora-plant-thumbnail {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    border: 3px solid var(--flora-primary) !important;
    box-shadow: 0 4px 12px rgba(46, 125, 50, 0.25) !important;
    transition: all 0.3s ease !important;
}

body #flora-autocomplete-results .flora-plant-item:hover .flora-plant-thumbnail {
    transform: scale(1.08) rotate(3deg) !important;
    box-shadow: 0 6px 16px rgba(46, 125, 50, 0.35) !important;
}

/* Контент растения */
body #flora-autocomplete-results .flora-plant-content {
    flex: 1 !important;
    min-width: 0 !important;
}

/* Название растения */
body #flora-autocomplete-results .flora-plant-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1b5e20 !important;
    margin-bottom: 4px !important;
    line-height: 1.3 !important;
}

body #flora-autocomplete-results .flora-plant-title .highlight {
    background: linear-gradient(135deg, #fff59d 0%, #ffeb3b 100%) !important;
    /* см. комментарий выше: 4px по бокам превращали «Акалифа» в «А кали фа» */
    padding: 1px 0 !important;
    border-radius: 4px !important;
    color: #1b5e20 !important;
    /* Название должно оставаться ОДНИМ текстовым потоком. Плагин объявляет
       .flora-plant-title{display:flex;gap:8px} — подсвеченный фрагмент становился
       flex-элементом, и слово рвалось: «Кали» + 8px + «брахоа», «А кали фа». */
    display: inline !important;
}

body #flora-autocomplete-results .flora-plant-title {
    display: block !important;
    gap: 0 !important;
}

/* Подзаголовок растения */
body #flora-autocomplete-results .flora-plant-subtitle {
    font-size: 13px !important;
    color: #2e7d32 !important;
    margin-bottom: 8px !important;
    opacity: 0.9 !important;
}

/* Статистика растения */
body #flora-autocomplete-results .flora-plant-stats {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

body #flora-autocomplete-results .flora-plant-stat {
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    white-space: nowrap !important;
}

body #flora-autocomplete-results .flora-plant-stat.stock {
    background: #ffffff !important;
    color: #2e7d32 !important;
    border: 1px solid #4caf50 !important;
}

body #flora-autocomplete-results .flora-plant-stat.preorder {
    background: #fff3e0 !important;
    color: #e65100 !important;
    border: 1px solid #ff9800 !important;
}

/* === ПОДСКАЗКА ENTER === */
body #flora-autocomplete-results .flora-search-hint {
    padding: 12px 16px !important;
    background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%) !important;
    color: #1565c0 !important;
    font-size: 13px !important;
    text-align: center !important;
    border-top: 1px solid #90caf9 !important;
}

body #flora-autocomplete-results .flora-search-hint kbd {
    background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%) !important;
    color: #ffffff !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    margin: 0 3px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* === СОСТОЯНИЯ ЗАГРУЗКИ И ОШИБОК === */
body #flora-autocomplete-results .flora-loading {
    padding: 30px 20px !important;
    text-align: center !important;
    color: #666 !important;
    font-size: 14px !important;
}

body #flora-autocomplete-results .flora-loading-spinner {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    border: 3px solid #e8e8e8 !important;
    border-top-color: var(--flora-primary) !important;
    border-radius: 50% !important;
    animation: flora-autocomplete-spin 0.8s linear infinite !important;
    margin-right: 10px !important;
    vertical-align: middle !important;
}

@keyframes flora-autocomplete-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

body #flora-autocomplete-results .flora-no-results {
    padding: 30px 20px !important;
    text-align: center !important;
    color: #666 !important;
    font-size: 14px !important;
}

body #flora-autocomplete-results .flora-no-results-icon {
    font-size: 40px !important;
    margin-bottom: 10px !important;
    opacity: 0.6 !important;
}

/* === МОБИЛЬНАЯ АДАПТАЦИЯ === */
@media (max-width: 768px) {
    body #flora-autocomplete-results {
        border-radius: 12px !important;
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
    }

    body #flora-autocomplete-results .flora-product-item {
        padding: 12px 14px !important;
        gap: 12px !important;
    }

    body #flora-autocomplete-results .flora-item-thumbnail {
        width: 50px !important;
        height: 50px !important;
        min-width: 50px !important;
        border-radius: 8px !important;
    }

    body #flora-autocomplete-results .flora-item-title {
        font-size: 14px !important;
        display: block !important;
        -webkit-line-clamp: unset !important;
        white-space: normal !important;
        overflow: visible !important;
    }

    body #flora-autocomplete-results .flora-price-block {
        flex: 0 0 60px !important;
        width: 60px !important;
    }

    body #flora-autocomplete-results .flora-item-meta {
        gap: 6px !important;
    }

    body #flora-autocomplete-results .flora-item-sku {
        font-size: 11px !important;
        padding: 2px 8px !important;
    }

    body #flora-autocomplete-results .flora-stock-indicator {
        font-size: 10px !important;
        padding: 2px 8px !important;
    }

    body #flora-autocomplete-results .flora-item-price {
        font-size: 15px !important;
    }

    body #flora-autocomplete-results .flora-plant-item {
        padding: 14px 12px !important;
        gap: 12px !important;
    }

    body #flora-autocomplete-results .flora-plant-thumbnail {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
    }

    body #flora-autocomplete-results .flora-plant-title {
        font-size: 15px !important;
    }

    body #flora-autocomplete-results .flora-plant-stats {
        gap: 6px !important;
    }

    body #flora-autocomplete-results .flora-plant-stat {
        font-size: 11px !important;
        padding: 3px 10px !important;
    }

    /* Убираем эффекты на touch */
    body #flora-autocomplete-results .flora-product-item:hover,
    body #flora-autocomplete-results .flora-plant-item:hover {
        padding-left: 14px !important;
    }

    body #flora-autocomplete-results .flora-plant-item:hover .flora-plant-thumbnail,
    body #flora-autocomplete-results .flora-product-item:hover .flora-item-thumbnail {
        transform: none !important;
    }
}

/* === СКРОЛЛБАР === */
body #flora-autocomplete-results::-webkit-scrollbar {
    width: 8px !important;
}

body #flora-autocomplete-results::-webkit-scrollbar-track {
    background: #f5f5f5 !important;
    border-radius: 4px !important;
}

body #flora-autocomplete-results::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--flora-primary-light) 0%, var(--flora-primary) 100%) !important;
    border-radius: 4px !important;
}

body #flora-autocomplete-results::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--flora-primary) 0%, var(--flora-primary-dark) 100%) !important;
}

/* ===== КОНЕЦ СТИЛЕЙ АВТОКОМПЛИТА ===== */

/* ===== Доступность: prefers-reduced-motion для меню ===== */
@media (prefers-reduced-motion: reduce) {
    .fnv2-mega,
    .fnv2-catalog-trigger,
    .fnv2-catalog-trigger--inline::after,
    .fnv2-primary li a,
    .fnv2-secondary li a,
    .fnv2-mega-col ul li a,
    .fnv2-chevron,
    .flora-mobile-nav a,
    .flora-mn-acc-arrow,
    .flora-mn-acc-panel,
    .fnv2-promo-btn {
        transition: none !important;
    }
}

/* ===== Узкие телефоны ≤384px: ряд «лого + действия» не влезал (~405px),
   гамбургер обрезался краем экрана (см. инцидент /podbor/ 2026-07-03).
   Ужимаем лого и действия, чтобы весь ряд гарантированно помещался. ===== */
@media (max-width: 384px) {
    .flora-header-content {
        gap: 4px;
    }

    .flora-logo-img {
        width: 40px;
        height: 40px;
    }

    .flora-logo-mobile-text {
        font-size: 13px;
        margin-left: 6px;
    }

    .flora-header-actions {
        gap: 2px;
    }

    .flora-header-action {
        padding: 6px;
        min-width: 40px;
        min-height: 44px;
    }

    .flora-header-action i {
        font-size: 18px;
    }

    .flora-mobile-toggle {
        padding: 8px 6px;
    }
}

/* 2026-07 header accessibility and compact Agro navigation. */
.flora-mobile-toggle {
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}

/* Касание не оставляет системную рамку на пиктограммах; клавиатурный фокус видим. */
.flora-header-actions .flora-header-action:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

.flora-mobile-toggle:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

.flora-mobile-toggle:focus-visible {
    outline: 2px solid #0d3d13;
    outline-offset: 3px;
    box-shadow: none;
}

/* iOS считает тап :focus-visible и рисует синюю или фиолетовую рамку.
   Метка ставится на pointerdown и снимается клавиатурой. */
.flora-header-actions .flora-header-action.flora-touch-focus:focus,
.flora-header-actions .flora-header-action.flora-touch-focus:focus-visible,
.flora-mobile-toggle.flora-touch-focus:focus,
.flora-mobile-toggle.flora-touch-focus:focus-visible {
    outline: none;
    outline-width: 0;
    box-shadow: none;
    -webkit-tap-highlight-color: transparent;
}

.flora-mn-agro-quick {
    margin-bottom: 2px !important;
}

.flora-mn-agro-quick ul li a {
    min-height: 44px;
}

.flora-mn-agro-quick ul li a > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    color: var(--flora-primary);
}

@media (max-width: 992px) {
    .flora-mobile-toggle {
        display: flex;
    }
}

@media (max-width: 768px) {
    .flora-mobile-search-close {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        padding: 0;
    }
}

@media (max-width: 384px) {
    .flora-modern-header .flora-container {
        padding-inline: 10px !important;
    }

    .flora-header-content {
        gap: 2px;
    }

    .flora-logo-mobile-text {
        margin-left: 4px;
        font-size: 12px;
    }

    .flora-modern-header .flora-header-actions {
        gap: 0 !important;
    }

    .flora-header-action,
    .flora-mobile-toggle {
        min-width: 44px;
        min-height: 44px;
    }

    .flora-mobile-toggle {
        padding: 8px;
    }
}

@media (max-width: 340px) {
    .flora-logo-mobile-text {
        margin-left: 2px;
        font-size: 10.5px;
    }
}

/* Secondary desktop nav: JS выбирает режим по фактическому правому краю строки.
   Старый @media ≤1200px остаётся безопасным fallback без JS; --expanded
   переопределяет его, когда все четыре подписи действительно помещаются. */
@media (min-width: 1201px) and (max-width: 1400px) {
    .fnv2-secondary li a span {
        display: none;
    }
}

.fnv2-secondary.fnv2-secondary--compact li a {
    padding: 8px;
    font-size: 12px;
}

.fnv2-secondary.fnv2-secondary--compact li a span {
    display: none;
}

.fnv2-secondary.fnv2-secondary--expanded li a span {
    display: inline;
}

/* Промежуточный режим между «все подписи» и «одни иконки»: подписи остаются,
   но горизонтальные отступы ужимаются. Отыгрывает 34px и возвращает подписи
   «Доставка/Правила/Контакты/О компании» на ходовом 1366x768, где полному
   expanded не хватало ровно 9px (с полосой прокрутки — 24px). */
.fnv2-secondary.fnv2-secondary--tight {
    gap: 0;
}

.fnv2-secondary.fnv2-secondary--tight li a {
    padding-inline: 5px;
    gap: 5px;
}

/* Третий desktop-режим: основные подписи остаются, декоративная ведущая иконка
   скрывается. Это освобождает место служебным иконкам на 993–1069px.
   Chevron НЕ прячем: он единственный признак того, что у пункта есть выпадающее
   меню, и без него «Прайс-лист / Агробиблиотека / Хиты / Лидеры / Подбор»
   читались как обычные ссылки. */
.fnv2-primary.fnv2-primary--compact > li > .fnv2-catalog-wrap > .fnv2-catalog-trigger--inline {
    gap: 0;
    padding-inline: 8px;
}

.fnv2-primary.fnv2-primary--compact > li > .fnv2-catalog-wrap > .fnv2-catalog-trigger--inline > i:not(.fnv2-chevron) {
    display: none;
}

/* gap обнулён — отступ до шеврона задаём ему самому. */
.fnv2-primary.fnv2-primary--compact > li > .fnv2-catalog-wrap > .fnv2-catalog-trigger--inline > .fnv2-chevron {
    margin-left: 5px;
}

.fnv2-primary.fnv2-primary--compact > li > .fnv2-catalog-wrap > .fnv2-catalog-trigger--inline::after {
    left: 8px;
    right: 8px;
}

/* `transition: all` не должен подмешивать промежуточную ширину в JS-замер. */
.fnv2-secondary.fnv2-secondary--measuring li a {
    transition: none !important;
}

.flora-nav-v2.fnv2-nav--measuring .fnv2-catalog-trigger--inline {
    transition: none !important;
}

/* Последний динамический fallback на случай будущей более длинной локализации:
   desktop-row скрывается, а тот же доступный mobile drawer становится меню. */
.flora-modern-header.flora-nav-mobile-fallback .flora-navigation {
    display: none !important;
}

.flora-modern-header.flora-nav-mobile-fallback .flora-mobile-toggle {
    display: flex !important;
}

.flora-modern-header.flora-nav-mobile-fallback .flora-action-label {
    display: none !important;
}

.flora-modern-header.flora-nav-mobile-fallback .flora-header-actions {
    gap: 8px !important;
}

.flora-modern-header.flora-nav-mobile-fallback .flora-header-action {
    min-width: 44px;
    min-height: 44px;
    padding: 8px !important;
    justify-content: center;
}

@media (min-width: 993px) {
    .flora-modern-header.flora-nav-mobile-fallback .flora-mobile-menu-overlay {
        display: block !important;
    }

    .flora-modern-header.flora-nav-mobile-fallback .flora-mobile-menu {
        display: none !important;
    }

    .flora-modern-header.flora-nav-mobile-fallback .flora-mobile-menu.active {
        display: flex !important;
    }

    /* Measure the hidden desktop row without dropping the currently painted
       drawer layout. */
    .flora-modern-header.flora-nav-mobile-fallback.flora-nav-mobile-fallback--measuring .flora-navigation {
        display: block !important;
        position: absolute !important;
        inset-inline: 0;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* Поле поиска — пилюля: рамку фокуса рисует обёртка, не сам input.
   Кабинет красит input:focus-visible с !important, глобальные правки красят
   текстовые поля зелёным. Оба проигрывают этому правилу на любой странице. */
.flora-modern-header .flora-search-wrapper input.flora-search-input:focus,
.flora-modern-header .flora-search-wrapper input.flora-search-input:focus-visible,
.flora-modern-header .flora-mobile-search-overlay input.flora-search-input:focus,
.flora-modern-header .flora-mobile-search-overlay input.flora-search-input:focus-visible {
    outline: none !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
}

/* Header sales edition 2026-11-16: clear priorities, readable overflow. */
.flora-header-action > svg {
    width: 23px; height: 23px; flex: 0 0 23px;
    fill: none; stroke: currentColor; stroke-width: 1.7;
    stroke-linecap: round; stroke-linejoin: round;
}
.flora-account-wrapper, .fnv2-more { position: relative; }
.flora-account-wrapper > summary, .fnv2-more > summary {
    cursor: pointer; list-style: none;
}
.flora-account-wrapper > summary::-webkit-details-marker,
.fnv2-more > summary::-webkit-details-marker { display: none; }
.flora-account-menu, .fnv2-overflow-links {
    position: absolute; top: 100%; right: 0; z-index: 1002;
    min-width: 210px; max-width: calc(100vw - 32px);
    list-style: none; margin: 0; padding: 8px;
    background: #fff; border: 1px solid #e5ebe5; border-radius: 12px;
    box-shadow: 0 10px 30px rgba(20, 50, 25, .12);
}
.flora-account-menu li { margin: 0; }
.flora-account-menu a, .fnv2-secondary .fnv2-overflow-links li a {
    display: block; min-height: 44px; padding: 11px 14px;
    color: #424b43; font-size: 14px; font-weight: 400;
    text-decoration: none; white-space: nowrap; border-radius: 7px;
}
.flora-account-menu a:hover, .fnv2-secondary .fnv2-overflow-links li a:hover {
    background: #f2f7f1; color: var(--flora-primary);
}
.flora-account-wrapper > summary:focus-visible, .fnv2-more > summary:focus-visible {
    outline: 2px solid #1b5e20; outline-offset: 3px;
}
.fnv2-more > summary {
    display: flex; align-items: center; gap: 6px; min-height: 44px;
    padding: 10px; color: #535c54; font-size: 13px; font-weight: 400;
    border-radius: 6px; white-space: nowrap;
}
.fnv2-more > summary > i { font-size: 9px; }
.fnv2-more[open] > summary { background: #f2f7f1; color: var(--flora-primary); }
.fnv2-secondary > li > a > i { display: none; }
.fnv2-secondary li a span { display: inline !important; }
.fnv2-popular-group { min-width: 0; }
.fnv2-mega-content--popular { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.fnv2-mega-content--popular .fnv2-mn-hits { grid-template-columns: 1fr; }
.fnv2-popular-group .fnv2-mn-hit:nth-child(n+4) { display: none; }
.flora-mn-acc-inner.fnv2-mega-content--popular { grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 993px) {
    .flora-modern-header .flora-container { max-width: 1280px !important; }
    .flora-header-main { padding: 14px 0; box-shadow: none; }
    .flora-header-content { gap: 24px; }
    .flora-logo { gap: 12px; }
    .flora-logo-img { width: 58px; height: 58px; border-width: 2px; box-shadow: none; }
    .flora-logo-title { font-size: 24px; }
    .flora-logo-subtitle { font-size: 10px; letter-spacing: .6px; }
    .flora-header-action { padding: 8px 10px; min-width: 60px; min-height: 54px; }
    .flora-account-wrapper > summary { display: flex; }
    .flora-nav-v2 { gap: 8px; padding-block: 6px; }
    .flora-nav-v2 > .fnv2-sep { display: none; }
    .fnv2-primary, .fnv2-secondary { flex: 0 0 auto; }
    .fnv2-secondary > li { flex: 0 0 auto; }
    .fnv2-primary > li > .fnv2-catalog-wrap > .fnv2-catalog-trigger--inline {
        gap: 6px; padding: 10px; font-size: 14px;
    }
    .fnv2-primary > li > .fnv2-catalog-wrap > .fnv2-catalog-trigger--inline > i:not(.fnv2-chevron) { display: none; }
    .fnv2-secondary > li > a { min-height: 44px; padding: 10px; }
    .fnv2-catalog-trigger:not(.fnv2-catalog-trigger--inline) { padding: 12px 18px; }
}
@media (min-width: 993px) and (max-width: 1199px) {
    .flora-logo-subtitle { display: none; }
    .flora-logo-title { font-size: 21px; }
}

/* Keep the product search aligned with the brand and personal actions. */
.flora-modern-header .flora-search-form { margin: 0; }
