@import url('https://fonts.googleapis.com/css?family=Roboto');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed');
@import url(https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,400,400italic,500,500italic,700,700italic,900,900italic&subset=latin,latin-ext,cyrillic,cyrillic-ext,greek-ext,greek,vietnamese);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext,cyrillic-ext,cyrillic,greek-ext,greek,vietnamese);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700&subset=latin,latin-ext,greek-ext,greek,vietnamese,cyrillic,cyrillic-ext);

/* === Базовые стили === */
html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
}

body {
    padding-top: 80px;
}

html.fancybox-margin {
    padding-right: 10px;
}

body.modal-open .navbar-fixed-top,
body.modal-open .fixed-header {
    padding-right: 0 !important;
}

/* === Tailwind-подобные утилиты === */
.flex {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-col {
    flex-direction: column;
}

.flex-row {
    flex-direction: row;
}

.flex-1 {
    flex: 1 1 0;
}

.justify-between {
    justify-content: space-between;
}

.justify-center {
    justify-content: center;
}

.justify-end {
    justify-content: flex-end;
}

.items-center {
    align-items: center;
}

.gap-0 {
    gap: 0;
}

.gap-1 {
    gap: 0.25rem;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-3 {
    gap: 0.75rem;
}

.gap-4 {
    gap: 1rem;
}

.gap-5 {
    gap: 1.25rem;
}

.gap-6 {
    gap: 1.5rem;
}

.gap-7 {
    gap: 1.75rem;
}

.gap-8 {
    gap: 2rem;
}

.gap-9 {
    gap: 2.25rem;
}

.gap-10 {
    gap: 2.5rem;
}

.m-0 {
    margin: 0 !important;
}

.m-1 {
    margin: 0.25rem;
}

.m-2 {
    margin: 0.5rem;
}

.m-3 {
    margin: 0.75rem;
}

.m-4 {
    margin: 1rem;
}

.mt-0 {
    margin-top: 0;
}

.mt-1 {
    margin-top: 0.25rem;
}

.mt-2 {
    margin-top: 0.5rem;
}

.mt-3 {
    margin-top: 0.75rem;
}

.mt-4 {
    margin-top: 1rem;
}

.mt-5 {
    margin-top: 1.25rem;
}

.mt-6 {
    margin-top: 1.5rem;
}

.mt-7 {
    margin-top: 1.75rem;
}

.mt-8 {
    margin-top: 2rem;
}

.mt-9 {
    margin-top: 2.25rem;
}

.mt-10 {
    margin-top: 2.5rem;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-3 {
    margin-bottom: 0.75rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-5 {
    margin-bottom: 1.25rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}


.mt-7 {
    margin-top: 1.75rem;
}

.mt-8 {
    margin-top: 2rem;
}

.mt-9 {
    margin-top: 2.25rem;
}

.mt-10 {
    margin-top: 2.5rem;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-3 {
    margin-bottom: 0.75rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-5 {
    margin-bottom: 1.25rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mb-7 {
    margin-bottom: 1.75rem;
}

.mb-8 {
    margin-bottom: 2rem;
}

.mb-9 {
    margin-bottom: 2.25rem;
}

.mb-10 {
    margin-bottom: 2.5rem;
}

.mb-11 {
    margin-bottom: 2.75rem;
}

.mb-12 {
    margin-bottom: 3rem;
}

.mb-13 {
    margin-bottom: 3.25rem;
}

.mb-14 {
    margin-bottom: 3.5rem;
}

.my-0 {
    margin-top: 0;
    margin-bottom: 0;
}

.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.my-3 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.p-0 {
    padding: 0 !important;
}

.p-1 {
    padding: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.p-3 {
    padding: 0.75rem !important;
}

.p-4 {
    padding: 1rem !important;
}

.pl-0 {
    padding-left: 0 !important;
}

.pl-1 {
    padding-left: 0.25rem !important;
}

.pl-2 {
    padding-left: 0.5rem !important;
}

.pl-3 {
    padding-left: 0.75rem !important;
}

.pl-4 {
    padding-left: 1rem !important;
}

.pl-5 {
    padding-left: 1.25rem !important;
}

.pl-6 {
    padding-left: 1.5rem !important;
}

.pl-7 {
    padding-left: 1.75rem !important;
}

.pr-0 {
    padding-right: 0 !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pt-1 {
    padding-top: 0.25rem !important;
}

.pt-2 {
    padding-top: 0.5rem !important;
}

.pt-3 {
    padding-top: 0.75rem !important;
}

.pt-4 {
    padding-top: 1rem !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-1 {
    padding-bottom: 0.25rem !important;
}

.pb-2 {
    padding-bottom: 0.5rem !important;
}

.pb-3 {
    padding-bottom: 0.75rem !important;
}

.pb-4 {
    padding-bottom: 1rem !important;
}

.pb-5 {
    padding-bottom: 1.25rem !important;
}

.pb-6 {
    padding-bottom: 1.5rem !important;
}

.pb-7 {
    padding-bottom: 1.75rem !important;
}

.pb-8 {
    padding-bottom: 2rem !important;
}

.pb-9 {
    padding-bottom: 2.25rem !important;
}

.pb-10 {
    padding-bottom: 2.5rem !important;
}

.px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.px-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
}

.px-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

.px-3 {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

.px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.px-5 {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}

.px-6 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.px-7 {
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
}

.px-8 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.py-0 {
    padding-top: 0;
    padding-bottom: 0;
}

.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}

.italic {
    font-style: italic;
}

.not-italic {
    font-style: normal;
}

.inline {
    display: inline-block !important;
}

.d-none {
    display: none !important;
}

.d-block {
    display: block !important;
}

.w-100 {
    width: 100% !important;
}

.hidden-xl-down {
    display: none !important;
}

.text-justify {
    text-align: justify;
}

.text-center {
    text-align: center !important;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

/* #### HEADERS #### */
h1,
.h1 {
    font-size: 2rem;
}

.lined {
    position: relative;
    text-align: center;
}

.lined span {
    background: #fff;
    padding: 0 15px;
    position: relative;
    z-index: 1;
}

.lined:before {
    background: #ddd;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 50%;
    width: 94%;
    left: 3%;
}

/* #### LAYOUT #### */
.page-wrapper {
    padding: 30px 0;
    max-width: 1170px;
}

button {
    outline: none !important;
}

button.disabled {
    pointer-events: none;
}

.default-orange {
    color: #FF7F0B;
}

.default-green {
    color: #A2CF41;
}

.default-grey {
    color: #C3C3C3;
}

.no-paddings {
    padding: 0 !important;
}

.bold {
    font-weight: 500;
}

.bold_text {
    font-weight: bold;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/*custom scrollbar*/
*::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    background-color: white;
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    background-color: white;
}

*::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: #A2CF41;
}

/*start header*/
.koop-navbar {
    margin-bottom: 0;
    background-color: #fff;
    padding-top: 5px;
    padding-bottom: 5px;
    border: none;
    -webkit-transform: translateZ(0);
    border-bottom: #A2CF41 solid 1px;
}

.header-mobile-about>a {
    color: #777;
    font-weight: 500;
}

.header-mobile-about {
    padding: 15px 0;
    margin-right: 15px;
}

.admin-pannel>a {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #A2CF41;
    border-radius: 50%;
    width: 55px;
    height: 55px;
    margin-top: 2px;
}

.admin-pannel>a .fa {
    font-size: 30px;
}

.header-menu .navbar-nav {
    float: right;
}

.header-menu.container-fluid {
    color: #7B7B7B;
    background-color: white;
    max-width: 1250px;
    margin: auto;
}

.header-items {
    margin-bottom: 5px;
}

.icon-heart-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border: 1px solid #A2CF41;
    border-radius: 50%;
    transition: all 0.25s ease;
    vertical-align: middle;
    background: #fff;
}

.icon-heart-button:hover {
    text-decoration: none;
    border: 1px solid #A2CF41;
    border-radius: 50%;
    color: #A2CF41;
    transition: all 0.25s ease;
    cursor: pointer;
    background-color: #A2CF41;
}

.icon-heart-button.active {
    color: white;
    background-color: #A2CF41;
    border-color: #A2CF41;
    animation: pulse 0.3s ease;
}

.icon-heart-button a {
    text-decoration: none;
    border: none;
    color: inherit;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    display: flex;
    pointer-events: auto;
}

.icon-heart-button i {
    font-size: 19px;
    line-height: 1;
    transition: all 0.25s ease;
    pointer-events: none;
}

.icon-heart-button.active i {
    transform: scale(1.2);
}

.icon-heart-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border: 1px solid #A2CF41;
    border-radius: 50%;
    transition: all 0.25s ease;
    vertical-align: middle;
    margin: 10px 0 0 8px;
    background: #fff;
}

.icon-heart-wrapper:hover {
    text-decoration: none;
    border: 1px solid #A2CF41;
    border-radius: 50%;
    color: #A2CF41;
    transition: all 0.25s ease;
    cursor: pointer;
    background-color: #f6fff1;
    /* background-color: #A2CF41; */
}

.icon-heart-wrapper.active {
    color: white;
    animation: pulse 0.3s ease;
    /* background-color: #A2CF41; */
}

.icon-heart-wrapper a {
    text-decoration: none;
    border: none;
    color: inherit;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    display: flex;
    pointer-events: auto;
}

.icon-heart-wrapper i {
    font-size: 19px;
    line-height: 1;
    transition: all 0.25s ease;
    pointer-events: none;
}


.icon-heart-wrapper.active i {
    transform: scale(1.2);
}

.heart-button i {
    transition: color 0.3s ease, transform 0.2s ease;
}

.heart-button.active i {
    color: #e74c3c;
    transform: scale(1.2);
    animation: pulse 0.4s ease;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.3);
    }

    100% {
        transform: scale(1);
    }
}

.header-truck {
    width: 75px;
    vertical-align: super;
}

.header-phone {
    width: 40px;
    vertical-align: middle;
    display: inline-block;
}

.header-work-time {
    width: 40px;
    vertical-align: top;
    margin-top: 10px;
}

.work-time {
    margin-top: 10px;
    margin-left: 10px;
}

.header-cart {
    width: 35px;
}

.header-cart-qty {
    position: absolute;
    font-size: 14px;
    left: 35px;
    top: 5px;
    width: 20px;
    font-weight: 600;
    height: 20px;
    color: white;
    background: #FF7F0B;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    border-radius: 50px;
    padding-left: 5px;
    padding-top: 1px;
}

.header-cart-item {
    border: 1px solid #A2CF41;
    border-radius: 50px;
    margin-top: 2px;
    margin-left: 10px;
}

/* === ИКОНКА "ВЫХОД" (ДВЕРЬ) === */
.exit-header {
    background: url(../images/header/exit.png) no-repeat -1px center;
    background-size: 70px;
    width: 35px;
    height: 35px;
    position: absolute;
    top: 9px;
    left: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.exit-header img {
    width: 120px;
    height: auto;
    max-width: 100%;
    transition: width 0.3s ease;
}

@media (max-width: 1024px) {
    .exit-header img {
        width: 90px;
    }
}

@media (max-width: 768px) {
    .exit-header img {
        width: 70px;
    }
}

@media (max-width: 480px) {
    .exit-header img {
        width: 55px;
    }
}

.header-auth:hover .exit-header,
a:hover .exit-header {
    background-position: -36px center;
    background-size: 70px;
}

.header-auth:hover>a {
    border: 1px solid #A2CF41;
    background-color: #A2CF41 !important;
    border-radius: 50px;
}

/* При наведении корзина — текст меняет цвет */
.header-auth:hover .header-cart-sum {
    color: white !important;
}

/* Чуть уменьшить плотность текста справа */
.free-delivery,
.header-cart-sum,
.phone-numbers {
    font-size: 14px;
    margin-left: 6px;
}

/* Кнопка корзины — немного компактнее */
.header-cart-item a {
    padding: 4px 8px !important;
}

.header-cart {
    width: 32px;
}

.header-cart-qty {
    font-size: 12px;
    left: 30px;
    top: 4px;
}



.cart-header {
    background: url(../images/header/cart.png) no-repeat 0 center;
    background-size: 65px;
    width: 35px;
    height: 35px;
}

.header-cart-item:hover {
    border: 1px solid #A2CF41;
    background-color: #A2CF41;
}

.header-cart-item:hover .header-cart-sum {
    color: white !important;
}

.header-cart-item:hover>a .cart-header {
    background-position: -33px center;
    background-size: 65px;
    width: 35px;
    height: 35px;
}

.header-cart-item>a {
    padding: 6px 12px !important;
}

.header-cart-qty-dozen {
    padding-left: 2px;
    font-size: 13px;
}

.hide-header-cart-qty {
    display: none;
}

.phone-numbers {
    color: #7B7B7B;
    margin-left: 10px;
    margin-top: 19px;
}

.phone-numbers>a {
    color: #7B7B7B;
}

.free-delivery {
    display: inline-block;
    color: #7B7B7B;
    margin-left: 10px;
}

.header-cart-sum {
    margin-left: 10px;
    vertical-align: top;
    padding-top: 10px;
}

.header-auth a {
    border: 1px solid #A2CF41;
    border-radius: 50px;
    width: 55px;
    height: 55px;
    margin-top: 2px;
}

.header-auth>a>img {
    position: absolute;
    left: 5px;
    top: -1px;
    width: 35px;
}

.logout-btn {
    margin-top: 8px;
}

.registration-btn {
    text-align: center;
    border-color: #ff830b;
    margin-top: 10px;
}

.registration-btn>a {
    border-color: #ff830b;
    border-radius: 30px;
    font-size: 24px;
    color: #ff830b;
    background-color: white;
}

.registration-btn>a:hover,
.registration-btn>a:active {
    border-color: #ff830b;
    border-radius: 30px;
    font-size: 24px;
    color: white;
    background-color: #ff830b;
}




/**
  Hide arrows for input number
 */
.no-arrows::-webkit-outer-spin-button,
.no-arrows::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.no-arrows {
    -moz-appearance: textfield;
}

/* Sidebar menu */
.menu-header {
    background-color: #A2CF41;
    margin: auto;
    padding: 10px 15px;
    color: white;
    text-align: center;
    border-radius: 15px 15px 0 0;
    position: relative;
}

.menu-header .fa.fa-bars {
    float: left;
    position: absolute;
    left: 15px;
}

.menu-last-item {
    min-height: 20px;
    background-color: #a2cf41;
    border-radius: 0 0 15px 15px;
    position: relative;
}

.menu-last-item>a {
    background-color: #ffffff;
    position: absolute;
    top: 0;
    height: 15px;
    border-radius: 0 0 10px 10px;
    width: 100%;
    box-sizing: border-box;
}

.sidebar-block {
    margin-top: 20px;
}

.sidebar-block-inner {
    margin: 0;
    padding: 0;
    border-radius: 15px;
    -webkit-box-shadow: 0 0 4px 0 #c9c9c9;
    -moz-box-shadow: 0 0 4px 0 #c9c9c9;
    box-shadow: 0 0 5px 2px #c9c9c9;
}

.sidebar-menu .fa.fa-angle-right {
    color: #A2CF41;
    font-size: 18px;
}

.sidebar-menu .fa.fa-angle-down {
    color: #FF7F0B;
    font-size: 18px;
}

.sidebar-menu>li>a {
    color: #484848;
}

.sidebar-menu>li.active>a {
    text-decoration: none;
    background-color: #F8F8F8;
}

.sidebar-menu>li>a:focus,
.sidebar-menu>li>a:hover {
    text-decoration: none;
    background-color: #E5E5E5;
}

.sidebar-menu-block .nav>li>a {
    position: relative;
    display: block;
    padding: 5px 15px;
}

.sidebar-menu>li.hide_lvl2,
.sidebar-menu>li.show_lvl2 {
    border-bottom: 1px solid #D6D6D6;
}

.sidebar-menu li>a.s-menu-level2 {
    padding-left: 30px;
}

.sidebar-menu li>a.s-menu-level3 {
    padding-left: 45px;
}

.sidebar-menu li>a.s-menu-level4 {
    padding-left: 60px;
}

.sidebar-menu li>a.s-menu-level5 {
    padding-left: 75px;
}

/*search bar*/
.search-bar .glyphicon {
    color: #A2A2A2;
    width: 47px;
}

.search-bar .input-group-addon {
    color: #484848;
    padding: 0;
    border: none;
    background-color: transparent;
}

.search-bar {
    position: relative;
}

.search-bar .icons-search {
    position: absolute;
    top: 38%;
    right: 8px;
    transform: translateY(-50%);
    display: flex;
    gap: 5px;
    align-items: center;
    z-index: 3;
}

.search-bar .icons-search .icon-heart-wrapper:hover {
    background: #f4f4f4;
}



.search-bar input[type="text"] {
    width: 89%;
    height: 45px;
    border-radius: 8px;
}

@media (max-width: 1200px) {
    .search-bar input[type="text"] {
        width: 85%;
    }
}

@media (max-width: 768px) {
    .search-bar input[type="text"] {
        width: 79%;
    }
}

@media (max-width: 500px) {
    .search-bar input[type="text"] {
        width: 70%;
    }
}

@media (max-width: 360px) {
    .search-bar input[type="text"] {
        width: 63%;
    }
}

.search-bar-row {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.search-bar {
    flex: 1;
}

.search-bar input[type="text"] {
    height: 45px;
    border-radius: 8px;
    width: 100%;
}



.search-bar .input-group-addon button {
    min-height: 50px;
    font-size: 24px;
    padding: 10px 0 4px 0;
    border-radius: 15px 0 0 15px;
    margin-right: -2px;
    background-color: transparent;
    border-right: initial;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.search-bar input {
    min-height: 50px;
    font-size: 18px;
    border-left: initial;
    border-radius: 0 15px 15px 0;
}

.search-bar .input-group-addon .btn:hover,
.search-bar .input-group-addon .btn:focus,
.search-bar .input-group-addon .btn:active {
    background-color: transparent !important;
    box-shadow: none;
}

.search-icons {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    display: flex;
    gap: 10px;
}

/* #### CATALOG #### */
.product-btn-minus,
.product-btn-plus {
    border: 2px solid #a2cf41;
    border-radius: 50px;
    width: 26px;
    height: 26px;
    color: #a2cf41;
    font-size: 15px;
    padding: 2px;
}

.product-btn-minus:hover,
.product-btn-minus:focus,
.product-btn-minus:active,
.product-btn-plus:active:focus,
.product-btn-minus:active:focus,
.product-btn-plus:hover,
.product-btn-plus:focus,
.product-btn-plus:active {
    border: 2px solid #a2cf41 !important;
    background-color: #a2cf41 !important;
    border-radius: 50px;
    width: 26px;
    height: 26px;
    color: white !important;
}

/* #### STOCK STATUS */
.stock-status {
    font-style: italic;
    font-weight: 500;
    min-height: 2rem;
    text-align: center;
}

.stock-status.in-stock,
.stock-status.in-stock-preorder {
    color: #28a745;
}

.stock-status.preorder {
    color: #ffc107;
}

.stock-status.out-of-stock {
    color: #a0a0a0;
}

/* #### PRODUCTS GRID #### */
.products-grid .row {
    clear: both;
}

.products-grid .clearfix:after,
.products-grid .container:after,
.products-grid .container-fluid:after,
.products-grid .row:after {
    clear: right;
}

.product-grid {
    margin-bottom: 15px;
}

.product-grid .qty-input {
    width: 2rem;
    height: 2.3rem;
}

.product-grid .product-qty-block {
    flex-direction: row;
}

.product-grid .btn-buy {
    background: url(../images/product-details/product-cart.png) no-repeat -27px center;
    border: 2px solid #A2CF41;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    background-size: 70px;
    height: 3rem;
    width: 3rem;
}

.product-grid .btn-buy:hover,
.product-grid .btn-buy:active,
.product-grid .btn-buy:focus {
    background-position: 8px center;
    background-color: #A2CF41 !important;
    border-color: #A2CF41 !important;
}

.product-grid .product-title {
    min-height: 3.5rem;
    text-align: center;
    font-size: 1.3rem;
}

.product-grid .product-title>a {
    color: #484848;
}

.product-grid.out-of-stock {
    opacity: 0.6;
}

.p-qty-num {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.3rem;
}

.qty-input {
    width: 2.5rem;
    height: 2.5rem;
    max-width: 3.125rem;
    text-align: center;
    border: none;
    box-shadow: none;
    font-size: 1.375rem;
    padding: 0 !important;
}

.product-thumbnail {
    position: relative;
    min-width: 180px;
    min-height: 470px;
    border: 1px solid #C3C3C3;
    border-radius: 15px;
    background-color: white;
}

.product-grid-img {
    min-height: 280px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #C3C3C3;
}

.product-grid-img img {
    padding: 0.75rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
    max-width: 100%;
    max-height: 280px;
}

.product-grid-text {
    width: 100%;
    height: 58px;
    float: left;
    overflow: hidden;
    margin-top: 15px;
}

.pt-shadow {
    -webkit-box-shadow: 0 1px 10px 0 #C3C3C3;
    -moz-box-shadow: 0 1px 10px 0 #C3C3C3;
    box-shadow: 0 1px 10px 0 #C3C3C3;
}

/** #### PRODUCT DETAIL PAGE #### */
.product-card .product-qty-block {
    flex-direction: row;
}

.product-card .product-image-main {
    height: 300px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-color: #CDCDCD;
    border-radius: 10px;
    padding: 0.5rem;
}

.product-card .product-image-main img {
    object-fit: contain;
    display: block;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
}

.product-card .product-image-main:hover,
.product-card .product-image-main:focus,
.product-card .product-image-main:active {
    border-color: #CDCDCD;
}

.product-card .product-images-list {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.product-card .product-image-other {
    width: 100%;
    height: 100%;
}

.product-card .product-article {
    font-size: 1rem;
    color: #949494;
}

.product-card .product-price {
    font-size: 32px;
    color: #A2CF41;
}

.product-card .product-description {
    color: #000;
}

.product-card .product-btn-minus,
.product-card .product-btn-plus {
    width: 35px;
    height: 35px;
    font-size: 20px;
}

.product-card .product-btn-minus:hover,
.product-card .product-btn-minus:focus,
.product-card .product-btn-minus:active,
.product-card .product-btn-plus:hover,
.product-card .product-btn-plus:focus,
.product-card .product-btn-plus:active {
    width: 35px;
    height: 35px;
    padding: 2px;
}

.product-card .btn-buy {
    background: url(../images/product-details/product-cart.png) no-repeat 12px center #A2CF41;
    border-color: #A2CF41;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    background-size: 75px;
    height: 60px;
    width: 60px;
}

.product-card .btn-buy:hover,
.product-card .btn-buy:active,
.product-card .btn-buy:focus {
    background-position: -26px center;
    border: 2px solid #A2CF41;
    background-color: transparent !important;
    background-size: 75px;
}

.product-card .stock-status {
    text-align: left;
}

/* Cart Page */
.cart-qty-column {
    width: 150px;
}

.cart-tab-panels {
    background-color: #fff;
    padding: 15px 10px 15px 0;
}

.req {
    color: red;
    margin-left: 5px;
    font-size: 14px;
}

#cartModal h2 {
    font-weight: 400;
}

#cartModal .btn-default {
    border: 1px solid #8b8989;
    ;
    border-radius: 30px;
    color: #484848;
}

#cartModal .btn-success {
    border: 1px solid #A2CF41;
    border-radius: 30px;
    background-color: #A2CF41;
}

#cartModal .btn-success:hover {
    border: 1px solid #A2CF41;
    ;
    border-radius: 20px;
    color: #A2CF41;
    background-color: white;
}

#cartModal .modal-header {
    border-bottom: 1px dashed #e5e5e5;
}

.well {
    background: #fff;
    border: none;
    box-shadow: none;
    padding: 0;
}

.col-lg-offset-1 {
    margin-left: 4%;
}

.col-xs-2 {
    width: 13%;
    padding-right: 2px;
}

.block {
    display: block;
    max-width: 477px;
    margin: auto;
    padding: 0 75px;
}

.field-login-username>input {
    border: none;
}

.field-login-password>input {
    border: none;
}

.auth-form {
    width: 100%;
    max-width: 550px;
    margin: auto;
    padding: 0 75px;
}

.auth-form h1 {
    text-align: center;
    font-weight: normal;
    font-size: 3.5em;
}

.auth-form p {
    text-align: center;
    font-size: 1.5em;
    font-weight: normal;
}

.auth-form a {
    text-decoration: none;
    color: #A2CF41;
}

.button-main {
    display: block;
    padding: 0 20%;
    margin: auto;
    background: none;
    border: 2px solid #A2CF41;
    border-radius: 50px;
    line-height: 2.5em;
    color: #A2CF41;
    font-size: 17px;
}

.button-main:hover {
    background: #A2CF41;
    border: 2px solid #A2CF41;
}

.button-main:active,
.button-main:focus {
    background: #A2CF41 !important;
    border: 2px solid #8BB238 !important;
}

.site_logo {
    display: flex;
    height: 65px;
    width: 100%;
}

.site_logo2 {
    background: url(../images/header/logo.png?1) no-repeat center;
    background-size: 50%;
    height: 65px;
    display: block;
    width: 100%;
    min-height: 45px;
}

.nav_padding {
    padding-top: 2%;
}

.logo_footer {
    max-height: 4%;
}

.logo_footer img {
    width: 77%;
}


.f_align {
    width: 19%;
}

/*  Корзина    */
.marg {
    margin-bottom: 10px;
}

.btn-cart-change-qty {
    border-radius: 24px !important;
    border-color: #A2CF41;
    padding: 6px;
    line-height: 1em;
    font-size: 12px;
    color: #A2CF41;
}

.btn-cart-change-qty:hover,
.btn-cart-change-qty:active,
.btn-cart-change-qty:focus {
    border-color: #8BB238;
    background: #A2CF41 !important;
    color: #343434;
}

.btn-cart-delete-product {
    border-radius: 24px !important;
    border-color: #d9534f;
    padding: 6px;
    line-height: .6em;
    font-size: 22px;
    color: #d9534f;
    background: none;
}

.btn-cart-delete-product:hover,
.btn-cart-delete-product:active,
.btn-cart-delete-product:focus {
    border-color: #ac2925;
    background: #c9302c !important;
    color: #fff;
}

.width2 {
    width: 120px !important;
    padding: 2% !important;
}

/* Calendar info */
.calendar-info {
    border-radius: 4%;
    border: 1px solid #A1CF3F;
}

.calendar-info h5 {
    font-weight: bold;
    font-size: 1.2em;
}

/* Main Carousel */
.carousel-control {
    width: 50px;
}

.product-carousel .carousel-control .fa-chevron-left,
.product-carousel .carousel-control .fa-chevron-right,
.main-carousel .carousel-control .fa-chevron-left,
.main-carousel .carousel-control .fa-chevron-right {
    position: absolute;
    top: calc(50% - 20px);
    z-index: 5;
    display: inline-block;
    border: 3px solid white;
    border-radius: 50px;
    width: 40px;
    height: 40px;
    font-size: 18px;
}

.product-carousel .carousel-control .fa-chevron-left,
.main-carousel .carousel-control .fa-chevron-left {
    left: 30px;
    padding: 9px 9px;
}

.product-carousel .carousel-control .fa-chevron-right,
.main-carousel .carousel-control .fa-chevron-right {
    right: 30px;
    padding: 9px 13px;
}

.carousel-control.right,
.carousel-control.left {
    background-image: none;
}

.carousel-indicators {
    bottom: 0;
}

.carousel-indicators li {
    width: 15px;
    height: 15px;
    margin: 2px 0;
    text-shadow: 3px 3px 2px rgba(150, 150, 150, 1);
    box-shadow: 1px 2px 6px rgba(0, 0, 0, 0.8);
    background-color: white;
    opacity: 0.6;
}

.carousel-indicators li.active {
    width: 15px;
    height: 15px;
    margin: 2px 0;
    opacity: 1;
}

.carousel-inner img {
    object-fit: cover;
    border-radius: 15px;
    background-color: transparent;
}

/*popular product carousel*/
.popular-product-header-line,
.popular-product-footer-line {
    width: calc(100% - 8px);
    height: 5px;
    background-color: #A2CF41;
    position: absolute;
    left: 0;
    margin: 0 3px;
}

.popular-product-header-line {
    top: 0;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
}

.popular-product-footer-line {
    bottom: 0;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
}

.product-carousel {
    border: 1px solid #C3C3C3;
    border-radius: 15px;
    margin-top: 30px;
    background-color: #F7F7F7;
    position: relative;
}

.product-carousel .carousel-inner img {
    object-fit: contain;
}

.product-carousel .swiper-product {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}

.product-carousel h2 {
    font-weight: 400;
    margin-top: 25px;
    margin-bottom: 20px;
}

.product-carousel .half_padding {
    padding: initial;
}

.product-carousel .product-grid {
    padding: 5px !important;
}

.product-carousel .carousel-inner {
    padding: 0 10px;
    z-index: 101;
}


.product-carousel .carousel-control.left {
    left: -40px;
}

.product-carousel .carousel-control.right {
    right: -40px;
}

.product-carousel .carousel-control .fa-chevron-left,
.product-carousel .carousel-control .fa-chevron-right {
    top: 40%;
    color: #484848;
    border-color: #484848;
    width: 35px;
    height: 35px;
    font-size: 14px;
    padding: 8px;
}

.product-carousel .carousel-control .fa-chevron-left {
    left: 10px;
}

.product-carousel .carousel-control .fa-chevron-right {
    right: 10px;
}

.product-carousel .btn-buy {
    background-position: -30px center;
    width: 50px;
    height: 50px;
}

.product-carousel .btn-buy:hover,
.product-carousel .btn-buy:active,
.product-carousel .btn-buy:focus {
    background-position: 6px center;
}

/* Page */
.page-title {
    margin-top: 0;
}

.page-content {
    padding: 15px 0 20px;
}

/* #### News #### */
.read-news-link>a {
    color: #2e2e2e;
    text-decoration: underline;
}

.read-news-link>a:hover,
.read-news-link>a:active {
    color: #FF7F0B;
}

.news-list-header {
    color: #484848;
    font-size: 36px;
    font-weight: 400;
}

.news-item-block {
    border-bottom: 1px solid #e7e7e7;
}

.news-item-block .news-list-header>a,
.news-item-block .news-list-header>a:active,
.news-item-block .news-list-header>a:hover,
.news-list-header a:focus {
    color: #484848;
}

.side-bar-news {
    border: 1px solid #D6D6D6;
    border-radius: 15px;
    margin-top: 20px;
    padding: 0 15px 10px 15px;
}

.side-bar-news .side-bar-news-header {
    border-bottom: 1px solid #D6D6D6;
    text-align: center;
    margin-top: 10px;
    padding-bottom: 10px;
}

.side-bar-news .side-bar-news-content {
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 280px;
}

.side-bar-news .news-list-header {
    color: #A2CF41;
    font-size: 1.25rem;
}

.side-bar-news .news-list-header>a,
.side-bar-news .news-list-header>a:hover,
.side-bar-news .news-list-header>a:active {
    color: #A2CF41;
}

.side-bar-news .news-excerpt {
    text-align: justify;
    color: #888;
}

.side-bar-news .news-list-item-block {
    padding: 1rem;
    border-bottom: 1px solid #e7e7e7;
}

.side-bar-news .full-list-news {
    text-align: center;
    margin-top: 20px;
}

.side-bar-news .full-list-news .btn-default {
    border-radius: 30px;
    border-color: #9F9F9F;
    background: white;
}

.side-bar-news .full-list-news a.btn-default:hover,
.side-bar-news .full-list-news a.btn-default:focus,
.side-bar-news .full-list-news a.btn-default:active {
    border-radius: 30px;
    color: white;
    border-color: #9d9d9d;
    background: #9d9d9d;
}


/* Pagination */
.pagination>.active>a,
.pagination>.active>span,
.pagination>.active>a:hover,
.pagination>.active>span:hover,
.pagination>.active>a:focus,
.pagination>.active>span:focus {
    background-color: #3CC440;
    border-color: #3CC440;
}

.pagination>li>a,
.pagination>li>span {
    color: #3CC440;
}

.free-ship-info-box {
    min-height: 20px;
    font-size: 20px;
    color: #343434;
    font-weight: 400;
    border: 1px solid #FF7F0B;
    border-radius: 10px;
    margin: 0 0 20px 0;
    padding: 10px;
}

.free-ship-info-box p {
    text-align: center;
    margin: 0;
}

footer {
    background-color: #A2CF41;
    padding: 15px;
    color: white;
    font-weight: 500;
    bottom: 0;
}

footer a {
    color: white;
}

.hide_lvl1>ul {
    display: none !important;
}

.hide_lvl1.active>ul {
    display: block !important;
}

.hide_lvl2>ul {
    display: none !important;
}

.hide_lvl2.active>ul {
    display: block !important;
}

.hide_lvl3>ul {
    display: none !important;
}

.hide_lvl3.active>ul {
    display: block !important;
}

.hide_lvl4>ul {
    display: none !important;
}

.hide_lvl4.active>ul {
    display: block !important;
}

.hide_lvl5>ul {
    display: none !important;
}

.hide_lvl5.active>ul {
    display: block !important;
}

.active.hide_lvl2 ul.hide_click {
    display: none !important;
}

.active.hide_lvl3 ul.hide_click {
    display: none !important;
}

.active.hide_lvl4 ul.hide_click {
    display: none !important;
}

.active.hide_lvl5 ul.hide_click {
    display: none !important;
}

/*-------Календарь------*/
.ui-widget-content,
.ui-widget-header {
    border: none;
    background: white;
    color: #252525;
    font-family: sans-serif;
    font-weight: normal;
}

.ui-widget-header .ui-icon {
    background-image: url("../images/left-c-green.png");
}

.ui-widget-header .ui-icon.ui-icon-circle-triangle-e {
    background-image: url("../images/right-cal-green.png");
}

.ui-icon-circle-triangle-e,
.ui-icon-circle-triangle-w {
    background-position: center;
}

.ui-datepicker-calendar thead tr:first-child {
    font-size: 16px;
    text-align: center;
    font-weight: normal;
}

.ui-datepicker-calendar tbody {
    background: #FAFAFA;
    text-align: center;
}

.ui-datepicker-calendar tbody tr td {
    border: 1px solid #FAFAFA;
}

.ui-datepicker-calendar tbody tr td:first-child {
    border-left: none;
}

.ui-datepicker-calendar tbody tr td:last-child {
    border-right: none;
}

.ui-datepicker th {
    border-bottom: 1px solid #4B4A4A;
    padding: .6em .2em .4em .2em;
    font-weight: 100;
}

.ui-datepicker-calendar tbody tr td:first-child a,
.ui-datepicker-calendar tbody tr td:last-child a,
.ui-datepicker-calendar tbody tr td:first-child span.ui-state-default,
.ui-datepicker-calendar tbody tr td:last-child span.ui-state-default,
.ui-datepicker-calendar tbody tr td:first-child,
.ui-datepicker-calendar tbody tr td:last-child,
.ui-datepicker-calendar tbody tr td:first-child span.ui-state-default.ui-state-active,
.ui-datepicker-calendar tbody tr td:last-child span.ui-state-default.ui-state-active {
    /* background: none;*/
    text-align: center;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    border: none;
    background: none !important;
    font-size: 16px;
    font-family: sans-serif;
    text-align: center;
    font-weight: normal;
    color: #252525;
    border-radius: 50%;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
    opacity: 1;
}

#datepicker .ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
    /*background: #037EA7!important;*/
}

/*Green*/
#datepicker.green-picker .ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
    /*background: #4DC01D!important;*/
    /*border: 1px solid #4DC01D;*/
}

.ui-datepicker-calendar a {
    background: none !important;
    border: 1px solid #A2CF41 !important;
}

.ui-datepicker-calendar a:active,
.ui-datepicker-calendar a:hover,
.ui-datepicker-calendar a:focus,
.ui-datepicker-calendar a:visited {
    background: #A2CF41 !important;
}

.ui-datepicker-calendar tbody tr td.selected.selected-start.selected-end {
    /* aight-color: #037EA7;*/
    border-left-color: #037EA7;
}

#datepicker.green-picker .ui-datepicker-calendar tbody tr td.selected.selected-start.selected-end {
    border-right-color: #4DC01D;
    border-left-color: #4DC01D;
}

#datepicker .ui-datepicker-calendar tbody tr td.ui-datepicker-week-end .ui-state-active {
    /*background:  #D2D2D2!important;*/
}

#datepicker-green.green-picker .ui-datepicker-calendar tbody tr td.ui-datepicker-week-end .ui-state-active {
    /* background: #4DC01D!important;*/
}

.ui-datepicker-calendar tbody tr td.selected.selected {
    border-color: #037EA7;
}

#datepicker-green.green-picker .ui-datepicker-week-end.ui-datepicker-unselectable.ui-state-disabled.selected {
    border-color: #FAFAFA !important;
    ;
}

#datepicker .ui-datepicker-week-end.ui-datepicker-unselectable.ui-state-disabled.selected {
    border-color: #FAFAFA !important;
    ;
}

#datepicker.green-picker .ui-datepicker-calendar tbody tr td.selected {
    border-color: #4DC01D;
}

#datepicker .ui-datepicker-calendar tbody tr td.selected {
    border-color: #037EA7;
}

.ui-datepicker td span,
.ui-datepicker td a {
    padding: .19em;
}

#datepicker.green-picker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e {
    background-image: url("../images/right-cal-green.png");
}

#datepicker.green-picker .ui-widget-header .ui-icon {
    background-image: url("../images/left-c-green.png");
}

.ui-datepicker td {
    padding: 0;
}

.attention_test_mode {
    text-align: center;
    color: red;
    font-size: 16px;
    padding: 0.5rem;
}

.attention_test_mode p {
    padding: 0;
    margin: 0;
}

.ui-datepicker-other-month.ui-datepicker-unselectable.ui-state-disabled {
    background: #fff;
}

.table-cart td,
.table-cart th {
    text-align: center !important;
    vertical-align: middle !important;
}

.header-item.header-cart-item .header-cart-sum {
    color: #ff7f0b;
}

.modal-dialog table td,
body table th {
    text-align: center !important;
    vertical-align: middle !important;
}

.modal-header {
    text-align: center;
}

.modal-footer {
    text-align: center;
}

.modal-dialog {
    display: flex;
    justify-content: center;
    width: auto;
}

.phone-numbers ul.dropdown-menu {
    position: absolute;
    top: auto;
    left: 20%;
}

/* Custom styles for popin & close button */
.custom {
    color: #555;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.custom p {
    padding: 10px 20px;
    margin: 30px 0 0;
    font-size: 14px;
    font-weight: 300;
    text-align: justify;
}

.avgrund-close {
    display: block;
    text-transform: uppercase;
    color: #555;
    text-decoration: none;
    position: absolute;
    top: 6px;
    right: 10px;
    font-size: 13px;
}

table .ui-state-disabled span {
    background: none !important;
}

.products_list_in_order td>div {
    display: flex;
}

.products_list_in_order td>div>div.info {
    width: 100%;
    padding-left: 14px;
}

.products_list_in_order td>div>div.data {
    width: 100%;
    /*padding-left: 14px;*/
}

.products_list_in_order td>div>div.data input {
    width: 40px;
    margin: 0;
    display: flex;
    margin-left: 50%;
    padding: 0;
    margin-right: -5px;
    transform: translateX(-50%);
}

table td:nth-child(1) {
    position: relative;
}

.products_list_in_order.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: #ffffff;
}

.products_list_in_order.table>thead>tr>th {
    vertical-align: bottom;
    border-bottom: 1px solid black;
}

.products_list_in_order.table>tbody>tr>td {
    padding: 8px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #000;
}

.products_list_in_order.table {
    text-align: center;
}

td.no_work_days a {
    background: #D2D2D2 !important;
}

.cont div#datepicker table.ui-datepicker-calendar a.ui-state-active {
    background: #037499 !important;
    color: white;
}

.cont div#datepicker.green-picker table.ui-datepicker-calendar a.ui-state-active {
    background: #4DC01D !important;
}

table .ui-state-disabled span {
    background: #D2D2D2 !important;
}

#addresses-list .list-group-item {
    border-radius: 8px;
    transition: box-shadow .2s ease, transform .1s ease;
}

#addresses-list .list-group-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

#addresses-list .btn i {
    font-size: 1.1rem;
}

.header-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.header-item {
    margin-left: 5px;
}

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

.header-item i {
    font-size: 22px;
    border: 1px solid #fff;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}


/**
 ** ORDERS
 */
.order-options {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 20px;
}

.order-options.has-error {
    border: 1px solid #d9534f;
}

.order-options .order-option {
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 10px;
    position: relative;
    width: 100%;
}

.order-options .order-option label {
    font-weight: bold;
}

.order-options .order-option-delivery.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.order-options .order-option-fields {
    padding-top: 2rem;
    padding-left: 25px;
}

.order-options .order-option-fields .control-label {
    padding-left: 0;
    padding-bottom: 5px;
}

.pickup-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pickup-date-chip {
    display: inline-block;
    border: 1px solid #c5e8b7;
    border-radius: 9999px;
    cursor: pointer;
    background-color: #f0f6f1;
    transition: background-color 0.2s ease;
}

.pickup-date-chip:hover {
    background-color: #f3f4f6;
}

.pickup-date-chip.active {
    background-color: #A2CF41;
    color: #fff;
}
