/*bootstrap*/
:root {
    --header-height: 12rem;
}

.payment-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.payment-logo {
    width: auto;
    max-height: 2.875rem;
    object-fit: contain;
}

.marketing-hero {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.marketing-hero__row1 {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    height: 28rem;
}

.marketing-hero__categories-wrapper {
    flex: 0 0 28rem;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.marketing-hero__square {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 1rem;
    overflow: hidden;
    background-color: #f3f5fa;
}

.marketing-hero__square img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.marketing-hero__categories {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(6, 1fr);
    gap: 1.25rem;
    align-content: stretch;
    justify-items: center;
    height: 100%;
}

.categories-carousel-indicators {
    display: none;
}

.category-btn {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0.75rem 0.875rem;
    background-color: #fff;
    border: 1px solid #30734C;
    border-radius: 1.25rem;
    color: #191919E5;
    font-size: 1rem;
    font-weight: 400;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s, color 0.2s;
    width: 13.9rem;
    min-width: 0;
    overflow: hidden;
}

.category-btn span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.category-btn:hover {
    background-color: #30734C;
    color: #fff;
}

.category-btn:active {
    background-color: #30734C96 !important  ;
    color: #fff;
    border: none !important;
}

.category-btn__icon {
    width: 1.875rem;
    height:1.875rem;
    flex-shrink: 0;
}

.marketing-hero__slider {
    flex: 1;
    min-width: 0;
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    background-color: #f3f5fa;
}

.marketing-hero__slider .carousel-item {
    background-color: #f3f5fa;
}

.marketing-hero__slider .carousel,
.marketing-hero__slider .carousel-inner,
.marketing-hero__slider .carousel-item {
    height: 100%;
}

.marketing-hero__slider .carousel-inner {
    border-radius: 1rem;
}

.marketing-hero__slider .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 1rem;
}

.marketing-hero__slider .carousel-control-prev,
.marketing-hero__slider .carousel-control-next {
    position: absolute;
    width: 2.75rem;
    height: 2.75rem;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    border-radius: 50%;
    opacity: 1;
    border: 2px solid rgba(255, 255, 255, 0.9);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.marketing-hero__slider .carousel-control-prev:hover,
.marketing-hero__slider .carousel-control-next:hover {
    background-color: rgba(255, 255, 255, 0.25);
    border-color: #fff;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
}

.marketing-hero__slider .carousel-control-prev:active,
.marketing-hero__slider .carousel-control-next:active {
    background-color: rgba(255, 255, 255, 0.4);
    transform: translateY(-50%) scale(0.95);
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.marketing-hero__slider .carousel-control-prev {
    left: 1rem;
}

.marketing-hero__slider .carousel-control-next {
    right: 1rem;
}

.marketing-hero__slider .carousel-control-prev-icon,
.marketing-hero__slider .carousel-control-next-icon {
    width: 1rem;
    height: 1rem;
    background-size: 100% 100%;
    filter: brightness(0) invert(1);
}

.marketing-hero__row2 {
    display: flex;
    gap: 1rem;
    height: 18rem;
}

.marketing-hero__banner {
    flex: 1 1 0;
    min-width: 0;
    border-radius: 1rem;
    overflow: hidden;
    height: 100%;
    background-color: #f3f5fa;
}

.marketing-hero__banner img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.marketing-hero__row3 {
    display: flex;
    gap: 1rem;
    height: 11rem;
}





@media (max-width: 992px) {
    .marketing-hero__row1 {
        flex-direction: column;
        height: auto;
        gap: 1.5rem;
    }

    .marketing-hero__categories-wrapper {
        flex: none;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .marketing-hero__square {
        width: 100%;
        max-width: 24rem;
        margin: 0 auto;
    }

    .marketing-hero__categories {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 0.75rem;
        overflow: hidden;
        padding-bottom: 0;
        cursor: grab;
        user-select: none;
    }

    .marketing-hero__categories:active {
        cursor: grabbing;
    }

    .categories-carousel-indicators {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        padding: 0.5rem 0;
    }

    .categories-carousel-indicators button {
        width: 0.625rem;
        height: 0.625rem;
        border-radius: 50%;
        border: none;
        background-color: #C8D0DB;
        padding: 0;
        cursor: pointer;
        transition: background-color 0.3s ease, transform 0.3s ease;
    }

    .categories-carousel-indicators button.active {
        background-color: #30734C;
        transform: scale(1.2);
    }

    .categories-carousel-indicators button:hover {
        background-color: #6A9A7E;
    }

    .category-btn {
        width: 100%;
        min-width: 0;
        pointer-events: auto;
    }

    .marketing-hero__slider {
        flex: none;
        width: 100%;
        height: 20rem;
    }

    .marketing-hero__row2 {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 1rem;
        padding-bottom: 0.5rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        height: auto;
    }

    .marketing-hero__row2::-webkit-scrollbar {
        display: none;
    }

    .marketing-hero__banner {
        flex: 0 0 45%;
        min-width: 45%;
        height: 14rem;
    }
}

@media (max-width: 768px) {
    .marketing-hero__categories {
        grid-template-columns: repeat(3, 1fr);
        gap: 0.625rem;
    }

    .marketing-hero__banner {
        flex: 0 0 70%;
        min-width: 70%;
        height: 12rem;
    }

    .marketing-hero__slider {
        height: 16rem;
    }

    .marketing-hero__row3 {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 1rem;
        padding-bottom: 0.5rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        height: auto;
    }

    .marketing-hero__row3::-webkit-scrollbar {
        display: none;
    }

   
}

@media (max-width: 576px) {
    .marketing-hero__categories {
        grid-template-columns: repeat(2, 1fr);
    }

    .category-btn {
        font-size: 0.85rem;
        padding: 0.625rem 0.875rem;
    }

    .marketing-hero__slider {
        height: 14rem;
    }

    .marketing-hero__banner {
        flex: 0 0 85%;
        min-width: 85%;
        height: 10rem;
    }

    
}
@media (min-width: 500px) {
    .background-catalogue-button {
        width: 60%;
        height: 100%;
        display: flex;
    }
    .container{
        max-width: 100%;
        padding: 0 12rem;
    }
    .search-field{
        position: absolute;
        border-radius: 1.25rem;
        padding: clamp(0.75rem, 0.6rem + 0.5vw, 1.0625rem) clamp(0.5rem, 0.45rem + 0.2vw, 0.625rem);
    }
    .navbar-container{
        gap:1.4rem;
    }
    .location-info{
        display: flex;
    }
    .navbar-expand-md .md-menu-button.sm-nav-btn{
        display: none;
    }
    .search_container {
        top: 6rem;
    }
    .icon--map{
        color: #191919E5;
    }
    .desktop-link{
        display: block;
    }
    .sm-link{
        display: none;
    }
}
@media (max-width: 768px) {
    :root {
        --header-height: 14.925rem;
    }
    .mob-logo{
        display: block;
    }
    .desktop-logo{
        display: none;
    }
    .tel-container{
        display: none;
    }
    .tel-mob{
        display: block;
        font-size: clamp(1.5rem, 1.1rem + 0.7vw, 2.25rem);
    }
    .mobile-action-buttons{
        display: flex;
        flex-direction: row;
        padding: 0.625rem 0.4375rem;
        gap:0.625rem;
    }
    .header-actions{
        display: none;
    }
    .navbar-expand-md .navbar-toggler{
        display: block;
        border: none;
    }
    .button-catalogue{
        display: none;
    }
    .background-catalogue-button{
        padding-left: 3.0625rem;
        padding-bottom: 16px;
        padding-top: 16px;
        box-sizing: border-box;
    }
    .search-field {
        left: 11.0625rem;
        width: calc(100% - 11.0625rem);
    }
    .search_container{
        left: 11.0625rem;
        width: calc(100% - 11.0625rem);
    }
    .navbar-menu-mobile {
        background: linear-gradient(160deg, rgba(48, 115, 76, 0.98), rgba(48, 115, 76, 0.85));
        border-radius: 1.25rem;
        padding: 1rem 1.25rem 1.25rem;
        margin-top: 0.75rem;
        box-shadow: 0 1.25rem 2.5rem rgba(48, 115, 76, 0.35);
        border: 1px solid rgba(48, 115, 76, 0.45);
        width: 100%;
    }
    .navbar-menu-mobile .navbar-nav {
        gap: 0.375rem;
    }
    .navbar-menu-mobile .nav-item {
        list-style: none;
    }
    .navbar-menu-mobile .nav-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.75rem 1rem;
        color: #F2FFF6 !important;
        font-weight: 600;
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 0.875rem;
        transition: background-color 0.25s ease, color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
        cursor: pointer;
    }
    .navbar-menu-mobile .nav-link::after {
        content: '\203A';
        font-size: 1.25rem;
        color: inherit;
        opacity: 0.8;
        transition: transform 0.25s ease, opacity 0.25s ease;
    }
    .navbar-menu-mobile .nav-link:hover,
    .navbar-menu-mobile .nav-link:focus,
    .navbar-menu-mobile .nav-link:active {
        color: #FFFFFF !important;
        background: rgba(255, 255, 255, 0.18);
        border-color: rgba(255, 255, 255, 0.32);
        transform: translateX(4px);
        box-shadow: 0 0.75rem 1.5rem rgba(48, 115, 76, 0.32);
    }
    .navbar-menu-mobile .nav-link:hover::after,
    .navbar-menu-mobile .nav-link:focus::after,
    .navbar-menu-mobile .nav-link:active::after {
        opacity: 1;
        transform: translateX(2px);
    }
    #search-block {
        margin: 0 0;
        height: 8.125rem;
    }
    .md-menu-button{
        display: block;
    }
    .navbar-menu-numbar-desktop {
        display: none !important;
    }

    .number-mb-desktop {
        display: none !important;
    }

    .navbar-menu-numbar-mobile {
        display: flex !important;
    }

    .navbar-menu-buttons-mobile-show {
        display: flex !important;
    }

    .navbar-menu-buttons-desktop-show {
        display: none !important;
    }
    .container{
        padding: 0 1.25rem;
    }
    .mob-logo{
        img{
            width: 8.125rem;
        }
    }
    .location-info{
        font-size: 1.2rem;
    }
}
@media (min-width: 769px) {
    .mob-logo{
        display: none;
    }
    .desktop-logo{
        display: block;
        img{
            width: 10.25rem;
        }
    }
    .tel-container {
        display: flex;
        flex-direction: row;
    }
    .tel-mob{
        display: none;
    }
    .header-actions {
        display: flex;
        align-items: center;
        gap: clamp(0.75rem, 0.6rem + 0.5vw, 1.25rem);
    }
    .mobile-action-buttons{
        display: none;
    }
    .navbar-expand-md .navbar-toggler{
        display: none;
    }
    .button-catalogue{
        display: flex;
    }
    .background-catalogue-button{
        padding-left: clamp(1rem, calc(1rem + 1vw), 3.625rem);
    }
    .search-field {
        left: clamp(8rem, calc(4rem + 11vw), 16.0625rem);
        width: calc(100% - clamp(8rem, calc(4rem + 9vw), 22.0625rem));
    }
    .search_container{
        left: clamp(8rem, calc(4rem + 11vw), 16.0625rem);
        width: calc(100% - clamp(8rem, calc(4rem + 9vw), 22.0625rem));
    }
    .navbar-menu-mobile {
        background: transparent;
        border-radius: 0;
        padding: 0;
        margin-top: 0;
        box-shadow: none;
    }
    .navbar-menu-mobile .nav-link {
        cursor: pointer;
        color: inherit !important;
        font-weight: 500;
        background: transparent;
        border: none;
        border-radius: 0;
        padding: 0.5rem 0.75rem;
        transition: color 0.25s ease;
    }
    .navbar-menu-mobile .nav-link::after {
        content: none;
    }
    #search-block {
        margin: 0 2.9rem;
        height: 7.125rem;
    }
    .navbar-container{
        gap:1.4rem;
    }
    .location-info{
        font-size: clamp(0.75rem, 0.65rem + 0.3vw, 0.9rem);
    }
}
@media (max-width: 1000px) {
    .search-field {
        left: clamp(8rem, calc(4rem + 8vw), 19.0625rem);
        width: calc(100% - clamp(8rem, calc(4rem + 8vw), 19.0625rem));
    }
    .search_container{
        left: clamp(8rem, calc(4rem + 8vw), 19.0625rem);
        width: calc(100% - clamp(8rem, calc(4rem + 8vw), 19.0625rem));
    }
}
@media (min-width: 1000px) {
    .background-catalogue-button{
        padding-left:  3.625rem;
    }
}

.catalog-section__content {
    display: none;
}

.catalog-section__content.is-active {
    display: block;
}
@media (max-width: 1199px) {
    html{
            font-size: 10px;
    }
}

.popular-categories {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.popular-categories__list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 2rem 2.5rem;
}

.popular-category {
    display: inline-flex;
    gap: 0.75rem ;
    padding: 1rem 1.5rem;
    border: 1px solid #C8D0DB;
    border-radius: 20rem;
    background: transparent;
    align-items: center;
    justify-content: flex-start;
    color: #191919E5;
    font-size: 1.25rem;
    line-height: 130%;
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    width: 100%;
    min-width: 0;
}

.popular-category:hover{
    border-color: #30734C;
    background: #30734C;
    outline: none;
    color: white;
}

.popular-category__icon {
    width: 1.875rem;
    height: 1.875rem;
    object-fit: contain;
}

.popular-category__label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

@media (max-width: 1200px) {
    .popular-categories__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .popular-categories__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 320px) {
    .popular-categories__header {
        flex-direction: column;
        align-items: flex-start;
    }

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

    .popular-category {
        justify-content: flex-start;
        width: 100%;
    }
}

@media (min-width: 1200px) {
    html{
        font-size: 10px;
    }
    .navbar-container{
        gap:1.4rem;
    }
}


@media (min-width: 1400px) {

    html{
        font-size: 12px;
    }
    .navbar-container{
        gap:1.625rem;
    }
}
@media (min-width: 1800px) {
    html{
        font-size: 12px;
    }
    .container{
        max-width: 110rem;
    }
}
@media (min-width: 1900px) {
    html{
        font-size: 12px;
    }
    .container{
        max-width: 110rem;
        padding: 0;
    }
}
@media (max-width: 500px) {
    .navbar-expand-md .md-menu-button{
        display: none;
    }
    .search-field{
        position: static;
        width: 100%;
        border-radius: 0.4rem;
        padding: 1rem;
    }
    .display-button-showf-first {
        display: none;
    }
    .background-catalogue-button {
        width: 100%;
        display: none;
    }
    .container{
        max-width: 100%;
        padding: 0 1.6rem;
    }
    #search-block{
        background-color: #30734C;
        padding:0.8rem 0.9rem ;
        height: 100%;
        border-radius: 1rem;
        
    }
    .navbar-container {
        flex-direction: column;
        gap:0
    }
    .contact-header-container-wrapper{
        background-color: #FFFFFF;
        padding: 0.9rem 0.8rem 0;

    }
    .mob-logo{
        display: block;
        img{
            width: 8rem;
        }
    }
    .mobile-action-buttons{
        padding: 0.2rem 0;
        svg{
            color: #191919E5
        }
        svg path{
            stroke-opacity: 1;
        }
    }
    .action-icon-wrapper{
        color: #191919E5;
    }
    .action-icon-wrapper:hover,
    .action-icon-wrapper:active{
        color: #191919E5;
    }
    .navbar-dark .contact-header-container-wrapper .navbar-toggler-icon{
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(25, 25, 25, 0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }
    .location-info{
        display: none;
    }
    .navbar-expand-md .md-menu-button.sm-nav-btn{
        display: block;
    }
    .search_container{
        left: 0.8rem;
        width: calc(100% - 1.6rem);
        top: 7rem;
    }
    :root {
        --header-height: 11.925rem;
    }
    .header-container{
        padding: 0;
    }
}

.display-market-first {
    display: block;
}

.display-button-showf-first {
    display: block;
}

.display-button-showT-first {
    display: none;
}

.display-market-mobile-show {
    display: none;
}


.header-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #191919E5;
    font-weight: 700;
    font-size: clamp(1.25rem, 0.95rem + 0.9vw, 1.875rem);
    transition: color 0.25s ease;

}

.action-icon-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    color: #191919E5;
    transition: color 0.25s ease, background-color 0.25s ease;
}

.icon-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    width:2rem;
    height:2rem;
    svg{
        width: 100%;
        height: 100%;
    }
}
.icon--phone{
    max-width: 20px;

}


.header-action .action-icon {
    width: clamp(1.5rem, 1.1rem + 0.7vw, 2.25rem);
    height: clamp(1.5rem, 1.1rem + 0.7vw, 2.25rem);
    margin-bottom: 0.625rem;
}

.header-action-text {
    color: inherit;
    font-size: clamp(0.5rem, 0.46rem + 0.2vw, 0.7rem);
    transition: color 0.25s ease;
}

.header-action:hover,
.action-icon-wrapper:hover{
    color: #1F8C3D;
    outline: none;
}

.header-action:active,
.action-icon-wrapper:active {
    color: #16692D;
}

.search-field {
    display: flex;
    height: calc(100% - 32px);
    box-sizing: border-box;
    align-items: center;
    align-items: center;
    background: #fff;
    border: 1px solid #979797;
    color: #979797;
    font-weight: 300;
    font-family: 'Inter', sans-serif;
    line-height: 100%;
    font-size: clamp(1rem, 0.85rem + 0.6vw, 1.25rem);
    gap: clamp(0.5rem, 0.45rem + 0.2vw, 0.625rem);
    box-shadow: none;
}

.search-field__icon {
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: clamp(1.25rem, 1rem + 0.6vw, 1.5625rem);
    color: #7D879C;
    cursor: pointer;
}

.search-field__icon:focus-visible {
    outline: 2px solid rgba(13, 110, 253, 0.3);
    border-radius: 50%;
}

.search-field__icon:hover {
    color: #4A4A4A;
}

.search-field input.search-field__input {
    border: none;
    outline: none;
    width: 100%;
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: clamp(1rem, 0.85rem + 0.6vw, 1.25rem);
    line-height: 1;
    letter-spacing: 0;
    color: #7D879C;
    background: transparent;
}

.search-field input.search-field__input::placeholder {
    color: #9EA7B3;
    font-weight: 400;
    font-style: normal;
}

.search-field__input:focus {
    outline: none;
}

.nav-links .link-category {
    text-decoration: none !important;
}

.nav-links .link-category {
    color: inherit;
}

.nav-links .link-category.active {
    color: #E31E24 !important;
}

.link-category .category-link-label {
    display: block;
    margin: 0;
    color: inherit;
    text-decoration: none !important;
    text-underline: none !important;
}
.link-category{
    text-decoration: none !important;
    color: #191919E5;
}
#search-block .search-field:hover {
    border-color: #4FAF4F;
    box-shadow: 0 0 0 0.2rem rgba(79, 175, 79, 0.2);
}

#search-block .search-field:focus-within {
    border-color: #30734C;
    box-shadow: 0 0 0 0.25rem rgba(48, 115, 76, 0.25);
}

#search-block .search-field__input:hover,
#search-block .search-field__input:focus {
    color: #30734C;
}

#search-block .search-field__input:focus::placeholder {
    color: rgba(48, 115, 76, 0.55);
}

@media (max-width: 990px) {
    .display-market-first {
        display: none;
    }
}



    .display-button-showT-first {
        display: block;
    }



    .header-action {
        font-size: clamp(0.8rem, 0.7rem + 0.3vw, 1rem);
    }

    .header-action i {
        font-size: clamp(1.25rem, 1.1rem + 0.3vw, 1.5rem);
    }

    .search-field {
        max-width: none;
        font-size: clamp(0.9rem, 0.8rem + 0.3vw, 1.05rem);
    }

    .search-field__icon {
        font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
        margin-right: 0.625rem;
    }

    .search-field__input {
        font-size: clamp(0.85rem, 0.8rem + 0.2vw, 0.95rem);
    }



.icon-thicker {
    -webkit-text-stroke: 1px #191919E5;
    text-stroke: 1px #191919E5;
}

.navbar-container {
    flex-direction: column;
    padding-top: 0;
}

body {
    padding-top: var(--header-height);
    font-family: Arial, Helvetica, sans-serif;
}

html body {
    font-family: Arial, Helvetica, sans-serif;
}

.contact-header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.contact-header-container-wrapper{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.location-info {
    align-items: center;
    gap: clamp(0.5rem, 0.45rem + 0.2vw, 0.625rem);
    font-weight: bold;
    color: #30734C;
}


.location-text {
    color: #30734C;
}



.tel-div {
    flex-direction: row;
    align-items: center;
    display: flex;
    gap: clamp(0.5rem, 0.45rem + 0.2vw, 0.625rem);
    padding: clamp(0.55rem, 0.5rem + 0.2vw, 0.7rem);
    font-size: clamp(0.75rem, 0.65rem + 0.3vw, 0.9rem);
    font-weight: bold;
    transition: background-color 0.2s ease;
    svg{
        color:#191919E5;
        transition: color 0.2s ease;
        path{
            transition: stroke 0.2s ease, stroke-opacity 0.2s ease;
        }
    }
}
.tel-div a{
    transition: color 0.2s ease;
}
.tel-div:hover{
    background-color: rgba(48, 115, 76, 0.08);
}
.tel-div:hover a{
    color: #30734C !important;
}
.tel-div:hover svg{
    color: #30734C;
}
.tel-div:hover svg path{
    stroke-opacity: 1;
    stroke: currentColor;
}
.tel-div i{
    font-size: clamp(1rem, 0.9rem + 0.3vw, 1.25rem);
}
#search-block {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
}
.nav-links{
    margin-top: clamp(1rem, 0.9rem + 0.5vw, 1.625rem);
}
.nav-links .category-link-label {
    font-weight: 700;
    font-size: clamp(1.125rem, 0.95rem + 0.5vw, 1.375rem);
    line-height: 130%;
    text-align: center;
    vertical-align: middle;
}
.nav-links nav  {
   gap:0.75rem
}
.footer-bacground {
    background-color: #30734C;
}

.nav-scroller {
    position: relative;
    z-index: 2;
    margin-top: 3rem;
    height: 3.5rem;
    overflow-y: hidden;
    scrollbar-width: none;
    scrollbar-color: #30734C #E3F1E9;
}

.nav-scroller-inner {
    overflow-x: auto;
    overflow-y: hidden;
    text-align: center;
    height: 100%;
    scrollbar-width: none;
}

.nav-scroller-inner::-webkit-scrollbar {
    display: none;
}

.nav-scroller-inner::-webkit-scrollbar-thumb {
    background-color: #30734C;
    border-radius: 3px;
}

.nav-scroller-inner::-webkit-scrollbar-thumb:hover {
    background-color: #2A5C3E;
}

.nav-scroller-inner::-webkit-scrollbar-track {
    background: #E3F1E9;
    border-radius: 10px;
}

.nav-scroller .nav {
    display: inline-flex;
    flex-wrap: nowrap;
    margin-top: -1px;
    overflow: visible;
    text-align: center;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}



.nav-scroller::-webkit-scrollbar {
    display: none;
}

.nav-scroller::-webkit-scrollbar-thumb {
    background-color: #30734C;
    border-radius: 3px;
}

.nav-scroller::-webkit-scrollbar-thumb:hover {
    background-color: #2A5C3E;
}

.nav-scroller::-webkit-scrollbar-track {
    background: #E3F1E9;
    border-radius: 10px;
}

.block-section {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.block-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.block-section__title {
    font-size: clamp(1.5rem, 1.35rem + 0.6vw, 3rem);
    line-height: 130%;
    font-weight: 700;
    color: #191919E5;
}

.block-section__link {
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 130%;
    color: #191919E5;
    text-decoration: underline;
}

.block-section__link:hover {
    color: #30734C;
}

.promotion-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.promotion-card {
    display: flex;
    flex-direction: column;
    border-radius: 1rem;
    background: #FFFFFF;
    overflow: hidden;
    border: none;
    transition: background-color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.promotion-card:hover {
    background: #E6F4EC;
    box-shadow: 0 1rem 2.25rem rgba(48, 115, 76, 0.18);
    border-color: rgba(48, 115, 76, 0.4);
    transform: translateY(-6px);
    cursor: pointer;
}

.promotion-card__image {
    width: 100%;
    height: 255px;
    object-fit: contain;
    object-position: center;
    background-color: #ffffff;
}

.promotion-card__body {
    padding: 0.625rem;
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.promotion-card__title {
    font-size: 1.25rem;
    font-weight: 400;
    color: #191919E5;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.3;
}

.promotion-card__date {
    font-size: 0.75rem;
    color: #979797;
    margin: 0;
    line-height: 130%;
    font-weight: 400;
    padding: 0.625rem 0;
}

.brands-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1.5rem;
}

.brand-card {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    padding: 1.5rem;
    height: 127px;
    box-sizing: border-box;
    overflow: hidden;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.brand-card:hover {
    background: #DADADA;
}

.brand-card__image {
    max-width: 100%;
    width: auto;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.alphabet-block {
    gap: 1.5rem;
}

.alphabet-block__header {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.alphabet-tabs {
    display: flex;
    gap: 1.2rem;
    align-items: center;
}

.alphabet-tab {
    border: 1px solid transparent;
    background: transparent;
    color: #979797;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 0.35rem 1.125rem;
    border-radius: 0.75rem;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.alphabet-tab:hover,
.alphabet-tab:focus {
    color: #30734C;
    outline: none;
}

.alphabet-tab.is-active {
    background: #30734C;
    color: #FFFFFF;
    border-color: #30734C;
}

.alphabet-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.alphabet{
    width: 100%;
    display: flex;
    gap:0.5rem;
    flex-direction: column;
}
.alphabet-key {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
    background: transparent;
    border: 1px solid transparent;
    color: #191919E5;
    font-weight: 700;
    font-size: 1rem;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.alphabet-key--sm {
    min-width: 3rem;
}

.alphabet-key:hover,
.alphabet-key:focus {
    color: #30734C;
    border-color: rgba(48, 115, 76, 0.35);
    outline: none;
}

.alphabet-key.is-active {
    background: #30734C;
    color: #FFFFFF;
    border-color: #30734C;
}

.alphabet-key--latin {
    font-size: 0.95rem;
}

@media (max-width: 768px) {
    .alphabet-block__header {
        gap: 0.75rem;
    }

    .alphabet-tabs {
        gap: 1rem;
        flex-wrap: wrap;
    }

    .alphabet-grid {
        gap: 0.4rem;
    }

    .alphabet-key {
        min-width: 2.25rem;
        height: 2.25rem;
        font-size: 0.95rem;
    }
}

@media (max-width: 1200px) {
    .promotion-card__image {
        height: 200px;
    }

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

@media (max-width: 992px) {
    .promotion-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .promotion-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .promotion-card__image {
        height: 152px;
    }

    .block-section__title {
        font-size: 3rem;
    }

    .block-section__link {
        font-size: 2rem;
    }

    .promotion-card__date {
        font-size: 1rem;
    }

    .brands-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.25rem;
    }
}

@media (max-width: 500px) {
    .promotion-grid {
        grid-template-columns: 1fr;
    }

    .promotion-card__image {
        height: auto;
        max-height: 123px;
    }

    .desktop-link {
        display: none;
    }

    .sm-link {
        display: flex;
        align-self: flex-end;
        font-size: 1.2rem;
    }

    .block-section__title {
        font-size: 1.6rem;
    }

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

    .brand-card {
        padding: 1rem;
        min-height: 100px;
    }
}

.text-decor {
    position: relative;
}

.a-type:hover {
    color: #4FAF4F;
    transition: 0.7s;
}

.text-decor::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 0.25rem;
    border-radius: 4px;
    background-color: #70C311;
    margin-bottom: -5px;
    bottom: 0;
    left: 0;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform 0.5s ease-in-out;

}

.text-decor:hover::before {
    transform-origin: left;
    transform: scaleX(1);
}

.background-button {
    background: rgba(48, 115, 76, 0.15);
    border: none;
}

.background-icons {
    background: linear-gradient(180deg, #4162E5 0%, #3C4C90 100%);
}
.background-icons:hover {
    background: linear-gradient(180deg, #2649DB 0%, #142775 100%);
}
.background-icons:active {
    background: linear-gradient(180deg, #2542BD 0%, #0E1D5C 100%);
}
.background-button:active {
    color: #fff;
    background-color: rgb(48 115 76 / 30%);
    border-color: rgba(48, 115, 76, 0.15);
}

.background-button:focus {
    color: #fff;
    background-color: rgb(48 115 76 / 30%);
    border-color: rgba(48, 115, 76, 0.15);
    box-shadow: 0 0 0 0.25rem rgba(48, 115, 76, 0.15);
}

.background-button:active:focus {
    box-shadow: 0 0 0 0.25rem rgb(48 115 76 / 19%);
}


.background-button-outline {
    border: 0;
    box-shadow: inset 0 0 0 1px #30734C;
}


.background-button-outline:active:focus {
    box-shadow: 0 0 0 0.25rem rgb(48 115 76 / 19%);
}

.background-button-outline:active {
    color: #fff;
    background-color: rgb(48 115 76 / 30%);
    border-color: rgba(48, 115, 76, 0.15);
}


.background-button-outline:hover {
    color: #fff;
    background-color: rgb(48 115 76 / 30%);
    border-color: rgba(48, 115, 76, 0.15);
}

.background-button-outline:focus {
    box-shadow: 0 0 0 0.25rem rgb(48 115 76 / 19%);
}

.span-color-group {
    background: none;
    border-color: #30734C;
    color: #30734C;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
}

.button-search {
    background: #30734C;
    color: white;
    border-color: #30734C;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
}

.background-catalogue-button {

    height: 100%;
    background-color: #30734C;
    border-radius: 1.25rem;
    align-items: center;
}

.button-catalogue {

    align-items: center;
    gap: 0.625rem;
    color: white;
    font-weight: 500;
    padding: 0.5rem 1.125rem;
    min-height: 2.5rem;
    box-sizing: border-box;
    border-radius: 2rem;
    font-family: 'Inter', sans-serif;
    transition: color 0.25s ease;
}

.button-catalogue .catalog-button__text {
    font-size: clamp(1rem, 0.85rem + 0.4vw, 1.25rem);
    line-height: 130%;
    color: inherit;
    transition: color 0.25s ease;
}

.button-catalogue:focus,
.button-catalogue:focus-visible {
    outline: none;
    box-shadow: none;
}

.button-catalogue:hover{
    color: #d7ffe3;
}

.button-catalogue:active {
    color: #D7F9CF;
    outline: none;
    box-shadow: none;
}

/* Иконка нарисована в фиксированных пикселях и не зависит ни от rem, ни от vw,
   поэтому выглядит одинаково на всех брейкпоинтах. */
.catalog-button__icon {
    display: block;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    color: inherit;
    overflow: visible;
    /* одинаковое сглаживание в любом состоянии; crispEdges здесь использовать нельзя:
       он округляет края каждой линии к целому пикселю устройства по отдельности,
       и при dpr 1.25/1.5 или зуме браузера полосы получаются разной высоты */
    shape-rendering: geometricPrecision;
}

.catalog-button__bar {
    fill: none;
    stroke: currentColor;
    /* non-scaling-stroke: толщина считается в пикселях самого svg, а не в единицах
       viewBox, поэтому высота линии всегда ровно 2px при любом масштабе и зуме */
    stroke-width: 2px;
    vector-effect: non-scaling-stroke;
    stroke-linecap: round;
}

/* Бургер и крестик — две независимые группы с точной геометрией. Крестик не получается
   поворотом полосок, поэтому его форма не зависит от того, как браузер разрешает
   transform-origin у линии с нулевой высотой bbox, и всегда остаётся симметричной.
   У обеих групп центр bbox совпадает с центром viewBox (10,10), так что вращение
   вокруг center даёт одинаковый результат при любой трактовке transform-box. */
.catalog-button__bars,
.catalog-button__cross {
    transform-box: view-box;
    transform-origin: center;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.catalog-button__cross {
    opacity: 0;
    transform: rotate(-90deg);
}

/* состояние «открыто» — показываем крестик вместо полосок */
.button-catalogue.is-open .catalog-button__bars {
    opacity: 0;
}

.button-catalogue.is-open .catalog-button__cross {
    opacity: 1;
    transform: rotate(0deg);
}


.button-search:active:focus {
    box-shadow: 0 0 0 0.25rem rgb(48 115 76 / 19%);
}



.menu-container {
    max-width: 1440px;
    z-index: 999;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.main-header {
    width: 100%;
    display: flex;
    justify-content: center;
}

.catalogue-menu {
    display: none;
    position: fixed;
    top: var(--header-height);
    left: 0;
    width: 100%;
    background-color: #ffffff;
    z-index: 998;
    max-height: calc(100vh - var(--header-height));
    height: 500px;
    overflow-y: auto;
    flex-direction: row;
    justify-content: center;
    padding: 2rem 0;
    border-bottom:1px solid #30734C;
}

.category-dropdown-list {
    list-style: none;
    margin: 0;
    padding: 0 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 16rem;
}

.category-link {
    display: block;
    padding: 0.5rem 1.25rem;
    margin: 0;
    cursor: pointer;
    text-decoration: none;
    color: #979797;
    font-size: 1rem;
    font-weight: 700;
    border-top-left-radius: 0.75rem;
    border-bottom-left-radius: 0.75rem;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.category-link:hover,
.category-link.active {
    background-color: #30734C;
    color: #FFFFFF;
}

.list-dropdown-item {
    border: 0;
    border-bottom: 1px solid #ededed;
    padding: 1rem 1.875rem 1rem 1.25rem;
}

.list-dropdown-item a {
    color: black;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-size: 1.375rem;
    font-weight: 400;
}

.list-dropdown-item a p {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 400;
}

.list-dropdown-item a:hover {
    color: #30734C;
}

.subcategory-panel {
    flex: 1;
    padding: 0 2rem;
    display: none;
    background: transparent;
}

.subcategory-panel.active {
    display: block;
}

.subcategory-columns {
    display: flex;
    flex-wrap: wrap;
}

.subcategory-column {
    width: 33.33%;
    box-sizing: border-box;
    padding: 0 1.5rem;
}

.subcategory-column a {
    text-decoration: none;
    color: #979797;
    display: block;
    padding: 0.4rem 0;
    white-space: normal;
    word-wrap: break-word;
    font-size: 1rem;
    font-weight: 700;
    transition: color 0.2s ease;
}

.subcategory-column a:hover {
    color: #30734C;
}

.menu-header {
    border-bottom: none;
    background: #30734C;
    color: white;
    padding: 1.3125rem 1.25rem;
}

.menu-header .offcanvas-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.menu-header .btn-close-white {
    filter: brightness(0) invert(1);
    opacity: 1;
}

.menu-header:hover {
    cursor: pointer;
}

@media (max-width: 1000px) {
    .catalogue-menu {
        display: none !important;
    }
}

.button-search:active {
    color: #fff;
    background-color: #30734C;
    border-color: #30734C;
}

.button-search:hover {
    color: #fff;
    background-color: #30734C;
    border-color: #30734C;
}

.button-search:focus {
    color: #fff;
    background-color: #30734C;
    border-color: #30734C;
    box-shadow: 0 0 0 0.25rem rgb(48 115 76 / 19%);
}

.input-search {
    border-color: #30734C;
}

.input-search:focus {
    color: #212529;
    background-color: #fff;
    border-color: rgba(48, 115, 76, 0.15);
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(48 115 76 / 19%);
}


.a-font-size-nav3 {
    font-size: 15px;
}

.button-sales {
    border-radius: 20px;
    background: #30734C;
    color: white;
    text-decoration: none;
}

.button-sales:hover {
    box-shadow: 0 0 0 0.20rem rgb(48 115 76 / 50%);
    color: white;
}

.button-more {
    border-radius: 20px;
    background: #70C311;
    color: white;
    text-decoration: none;
}

.button-more:hover {
    box-shadow: 0 0 0 0.20rem rgb(112 195 17 / 50%);
    color: white;
}

h4,
h3,
h6 {
    color: #344863;
}

.product-badges {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.625rem;
    pointer-events: none;
}

.product-badges__col {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.product-badges__col--end {
    align-items: flex-end;
}

.badge-new {
    background: #30734C;
    color: white;
    padding: 0.3125rem 0.6875rem;
    border-radius: 0.3125rem;
    text-align: center;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.2;
    white-space: nowrap;
}

.hit {
    background: #70C311;
    color: white;
    padding: 6px 6px 6px 6px;
    border-radius: 20px;
    width: 50px;
    text-align: center;
    font-size: 14px;
}

.discount_product {
    background: #E31E24;
    color: white ;
    padding: 0.3125rem 0.6875rem;
    border-radius: 0.3125rem;
    width: auto;
    display: flex;
    flex-direction: row;
    text-align: center;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.2;
    white-space: nowrap;
    position: relative;
    z-index: 2;
}

.discount_product .bi-percent {
    font-weight: 700 !important;
    font-style: normal;
}

.scale-animation {
    transition: all 0.5s ease-in-out;
    width: 90%;
    height: 90%;
    z-index: 1;
}

.scale-animation:hover {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}


.btn-carusel {
    color: #fff;
    background-color: #30734C;
    border-color: #30734C;
}

.btn-carusel:active {
    color: #fff;
    background-color: #1F8C3D;
    border-color: #1F8C3D;
}

.btn-carusel:active:focus {
    box-shadow: 0 0 0 0.25rem rgb(48 115 76 / 19%);
}

.btn-carusel:focus {
    color: #fff;
    background-color: #1F8C3D;
    border-color: #1F8C3D;
    box-shadow: 0 0 0 0.25rem rgb(48 115 76 / 19%);
}

.btn-carusel:hover {
    color: #fff;
    background-color: #1F8C3D;
    border-color: #1F8C3D;
}


.btn-like {
    color: #979797;
    border: none;
    background:none;
    z-index: 2;
    position: relative;
    font-size:1.5rem;
    box-sizing: content-box;
    padding: 0;
}
.btn-like-item{
    width: 1.825rem;
    height: 1.825rem;
    padding: 0.25rem;
    display: flex;
    background:none;
    justify-content: center;
    align-items: center;
    border: none;
}
.btn-like-item i{
    font-size: 1.3rem;
    line-height: 1;
}

.btn-like:active {
    color: #E31E24;
    background-color: rgba(115, 26, 28, 0.3);
    border: none;
    border-radius: 999px;
}

.btn-like:hover {
    color: #E31E24;
    background-color: rgba(220, 67, 72, 0.3);
    border: none;
    border-radius: 999px;
}
.bi-heart-fill{
    color: #E31E24;
}
.margin-comment {
    margin-bottom: 10rem;
}

.display-market-show {
    display: block;
}

@media (max-width: 1120px) {
    .margin-comment {
        margin-bottom: 12rem;
    }
}

@media (max-width: 990px) {
    .margin-comment {
        margin-bottom: 15rem;
    }
}

@media (max-width: 552px) {
    .margin-comment {
        margin-bottom: 17rem;
    }
}

@media (max-width: 770px) {
    .display-market-show {
        display: none;
    }

    .display-market-mobile-show {
        display: block;
    }
}

@media (max-width: 453px) {
    .margin-comment {
        margin-bottom: 18rem;
    }
}

@media (max-width: 370px) {
    .margin-comment {
        margin-bottom: 22rem;
    }
}

@media (max-width: 340px) {
    .margin-comment {
        margin-bottom: 24rem;
    }
}

@media (max-width: 320px) {
    .margin-comment {
        margin-bottom: 27rem;
    }
}

@media (max-width: 307px) {
    .margin-comment {
        margin-bottom: 32rem;
    }
}

@media (max-width: 280px) {
    .margin-comment {
        margin-bottom: 29rem;
    }
}

.carusel-first-True {
    display: block;
}

.carusel-first-False {
    display: none;
}

.carusel-second-True {
    display: block;
}

.carusel-second-False {
    display: none;
}

.carusel-third-True {
    display: block;
}

@media (max-width: 900px) {
    .text-right-col {
        text-align: left !important;
    }
}

.carusel-third-False {
    display: none;
}


@media (max-width: 770px) {
    .carusel-first-True {
        display: none;
    }

    .carusel-first-False {
        display: block;
    }

    .carusel-second-True {
        display: none;
    }

    .carusel-second-False {
        display: block;
    }

    .carusel-third-True {
        display: none;
    }

    .carusel-third-False {
        display: block;
    }
}

.catalog-button-col-show {
    display: flex;
}

.catalog-button-col-false {
    display: none;
}

@media (max-width: 992px) {
    .catalog-button-col-show {
        display: none;
    }

    .catalog-button-col-false {
        display: block;
    }
}


.btn-close:focus {
    outline: 0;
    box-shadow: 0 0 0 0.25rem #6c757d4d;
    opacity: 1;
}

.navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

.navbar-dark .navbar-toggler {
    color: rgba(255, 255, 255, 0.85);
    border-color: rgba(255, 255, 255, 0.3);
}

.navbar-dark .navbar-toggler:hover,
.navbar-dark .navbar-toggler:focus,
.navbar-dark .navbar-toggler:active {
    color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, 0.6);
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.2);
}

.navbar-menu-buttons-mobile-show {
    display: none !important;
}

.navbar-menu-buttons-desktop-show {
    display: flex;
}

.navbar-menu-border-mobile {
    border-bottom: 0
}

@media (min-width: 768px) {
    .navbar-expand-md .navbar-collapse {
        display: none !important;
        flex-basis: auto;
    }
}

.number-mb-desktop {
    display: block !important;
}

.navbar-menu-numbar-desktop {
    display: flex !important;

}

.navbar-menu-numbar-desktop div {
    flex-direction: row;
    display: flex;
}

.navbar-baner-first {
    display: block !important;
}

.navbar-baner-second {
    display: none !important;
}

@media (max-width: 1200px) {
    .navbar-baner-first {
        display: none !important;
    }

    .navbar-baner-second {
        display: block !important;
    }
}

@media (max-width: 992px) {
    .navbar-baner-second {
        display: none !important;
    }
}

.navbar-menu-numbar-mobile {
    display: none !important;
}




.span-advertising {
    position: absolute;
    top: 6px;
    right: 6px;
    width: auto;
    max-width: 140px;
    height: auto;
    padding: 2px 4px 1px;
    color: #fff;
    font-size: 10px;
    line-height: 12px;
    text-overflow: ellipsis;
    background: rgba(0, 0, 0, .3);
    border-radius: 2px;
    white-space: nowrap;
    overflow: hidden;
    mix-blend-mode: luminosity;
    z-index: 1;
}

.btn-w {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    max-width: 100%;
    gap: 0.3em;
}

.product-image-wrapper {
    width: 100%;
    height: 190px;
    overflow: hidden;
    position: relative;
    border-radius: 15px 15px 0 0;
    background-color: #fff;
}

.product-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.icon-margin {
    margin-right: 0.4rem;
}

.card-size {
    width: 530px;
    height: 250px;
}

@media (max-width: 1200px) {
    .card-size {
        width: 460px;
        height: 250px;
    }
}

@media (max-width: 992px) {
    .card-size {
        width: 340px;
        height: 273px;
    }
}

@media (max-width: 992px) {
    .card-size {
        width: 340px;
        height: 350px;
    }
}


.form-select:focus {
    border-color: #30734C;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(48 115 76 / 19%);
}


.search_container {
    position: absolute;
    z-index: 9999;
    max-height: 50vh;
    background-color: #fff;
    border-radius: 1rem;
    box-shadow: 0 0.75rem 1.5rem -0.875rem rgba(0, 0, 0, 0.25);
    overflow: hidden;
    display: none;
}

.search_container.is-visible {
    display: block;
}

.drop_search {
    max-height: inherit;
    width: 100%;
    padding: 0.5rem 0;
    overflow: auto;
    list-style-type: none;
    margin: 0;
}

.search_element {
    margin: 0;
    list-style: none;
}

.search_link {
    display: block;
    margin: 0.25rem 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    text-decoration: none;
    color: #7D879C;
    font-size: 0.95rem;
    font-weight: 400;
    text-transform: none;
    line-height: 1.4;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.search_link:hover {
    color: #30734C;
    .add_to_basket:hover {
        background-color: #1F8C3D;
        color: #f0f0f0;
    }

    .add_to_basket:focus {
        background-color: rgb(48 115 76 / 80%);
        border-color: rgba(48, 115, 76, 0.15);
        @media (max-width: 600px) {
            .search_container {
                width: calc(100vw - 1.875rem);
                left: 50%;
                transform: translateX(-50%);
            }

            .search_link {
                font-size: small;
            }
        }
    }
}
.card-body-content{
    padding:0.75rem 0.5rem 0.75rem;
}
.card{
    border:none;
}
.btn-add-to-basket{
    color: white;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.25;
    padding: 0.95rem 0.75rem;
    border-radius: 0.75rem;
    white-space: nowrap; /* overflow text fixes */
}

.btn-add-to-basket .bi-cart3{
    font-size: 1.15em;
    line-height: 1;
}

.btn-add-to-basket.is-remove {
    background: #dc3545 !important;
    border-color: #dc3545 !important;
}

.btn-add-to-basket.is-remove:hover {
    background: #bb2d3b !important;
    border-color: #bb2d3b !important;
}


@media (max-width: 1400px) {
    .btn-add-to-basket {
        font-size: 1.4rem;
        padding: 1rem 0.5rem;
    }
}

@media (max-width: 1200px) {
    .btn-add-to-basket {
        font-size: 1.2rem;
        padding: 0.8rem 0.4rem;
    }
}


@supports (container-type: inline-size) {

    .card-body.card-body-content {
        container-type: inline-size;
    }

    .btn-add-to-basket {
        font-size: clamp(11px, 7cqi, 16px);
        padding: clamp(8px, 4cqi, 12px) clamp(6px, 2.5cqi, 12px);
        border-radius: clamp(6px, 2.5cqi, 10px);
    }

    .icon-margin {
        margin-right: clamp(2px, 1.2cqi, 6px);
    }
}
.card-title{
    font-size: 1rem;
    font-weight: 700;
    line-height: 130%;
    text-decoration: none;
    color:black;
}
.card-title:hover{
    color:#30734C;
}
.card-text{
    font-size: 1rem;
    font-weight: 400;
    line-height: 130%;
}

.product-meta{
    margin-top: auto;
}
.product-meta__row{
    display: block;
}
.product-meta__row + .product-meta__row{
    margin-top: 0.125rem;
}

.manufacturer-link, .manufacturer-name {
    color: #30734C;
    text-decoration: none;
    border-bottom: 1px solid rgba(48, 115, 76, 0.35);
    padding-bottom: 1px;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.manufacturer-link:hover {
    color: #245a3a;
    border-bottom-color: #245a3a;
}

.old-price{
    font-size: 1rem;
}

.catalog-section__header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: nowrap;
    margin-bottom: 2rem;
}

.catalog-section__tabs{
    display: flex;
    flex-wrap: nowrap;
    gap: 1.25rem;
    flex: 1;
    min-width: 0;
    overflow-x: auto;
    box-sizing: content-box;
    padding: 0.2rem 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.catalog-section__tabs::-webkit-scrollbar {
    display: none;
}

.catalog-tab{
    padding: 1.25rem 0.625rem;
    border-radius: 1.25rem;
    background: #FFFFFF;
    color: #191919E5;
    font-size: 1.25rem;
    min-width: 17.3125rem;
    font-weight: 700;
    border:none;
    line-height: 1.3;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}

.catalog-tab:hover{
    color: #30734C;
    /* inset вместо outline: обводка рисуется внутри кнопки и не срезается
       краем прокручиваемого .catalog-section__tabs (overflow-x: auto) */
    box-shadow: inset 0 0 0 1px #30734C;
}
.catalog-tab:active{
    background: #30734C;
    color: #FFFFFF;
}
.catalog-tab.is-active{
    background: #30734C;
    color: #FFFFFF;
}

.catalog-section__controls{
    display: flex;
    gap: 0.75rem;
    flex-shrink: 0;
}

.catalog-arrow{
    width: 3.75rem;
    height: 3.75rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
    color: #191919E5;
    border: none;
    background: transparent;
    padding: 0;
}

.catalog-arrow svg{
    width: 100%;
    height: 100%;
    background:none;
    display: block;
    fill: transparent;
    padding: 0;
}

.catalog-arrow svg path{
    stroke: currentColor;
    background:none;
    fill: transparent;
    transition: stroke 0.2s ease, fill 0.2s ease;
    padding: 0;
}

.catalog-arrow:hover,
.catalog-arrow:focus-visible{
    color: #30734C;
    outline: none;
    background:none;
    fill: transparent;
    padding: 0;
}

.catalog-arrow:hover svg path,
.catalog-arrow:focus-visible svg path{
    fill: rgba(48, 115, 76, 0.1);
    padding: 0;
}

.catalog-arrow:active{
    transform: scale(0.96);
}

.catalog-arrow:disabled{
    pointer-events: none;
    color: rgba(25, 25, 25, 0.35);
    box-shadow: none;
}

.catalog-carousel .carousel-item{
    overflow: hidden;
}

.catalog-slider__row{
    display: flex;
    flex-wrap: nowrap;
    gap: 1.5rem;
}

.catalog-slider__item{
    flex: 0 0 calc((100% - (1.5rem * 5)) / 6);
    display: flex;
}

.catalog-slider__item > *{
    width: 100%;
}

#promoSliderRow .catalog-slider__item {
    flex: 0 0 calc((100% - (1.5rem * 2)) / 3);
}

.brands-slider__item {
    flex: 0 0 calc((100% - (1.5rem * 7)) / 8);
}

/* Статическая сетка торговых марок (без слайдера) */
.brands-grid-static {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.brands-grid-static__item {
    flex: 0 0 calc((100% - (1.5rem * 7)) / 8);
    display: flex;
}

.brands-grid-static__item > * {
    width: 100%;
}

@media (max-width: 992px) {
    .brands-grid-static {
        gap: 1.25rem;
    }

    .brands-grid-static__item {
        flex: 0 0 calc((100% - (1.25rem * 5)) / 6);
    }
}

@media (max-width: 768px) {
    #promotionCarousel,
    #promotionCarousel .carousel-inner,
    #promotionCarousel .carousel-item {
        overflow: visible;
    }

    #promoSliderRow {
        flex-wrap: wrap;
        transform: none !important;
        transition: none !important;
    }

    #promoSliderRow .catalog-slider__item {
        flex: 0 0 calc((100% - 1.5rem) / 2);
    }

    #promotionControls,
    #promoIndicators {
        display: none !important;
    }

    #brandsCarousel,
    #brandsCarousel .carousel-inner,
    #brandsCarousel .carousel-item {
        overflow: visible;
    }

    #brandsSliderRow {
        flex-wrap: wrap;
        transform: none !important;
        transition: none !important;
    }

    .brands-slider__item {
        flex: 0 0 calc((100% - (1.25rem * 3)) / 4);
    }

    .brands-grid-static {
        gap: 1.25rem;
    }

    .brands-grid-static__item {
        flex: 0 0 calc((100% - (1.25rem * 3)) / 4);
    }

    #brandsControls,
    #brandsIndicators {
        display: none !important;
    }
}

@media (max-width: 480px) {
    #promoSliderRow .catalog-slider__item {
        flex: 0 0 100%;
    }

    .brands-slider__item {
        flex: 0 0 calc((100% - (1rem * 2)) / 3);
    }

    .brands-grid-static {
        gap: 1rem;
    }

    .brands-grid-static__item {
        flex: 0 0 calc((100% - (1rem * 2)) / 3);
    }
}


.catalog-carousel .carousel-indicators {
    position: static;
    margin-top: 1.25rem;
    margin-bottom: 0;
    justify-content: center;
    gap: 0.375rem;
    display: none;
}

.catalog-carousel .carousel-indicators button {
    width: 0.8325rem;
    height: 0.8325rem;
    border-radius: 50%;
    background-color: #d1d1d1;
    border: none;
    padding: 0;
    opacity: 1;
    transition: background-color 0.3s ease;
}

.catalog-carousel .carousel-indicators button.active {
    background-color: #30734C;
}


.unique-green-btn-wrapper{
    width: 100% !important;
    height: 100% !important;
    min-height: 3rem !important;
    background: #1F8C3D !important;
    border-color: #1F8C3D !important;
    color: white !important;
    font-weight: 600 !important;
    border-radius: 0.5rem !important;
    font-size: 1.175rem !important;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 1.5rem 0.625rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    outline: none !important;
}

.unique-green-btn-wrapper:hover {
    background: #0A6640 !important;
    border-color: #0A6640 !important;
}

.unique-green-btn-wrapper.is-remove {
    background: #dc3545 !important;
    border-color: #dc3545 !important;
}

.unique-green-btn-wrapper.is-remove:hover {
    background: #bb2d3b !important;
    border-color: #bb2d3b !important;
}


@media (max-width: 1400px){
    .catalog-slider__row{
        gap: 1.25rem;
    }

    .catalog-slider__item{
        flex: 0 0 calc((100% - (1.25rem * 3)) / 4);
    }
}

@media (max-width: 992px){
    .catalog-section__header{
        align-items: center;
    }

    .catalog-section__controls {
        display: none;
    }

    .catalog-carousel .carousel-indicators {
        display: flex;
    }

    .catalog-slider__row{
        gap: 1.25rem;
    }

    .catalog-slider__item{
        flex: 0 0 calc((100% - (1.25rem * 2)) / 3);
    }
}

@media (max-width: 768px){
    .catalog-slider__row{
        gap: 1.5rem;
    }

    .catalog-slider__item{
        flex: 0 0 calc((100% - 1rem) / 2);
    }

    .catalog-tab{
        padding: 0.5rem 1.25rem;
        font-size: 0.95rem;
    }

    .catalog-section__header .catalog-section__controls{
        width: 100%;
        justify-content: flex-end;
    }
}

@media (max-width: 480px){
    .catalog-slider__item{
        flex: 0 0 100%;
    }

    .catalog-section__header .catalog-section__controls{
        justify-content: center;
    }
}

/* ===============================================
   Слайдер подборок товаров на главной (#catalog)
   Ширина карточки считается от --catalog-per-view,
   значение уточняет JS по фактической ширине .container,
   поэтому последняя карточка никогда не обрезается.
   =============================================== */
#catalog .catalog-slider__row{
    --catalog-gap: 1.5rem;
    --catalog-per-view: 6;
    gap: var(--catalog-gap);
}

#catalog .catalog-slider__item{
    flex: 0 0 calc((100% - var(--catalog-gap) * (var(--catalog-per-view) - 1)) / var(--catalog-per-view));
    max-width: calc((100% - var(--catalog-gap) * (var(--catalog-per-view) - 1)) / var(--catalog-per-view));
    min-width: 0;
}

@media (max-width: 1400px){
    #catalog .catalog-slider__row{
        --catalog-gap: 1.25rem;
        --catalog-per-view: 4;
    }
}

@media (max-width: 992px){
    #catalog .catalog-slider__row{
        --catalog-per-view: 3;
    }
}

@media (max-width: 768px){
    #catalog .catalog-slider__row{
        --catalog-gap: 1.5rem;
        --catalog-per-view: 2;
    }
}

@media (max-width: 480px){
    #catalog .catalog-slider__row{
        --catalog-per-view: 1;
    }
}

/* ===============================================
   Global Button Primary Styles (Green Theme)
   =============================================== */
.btn-primary {
    color: #fff !important;
    background-color: #30734C !important;
    border-color: #30734C !important;
}

.btn-primary:hover {
    color: #fff !important;
    background-color: #245a3a !important;
    border-color: #245a3a !important;
}

.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    color: #fff !important;
    background-color: #1e4a30 !important;
    border-color: #1e4a30 !important;
}

.btn-primary:focus,
.btn-check:focus + .btn-primary {
    color: #fff !important;
    background-color: #245a3a !important;
    border-color: #245a3a !important;
    box-shadow: 0 0 0 0.25rem rgba(48, 115, 76, 0.25) !important;
}

.btn-primary:disabled,
.btn-primary.disabled {
    color: #fff !important;
    background-color: #30734C !important;
    border-color: #30734C !important;
    opacity: 0.65;
}

/* Form controls focus state */
.form-control:focus {
    border-color: #6A9A7E !important;
    box-shadow: 0 0 0 0.25rem rgba(48, 115, 76, 0.25) !important;
}

.form-check-input:checked {
    background-color: #30734C !important;
    border-color: #30734C !important;
}

.form-check-input:focus {
    border-color: #30734C !important;
    box-shadow: 0 0 0 0.25rem rgba(48, 115, 76, 0.25) !important;
}

/* ===============================================
   Basket Quantity Wrapper Styles
   =============================================== */
.basket-qty-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E0E9FF;
    border-radius: 0.5rem;
    overflow: hidden;
    width: auto;
    max-width: 8rem;
    background: #fff;
}

.basket-qty-wrapper .qty-btn {
    background: #fff;
    border: none;
    width: 2rem;
    height: 2.5rem;
    text-align: center;
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    color: #30734C;
    padding: 0;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
}

.basket-qty-wrapper .qty-btn:hover:not(:disabled) {
    background-color: rgba(48, 115, 76, 0.1);
    color: #245a3a;
}

.basket-qty-wrapper .qty-btn:disabled {
    color: #ccc;
    cursor: not-allowed;
}

.basket-qty-wrapper .qty-input {
    width: 2.5rem;
    border: none;
    border-left: 1px solid #E0E9FF;
    border-right: 1px solid #E0E9FF;
    text-align: center;
    font-weight: 600;
    font-size: 1rem;
    line-height: 2.5rem;
    height: 2.5rem;
    color: #344863;
    pointer-events: none;
    background: #fff;
    padding: 0;
}
