/* default styles */

@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-Bold.eot') format('eot'),
        url('../fonts/Gilroy-Bold.woff') format('woff'),
        url('../fonts/Gilroy-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-SemiBold.eot') format('eot'),
        url('../fonts/Gilroy-SemiBold.woff') format('woff'),
        url('../fonts/Gilroy-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-Regular.eot') format('eot'),
        url('../fonts/Gilroy-Regular.woff') format('woff'),
        url('../fonts/Gilroy-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-Light.eot') format('eot'),
        url('../fonts/Gilroy-Light.woff') format('woff'),
        url('../fonts/Gilroy-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

header *,
main *,
footer *,
.popup * {
  box-sizing: border-box; 
  font-family: 'Montserrat', 'Gilroy', sans-serif !important;
  font-weight: 400;
  color: #1E1E1E;
  outline: none;
}

strong {
  font-weight: 600 !important;
}

body, 
html {
  width: 100%; 
  height: auto;
  background: #fff;
}

a {
  text-decoration: none;
}

p {
  font-size: 20px;
  line-height: 1.2;
}

section {
  overflow-x: hidden;
  overflow-y: hidden;
}

.container {
  width: 1800px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
}

[class^="hvr-"] {
  cursor: pointer;
  background: #e1e1e1;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h3 {
  font-size: 22px;
  font-weight: 600;
}

.fancybox-content {
  width: 1000px;
  max-width: 96%;
}

.popup p {
  font-size: 14px;
}

ul li {
  word-wrap: break-word;
}

p a {
  text-decoration: underline;
  color: #03450c;
  transition: all .3s ease;
}

.color--white {
  color: #fff;
}

p a:hover {
  color: #007073;
}

.flex {
  display: flex!important;
  justify-content: space-between;
}

.flex.flex--left {
  justify-content: flex-start;
}

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

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

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

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

/* main css */

.header-top .container {
  justify-content: space-between;
  align-items: center;
}
.header-logo {
  display: block;
  width: 300px;
  height: auto;
}

.header-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.header-nav-btn, .header-menu-btn {
  display: none;
}

.header-bottom {
  background: rgb(54, 54, 54);
  padding: 10px 0;
}

.header-nav-link {
  color: #fff;
  font-size: 20px;
  margin: 0 10px;
  transition: all .3s ease;
}

.header-nav-link:hover {
  color: rgb(239, 211, 0);
}

.header-info {
  color: #fff;
  font-size: 20px;
}

.header-bottom .container {
  justify-content: space-between;
  align-items: center;
}

.header-bottom2 {
  position: relative;
  background: #fff;
  padding: 0;
}

.header-bottom2.sticky {
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  right: 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.header-bottom2.sticky .header-bottom2-line2 {
  padding: 10px 0;
}

.header-bottom2.sticky .header-bottom2-line2 p {
  font-size: 20px;
}

.header-bottom2-link {
  color: rgb(124, 182, 21);
  font-size: 20px;
  margin: 0 10px;
  font-weight: 600;
  transition: all .3s ease;
}

.header-bottom2-link:hover {
  color: rgb(239, 211, 0);
}

.header-bottom2-line1 {
  padding: 10px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-bottom2-btn {
  display: block;
  background: rgb(255, 226, 9);
  color: #333;
  border-radius: 6px;
  font-size: 18px;
  line-height: 1;
  padding: 10px 20px;
  margin: 0 10px;
  transition: all .3s ease;
}

.header-bottom2-btn.header-bottom2-btn-gray {
  background: #aaa;
  color: #fff;
}

.header-bottom2-btn.header-bottom2-btn-gray:hover {
  background: #999;
}

.header-bottom2-cart {
  padding-left: 40px;
  position: relative;
}

.header-bottom2-cart span {
  font-size: 16px;
}

.header-bottom2-cart:before {
  content: '';
  display: block;
  position: absolute;
  width: 25px;
  height: 25px;
  left: 9px;
  top: 50%;
  margin-top: -12px;
  background: url(../img/icon-cart.png) no-repeat center/20px;
  opacity: 0.9;
  pointer-events: none;
}

.header-bottom2-btn:hover {
  background: #e5cc14;
}

.header-bottom2-btns {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header-bottom2-line2 {
  border-top: 4px solid rgb(239, 211, 0);
  text-align: center;
  color: #333;
  padding: 15px 0;
}

.header-bottom2-line2 p {
  display: block;
  font-size: 24px;
  margin: 0;
}

.header-phone a {
  display: inline-block;
  font-size: 26px;
  font-weight: 500;
  color: #333;
  margin-bottom: 10px;
  padding-left: 40px;
  position: relative;
}

.header-phone a:after {
  content: '';
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  left: 0;
  top: 0;
  background: url(../img/icon-phone.png) no-repeat center/24px;
}

.header-phone a:hover {
  color: #f1d716;
}

.header-phone a:hover:after {
  filter: brightness(0) saturate(100%) invert(84%) sepia(98%) saturate(5762%) hue-rotate(342deg) brightness(96%) contrast(96%);
}

.header-phone div {
  font-size: 18px;
  display: block;
  text-align: right;
  font-weight: 500;
}

.main-1,
.main-2,
.main-3,
.main-4,
.main-5,
.main-6,
.main-7,
.main-8,
.main-9 {
  padding: 50px 0;
}

.main-1 {
  padding-top: 0 !important;
}

main.padding {
  padding-top: 106px !important;
}

.main-1 .main-1-img {
  height: 550px;
  padding: 50px;
  display: flex;
  justify-content: space-between;
}

.slider-left {
  display: flex;
  justify-content: flex-end;
  padding-right: 30px;
  width: 50%;
}

.slider-right {
  padding-left: 30px;
  width: 50%;
  position: relative;
  padding-bottom: 90px;
}

.swiper-button-prev,
.swiper-button-next {
  color: #fff !important;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.5));
}

.swiper-pagination-bullet-active {
  background: #fff !important;
}

.slider-img {
  width: auto;
  max-width: 500px;
  height: auto;
  display: block;
  
}

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

.main-1-title {
  background: rgb(239, 211, 0);
  border-radius: 5px;
  color: #fff;
  font-size: 52px;
  font-weight: 600;
  padding: 10px;
  line-height: 1.1;
  max-width: 550px;
  margin: 0 0 35px 0;
}

.main-1-text {
  color: #fff;
  display: block;
  width: 100%;
  margin: 15px 0;
  font-size: 24px;
  font-weight: 500;
  text-shadow: 0 0 1px #fff;
}

.main-1-link {
  display: inline-block;
  background: rgb(255, 226, 9);
  color: #333;
  border-radius: 6px;
  font-size: 20px;
  line-height: 1;
  padding: 18px 26px;
  margin: 0 auto;
  font-weight: 600;
  transition: all .3s ease;
  position: absolute;
  left: 30px;
  bottom: 0;
}

.main-1-link:hover {
  background: rgb(124, 182, 21);
}

.main-title1 {
  display: flex;
  justify-content: center;
  align-items: center;
}

.main-title1--white span {
  color: #fff;
}

.main-title1 span {
  position: relative;
  display: inline-block;
  font-size: 42px;
  line-height: 1;
  padding: 15px 0;
  margin: 5px 0 20px 0;
  text-align: center;
  font-weight: 600;
}

.main-title1 span:after {
  content: '';
  position: absolute;
  display: block;
  height: 3px;
  background: rgb(239, 211, 0);
  width: 70%;
  min-width: 150px;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.our-products-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.our-products-item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 32%;
  margin: 0 0 10px 0;
  padding: 15px 0;
}

.our-products-title {
  display: block;
  margin: 0 0 15px 0;
  text-align: center;
  width: 100%;
  font-size: 27px;
  font-weight: 600;
  color: rgb(124, 182, 21);
  transition: all .3s ease;
}

.our-products-title:hover {
  color: rgb(239, 211, 0);
}


.our-products-img {
  width: calc(100% - 6px);
  height: 300px;
  margin: 0 0 15px 0;
  border: 1px solid #7cb615;
  border-radius: 5px;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #7cb615;
  padding: 10px;
}

.our-products-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.our-products-btn {
  display: inline-block;
  line-height: 1;
  padding: 10px 5px;
  font-size: 22px;
  font-weight: 600;
  color: #333;
  position: relative;
  transition: all .4s ease;
}

.our-products-btn:hover {
  background: #7bb615;
}

.our-products-btn:after {
  content: '';
  position: absolute;
  display: block;
  width: 90%;
  height: 3px;
  background: #7bb615;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: all .4s ease;
}

.our-products-btn:hover:after {
  transform: rotate(90deg) !important;
  left: -29px; 
  bottom: auto;
  top: 19px;
  height: 4px;
  width: 42px;
}

.main-3 {
  background: url(../img/main-3-bg.jpg) no-repeat center 75%/cover;
  background-attachment: scroll;
}

.our-plus-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 30px 0 0 0;
  flex-wrap: wrap;
}

.our-plus-item {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: flex-start;
  flex-wrap: wrap;
  width: 16%;
  margin: 5px;
  min-width: 260px;
  height: 170px;
  background: #fff;
  border-radius: 10px;
  padding: 10px 20px;
}

.our-plus-img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  margin: 23px 0 20px 0;
}

.our-plus-img img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-position: center;
}

.our-plus-text {
  display: block;
  margin: 0;
  width: 100%;
  text-align: center;
  font-size: 16px;
}

.main-5 {
  background: url(../img/main-5-bg.jpg) no-repeat center 75%/cover;
  background-attachment: scroll;
}

.scheme-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 30px 0 0 0;
  flex-wrap: wrap;
}

.scheme-item {
  width: 19%;
}

.scheme-item-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: 100%;
  margin: 5px;
  min-width: 260px;
  padding: 10px 20px;
  user-select: none;
  transition: all .3s ease;
}

.scheme-item:hover .scheme-item-wrap {
  transform: scale(1.1);
}

.scheme-img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  min-width: 48px;
  height: 48px;
  margin: 0 20px 0 0;
}

.scheme-img img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-position: center;
}

.scheme-text {
  display: block;
  margin: 0;
  width: 100%;
  text-align: left;
  font-size: 16px;
  color: #fff; 
}

.main-4-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}

.main-4-left {
  width: 35%;
}

.main-4-right {
  width: 35%;
}

.main-4-img {
 width: 26%;
 margin: 150px 2% 0 2%;
 max-width: 300px;
}

.main-4-bottom {
  width: 60%;
  margin: 20px 0 0 0;
  text-align: center;
}

.test-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 30px 0 0 0;
}

.test-item {
  display: block;
  width: 23%;
  margin: 0 20px 20px 0;
  padding: 30px 40px 40px 40px;
  border: 1px solid #7cb615;
  border-radius: 5px;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #7cb615;
  min-width: 350px;
  background: url(../img/test-bg.jpg) no-repeat center/cover;
  position: relative;
}

.test-item:after {
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 1;
  left: 0;
  top: 0;
  background: rgba(255,255,255,0.5);
}

.test-img {
  border-radius: 50%;
  display: block;
  width: 100px;
  height: 100px;
  overflow: hidden;
  margin: 0 auto 20px auto;
  position: relative;
  z-index: 10;
}

.test-img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  position: relative;
  z-index: 10;
}

.test-name {
  display: block;
  text-align: center;
  font-size: 18px;
  text-transform: uppercase;
  margin: 0 0 20px 0;
  position: relative;
  z-index: 10;
}

.test-text {
  display: block;
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  text-align: center;
  position: relative;
  z-index: 10;
}

.contacts-wrap {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}

.contacts-left {
  width: 60%;
  display: flex;
}

.contacts-right {
  width: 37%;
  margin-left: 3%;
}

.contacts-map {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 5px 5px rgba(0,0,0,0.2);
  padding: 6px;
}

.contacts-left-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.contacts-left-wrap p {
  display: block;
  width: 100%;
  text-align: center;
}

.contacts-left-wrap a {
  transition: all .3s ease;
}

.contacts-left-wrap a:hover {
  opacity: .8;
}

.contacts-tel,
.contacts-email {
  display: inline-block !important;
  padding-left: 30px !important;
  position: relative;
}

.contacts-tel:before,
.contacts-email:before {
  content: '';
  position: absolute;
  display: block;
  width: 24px;
  height: 24px;
  filter: brightness(0) saturate(100%) invert(59%) sepia(84%) saturate(457%) hue-rotate(40deg) brightness(91%) contrast(87%);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.contacts-tel:before {
  background: url(../img/icon-phone.png) no-repeat center/20px;
}

.contacts-email:before {
  background: url(../img/icon-email.png) no-repeat center/24px;
}

.contacts-address {
  font-size: 18px;
  font-weight: 600;
  color: rgb(124, 182, 21);
  text-align: center;
}

.contacts-social-link {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  align-content: center;
  font-size: 15px;
  font-weight: 600;
  text-align: left;
  margin: 10px auto;
  width: 300px;
  color: rgb(124, 182, 21);
}

.contacts-social-link img {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
  object-position: center;
  margin: 0 0 0 15px;
}

.contacts-left1, .contacts-left2 {
  width: 50%;
  padding: 0 20px 20px 0;
}

.contacts-left2 * {
  font-size: 18px;
  font-weight: 600;
  color: rgb(124, 182, 21);
  text-align: center;
}

.contacts-left2 a {
  display: block;
  margin: 3px 0;
}

.contacts-left2 .contacts-vk-item * {
  font-size: 16px;
  text-align: left;
}

.contacts-left2 .contacts-vk-item a {
  color: rgb(156, 230, 25)!important;
  transition: all .3s ease;
  word-break: break-word;
}

.footer-polit {
text-align: center;
  margin: 30px auto;
}
.footer-polit a {
	font-size: 15px;
  font-weight: 600;
  color: rgb(124, 182, 21);
}

.contacts-left2 .contacts-vk-item a:hover {
  color: #83c116 !important;
}

.contacts-vk-list {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0 0 0;
}

.contacts-vk-item {
  width: 48%;
  margin: 0 2% 15px 0;
}

.contacts-left2 {
  padding-top: 20px;
}

.contacts-left2 p {
  display: block;
  margin: 0 0 5px 0;
}

.main-7 {
  background: url(../img/main-8-bg.jpg) no-repeat center/cover;
}

.main-7 > .container {
  width: 90%;
  max-width: 580px;
  min-width: 270px;
  background: rgba(255,255,255,0.85);
  padding: 20px 30px 30px 30px;
}

.popup-title {
  font-size: 26px;
  font-weight: 500;
  line-height: 1.2;
  padding: 0 0 10px 0;
  border-bottom: 1px solid #ccc;
  margin: 0 0 10px 0;
}

.cart-item {
  display: flex;
  padding: 10px 0;
  border-bottom: 1px solid #e1e1e1;
  margin: 0;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
}

.cart-item-img {
  width: 100px;
  min-width: 100px;
  height: 100px;
  margin: 0 30px 0 0;
}

.cart-item-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.cart-item-text {
  width: 100%;
  margin: 0 30px 0 0;
  font-size: 16px;
}

.cart-item-count {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 110px;
  margin: 0 20px 0 0;
}

.cart-count-minus,
.cart-count-plus {
  font-size: 22px;
  font-weight: 500;
  padding: 0 15px;
  line-height: 30px;
  cursor: pointer;
  transition: all .3s ease;
  user-select: none;
}

.cart-count-minus:hover,
.cart-count-plus:hover {
  opacity: 0.8;
}

.cart-count-input {
  width: 50px;
  height: 30px;
  line-height: 20px;
  font-size: 16px;
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  padding: 5px;
  text-align: center;
  
  user-select: none;
  pointer-events: none; 
}

.cart-item-price {
  width: 120px;
  min-width: 120px;
  font-size: 16px;
  text-align: center;
  margin: 0 20px 0 0;
}

.cart-item-delete {
  position: relative;
  width: 30px;
  min-width: 30px;
  height: 30px;
  cursor: pointer;
  transition: all .3s ease;
  user-select: none;
}

.cart-item-delete:hover {
  opacity: 0.8;
}

.cart-item-delete:before,
.cart-item-delete:after {
  content: '';
  position: absolute;
  width: 15px;
  height: 2px;
  background: #333;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -1px 0 0 -7px;
  transform: rotate(45deg);
}

.cart-item-delete:after {
  transform: rotate(-45deg);
}

.cart-bottom {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 25px 0 0 0;
}

.cart-bottom-btn {
  display: inline-block;
  background: rgb(255, 226, 9);
  color: #333;
  border-radius: 6px;
  font-size: 18px;
  line-height: 1;
  padding: 10px 20px;
  margin: 0 10px;
  transition: all .3s ease;
}


.cart-bottom-btn:hover {
  background: #f1d716;
}

.main-form-line {
  position: relative;
  padding-top: 15px;
  margin: 0 0 20px 0;
}

.input-label {
  position: relative;
  font-size: 14px;
  padding: 5px 0;
  transition: all .3s ease;
  line-height: 1;
}

.input-form {
  border: 0;
  border-bottom: 1px solid #333;
  padding: 5px 0;
  font-size: 16px;
  background: transparent !important;
  width: 100%;
  display: block;
  outline: none !important;
}

.form-checkbox {
  vertical-align: middle;
}

.form-checkbox a {
  text-decoration: underline;
  color: #7bb615;
}

input[type="checkbox"] {
    appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #bbb;
    border-radius: 3px;
    background-color: #fff;
    cursor: pointer;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    margin: 0 3px -2px 0;
}

input[type="checkbox"]:checked {
    background-color: #333;
    border-color: #333;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.form-checkbox {
  margin: 30px 0 20px 0;
}

.main-form-btns {
  display: flex;
  justify-content: center;
}

#popup-cart .main-form {
  width: 100%;
  max-width: 600px;
  margin: 30px auto 0 auto;
}

.cart-text-center {
  margin: 20px auto;
  text-align: center;
  font-size: 22px;
  line-height: 1.3;
  width: 100%;
  max-width: 600px;
  font-weight: 600;
}

.cart-sum {
  padding: 20px 0;
  text-align: left;
  font-size: 18px;
  font-weight: 600;
}

h1 {
  font-size: 52px;
  font-weight: 600;
  color: rgb(99, 146, 17);
  display: block;
  margin: 20px 0;
  text-align: center;
  text-transform: uppercase;
}

.inner-1,
.inner-2,
.inner-3,
.inner-4,
.inner-5,
.inner-6 {
  padding: 50px 0;
}

.inner-2 {
  background: url(../img/bg-pattern.png) repeat center/auto;
}

.inner-1-img {
  width: 100%;
  margin: 20px 0;
}

.inner-1-img img {
  display: block;
  width: 100%;
  max-width: 750px;
  height: auto;
  margin: 0 auto;
}

.slider-inner {
  width: 100%;
  max-width: 600px;
  padding-bottom: 40px;
  padding-top: 30px;
}

.slider-inner .slider-fancybox {
  display: block;
  width: 100%;
  height: 600px;
}

.slider-inner .slider-fancybox img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.slider-inner .swiper-pagination-bullet-active {
  background: rgb(123, 182, 21) !important;
}

.inner-2-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 30px;
}

.inner-2-item {
  width: 29%;
  margin: 15px 2%;
  padding: 0 30px 0 45px;
  position: relative;
}

.inner-2-item:before {
  content: '';
  position: absolute;
  display: block;
  width: 18px;
  height: 18px;
  background: url(../img/icon-checkmark.svg) no-repeat center/34px;
  filter: brightness(0) saturate(100%) invert(59%) sepia(84%) saturate(457%) hue-rotate(40deg) brightness(91%) contrast(87%);
  left: 14px;
  top: 2px;
}

.inner-2-item p {
  display: block;
  margin: 0;
}

.block-warning {
  width: 100%;
  max-width: 1000px;
  padding: 10px 20px;
  border: 3px solid red;
  text-align: center;
  margin: 0 auto;
}

.block-warning p {
  display: block;
  margin: 5px 0;
  font-size: 22px;
  text-align: center;
  font-weight: 500;
}

.block-warning p * {
  font-weight: 500;
}

.goods-item-table tr td {
  border: 1px solid #333;
  padding: 5px;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 колонки */
  grid-auto-rows: auto;   /* Автоматические строки */
  gap: 8px; /* Расстояние между ячейками */
}

.grid-container.grid-3-col {
  grid-template-columns: repeat(3, 1fr); /* 3 колонки */
}

.grid-container.grid-3-col .title-row {
  grid-column: 2 / 4;
}

.cell {
  padding: 10px;
  text-align: center;
  font-size: 22px;
  font-weight: 600;
}

.grid-container {
  margin: 8px 0;
}

.title-col {
  grid-row: 1 / 3; /* Занимает 2 строки */
  grid-column: 1;
  background: rgb(239, 211, 0);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.title-row {
  grid-row: 1;
  grid-column: 2 / 5; /* Занимает 3 колонки */
  background: rgb(123, 182, 21);
  color: #fff;
}

.subtitle-row-1 { grid-row: 2; grid-column: 2; background: rgb(123, 182, 21); color: #fff;}
.subtitle-row-2 { grid-row: 2; grid-column: 3; background: rgb(123, 182, 21); color: #fff;}
.subtitle-row-3 { grid-row: 2; grid-column: 4; background: rgb(123, 182, 21); color: #fff;}

/* Автоматическое размещение для повторяющихся строк */
.row-cell {
  grid-row: auto; /* Автоматический расчет строки */
  grid-column: auto; /* Автоматическая колонка */
  background: rgb(237, 237, 237);
  color: #333;
}

.row-cell-title {
  background: rgb(239, 211, 0) !important;
  color: #fff !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.goods-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
}

.goods-item {
  width: 50%;
  padding: 20px;
}

.goods-item-title {
  text-align: center;
  font-size: 26px;
  padding: 15px 0;
  font-weight: 500;
  min-height: 95px;
}

.row-cell-price {
  display: block;
  text-align: center;
  margin: 0 0 10px 0;
  font-weight: 600;
}

.row-cell-cart {
  color: rgb(124, 182, 21);
  border: 1px solid rgb(124, 182, 21);
  padding: 10px 14px 10px 10px;
  display: inline-block;
  font-size: 18px;
  position: relative;
  display: inline-flex;
  transition: all .2s ease;
  cursor: pointer;
}

.row-cell-cart:before {
  content: '';
  position: relative;
  display: inline-block;
  width: 21px;
  height: 21px;
  margin: 0 6px 0 0;
  background: url(../img/icon-cart.png) no-repeat center/18px;
  filter: brightness(0) saturate(100%) invert(59%) sepia(84%) saturate(457%) hue-rotate(40deg) brightness(91%) contrast(87%);
}

.row-cell-cart:hover {
  color: #fff;
  background: rgb(124, 182, 21);
  border-color: rgb(124, 182, 21);
}

.row-cell-cart:hover:before {
  filter: brightness(0) saturate(100%) invert(100%) sepia(4%) saturate(4%) hue-rotate(352deg) brightness(104%) contrast(100%);
}

.inner-4 {
  background: url(../img/inner-bg-1.jpg) no-repeat center/cover;
}

.inner-4 > .container {
  width: 90%;
  max-width: 640px;
  min-width: 270px;
  background: rgba(255,255,255,0.85);
  padding: 20px 30px 30px 30px;
}

.block-warning-green {
  width: 100%;
  max-width: 1000px;
  padding: 10px 20px;
  border: 3px solid rgb(123, 182, 21);
  text-align: center;
  margin: 10px auto;
}

.block-warning-green p {
  display: block;
  margin: 5px 0;
  font-size: 22px;
  font-weight: 500;
  text-align: center;
}

.block-warning-green p * {
  font-weight: 500;
}

.shop-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.shop-item {
  width: 25%;
  padding: 20px;
  margin: 10px 0;
  text-align: center;
}

.shop-item-img {
  width: 100%;
  max-width: 300px;
  height: 290px;
  display: inline-block;
}

.shop-item-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.shop-item-text {
  font-size: 18px;
  min-height: 60px;
}
.shop-item-text b {font-weight: 600;}

.shop-item-bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px 0 0 0;
}

.shop-item-cart {
  color: rgb(124, 182, 21);
  border: 1px solid rgb(124, 182, 21);
  padding: 10px 14px 10px 10px;
  display: inline-block;
  font-size: 18px;
  position: relative;
  display: inline-flex;
  transition: all .2s ease;
  margin-left: 15px;
  cursor: pointer;
  white-space: nowrap;
}

.shop-item-cart:before {
  content: '';
  position: relative;
  display: inline-block;
  width: 21px;
  height: 21px;
  margin: 0 6px 0 0;
  background: url(../img/icon-cart.png) no-repeat center/18px;
  filter: brightness(0) saturate(100%) invert(59%) sepia(84%) saturate(457%) hue-rotate(40deg) brightness(91%) contrast(87%);
}

.shop-item-cart:hover {
  color: #fff;
  background: rgb(124, 182, 21);
  border-color: rgb(124, 182, 21);
}

.shop-item-cart:hover:before {
  filter: brightness(0) saturate(100%) invert(100%) sepia(4%) saturate(4%) hue-rotate(352deg) brightness(104%) contrast(100%);
}

.shop-item-price {
  font-size: 22px;
  margin-right: 15px;
  font-weight: 600;
  text-align: center;
}

.shop2-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}

.shop2-item {
  width: 26%;
  padding: 20px;
  margin: 10px 0;
  text-align: center;
}

.shop2-item-img {
  width: 100%;
  max-width: 300px;
  height: 280px;
  display: block;
  margin: 0 auto 20px auto;
  border: 1px solid #7cb615;
  border-radius: 5px;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #7cb615;
}

.shop2-item-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.shop2-item-title {
  font-size: 24px;
  font-weight: 600;
}

.shop2-item-text p {
  font-size: 18px;
  display: block;
  margin: 8px 0;
}

.shop2-item-bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px 0 0 0;
}

.shop2-item-cart {
  color: rgb(124, 182, 21);
  border: 1px solid rgb(124, 182, 21);
  padding: 10px 14px 10px 10px;
  display: inline-block;
  font-size: 18px;
  position: relative;
  display: inline-flex;
  transition: all .2s ease;
  margin-left: 20px;
  cursor: pointer;
}

.shop2-item-cart:before {
  content: '';
  position: relative;
  display: inline-block;
  width: 21px;
  height: 21px;
  margin: 0 6px 0 0;
  background: url(../img/icon-cart.png) no-repeat center/18px;
  filter: brightness(0) saturate(100%) invert(59%) sepia(84%) saturate(457%) hue-rotate(40deg) brightness(91%) contrast(87%);
}

.shop2-item-cart:hover {
  color: #fff;
  background: rgb(124, 182, 21);
  border-color: rgb(124, 182, 21);
}

.shop2-item-cart:hover:before {
  filter: brightness(0) saturate(100%) invert(100%) sepia(4%) saturate(4%) hue-rotate(352deg) brightness(104%) contrast(100%);
}

.shop2-item-price {
  font-size: 22px;
  margin-right: 20px;
  font-weight: 600;
  text-align: center;
}

.popup {
  max-width: 1200px;
  width: 98%;
}

.popup.popup-cart {
  max-width: 800px;
  width: 98%;
}

.popup.popup-call {
  max-width: 600px;
  width: 98%;
}

.carousel__button.is-close svg {
  stroke: #fff !important;
}

.inner-coop {
  padding: 50px 0;
}

.inner-coop .main-title1 span {
  color: rgb(124, 182, 21) !important;
}

.inner-coop p {
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}

.mobile-only {
  display: none !important;
}

.header-nav-btn {
  position: absolute;
  width: 50px;
  height: 40px;
  top: 3px;
  right: -6px;
}

.header-nav-btn span {
  display: block;
  position: absolute;
  width: 40px;
  height: 5px;
  border-radius: 9px;
  background: rgb(124, 182, 21);
  left: 50%;
  top: 50%;
  margin-left: -20px;
  transition: all .3s ease;
}

.header-nav-btn span:nth-of-type(1) {
  margin-top: -11px;
}

.header-nav-btn.active span:nth-of-type(1) {
  transform: rotate(-45deg);
  margin-top: -2px;
}

.header-nav-btn span:nth-of-type(2) {
  margin-top: -2px;
}

.header-nav-btn.active span:nth-of-type(2) {
  opacity: 0;
}

.header-nav-btn span:nth-of-type(3) {
  margin-top: 7px;
}

.header-nav-btn.active span:nth-of-type(3) {
  transform: rotate(45deg);
  margin-top: -2px;
}

.popup-title2 {
  font-weight: 600;
  font-size: 18px;
  color: rgb(123, 182, 21);
  display: block;
  text-align: center;
  margin: 13px 0;
  padding: 0; text-decoration: underline;
  text-transform: uppercase;
}

.popup-page-content p {
  margin: 8px 0;
  font-size: 16px;
}

.popup-page-content p strong,
.popup-page-content p b {
  font-weight: 700;
}

.popup-page-content p a {
  color: rgb(124, 182, 21) !important;
  font-weight: 600 !important;
}

.popup-page-content img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  margin: 5px 0;
}

.popup-content-btn {
  text-align: center;
}

.popup-content-btn a {
  margin: 10px auto;
  display: inline-block;
  padding: 9px 11px;
  font-size: 22px;
  color: #fff;
  background: rgb(123, 182, 21);
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  transition: all .3s ease;
}

.popup-content-btn a:hover {
  background: rgb(157, 229, 32);
}

p.cart-empty {
  text-align: center;
  color: #555;
  font-weight: 600;
  font-size: 20px;
  
}

img.cart-empty {
  display: block;
  width: 90%;
  height: auto;
  max-width: 200px;
  margin: 15px auto;
}

p.cart-added {
  text-align: center;
  color: #555;
  font-weight: 600;
  font-size: 20px;
  margin: 0px auto 30px auto;
}

img.cart-added {
  display: block;
  width: 50%;
  height: auto;
  max-width: 100px;
  margin: 15px auto;
}

@media (max-width: 1500px) {
  .goods-item-title {font-size: 22px; padding: 10px 0; min-height: 72px;}
}

@media (max-width: 1200px) {
  .header-info, .header-phone div {font-size: 13px;}
  .header-nav-link {font-size: 16px;}
  .header-logo {width: 200px;}
  .header-phone a {font-size: 20px; margin-bottom: 3px; padding-left: 26px;}
  .header-phone a:after {width: 20px; height: 22px; background-size: 16px !important;}
  .header-bottom2-btn, .header-bottom2-btn span {font-size: 14px !important;}
  .header-bottom2-link {font-size: 18px;}
  .header-bottom2-line1 {padding: 6px 0;}
  .header-bottom2-line2 {padding: 10px 0;}
  .header-bottom2-line2 p {font-size: 20px;}
  .main-1-title {font-size: 38px;}
  .slider-left {width: 30%; min-width: 30%;}
  .slider-right {width: 70%;}
  .main-1-text {margin: 10px 0; font-size: 20px;}
  .main-1-link {font-size: 18px; padding: 12px 22px;}
  .main-1 .main-1-img {min-height: 470px; height: 470px; padding: 40px;}
  .main-1, .main-2, .main-3, .main-4, .main-5, .main-6, .main-7, .main-8, .main-9,
  .inner-1, .inner-2, .inner-3, .inner-4, .inner-5, .inner-6 {padding: 30px 0;}
  .our-products-title {font-size: 20px;}
  .our-products-btn {font-size: 18px;}
  .our-products-btn:hover:after {top: 17px;}
  .main-title1 span {font-size: 32px;}
  p {font-size: 16px;}
  .scheme-list, .test-list, .contacts-wrap {flex-wrap: wrap;}
  .contacts-left {width: 100%;}
  .contacts-right {width: 100%; max-width: 500px;}
  .scheme-item {min-width: 220px;}
  .scheme-text {font-size: 14px;}
  .scheme-img {width: 38px; min-width: 38px; height: 38px; margin: 0 10px 0 0;}
  .contacts-address, .contacts-left2 * {font-size: 16px;}
  .contacts-vk-item {margin: 0 0 15px 0; width: 100%;}
  h1 {font-size: 36px;}
  .main-title1 span {font-size: 26px;}
  .block-warning p, .block-warning-green p {font-size: 18px;}
  .goods-item-title {font-size: 22px; min-height: 10px; padding: 10px 0;}
  .cell {font-size: 20px;}
  .goods-item {width: 100%; max-width: 1000px; padding: 5px;}
  .row-cell-cart {font-size: 16px; padding: 8px 14px 8px 10px;}
  .row-cell-cart:before {height: 18px;}
  .shop-list {justify-content: center;}
  .shop-item {min-width: 260px; padding: 10px;}
  .shop2-item {width: 33%;}
  .shop2-item-title {font-size: 20px;}
  .shop2-item-text p {font-size: 16px; margin: 4px 0;}
  .shop2-item-cart, .shop-item-cart {font-size: 16px; padding: 8px 14px 8px 10px; margin-left: 10px;}
  .shop2-item-cart:before, .shop-item-cart:before {height: 18px;}
  .shop-item-price {font-size: 18px; margin-right: 10px;}
  .shop-item-text {font-size: 15px; min-height: 69px;}
  .inner-coop p {font-size: 18px;}
  .cart-text-center {font-size: 18px;}
}

@media (max-width: 991px) {
  .container {padding: 0 15px;}
  .header-menu-wrap {display: none;}
  .header-bottom .container {justify-content: center;}
  .header-bottom2-line1 {flex-wrap: wrap; flex-direction: column-reverse; position: relative;}
  .header-bottom2-menu {display: none;}
  .header-nav-btn {display: block !important;}
  .header-bottom2-line2 p {font-size: 16px;}
  .header-logo {width: 160px;}
  .header-bottom2.sticky .header-bottom2-line2 {padding: 6px 0;}
  .header-bottom2.sticky .header-bottom2-line2 p {font-size: 14px;}
  .header-bottom2-menu {padding-top: 10px;}
  .header-bottom2-link {display: block; width: 100%; text-align: center; padding: 5px 0;}
  .mobile-only {display: block !important;}
  .cart-item-text {font-size: 14px; margin-right: 20px;}
  .slider-left {display: none;}
  .slider-right {width: 100%; margin: 0;}
  .main-1-text {margin: 8px 0; font-size: 20px; text-shadow: 0 1px 1px #000;}
  .main-1-title {font-size: 32px; margin-bottom: 20px; display: inline-block;}
  .main-1 .main-1-img {min-height: 380px; height: auto;}
  .our-products-list {flex-wrap: wrap; justify-content: center;}
  .our-products-item {min-width: 280px; margin: 10px;}
  .our-products-title {font-size: 18px;}
  .main-1, .main-2, .main-3, .main-4, .main-5, .main-6, .main-7, .main-8, .main-9, 
  .inner-1, .inner-2, .inner-3, .inner-4, .inner-5, .inner-6 {padding: 20px 0;}
  .our-plus-item {height: 160px;}
  .our-plus-text {font-size: 14px;}
  .main-4-left, .main-4-right, .main-4-bottom {width: 100%; text-align: left;}
  .main-4-img {display: none;}
  .test-item {min-width: 280px; padding: 20px;}
  .test-text {font-size: 14px; line-height: 1.3;}
  .inner-2-item {margin: 10px; min-width: 200px; padding: 0 0 0 25px;}
  .inner-2-item:before {left: 2px;}
  .inner-2-item p {font-size: 15px;}
  .block-warning p, .block-warning-green p, .cell {font-size: 16px;}
  .row-cell-cart {font-size: 14px; white-space: nowrap;}
  .goods-item {padding: 0;}
  .form-checkbox label {font-size: 14px;}
  .main-title1 span {font-size: 22px; padding: 0 0 10px 0; margin: 10px 0;}
  .shop2-item-cart, .shop-item-cart {font-size: 14px; padding: 7px 12px 7px 10px; margin-left: 6px;}
  .shop2-item-cart:before, .shop-item-cart:before {height: 16px;}
  .inner-coop p, .popup-content-btn a {font-size: 16px;}
  .popup {padding: 20px;}
  .shop2-list {flex-wrap: wrap;}
  .shop2-item {padding: 10px; min-width: 300px;}
}

@media (max-width: 699px) {
  .header-bottom2-btn {font-size: 13px; padding: 10px; margin: 0 3px;}
  .header-bottom2-cart {padding-left: 38px;}
  .header-bottom2-btns {justify-content: flex-start; align-items: flex-start; width: 100%;}
  .main-1, .main-2, .main-3, .main-4, .main-5, .main-6, .main-7, .main-8, .main-9, 
  .inner-1, .inner-2, .inner-3, .inner-4, .inner-5, .inner-6 {padding: 15px 0;}
  h1 {font-size: 26px; margin: 10px 0;}
  .main-title1 span, .goods-item-title {font-size: 18px;}
  .slider-inner .slider-fancybox {height: 400px;}
  .inner-2-item {width: 100%; max-width: 320px;}
  .grid-container {gap: 4px; margin: 4px 0;}
  .cell {font-size: 14px; padding: 4px 0;}
  .row-cell-price {margin: 4px 0 6px 0;}
  .row-cell-cart {font-size: 13px; padding: 6px;}
  .row-cell-cart:before {display: none;}
  .block-warning p, .block-warning-green p, .cell {font-size: 14px;}
  p {margin: 10px 0; font-size: 15px;}
  .scheme-item {width: 100%; max-width: 280px;}
  .scheme-list {align-items: center; justify-content: center;}
  .contacts-left {flex-wrap: wrap;}
  .contacts-left1, .contacts-left2 {width: 100%; padding: 0; margin: 10px 0;}
  .contacts-social-link {width: 100%; max-width: 280px; margin: 5px 0;}
  .header-phone a {font-size: 18px;}
  .main-1 .main-1-img {padding: 45px;}
  .slider-right {padding: 0; width: 100%;}
  .main-1-title {font-size: 26px;}
  .main-1-text {font-size: 17px; line-height: 1.1; margin: 8px 0;}
  .main-1-link {left: 50%; transform: translateX(-50%); font-size: 16px; padding: 10px 20px;}
  .our-products-img {height: 210px;}
  .test-item {margin: 12px 0;}
  .cart-item-img {width: 50px; min-width: 50px; height: 50px; margin: 0 20px 0 0;}
  .cart-item-text, .cart-count-input {font-size: 13px;}
  .cart-count-minus, .cart-count-plus {padding: 0 8px;}
  .cart-item-price {font-size: 14px;}
  .cart-text-center {font-size: 16px; line-height: 1.2; margin: 10px auto;}
  .cart-item {flex-wrap: wrap; justify-content: flex-end; position: relative;}
  .cart-item-text {width: calc(100% - 80px); margin: 0; padding-right: 25px;}
  .cart-item-delete {position: absolute; top: 1px; right: -2px;}
  .cart-item-price {margin: 0; text-align: right; font-weight: 600; padding-top: 5px; font-size: 14px; width: auto; min-width: 40px;}
  .cart-item-count {padding-top: 5px;}
}


/* +++ */

.checkbox-error {
    outline: 2px solid red;
}
.input-error {
    border-bottom: 1px solid red;
}

.main-form p{
	font-size: .8em;
}
