.foxbox-catalog-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    background: currentColor;
    mask: var(--foxbox-icon) center / contain no-repeat;
    -webkit-mask: var(--foxbox-icon) center / contain no-repeat;
}

.foxbox-catalog-icon--sauna {
    --foxbox-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V8l8-4 8 4v12M8 20V9.8L12 8l4 1.8V20M10.5 13h3M10.5 16h3'/%3E%3Cpath d='M6.5 4.5c-1-1-.9-2.2 0-3M12 3.5c-1-1-.9-2.2 0-3M17.5 4.5c-1-1-.9-2.2 0-3'/%3E%3C/svg%3E");
}

.foxbox-catalog-icon--tunnel-greenhouse {
    --foxbox-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20V10a9 9 0 0 1 18 0v10M3 10h18M8 20V10M16 20V10M12 20V5'/%3E%3Cpath d='M9.5 16c1.6 0 2.5.8 2.5 2.5M14.5 14c-1.6 0-2.5.8-2.5 2.5'/%3E%3C/svg%3E");
}

.foxbox-catalog-icon--sauna-accessories {
    --foxbox-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h11l-1 10H5L4 10ZM6 10a3.5 3.5 0 0 1 7 0M17 5l3 3M14 8l4-4 2 2-4 4M18 12c1 1 .9 2.2 0 3'/%3E%3C/svg%3E");
}

.foxbox-catalog-icon--wooden-greenhouse {
    --foxbox-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h18M5 20V9l7-5 7 5v11M5 9h14M9 20V9M15 20V9M12 20V4'/%3E%3Cpath d='M9 14h6M9.5 17.5c1.6 0 2.5-.8 2.5-2.5M14.5 13c-1.6 0-2.5.8-2.5 2.5'/%3E%3C/svg%3E");
}

.foxbox-mobile-menu__title {
    margin: 0 0 .5rem;
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.25;
    text-transform: uppercase;
}

.foxbox-mobile-menu__title--information {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--bs-border-color);
}

.foxbox-mobile-catalog__list { gap: .25rem; }

.foxbox-mobile-catalog__list--nested {
    margin: .25rem 0 .5rem .75rem;
    padding-left: .5rem;
    border-left: 1px solid var(--bs-border-color);
}

.foxbox-mobile-catalog__link {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem;
    border: 0;
    border-radius: .75rem;
    background: transparent;
    color: inherit;
    text-align: left;
    touch-action: manipulation;
}

.foxbox-mobile-catalog__link:hover,
.foxbox-mobile-catalog__link:focus-visible,
.foxbox-mobile-catalog__link[aria-expanded="true"] {
    background: rgba(var(--bs-emphasis-color-rgb), .07);
}

.foxbox-mobile-catalog__link:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

.foxbox-mobile-catalog__label {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .75rem;
}

.foxbox-mobile-catalog__icon { flex: 0 0 24px; }

.foxbox-mobile-catalog__thumbnail {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(var(--bs-emphasis-color-rgb), .12);
    border-radius: .65rem;
    background: #fff;
}

.foxbox-mobile-catalog__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.foxbox-mobile-catalog__chevron {
    flex: 0 0 auto;
    transition: transform .2s ease;
}

.foxbox-mobile-catalog__leaf-arrow {
    flex: 0 0 auto;
    color: var(--bs-secondary-color);
}

.foxbox-mobile-catalog__link[aria-expanded="true"] .foxbox-mobile-catalog__chevron {
    transform: rotate(180deg);
}

.foxbox-mobile-catalog__view-all {
    min-height: 48px;
    font-weight: 600;
}

.foxbox-mobile-menu__title--information + .navbar-nav .nav-link {
    min-height: 48px;
    align-items: center;
    padding-block: .625rem;
}

@media (prefers-reduced-motion: reduce) {
    .foxbox-mobile-catalog__chevron { transition: none; }
}

@media (min-width: 992px) {
    .foxbox-header-category-grid {
        --bs-gutter-x: 0;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem !important;
    }

    .foxbox-header-category-grid > .b-mega-menu__column {
        width: auto;
        gap: 1rem !important;
    }

    .foxbox-header-category-card {
        display: flex;
        min-height: 100px;
        align-items: center;
        gap: 1rem;
        padding: .875rem;
        border: 1px solid rgba(var(--bs-emphasis-color-rgb), .14);
        border-radius: 1rem;
        background: rgba(var(--bs-emphasis-color-rgb), .035);
        color: var(--bs-emphasis-color);
        text-decoration: none;
        transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
    }

    .foxbox-header-category-card:hover {
        border-color: rgba(var(--bs-primary-rgb), .7);
        background: rgba(var(--bs-primary-rgb), .1);
        color: var(--bs-emphasis-color);
        transform: translateY(-2px);
    }

    .foxbox-header-category-card:focus-visible {
        outline: 2px solid var(--bs-primary);
        outline-offset: 2px;
    }

    .foxbox-header-category-card__image {
        display: grid;
        width: 72px;
        height: 72px;
        flex: 0 0 72px;
        place-items: center;
        overflow: hidden;
        border-radius: .75rem;
        background: #fff;
    }

    .foxbox-header-category-card__image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .foxbox-header-category-card__body {
        display: flex;
        min-width: 0;
        flex: 1 1 auto;
        flex-direction: column;
        gap: .25rem;
    }

    .foxbox-header-category-card__title {
        font-weight: 600;
        line-height: 1.3;
    }

    .foxbox-header-category-card__hint {
        color: var(--bs-secondary-color);
        font-size: .8125rem;
    }

    .foxbox-header-category-card__arrow {
        flex: 0 0 auto;
        color: var(--bs-primary);
        transition: transform .18s ease;
    }

    .foxbox-header-category-card:hover .foxbox-header-category-card__arrow {
        transform: translateX(3px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .foxbox-header-category-card,
    .foxbox-header-category-card__arrow { transition: none; }
}

/* Keep the CRM success message readable on the form's white surface. */
.foxbox-quote-form .crm-after-submit-block,
.vc-installation__form .crm-after-submit-block {
    color: #35413b !important;
}
