
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;600;700&display=swap');
:root { --red: #cc1111;--green: #315c3a; --bs-light-rgb: 246, 255, 248;}
body { font-family: 'Inter', sans-serif; padding-bottom: 70px; }
body.no-mobile-nav { padding-bottom: 0; }
.font-display { font-family: 'Playfair Display', serif; }

@font-face {
  font-family: Rawline;
  src: url(/fonts/Rawline/Rawline-Medium.woff2) format("woff2"), url(/fonts/Rawline/Rawline-Medium.woff) format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Topbar */
.topbar { background: #111; padding: 6px 0; border-bottom: 1px solid #222; }
.topbar-divider { width: 1px; height: 14px; background: rgba(255,255,255,0.2); }
.hover-red:hover { color: var(--red) !important; }

/* Logo */
.logo-icon { width:36px;height:36px;background:var(--red);border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:white;flex-shrink:0; }
.brand-name { font-weight:700;font-size:16px;line-height:1.2; }
.brand-sub { font-size:9px;opacity:.5;letter-spacing:2px;text-transform:uppercase; }

/* Social links topbar */
.social-link { color:rgba(0,0,0,.5);font-size:16px;text-decoration:none;transition:color .2s; }
.social-link:hover { color:var(--red); }

/* Social links navbar */
.social-link-nav { color:rgba(0,0,0,.6);font-size:17px;text-decoration:none;transition:color .2s; }
.social-link-nav:hover { color:var(--green); }

footer{background-color: #c7d4ca;}
footer a, footer p{color: #222;}
/* Social links footer */
.social-footer { width:38px;height:38px;background:#222;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;text-decoration:none;transition:all .2s; }
.social-footer:hover { background:var(--green);color:white; }

/* Cart icon nav */
.cart-icon-btn { color:rgba(0,0,0,.8);font-size:22px;text-decoration:none;display:flex;align-items:center;padding:4px; }
.cart-icon-btn:hover { color:var(--green); }
.cart-badge-nav { position:absolute;top:-4px;right:-6px;background:var(--green);color:white;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px; }

/* Dropdown */
.dropdown-menu-dark { background:#1a1a1a;border:1px solid #333; }
.dropdown-menu-dark .dropdown-item { color:rgba(255,255,255,.75);font-size:14px; }
.dropdown-menu-dark .dropdown-item:hover { background:rgba(204,17,17,.15);color:white; }
.dropdown-menu-dark .dropdown-divider { border-color:#333; }
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: 0;
  border-radius: 0.25rem;
  display: none;
}

.dropdown-submenu:hover .dropdown-menu {
  display: block;
}

.dropdown-menu.show {
  display: block;
}


.search-overlay-wrap {
  position: relative;
  width: 30px;
  height: 30px;
}

/* сама форма — поверх */
.search-box {
  position: absolute;
  top: 0;
  right: 0;

  display: flex;
  align-items: center;

  height: 30px;
  width: 30px;

  border-radius: 999px;
  background: rgba(255,255,255,.6);

  overflow: hidden;
  transition: width 0.3s ease;
  z-index: 1000;
}

/* input скрыт */
.search-input {
  width: 0;
  padding: 0;
  border: 0;
  box-shadow: none !important;
  opacity: 0;
  background: transparent;

  transition: all 0.3s ease;
}

/* кнопка — всегда круг справа */
.search-btn {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;

  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.6);
  color: #212529;

  display: flex;
  align-items: center;
  justify-content: center;
}

/* раскрытие поверх */
.search-box:hover,
.search-box:focus-within,
.search-box.active {
  width: 260px;
  background: #fff;
}

/* поле появляется слева */
.search-box:hover .search-input,
.search-box:focus-within .search-input,
.search-box.active .search-input {
  width: 100%;
  padding: 0 12px;
  opacity: 1;
}
@media (max-width: 768px) {

  .search-overlay-wrap {
    width: 100%;
    height: 30px;
  }

  .search-box {
    position: relative;   /* можно оставить absolute, но relative проще */
    width: 100% !important;
  }

  .search-input {
    width: 100% !important;
    opacity: 1;
    padding: 0 12px;
  }

  /* убираем "сжатое" состояние */
  .search-box:hover,
  .search-box:focus-within,
  .search-box.active {
    width: 100%;
  }
}


/* Hero */
.hero-section { min-height:80vh;background:linear-gradient(to right,#0a0a0a 0%,rgba(0,0,0,.7) 60%,rgba(0,0,0,.3) 100%),url('https://mir-salona.ru/0111newdes/images/ecb2e4ff7_generated_ea915432.png') center/cover no-repeat; }
.text-white-75 { color:rgba(255,255,255,.75)!important; }

/* Advantages */
.adv-icon { width:56px;height:56px;background:rgba(204,17,17,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:24px;color:var(--red); }

/* Category cards */
.cat-card { position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/3;text-decoration:none; }
.cat-card img { width:100%;height:100%;object-fit:cover;transition:transform .5s ease; }
.cat-card:hover img { transform:scale(1.05); }
.cat-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.1) 60%);display:flex;align-items:flex-end;justify-content:space-between;padding:20px;color:white;font-weight:600;font-size:16px; }
.cat-btn { width:36px;height:36px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s; }
.cat-card:hover .cat-btn { transform:scale(1.1); }

/* Product card */
.clients-card, .product-card {position: relative; border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;transition:box-shadow .3s;background:white;text-decoration:none;color:inherit;display:block; }
.clients-card:hover, .product-card:hover { box-shadow:0 8px 30px rgba(0,0,0,.12); }
.clients-card .img-wrap, .product-card .img-wrap { aspect-ratio:1;overflow:hidden;background:#c7d4ca; }
.clients-card .img-wrap img, .product-card .img-wrap img { width:100%;height:100%;object-fit:cover;transition:transform .5s; }
.clients-card:hover .img-wrap img, .product-card:hover .img-wrap img { transform:scale(1.05); }
.clients-card .card-body, .product-card .card-body { padding:16px; }
.clients-card .badge-cat, .product-card .badge-cat { font-size:10px;background:#f5f5f5;color:#666;border-radius:20px;padding:3px 10px; }
.clients-card .price, .product-card .price { font-size:1em;font-weight:700; }
.clients-card .old-price, .product-card .old-price { font-size:13px;color:#999;text-decoration:line-through; }
.clients-card .btn-cart, .product-card .btn-cart { width:36px;height:36px;border:1px solid #ddd;border-radius:8px;background:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;color: var(--green)}
.clients-card .btn-cart:hover, .product-card .btn-cart:hover { background:var(--green);border-color:var(--green);color:white; }

/* Cart page items */
.cart-item { border:1px solid #e5e5e5;border-radius:12px;padding:16px;display:flex;gap:16px;background:white; }
.cart-item img { width:80px;height:80px;object-fit:cover;border-radius:8px;flex-shrink:0; }
.qty-btn { width:30px;height:30px;border:1px solid #ddd;background:white;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1; }
.qty-btn:hover { border-color:var(--red);color:var(--red); }

/* Contacts */
.contact-icon { width:48px;height:48px;background:rgba(204,17,17,.1);color:var(--red);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0; }

/* Footer */
.footer-link {color: #222;text-decoration:none;font-size:14px;display:block;margin-bottom:6px; }
.footer-link:hover { color:var(--green); }

/* Filter buttons */
.filter-btn.active { background:#111!important;color:white!important;border-color:#111!important; }

/* ═══ MOBILE BOTTOM NAV ═══ */
.mobile-bottom-nav {
  position:fixed;bottom:0;left:0;right:0;z-index:1040;
  background:#fff;border-top:1px solid #e5e5e5;
  display:flex;align-items:stretch;
  box-shadow:0 -2px 12px rgba(0,0,0,.08);
  height:62px;
}
.mob-nav-item {
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-decoration:none;color:#555;font-size:10px;gap:3px;position:relative;
  transition:color .2s;
  padding: 6px 2px;
}
.mob-nav-item i { font-size:20px;line-height:1; }
.mob-nav-item span:not(.mob-cart-badge) { font-size:10px; }
.mob-nav-item:hover, .mob-nav-item.active { color:var(--red); }
.mob-nav-wa { color:#25D366; }
.mob-nav-wa:hover { color:#128C4A; }
.mob-nav-tg { color:#2AABEE; }
.mob-nav-tg:hover { color:#1a8ec7; }
.mob-nav-max { color: #8B00FF;}
.mob-nav-max .bi-max::before{
  width: 20px;
  height: 20px;
  filter:invert(77%) sepia(100%) saturate(2024%) hue-rotate(979deg) brightness(100%) contrast(100%);
}

.mob-cart-badge {
  position:absolute;top:4px;right:calc(50% - 18px);
  background:var(--red);color:white;font-size:9px;font-weight:700;
  min-width:16px;height:16px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
}

@media (min-width:992px) {
  body { padding-bottom:0; }
  .mobile-bottom-nav { display:none!important; }
  .topbar { display:block; }
}


.bi-max::before {
  content: ' ';
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAABB0lEQVR42mNgQAP///9nB+JAIJ4JxHuB+DQQrwbiJCDmYcAHgAoCgPjRf9zgIxAn4NJcAMT//hMH+tA1u5GgGQYSYJqZgPgmmuRrII4HYnEgFgbiUCC+gUUNJ8gAVzSJL0CshcWLfEB8HU1tCkiiDU2wG08g+6CpXQASXIUm6ILHAC60sDoBEtyEZoABHgN40dTuBwnORRNUx2NAFJraJSDBEjRBDxya5YD4KZraJJCEJXrAAHEeEE8AYisgNoJa8gZN3Ssg5gYZwAqNOlIAKCBDkZ13lATNf4G4CN1/C5AUgHLfexyabwGxO7YA8gbi5aD0DfWSCBAXAvEiaDrpBgUuEDOjawYAapnILgJi//QAAAAASUVORK5CYII=);
  color: rgba(255, 255, 255, 1);
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: brightness(1);
  transition: color 0.3s ease;
}


.bi-max:hover::before{
  filter: invert(54%) sepia(100%) saturate(1826%) hue-rotate(65deg) brightness(100%) contrast(100%);
  transition: color 0.3s ease;
}
@media (min-width: 992px) {
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.article-post__image img, video{max-width: 100%;}
.clients-page .img-fluid {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.smaller {
  font-size: 0.75rem;
}
.article-post__date{
  position: absolute;
  left: 10px;
  top: 10px;
  color: #fff;
  font-weight: bold;
  background: rgb(220 53 69 / 90%);
  box-shadow: 0 0 9px rgb(220 53 69 / 90%);
  width: 74px;
  text-align: center;
  z-index: 1;
}
article{position: relative}
ol.breadcrumb a{text-decoration: none;color: #333}
.sidebar-title{border-top: 1px solid #dc3545; border-bottom: 1px solid #dc3545;padding: 10px 0; text-align: center; margin-bottom: 10px;}

.sidebar-subtitle{ color: #dc3545}

.sidebar-menu{border-right: 1px solid #dc3545;list-style: none;padding-left: 10px; margin: 0}
.sidebar-menu li{ padding: 5px;}
.sidebar-menu li a{text-decoration: none; color: #333}
.sidebar-menu li.here a::before{content: "➤"; display: inline}





.irs {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  height: 2rem;
}

.irs, .irs-line {
  position: relative;
  display: block
}

.irs-line {
  overflow: hidden;
  outline: none !important
}

.irs-line-left, .irs-line-mid, .irs-line-right {
  position: absolute;
  display: block;
  top: 0
}

.irs-line-left {
  left: 0;
  width: 11%
}

.irs-line-mid {
  left: 9%;
  width: 82%
}

.irs-line-right {
  right: 0;
  width: 11%
}

.irs-bar {
  width: 0
}

.irs-bar, .irs-bar-edge {
  position: absolute;
  display: block;
  left: 0
}

.irs-bar-edge {
  top: 0
}

.irs-shadow {
  position: absolute;
  display: none;
  left: 0;
  width: 0
}

.irs-slider {
  position: absolute;
  display: block;
  cursor: default;
  z-index: 1
}

.irs-slider.type_last {
  z-index: 2
}

.irs-min {
  left: 0
}

.irs-max, .irs-min {
  position: absolute;
  display: block;
  cursor: default
}

.irs-max {
  right: 0
}

.irs-from, .irs-single, .irs-to {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  cursor: default;
  white-space: nowrap
}

.irs-grid {
  position: absolute;
  display: none;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px
}

.irs-with-grid .irs-grid {
  display: block
}

.irs-grid-pol {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 8px;
  background: #000
}

.irs-grid-pol.small {
  height: 4px
}

.irs-grid-text {
  position: absolute;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  text-align: center;
  font-size: 9px;
  line-height: 9px;
  padding: 0 3px;
  color: #000
}

.irs-disable-mask {
  position: absolute;
  display: block;
  top: 0;
  left: -1%;
  width: 102%;
  height: 100%;
  cursor: default;
  background: transparent;
  z-index: 2
}

.irs-disabled {
  opacity: .4
}

.lt-ie9 .irs-disabled {
  filter: alpha(opacity=40)
}

.irs-hidden-input {
  position: absolute !important;
  display: block !important;
  top: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  outline: none !important;
  z-index: -9999 !important;
  background: none !important;
  border-style: solid !important;
  border-color: transparent !important
}


.irs-with-grid {
  height: 75px
}

.irs-line {
  height: .25rem;
  top: .875rem;
  background: #eee;
  background: linear-gradient(180deg, #ddd -50%, #fff 150%);
  border: 1px solid #ccc;
  border-radius: 16px;
  -moz-border-radius: 16px
}

.irs-line-left, .irs-line-mid, .irs-line-right {
  height: .3125rem
}

.irs-bar {
  height: .25rem;
  top: .875rem;
  border-top: 1px solid #585858;
  border-bottom: 1px solid #585858;
  background: #585858
}

.irs-bar-edge {
  height: 10px;
  top: 33px;
  width: 14px;
  border: 1px solid #428bca;
  border-right: 0;
  background: #428bca;
  background: linear-gradient(0deg, #428bca 0, #7fc3e8);
  border-radius: 16px 0 0 16px;
  -moz-border-radius: 16px 0 0 16px
}

.irs-shadow {
  height: 2px;
  top: 38px;
  background: #000;
  opacity: .3;
  border-radius: 5px;
  -moz-border-radius: 5px
}

.lt-ie9 .irs-shadow {
  filter: alpha(opacity=30)
}

.irs-slider {
  top: .625rem;
  width: .75rem;
  height: .75rem;
  border: 1px solid #315c3a;
  background: #315c3a;
  border-radius: 27px;
  -moz-border-radius: 27px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, .3);
  cursor: grab
}

.irs-slider:active {
  cursor: grabbing
}

.irs-max, .irs-min {
  color: #333;
  font-size: 12px;
  line-height: 1.333;
  text-shadow: none;
  top: 0;
  padding: 1px 5px;
  background: rgba(0, 0, 0, .1);
  border-radius: 3px;
  -moz-border-radius: 3px
}

.lt-ie9 .irs-max, .lt-ie9 .irs-min {
  background: #ccc
}

.irs-from, .irs-single, .irs-to {
  color: #fff;
  font-size: 14px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  background: #ff0004;
  border-radius: 3px;
  -moz-border-radius: 3px
}

.lt-ie9 .irs-from, .lt-ie9 .irs-single, .lt-ie9 .irs-to {
  background: #999
}

.irs-grid {
  height: 27px
}

.irs-grid-pol {
  opacity: .5;
  background: #428bca
}

.irs-grid-pol.small {
  background: #999
}

.irs-grid-text {
  bottom: 5px;
  color: #99a4ac
}
.slider__inputs {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  margin: 0 -.25rem .25rem
}

.slider__inputs .input-block {
  width: calc(50% - .5rem);
  margin: 0 .25rem
}

.slider__inputs .input-block input {
  width: 100%;
  padding: .25rem
}

.slider__inputs .input-block__label {
  font-size: .75rem
}

.checkbox-container {
  display: block;
  position: relative;
  padding-left: 2rem;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1.5rem;
  text-align: left;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.checkbox-container .checkbox-container__title {
  font-size: 1rem
}

.checkbox-container .checkbox-container__input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  cursor: pointer
}

.checkbox-container .checkbox-container__checkmark {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #ccc
}

.checkbox-container .checkbox-container__checkmark:after {
  content: "";
  position: absolute;
  left: .5rem;
  top: .1875rem;
  display: none;
  width: .375rem;
  height: .75rem;
  border: solid #fff;
  border-width: 0 .1875rem .1875rem 0;
  transform: rotate(45deg)
}

.checkbox-container .checkbox-container__input:checked ~ .checkbox-container__checkmark, .checkbox-container:hover .checkbox-container__input ~ .checkbox-container__checkmark {
  background-color: #cc3647
}

.checkbox-container .checkbox-container__input:checked ~ .checkbox-container__checkmark:after {
  display: block
}
.modal-dialog {
  pointer-events: auto;
}
.accordion-link {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
  text-decoration: none;
}
.sort-block{
  border-top: 1px solid #dc3545;
  border-bottom: 1px solid #dc3545;
  margin-bottom: 2em;
}













.jq-checkbox, .jq-radio {
  position: relative;
  display: inline-block;
  overflow: hidden;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.jq-checkbox input, .jq-radio input {
  position: absolute;
  z-index: -1;
  margin: 0;
  padding: 0;
  opacity: 0
}

.jq-file {
  position: relative;
  display: inline-block;
  overflow: hidden
}

.jq-file input {
  position: absolute;
  top: 0;
  right: 0;
  height: auto;
  margin: 0;
  padding: 0;
  opacity: 0;
  font-size: 100px;
  line-height: 1em
}

.jq-file__name {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

.jq-select-multiple, .jq-selectbox {
  position: relative;
  display: inline-block
}

.jq-select-multiple select, .jq-selectbox select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0
}

.jq-select-multiple li, .jq-selectbox li {
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap
}

.jq-selectbox {
  z-index: 20
}

.jq-selectbox__select {
  position: relative
}

.jq-selectbox__select-text {
  overflow: hidden;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  text-overflow: ellipsis
}

.jq-selectbox__dropdown {
  position: absolute
}

.jq-selectbox__search input {
  -webkit-appearance: textfield
}

.jq-selectbox__search input::-webkit-search-cancel-button, .jq-selectbox__search input::-webkit-search-decoration {
  -webkit-appearance: none
}

.jq-selectbox__dropdown ul {
  overflow: auto;
  overflow-x: hidden;
  list-style: none
}

.jq-select-multiple ul, .jq-selectbox__dropdown ul {
  position: relative;
  -webkit-overflow-scrolling: touch
}

.jq-select-multiple ul {
  overflow-x: hidden
}

.jq-number {
  display: inline-block
}

.jq-number__field input {
  -moz-appearance: textfield;
  text-align: left
}

.jq-number__field input::-webkit-inner-spin-button, .jq-number__field input::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none
}

.jq-checkbox, .jq-radio {
  vertical-align: -4px;
  width: 16px;
  height: 16px;
  margin: 0 4px 0 0;
  border: 1px solid #c3c3c3;
  background: linear-gradient(#fff, #e6e6e6);
  box-shadow: 0 1px 1px rgba(0, 0, 0, .05), inset -1px -1px #fff, inset 1px -1px #fff;
  cursor: pointer
}

.jq-checkbox.focused, .jq-radio.focused {
  border: 1px solid #08c
}

.jq-checkbox.disabled, .jq-radio.disabled {
  opacity: .55
}

.jq-checkbox {
  border-radius: 3px
}

.jq-checkbox.checked .jq-checkbox__div {
  width: 8px;
  height: 4px;
  margin: 3px 0 0 3px;
  border-bottom: 2px solid #666;
  border-left: 2px solid #666;
  transform: rotate(-50deg)
}

.jq-radio {
  border-radius: 50%
}

.jq-radio.checked .jq-radio__div {
  width: 10px;
  height: 10px;
  margin: 3px 0 0 3px;
  border-radius: 50%;
  background: #777;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .7)
}

.jq-file {
  width: 270px;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .1)
}

.jq-file input {
  cursor: pointer
}

.jq-file__name {
  box-sizing: border-box;
  width: 100%;
  height: 34px;
  padding: 0 80px 0 10px;
  border: 1px solid #ccc;
  border-bottom-color: #b3b3b3;
  border-radius: 4px;
  background: #fff;
  box-shadow: inset 1px 1px #f1f1f1
}

.jq-file__browse, .jq-file__name {
  font: 14px/32px Arial, sans-serif;
  color: #333
}

.jq-file__browse {
  position: absolute;
  top: 1px;
  right: 1px;
  padding: 0 10px;
  border-left: 1px solid #ccc;
  border-radius: 0 4px 4px 0;
  background: linear-gradient(#fff, #e6e6e6);
  box-shadow: inset 1px -1px #f1f1f1, inset -1px 0 #f1f1f1, 0 1px 2px rgba(0, 0, 0, .1);
  text-shadow: 1px 1px #fff
}

.jq-file:hover .jq-file__browse {
  background: linear-gradient(#f6f6f6, #e6e6e6)
}

.jq-file:active .jq-file__browse {
  background: #f5f5f5;
  box-shadow: inset 1px 1px 3px #ddd
}

.jq-file.focused .jq-file__name {
  border: 1px solid #5794bf
}

.jq-file.disabled, .jq-file.disabled .jq-file__browse, .jq-file.disabled .jq-file__name {
  border-color: #ccc;
  background: #f5f5f5;
  box-shadow: none;
  color: #888
}

.jq-number {
  position: relative;
  vertical-align: middle;
  padding: 0 36px 0 0
}

.jq-number__field {
  width: 100px;
  border: 1px solid #ccc;
  border-bottom-color: #b3b3b3;
  border-radius: 4px;
  box-shadow: inset 1px 1px #f1f1f1, 0 1px 2px rgba(0, 0, 0, .1)
}

.jq-number__field:hover {
  border-color: #b3b3b3
}

.jq-number__field input {
  box-sizing: border-box;
  width: 100%;
  padding: 8px 9px;
  border: none;
  outline: none;
  background: none;
  font: 14px Arial, sans-serif;
  color: #333
}

.jq-number__spin {
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 14px;
  border: 1px solid #ccc;
  border-bottom-color: #b3b3b3;
  border-radius: 4px;
  background: linear-gradient(#fff, #e6e6e6);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
  box-shadow: inset 1px -1px #f1f1f1, inset -1px 0 #f1f1f1, 0 1px 2px rgba(0, 0, 0, .1);
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-shadow: 1px 1px #fff;
  cursor: pointer
}

.jq-number__spin.minus {
  top: auto;
  bottom: 0
}

.jq-number__spin:hover {
  background: linear-gradient(#f6f6f6, #e6e6e6)
}

.jq-number__spin:active {
  background: #f5f5f5;
  box-shadow: inset 1px 1px 3px #ddd
}

.jq-number__spin:after {
  content: "";
  position: absolute;
  top: 4px;
  left: 11px;
  width: 0;
  height: 0;
  border-bottom: 5px solid #999
}

.jq-number__spin.minus:after, .jq-number__spin:after {
  border-right: 5px solid transparent;
  border-left: 5px solid transparent
}

.jq-number__spin.minus:after {
  top: 5px;
  border-top: 5px solid #999;
  border-bottom: none
}

.jq-number__spin.minus:hover:after {
  border-top-color: #000
}

.jq-number__spin.plus:hover:after {
  border-bottom-color: #000
}

.jq-number.focused .jq-number__field {
  border: 1px solid #5794bf
}

.jq-number.disabled .jq-number__field, .jq-number.disabled .jq-number__spin {
  border-color: #ccc;
  background: #f5f5f5;
  box-shadow: none;
  color: #888
}

.jq-number.disabled .jq-number__spin:after {
  border-bottom-color: #aaa
}

.jq-number.disabled .jq-number__spin.minus:after {
  border-top-color: #aaa
}

.jq-selectbox {
  vertical-align: middle;
  cursor: pointer;
  max-width: 100%
}

.jq-selectbox__select {
  height: 32px;
  padding: 0 45px 0 10px;
  border-radius: 4px;
  font: 14px / 32px Arial, sans-serif;
  color: var(--bs-btn-active-color);
  background-color: #315c3a;
  border-color: var(--bs-btn-active-border-color);
  --bs-btn-color: #fff;
  --bs-btn-bg: #315c3a;
  --bs-btn-border-color: #315c3a;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #315c3a;
  --bs-btn-hover-border-color: #315c3a;
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #315c3a;
  --bs-btn-active-border-color: #315c3a;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #315c3a;
  --bs-btn-disabled-border-color: #315c3a;

}

.jq-selectbox__select:hover {
background-color:#315c3a
}

.jq-selectbox__select:active {
  background-color:#315c3a;
box-shadow: inset 1px 1px 3px #ddd
}

.jq-selectbox.focused .jq-selectbox__select {
border: 1px solid #5794bf
}

.jq-selectbox.disabled .jq-selectbox__select {
border-color: #ccc;
background: #f5f5f5;
box-shadow: none;
color: #888
}

.jq-selectbox__select-text {
display: block;
width: 100%
}

.jq-selectbox .placeholder {
color: #888
}

.jq-selectbox__trigger {
position: absolute;
top: 0;
right: 0;
width: 34px;
height: 100%;
border-left: 1px solid #ccc
}

.jq-selectbox__trigger-arrow {
position: absolute;
top: 14px;
right: 12px;
width: 0;
height: 0;
border-top: 5px solid #999;
border-right: 5px solid transparent;
border-left: 5px solid transparent
}

.jq-selectbox:hover .jq-selectbox__trigger-arrow {
border-top-color: #000
}

.jq-selectbox.disabled .jq-selectbox__trigger-arrow {
border-top-color: #aaa
}

.jq-selectbox__dropdown {
box-sizing: border-box;
width: 100%;
margin: 2px 0 0;
padding: 0;
border: 1px solid #ccc;

background: #fff;
font: 14px/18px Arial, sans-serif;
  border: 1px solid №315c3a;
  margin-top: 7px;
}

.jq-selectbox__search {
margin: 5px
}

.jq-selectbox__search input {
box-sizing: border-box;
width: 100%;
margin: 0;
padding: 5px 27px 6px 8px;
border: 1px solid #ccc;
border-radius: 3px;
outline: none;
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO1JREFUeNqU078LAXEYx/FzYfNzk5TJaFNKYjFYSQZ/hvwBsvg1UCY2xT9gM8hukQGThWRjkcFw3pdnujhfT736Xn2fPvfc3fd07V0OFDDFAnM0ENYsZRiGLSc9OpqIYIA9fMhhjCrW2h9VlMlcH/aymMGtOqEugX08PwQucUZKdTozMIqdTc9WepQD7wjY9ARx+ydwhfyXfS+S0qMcOEQJGcueB3VccFINdMgal6NzkmPjRwJXxDBB7/2RDdtAp6wb+dpphHDASG5QQ0V6u2aoSqBZD/lDrNWRJynLK2qpBn4rc6K2XB9/Nb8EGABtf1thzY6X2AAAAABJRU5ErkJggg==") no-repeat 100% 50%;
box-shadow: inset 1px 1px #f1f1f1;
color: #333
}

.jq-selectbox__not-found {
margin: 5px;
padding: 5px 8px 6px;
background: #f0f0f0;
font-size: 13px
}

.jq-selectbox ul {
margin: 0;
padding: 0
}

.jq-selectbox li {
min-height: 18px;
padding: 5px 10px 6px;
color: #231f20
}

.jq-selectbox li.selected {
  background-color:#315c3a;
color: #fff
}

.jq-selectbox li:hover {
  background-color: #315c3a;
color: #fff
}

.jq-selectbox li.disabled {
color: #aaa
}

.jq-selectbox li.disabled:hover {
background: none
}

.jq-selectbox li.optgroup {
font-weight: 700
}

.jq-selectbox li.optgroup:hover {
background: none;
color: #231f20;
cursor: default
}

.jq-selectbox li.option {
padding-left: 25px
}

.jq-select-multiple {
box-sizing: border-box;
padding: 1px;
border: 1px solid #ccc;
border-bottom-color: #b3b3b3;
border-radius: 4px;
background: #fff;
box-shadow: inset 1px 1px #f1f1f1, 0 1px 2px rgba(0, 0, 0, .1);
font: 14px/18px Arial, sans-serif;
color: #333;
cursor: default
}

.jq-select-multiple.focused {
border: 1px solid #5794bf
}

.jq-select-multiple.disabled {
border-color: #ccc;
background: #f5f5f5;
box-shadow: none;
color: #888
}

.jq-select-multiple ul {
margin: 0;
padding: 0
}

.jq-select-multiple li {
padding: 3px 9px 4px;
list-style: none
}

.jq-select-multiple li:first-child {
border-radius: 3px 3px 0 0
}

.jq-select-multiple li:last-child {
border-radius: 0 0 3px 3px
}

.jq-select-multiple li.selected {
background: #08c;
color: #fff
}

.jq-select-multiple li.disabled {
color: #aaa
}

.jq-select-multiple li.optgroup {
font-weight: 700
}

.jq-select-multiple li.option {
padding-left: 25px
}

.jq-select-multiple.disabled li.selected, .jq-select-multiple li.selected.disabled {
background: #ccc;
color: #fff
}
.filter-wrap.filterJs{
position: absolute;
background: rgb(255, 255, 255);
border: 1px solid #315c3a;
padding: 2em;
z-index: 110;
display: none;
  margin-top: 4px;
}
.filter{
display: flex;
align-items: center;
}
.allimg picture{display: inline-flex; width: 60px; height: 60px; border: 2px solid #fff;border-radius: 10px; overflow: hidden;
cursor: pointer;}
.allimg img{ width: 60px; height: fit-content;margin:0 10px 10px 0}
.allimg picture.active{border-color: blue}
.form__input_error {
  border: 2px solid red
}
/* === Sdelano-u-nas visual theme (Smarty port) === */
:root{--sun-green:#355f3b;--sun-green-dark:#24482c;--sun-lime:#dce8b0;--sun-cream:#f7f3e9;--sun-orange:#e97f35;--sun-ink:#253126;--sun-muted:#687268;--sun-radius:22px}
body{font-family:Rawline,Arial,sans-serif;color:var(--sun-ink);background:#f4fbf6}.container{max-width:1320px}.header__head{background:#2d4f34}.menu__link{color:#fff!important;font-weight:500}.sun-hero{min-height:640px;background:linear-gradient(90deg,rgba(25,52,31,.88),rgba(25,52,31,.3)),url('/images/main/header.jpg') center/cover no-repeat;display:flex;align-items:center;color:#fff}.sun-hero__inner{padding-top:90px;padding-bottom:90px}.sun-hero__content{max-width:760px}.sun-eyebrow,.sun-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700}.sun-eyebrow{color:#e5efbd}.sun-hero h1{font:700 clamp(46px,6vw,86px)/.98 'Playfair Display',serif;margin:16px 0 26px}.sun-hero__text{font-size:20px;line-height:1.65;max-width:650px}.sun-hero__text p{margin:0}.sun-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}.sun-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 26px;font-weight:700;text-decoration:none;transition:.2s}.sun-btn--primary{background:var(--sun-orange);color:#fff}.sun-btn--primary:hover{background:#cf6925;color:#fff;transform:translateY(-2px)}.sun-btn--ghost{border:1px solid rgba(255,255,255,.65);color:#fff}.sun-btn--ghost:hover{background:#fff;color:var(--sun-green-dark)}.sun-btn--small{padding:10px 18px;background:var(--sun-green);color:#fff;font-size:14px}.sun-benefits{background:#fff;margin-top:-34px;position:relative;z-index:2}.sun-benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 18px 50px rgba(34,60,39,.12);border-radius:var(--sun-radius);overflow:hidden;background:#fff}.sun-benefit{display:flex;gap:15px;padding:28px;border-right:1px solid #e9ece7}.sun-benefit:last-child{border:0}.sun-benefit i{font-size:30px;color:var(--sun-orange)}.sun-benefit strong,.sun-benefit span{display:block}.sun-benefit span{color:var(--sun-muted);font-size:13px;margin-top:5px}.sun-section{padding:100px 0}.sun-section--soft{background:var(--sun-cream)}
.sun-section__head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:38px}
.sun-section h2,.sun-subscribe h2,.sun-contact h2{position: relative;
  max-width: 777px;
  margin-bottom: 30px;
  color: #f6fff8;}
.sun-section__head h2{color: #222}.sun-kicker{color:var(--sun-orange)}.sun-more{color:var(--sun-green);font-weight:700;text-decoration:none}.sun-products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.sun-product{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 35px rgba(38,57,40,.08)}.sun-product__image{height:300px;display:block;position:relative;background:#f1f3ed}.sun-product__image picture,.sun-product__image img{width:100%;height:100%;object-fit:cover}.sun-product__label{position:absolute;top:15px;left:15px;background:var(--sun-orange);color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.sun-product__body{padding:22px}.sun-product h3{font-size:18px;line-height:1.35;min-height:49px}.sun-product h3 a{color:var(--sun-ink);text-decoration:none}.sun-product__price{font-size:22px;font-weight:800;margin:14px 0}.sun-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.sun-category{height:390px;border-radius:var(--sun-radius);overflow:hidden;position:relative;color:#fff;text-decoration:none}.sun-category__image,.sun-category__shade{position:absolute;inset:0}.sun-category__image{background-size:cover;background-position:center;transition:transform .5s}.sun-category__shade{background:linear-gradient(180deg,transparent 30%,rgba(20,40,24,.88))}.sun-category__content{position:absolute;left:28px;right:28px;bottom:28px}.sun-category__content strong{display:block;font:700 30px/1.1 'Playfair Display',serif}.sun-category__content em{display:block;margin-top:15px;font-style:normal;font-weight:700;font-size:14px}.sun-category:hover{color:#fff}.sun-category:hover .sun-category__image{transform:scale(1.05)}.sun-subscribe{padding:70px 0;background:var(--sun-green);color:#fff}.sun-subscribe form{position: relative}.sun-contact{padding:100px 0}.sun-contact__grid{display:grid;grid-template-columns:1fr .65fr;gap:60px;align-items:center}.sun-contact p{font-size:20px;color:var(--sun-muted);margin:24px 0}.sun-contact__card{background:var(--sun-cream);border-radius:var(--sun-radius);padding:42px;display:flex;flex-direction:column;gap:12px}.sun-contact__card i{font-size:38px;color:var(--sun-orange)}.sun-contact__card strong{font:700 28px 'Playfair Display',serif}.sun-contact__card span{color:var(--sun-muted)}.sun-contact__card a{font-size:24px;font-weight:800;color:var(--sun-green);text-decoration:none}
.subscribe-form__email {
  width: 305px;
  padding: 10px;
  margin-right: 20px;
  color: #f6fff8;
  background-color: rgba(246, 255, 248, .2);
  border: 1px solid #f6fff8;
  border-radius: 8px;
  outline: 0;
}
.subscribe-form__submit {
  width: 160px;
  padding: 10px;
  color: #f6fff8;
  background-color: rgba(104, 175, 120, .3);
  border: 1px solid #68af78;
  border-radius: 8px;
}
.subscribe-form__checkbox {
  margin-top: 12px;
}
.subscribe-form__checkbox input:checked+label::after{opacity:1}
.subscribe-form__checkbox label {
  position: relative;
  display: block;
  padding-left: 25px;
  color: #f6fff8;
  cursor: pointer;
}
.subscribe-form__checkbox label a::before{position:absolute;bottom:-2px;left:0;width:100%;height:1px;background-color:#68af78;content:""}
.subscribe-form__checkbox label::before{position:absolute;top:0;left:0;width:15px;height:15px;background-color:rgba(246,255,248,.2);border:1px solid #f6fff8;border-radius:3px;content:""}
.subscribe-form__checkbox label::after{position:absolute;top:3px;left:3px;width:9px;height:9px;background-color:#68af78;border-radius:3px;opacity:0;content:""}

.subscribe-form__checkbox label a {
  position: relative;
  display: inline-block;
  color: #68af78;
  text-decoration: none;
}
/* Existing catalog cards restyled without changing CMS logic */
.list-product{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0!important}.list-product__item{width:auto!important;margin:0!important;border:0!important;border-radius:18px!important;overflow:hidden;background:#fff;box-shadow:0 10px 35px rgba(38,57,40,.09);padding:0 0 22px!important}.list-product__img{height:290px!important}.list-product__line-title,.list-product__info,.list-product__line-price,.read_more_cart{margin-left:20px!important;margin-right:20px!important}.button-in-basket{background:var(--sun-green)!important;border-radius:999px!important}.read_more_cart{color:var(--sun-orange)!important}
@media(max-width:991px){.sun-benefits__grid{grid-template-columns:1fr 1fr}.sun-products,.sun-categories{grid-template-columns:1fr 1fr}.sun-contact__grid{grid-template-columns:1fr}.list-product{grid-template-columns:1fr 1fr}.sun-hero{min-height:560px}}
@media(max-width:575px){.sun-hero{min-height:520px}.sun-hero__inner{padding-top:65px;padding-bottom:65px}.sun-hero h1{font-size:44px}.sun-benefits{margin-top:0}.sun-benefits__grid,.sun-products,.sun-categories,.list-product{grid-template-columns:1fr}.sun-category{height:320px}.sun-section{padding:65px 0}.sun-benefit{border-right:0;border-bottom:1px solid #e9ece7}.sun-section__head{align-items:flex-start;flex-direction:column}.sun-product__image{height:270px}}
/* === Homepage slider and mobile corrections v2 === */
.sun-slider{position:relative;height:650px;overflow:hidden;background:#16351f}.sun-slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease;color:#fff}.sun-slide.is-active{opacity:1;visibility:visible}.sun-slide__inner{height:100%;display:flex;align-items:center}.sun-slide__content{max-width:720px}.sun-slide h1,.sun-slide h2{font:700 clamp(48px,6vw,84px)/1.02 'Playfair Display',serif;margin:17px 0 25px}.sun-slide__text{font-size:20px;line-height:1.55;max-width:650px;margin-bottom:34px}.sun-slide__text p{margin:0}.sun-slider__arrow{position:absolute;top:50%;z-index:3;width:52px;height:52px;margin-top:-26px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(24,58,32,.35);color:#fff;font-size:22px}.sun-slider__arrow--prev{left:28px}.sun-slider__arrow--next{right:28px}.sun-slider__dots{position:absolute;left:50%;bottom:28px;z-index:3;display:flex;gap:9px;transform:translateX(-50%)}.sun-slider__dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.5)}.sun-slider__dot.is-active{width:29px;border-radius:10px;background:#fff}.sun-category__image:empty{background-image:linear-gradient(135deg,#66866b,#274e30)}
@media(max-width:991px){.sun-slider{height:560px}.sun-slider__arrow{width:42px;height:42px;margin-top:-21px}.sun-slider__arrow--prev{left:14px}.sun-slider__arrow--next{right:14px}.sun-slide__content{padding:0 42px}.sun-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.sun-slider{height:510px}.sun-slide__content{padding:0 12px}.sun-slide h1,.sun-slide h2{font-size:41px}.sun-slide__text{font-size:17px}.sun-slider__arrow{display:none}.sun-slider__dots{bottom:18px}.sun-categories{grid-template-columns:1fr}.sun-category{height:300px}.sun-section{padding:58px 0}}
/* === Homepage parity pass v3 === */
.sun-slide--four{background-position:center 58%}.sun-slide--five{background-position:center 35%}
.sun-catalog-section{background:#f6fff8}.sun-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.sun-category{height:285px;background:#dfe9d7;border-radius:0;display:grid;grid-template-columns:46% 54%;overflow:hidden;color:#24482c}.sun-category__image{position:relative;grid-column:2;background-size:cover;background-position:center;transition:transform .45s}.sun-category__content{position:relative;left:auto;right:auto;bottom:auto;grid-column:1;grid-row:1;padding:34px 25px;display:flex;flex-direction:column;justify-content:flex-end;z-index:2}.sun-category__content strong{font:700 28px/1.08 'Playfair Display',serif}.sun-category__content em{margin-top:18px;color:#315b39}.sun-category:hover{color:#24482c}.sun-category:nth-child(4n+2),.sun-category:nth-child(4n+3){background:#315b39;color:#fff}.sun-category:nth-child(4n+2) .sun-category__content em,.sun-category:nth-child(4n+3) .sun-category__content em{color:#fff}.sun-category:nth-child(even){grid-template-columns:54% 46%}.sun-category:nth-child(even) .sun-category__image{grid-column:1}.sun-category:nth-child(even) .sun-category__content{grid-column:2}
.sun-subscribe{position:relative;overflow:hidden;padding:88px 0;background:#2c5936 url('/images/main/subscribe-bg.webp') center 42%/cover no-repeat}.sun-subscribe__inner{position:relative;}.sun-subscribe h2{max-width:680px;color:#f6fff8;font-size:36px}
.sun-subscribe form{position: relative;}.sun-location{padding:90px 0;background:#f6fff8}.sun-location__grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:480px}.sun-location__map iframe{width:100%;height:100%;min-height:480px;border:0}
.sun-location__map{-ms-flex-negative: 0;flex-shrink: 0;-webkit-box-ordinal-group: 2;-ms-flex-order: 1;order: 1;max-width: 750px;height: 350px;margin-right: 140px;border: 2px solid #68af78;border-radius: 20px;overflow: hidden;}
.sun-location__info{padding:0px;-webkit-box-ordinal-group: 3;-ms-flex-order: 2;order: 2;}.sun-location h2{font:700 48px/1.08 'Playfair Display',serif;margin:8px 0 24px}.sun-location h3{font-size:22px;margin:30px 0 8px}.sun-location p{font-size:17px;line-height:1.6}.sun-nursery{margin-top:34px;display:grid;grid-template-columns:1.25fr .75fr;min-height:420px;background:#294d32;color:#fff}.sun-nursery img{width:100%;height:100%;min-height:420px;object-fit:cover}.sun-nursery>div{padding:55px;display:flex;flex-direction:column;justify-content:center}.sun-nursery h2{font:700 42px/1.1 'Playfair Display',serif;margin:10px 0 18px}.sun-nursery p{font-size:20px}.sun-slider__dots{bottom:24px}
@media(max-width:991px){.sun-categories{grid-template-columns:1fr}.sun-location__grid,.sun-nursery{grid-template-columns:1fr}.sun-location__map iframe{min-height:360px}.sun-location__info{padding:42px}.sun-nursery img{min-height:320px}.sun-subscribe h2{font-size:39px}}
@media(max-width:575px){.sun-category,.sun-category:nth-child(even){height:235px;grid-template-columns:52% 48%}.sun-category:nth-child(even) .sun-category__image{grid-column:2}.sun-category:nth-child(even) .sun-category__content{grid-column:1}.sun-category__content{padding:24px 18px}.sun-category__content strong{font-size:23px}.sun-subscribe{padding:62px 0}.sun-subscribe h2{font-size:32px}.sun-location{padding:58px 0}.sun-location__map iframe{min-height:300px}.sun-location__info{padding:30px 22px}.sun-location h2{font-size:38px}.sun-nursery{margin-top:22px}.sun-nursery>div{padding:34px 22px}.sun-nursery h2{font-size:34px}}

/* Product page — sdelano-u-nas.ru */
.sun-product-page{padding:22px 0 70px;color:#20211f;background:#fff}.sun-product-layout{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr);gap:64px;align-items:start}.sun-product-gallery{min-width:0}.sun-product-main-image{position:relative;display:flex;align-items:center;justify-content:center;min-height:560px;border:1px solid #e5e8df;border-radius:18px;background:#fff;overflow:hidden}.sun-product-main-image>a{display:flex;width:100%;height:100%;align-items:center;justify-content:center;padding:28px}.sun-product-main-image img{display:block;width:100%;height:520px;object-fit:contain}.sun-product-stickers{position:absolute;left:18px;top:18px;z-index:2;display:flex;gap:8px;flex-wrap:wrap}.sun-product-sticker{padding:7px 12px;border-radius:30px;background:#eb6b4b;color:#fff;font-size:12px;font-weight:700}.sun-product-thumbs{display:flex;gap:12px;margin-top:14px;overflow-x:auto;padding:2px}.sun-product-thumb{flex:0 0 92px;width:92px;height:92px;border:1px solid #e4e6df;border-radius:12px;background:#fff;padding:6px;cursor:pointer;transition:.2s}.sun-product-thumb.active,.sun-product-thumb:hover{border-color:#638735;box-shadow:0 0 0 1px #638735}.sun-product-thumb img{width:100%;height:100%;object-fit:contain}.sun-product-info h1{margin:0 0 14px;font-size:clamp(30px,3.1vw,50px);line-height:1.08;font-weight:500;letter-spacing:-.02em;color:#252620}.sun-product-sku{font-size:15px;color:#85887e;margin-bottom:32px}.sun-product-sku span{color:#54574e}.sun-product-buybox{padding:0 0 28px;border-bottom:1px solid #e4e6df}.sun-product-price-row{display:flex;align-items:center;gap:18px;margin-bottom:15px}.sun-product-price{font-size:36px;line-height:1;font-weight:600;color:#252620}.sun-product-price--request{font-size:25px;margin-bottom:18px}.sun-product-old-price{font-size:18px;color:#999;text-decoration:line-through}.sun-product-stock{display:flex;align-items:center;gap:9px;margin:15px 0 25px;font-size:15px;color:#4d6f2d}.sun-product-stock span{width:9px;height:9px;border-radius:50%;background:#6e943d;box-shadow:0 0 0 4px rgba(110,148,61,.12)}.sun-product-actions{display:grid;grid-template-columns:116px minmax(150px,1fr) minmax(150px,1fr);gap:12px}.sun-product-quantity{display:grid;grid-template-columns:34px 1fr 34px;height:52px;border:1px solid #dfe2da;border-radius:8px;overflow:hidden;background:#fff}.sun-product-quantity button{border:0;background:transparent;font-size:21px;color:#6a6d64}.sun-product-quantity input{width:100%;border:0;text-align:center;font-size:17px;outline:0}.sun-product-cart,.sun-product-fast{height:52px;border-radius:8px;padding:0 22px;font-size:16px;font-weight:600;cursor:pointer;transition:.2s}.sun-product-cart{border:1px solid #637f37;background:#637f37;color:#fff}.sun-product-cart:hover{background:#536c2e}.sun-product-fast{border:1px solid #637f37;background:#fff;color:#637f37}.sun-product-fast:hover{background:#f4f7ee}.sun-product-service{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:25px 0;border-bottom:1px solid #e4e6df}.sun-product-service>div{display:flex;gap:13px;align-items:flex-start;font-size:13px;color:#777b70}.sun-product-service i{font-size:24px;color:#648039}.sun-product-service strong{display:block;margin-bottom:3px;font-size:15px;color:#2f312c;font-weight:600}.sun-product-characteristics{padding-top:20px}.sun-product-characteristics>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:8px 0;border-bottom:1px dotted #d9dcd3;font-size:14px}.sun-product-characteristics span{color:#85887e}.sun-product-characteristics b{font-weight:500;color:#33362f}.sun-product-tabs{margin-top:58px;border-top:1px solid #e3e6de}.sun-product-tab-buttons{display:flex;gap:38px;border-bottom:1px solid #e3e6de}.sun-product-tab-buttons button{position:relative;border:0;background:none;padding:22px 0 18px;font-size:20px;color:#8b8d86;cursor:pointer}.sun-product-tab-buttons button.active{color:#262821}.sun-product-tab-buttons button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#638735}.sun-product-tab-panel{display:none;padding:32px 0}.sun-product-tab-panel.active{display:block}.sun-product-description{max-width:980px;font-size:16px;line-height:1.75;color:#454840}.sun-product-description h2,.sun-product-description h3{color:#272a24}.sun-product-no-reviews{padding:10px 0 15px}.sun-product-no-reviews h3{font-size:23px;margin-bottom:8px}.sun-product-review-btn{margin-top:12px;border:1px solid #638735;background:#fff;color:#638735;border-radius:8px;padding:12px 22px}.sun-product-recommend{padding-top:28px}.sun-product-recommend .sun-section__head h2{font-size:clamp(28px,3vw,42px)}
@media(max-width:991px){.sun-product-layout{grid-template-columns:1fr;gap:34px}.sun-product-main-image{min-height:460px}.sun-product-main-image img{height:420px}.sun-product-info h1{font-size:38px}.sun-product-actions{grid-template-columns:110px 1fr 1fr}}
@media(max-width:640px){.sun-product-page{padding-top:10px}.sun-product-layout{gap:25px}.sun-product-main-image{min-height:340px;border-radius:12px}.sun-product-main-image>a{padding:15px}.sun-product-main-image img{height:310px}.sun-product-thumb{flex-basis:70px;width:70px;height:70px}.sun-product-info h1{font-size:28px;line-height:1.15}.sun-product-sku{margin-bottom:20px}.sun-product-price{font-size:30px}.sun-product-actions{grid-template-columns:105px 1fr}.sun-product-fast{grid-column:1/-1}.sun-product-service{grid-template-columns:1fr}.sun-product-tabs{margin-top:38px}.sun-product-tab-buttons{gap:26px}.sun-product-tab-buttons button{font-size:18px}.sun-product-tab-panel{padding-top:22px}}

/* Left catalog navigation — parity with sdelano-u-nas.ru */
.sun-catalog-nav{padding:0 4px 24px;background:#fff}
.sun-catalog-nav__title{margin:0 0 13px;padding:0 0 13px;border-bottom:1px solid #dfe5da;font-size:22px;font-weight:500;color:#242822}
.sun-catalog-nav__roots,.sun-catalog-nav__children{list-style:none;margin:0;padding:0}
.sun-catalog-nav__root{border-bottom:1px solid #edf0e9}
.sun-catalog-nav__root-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;color:#2b2f29!important;text-decoration:none!important;font-size:16px;line-height:1.3;font-weight:500;transition:color .2s}
.sun-catalog-nav__root-link:hover,.sun-catalog-nav__root.is-current>.sun-catalog-nav__root-link{color:#607d35!important}
.sun-catalog-nav__chevron{flex:0 0 8px;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.sun-catalog-nav__children{padding:0 0 12px 15px}
.sun-catalog-nav__children li{position:relative}
.sun-catalog-nav__children li:before{content:"";position:absolute;left:-14px;top:14px;width:5px;height:5px;border-radius:50%;background:#b7c4aa}
.sun-catalog-nav__children li.is-current:before{background:#607d35}
.sun-catalog-nav__children a{display:block;padding:7px 0;color:#62675e!important;text-decoration:none!important;font-size:14px;line-height:1.35;transition:color .2s}
.sun-catalog-nav__children a:hover,.sun-catalog-nav__children li.is-current>a{color:#607d35!important;font-weight:600}
@media(max-width:767px){.sun-catalog-nav{padding-bottom:12px}.sun-catalog-nav__title{font-size:20px}.sun-catalog-nav__root-link{padding:11px 0}}

/*
 * Левое меню категорий — только дизайн.
 * Подключать ПОСЛЕ основного /css/style.css.
 * Разметку Smarty, PHP и SQL не меняет.
 */

.catalog-sidebar,
.sidebar {
  min-width: 0;
}

/* Общая область меню */
.sidebar-title,
.sidebar-subtitle,
.sidebar-menu {
  box-sizing: border-box;
}

.sidebar-title {
  margin: 0;
  padding: 0 0 17px;
  border: 0;
  border-bottom: 1px solid #d8dfd5;
  color: #1e3424;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.15;
  text-align: left;
}

.sidebar-subtitle {
  margin: 0;
  padding: 20px 0 12px;
  border: 0;
  color: #244c2e;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}

.sidebar-menu {
  display: block;
  margin: 0;
  padding: 0 0 24px;
  border: 0;
  border-bottom: 1px solid #d8dfd5;
  list-style: none;
}

.sidebar-menu > li {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.sidebar-menu > li > a.link_item_menu {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 34px 9px 17px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #273429;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
  transition:
          background-color .18s ease,
          color .18s ease,
          padding-left .18s ease;
}

.sidebar-menu > li > a.link_item_menu::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1.5px solid #79905c;
  border-right: 1.5px solid #79905c;
  opacity: 0;
  transform: translateY(-50%) rotate(45deg);
  transition: opacity .18s ease, left .18s ease;
}

.sidebar-menu > li > a.link_item_menu:hover {
  padding-left: 21px;
  background: #f3f6ef;
  color: #355f3b;
}

.sidebar-menu > li > a.link_item_menu:hover::before {
  left: 7px;
  opacity: 1;
}

/* Активная категория */
.sidebar-menu > li.here > a.link_item_menu {
  padding-left: 21px;
  background: #edf3e7;
  color: #315a37;
  font-weight: 700;
}

.sidebar-menu > li.here > a.link_item_menu::before {
  left: 7px;
  opacity: 1;
  border-color: #315a37;
}

.sidebar-menu > li.here > a.link_item_menu::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #315a37;
  border-bottom: 1.5px solid #315a37;
  transform: translateY(-65%) rotate(45deg);
}

/* Если в текущем шаблоне появится вложенный список */
.sidebar-menu .subcats {
  margin: 2px 0 9px;
  padding: 3px 0 3px 18px;
  border-left: 1px solid #d8dfd5;
  list-style: none;
}

.sidebar-menu .subcats li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sidebar-menu .subcats a {
  display: block;
  padding: 7px 12px;
  color: #596359;
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}

.sidebar-menu .subcats a:hover,
.sidebar-menu .subcats li.here > a {
  color: #315a37;
  font-weight: 600;
}

/*
 * Убираем старые красные линии именно у меню.
 * Остальной фильтр и сортировку этот файл не изменяет.
 */
.sidebar-title,
.sidebar-subtitle,
.sidebar-menu {
  border-color: #d8dfd5 !important;
}

.sidebar-subtitle {
  background: transparent !important;
}

/* Компактное отображение на планшете */
@media (max-width: 991px) {
  .sidebar-title {
    font-size: 26px;
  }

  .sidebar-menu > li > a.link_item_menu {
    min-height: 40px;
    font-size: 15px;
  }
}

/* На телефоне меню остаётся аккуратным блоком */
@media (max-width: 767px) {
  .sidebar-title {
    padding-bottom: 13px;
    font-size: 24px;
  }

  .sidebar-subtitle {
    padding-top: 15px;
  }

  .sidebar-menu {
    padding-bottom: 17px;
  }
}
.sidebar-menu > li.sidebar-menu__parent {
  margin-bottom: 6px;
  border-bottom: 1px solid #d8dfd5;
}

.sidebar-menu > li.sidebar-menu__parent > a.link_item_menu {
  padding: 12px 12px 14px 0;
  background: transparent;
  color: #244c2e;
  font-size: 17px;
  font-weight: 700;
}

.sidebar-menu > li.sidebar-menu__parent > a.link_item_menu::before,
.sidebar-menu > li.sidebar-menu__parent > a.link_item_menu::after {
  display: none;
}

.sidebar-menu > li.sidebar-menu__child > a.link_item_menu {
  padding-left: 22px;
}

.sidebar-menu > li.sidebar-menu__child > a.link_item_menu::before {
  left: 8px;
  opacity: 1;
}

.sidebar-menu > li.sidebar-menu__child.here > a.link_item_menu {
  background: #edf3e7;
  color: #315a37;
  font-weight: 700;
}
.sidebar-menu--root {
  margin: 0;
  padding: 0 0 24px;
  list-style: none;
}

.sidebar-menu--root > .sidebar-menu__parent {
  margin: 0;
  padding: 0;
}

.sidebar-menu--root >
.sidebar-menu__parent >
.link_item_menu {
  min-height: 44px;
  padding: 11px 32px 11px 16px;
  color: #243428;
  font-weight: 600;
}

.sidebar-menu--root >
.sidebar-menu__parent.here >
.link_item_menu {
  background: #edf3e7;
  color: #315a37;
  font-weight: 700;
}

.sidebar-menu__children {
  margin: 0;
  padding: 5px 0 10px 16px;
  border-left: 1px solid #d8dfd5;
  list-style: none;
}

.sidebar-menu__children .sidebar-menu__child {
  margin: 0;
  padding: 0;
}

.sidebar-menu__children
.sidebar-menu__child
.link_item_menu {
  min-height: 38px;
  padding: 8px 24px 8px 17px;
  background: transparent;
  color: #354038;
  font-size: 15px;
  font-weight: 400;
}

.sidebar-menu__children
.sidebar-menu__child.here
.link_item_menu {
  background: #f1f5ed;
  color: #315a37;
  font-weight: 700;
}
/* Левое меню каталога — финальная правка отступов */

.sidebar-categories {
  padding: 0 14px 0 0;
}

.sidebar-title {
  margin: 0 0 14px;
  padding: 0 0 14px;
  border-bottom: 1px solid #d8dfd5;
}

.sidebar-menu--root {
  margin: 0;
  padding: 0;
  border-bottom: 0 !important;
  list-style: none;
}

.sidebar-menu--root > .sidebar-menu__parent {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #d8dfd5;
}

.sidebar-menu--root > .sidebar-menu__parent:last-child {
  border-bottom: 0;
}

.sidebar-menu--root > .sidebar-menu__parent > .link_item_menu {
  display: block;
  padding: 15px 14px 15px 0;
  background: transparent;
  color: #214c2c;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

.sidebar-menu--root > .sidebar-menu__parent.here > .link_item_menu {
  padding-left: 14px;
  background: #edf3e7;
}

.sidebar-menu__children {
  margin: 0;
  padding: 6px 12px 12px 22px;
  border: 0 !important;
  list-style: none;
}

.sidebar-menu__children > .sidebar-menu__child {
  margin: 0;
  padding: 0;
  border: 0;
}

.sidebar-menu__children > .sidebar-menu__child > .link_item_menu {
  display: block;
  position: relative;
  min-height: auto;
  padding: 6px 8px 6px 20px;
  background: transparent;
  color: #273429;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
}

.sidebar-menu__children > .sidebar-menu__child > .link_item_menu::before {
  content: "▶";
  position: absolute;
  left: 0;
  top: 7px;
  color: #315a37;
  font-size: 11px;
  line-height: 1;
}

.sidebar-menu__children > .sidebar-menu__child.here > .link_item_menu {
  background: #edf3e7;
  color: #214c2c;
  font-weight: 700;
}

/* Убираем старые псевдоэлементы и лишние линии */
.sidebar-menu--root > li > a::before,
.sidebar-menu--root > li > a::after {
  display: none !important;
}

.sidebar-menu,
.sidebar-menu__children {
  box-shadow: none !important;
}

/* На случай, если нижняя линия идёт ещё от контейнера */
.sidebar-categories,
.sidebar-categories > ul,
.sidebar-categories .sidebar-menu {
  border-bottom: 0;
}

/* Правая часть страницы категории: зелёная панель и два режима отображения */

.cat-page .sort-block {
  display: block !important;
  margin-bottom: 28px;
  padding: 0 !important;
  border-top: 1px solid #315c3a;
  border-bottom: 1px solid #315c3a;
}

.catalog-toolbar {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 7px 4px;
}

.catalog-toolbar__left,
.catalog-toolbar__right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.catalog-toolbar__right {
  margin-left: auto;
}

.cat-page .sort-block .btn,
.cat-page .sort-block button:not(.catalog-view-switch__button),
.cat-page .sort-block .filter-button,
.cat-page .sort-block [class*="filter"] button {
  border-color: #315c3a !important;
  background: #315c3a !important;
  color: #fff !important;
}

.cat-page .sort-block .btn:hover,
.cat-page .sort-block button:not(.catalog-view-switch__button):hover {
  border-color: #24492d !important;
  background: #24492d !important;
}

.catalog-view-switch {
  display: inline-flex;
  gap: 4px;
}

.catalog-view-switch__button {
  width: 38px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #b8c7b9;
  border-radius: 3px;
  background: #fff;
  color: #315c3a;
  font-size: 18px;
  cursor: pointer;
}

.catalog-view-switch__button:hover,
.catalog-view-switch__button.is-active {
  border-color: #315c3a;
  background: #315c3a;
  color: #fff;
}

.catalog-sort-label,
.sort__product-count {
  color: #26372b;
  white-space: nowrap;
}

.catalog-sort-form {
  margin: 0;
}

.catalog-sort-select {
  min-width: 205px;
  height: 38px;

  border: 1px solid #315c3a !important;
  border-radius: 3px;
  background-color: #315c3a!important;
  color: #fff !important;
  font-weight: 600;
  cursor: pointer;
}

.catalog-sort-select option,
.catalog-sort-select optgroup {
  background: #fff;
  color: #26372b;
}

/* Плитка */
#catalog-grid.catalog-view-grid .catalog-product-item {
  display: flex;
}

#catalog-grid.catalog-view-grid .catalog-product-card {
  width: 100%;
}

/* Список: один товар в строку */
#catalog-grid.catalog-view-list {
  display: block;
  margin-right: 0;
  margin-left: 0;
}

#catalog-grid.catalog-view-list .catalog-product-item {
  width: 100%;
  max-width: none;
  padding: 0 !important;
  margin-bottom: 16px;
}

#catalog-grid.catalog-view-list .catalog-product-card {
  min-height: 245px;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  overflow: hidden;
}

#catalog-grid.catalog-view-list .catalog-product-card__image-link {
  display: block;
  height: 100%;
}

#catalog-grid.catalog-view-list .catalog-product-card__image {
  height: 100%;
  min-height: 245px;
}

#catalog-grid.catalog-view-list .catalog-product-card__image picture,
#catalog-grid.catalog-view-list .catalog-product-card__image img {
  width: 100%;
  height: 100%;
}

#catalog-grid.catalog-view-list .catalog-product-card__image img {
  object-fit: cover;
}

#catalog-grid.catalog-view-list .catalog-product-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 24px 26px;
}

#catalog-grid.catalog-view-list .catalog-product-card__title {
  min-height: 0 !important;
  margin: 10px 0 12px;
  font-size: 21px;
  line-height: 1.3;
}

#catalog-grid.catalog-view-list .catalog-product-card__title a {
  color: #244c2e;
  text-decoration: none;
}

#catalog-grid.catalog-view-list .catalog-product-card__title a:hover {
  text-decoration: underline;
}

.catalog-product-card__description {
  display: none;
  color: #687169;
  font-size: 15px;
  line-height: 1.55;
}

#catalog-grid.catalog-view-list .catalog-product-card__description {
  display: block;
}

.catalog-product-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
}

.catalog-product-card__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

#catalog-grid.catalog-view-list .product__price .price,
#catalog-grid.catalog-view-list .product__price .price__value {
  font-size: 22px;
}

#catalog-grid.catalog-view-list .btn-cart {
  border-color: #315c3a;
  color: #315c3a;
}

#catalog-grid.catalog-view-list .btn-cart:hover {
  background: #315c3a;
  color: #fff;
}

/* Убираем красный цвет старой панели */
.cat-page .sort-block,
.cat-page .sort-block * {
  --bs-danger: #315c3a;
  --bs-danger-rgb: 49, 92, 58;
}
.jq-selectbox__select{background-color:#315c3a;}
@media (max-width: 991px) {
  .catalog-toolbar {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .catalog-toolbar__right {
    width: 100%;
    margin-left: 0;
    flex-wrap: wrap;
  }

  #catalog-grid.catalog-view-list .catalog-product-card {
    grid-template-columns: 210px minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .catalog-toolbar__left,
  .catalog-toolbar__right {
    width: 100%;
    flex-wrap: wrap;
  }

  .catalog-sort-form {
    flex: 1 1 190px;
  }

  .catalog-sort-select {
    width: 100%;
    min-width: 0;
  }

  #catalog-grid.catalog-view-list .catalog-product-card {
    display: block;
  }

  #catalog-grid.catalog-view-list .catalog-product-card__image {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  #catalog-grid.catalog-view-list .catalog-product-card__body {
    padding: 18px;
  }
}
/* ===== Модальное окно: товар добавлен в корзину ===== */

#modal_window.modal-cart-dialog {
  width: min(760px, calc(100vw - 28px));
  max-width: 760px;
  padding: 0 !important;
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(29, 55, 34, .22);
}

#modal_window .modal-cart-success {
  padding: 30px;
  color: #263229;
  background: #fff;
}

#modal_window .modal-cart-success__header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 44px 24px 0;
  border-bottom: 1px solid #e1e8de;
}

#modal_window .modal-cart-success__icon {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e8f1e5;
  color: #315c3a;
}

#modal_window .modal-cart-success__icon svg {
  width: 30px;
  height: 30px;
  fill: currentColor;
}

#modal_window .modal__title {
  margin: 0;
  color: #203b27;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.15;
}

#modal_window .modal-cart-success__subtitle {
  margin-top: 5px;
  color: #748078;
  font-size: 14px;
  line-height: 1.5;
}

#modal_window .modal-cart-success__product {
  margin-top: 24px;
}

#modal_window .modal-cart-product {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 24px;
  padding: 18px;
  border: 1px solid #e2e8df;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(41, 67, 45, .07);
}

#modal_window .modal-cart-product__image {
  width: 190px;
  height: 190px;
  overflow: hidden;
  border-radius: 12px;
  background: #f4f7f1;
}

#modal_window .modal-cart-product__image picture,
#modal_window .modal-cart-product__image img {
  display: block;
  width: 100%;
  height: 100%;
}

#modal_window .modal-cart-product__image img {
  object-fit: contain;
}

#modal_window .modal-cart-product__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

#modal_window .modal-cart-product__title {
  margin: 0 0 14px;
  color: #27342a;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
}

#modal_window .modal-cart-product__info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
}

#modal_window .modal-cart-product__info .info-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 6px;
  border-bottom: 1px dotted #dce3d9;
  font-size: 14px;
}

#modal_window .modal-cart-product__info .info-line__name {
  color: #818a82;
}

#modal_window .modal-cart-product__info .info-line__value {
  color: #344139;
  font-weight: 600;
  text-align: right;
}

#modal_window .modal-cart-product__price-row {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  margin-top: auto;
  padding-top: 18px;
}

#modal_window .modal-cart-product__old-price {
  margin-bottom: 5px;
  color: #9b9f9a;
  font-size: 14px;
  text-decoration: line-through;
}

#modal_window .modal-cart-product__price .price-title {
  margin-bottom: 2px;
  color: #7f887f;
  font-size: 12px;
}

#modal_window .modal-cart-product__price .price {
  color: #254b2e;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.1;
}

#modal_window .modal-cart-product__price .currency,
#modal_window .modal-cart-product__price .price-unit {
  font-size: .75em;
}

#modal_window .modal-cart-success__summary {
  margin-top: 18px;
}

#modal_window .modal-cart-summary {
  padding: 18px 20px;
  border: 1px solid #d8e3d3;
  border-radius: 14px;
  background: #eef4e9;
}

#modal_window .modal-cart-summary__line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #5e695f;
  font-size: 15px;
}

#modal_window .modal-cart-summary__line + .modal-cart-summary__line {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(49, 92, 58, .16);
}

#modal_window .modal-cart-summary__line .value {
  color: #315c3a;
  font-weight: 700;
}

#modal_window .modal-cart-summary__line--total {
  color: #263b2b;
  font-size: 18px;
  font-weight: 700;
}

#modal_window .modal-cart-summary__line--total .value {
  font-size: 24px;
  font-weight: 800;
}

#modal_window .modal-cart-success__buttons {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 12px;
  margin-top: 22px;
}

#modal_window .modal-cart-button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 18px;
  border-radius: 9px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

#modal_window .modal-cart-button svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

#modal_window .modal-cart-button--secondary {
  border: 1px solid #b9c8b7;
  background: #fff;
  color: #315c3a;
}

#modal_window .modal-cart-button--secondary:hover {
  border-color: #315c3a;
  background: #f0f5ed;
  color: #294e32;
}

#modal_window .modal-cart-button--primary {
  border: 1px solid #315c3a !important;
  background: #315c3a !important;
  color: #fff !important;
}

#modal_window .modal-cart-button--primary:hover {
  border-color: #24492d !important;
  background: #24492d !important;
  color: #fff !important;
  transform: translateY(-1px);
}

#modal_window .fancybox-close-small {
  top: 13px;
  right: 13px;
  width: 40px;
  height: 40px;
  padding: 8px;
  border-radius: 50%;
  color: #315c3a;
  background: #eef4e9;
  opacity: 1;
}

#modal_window .fancybox-close-small:hover {
  background: #dfeadb;
}

@media (max-width: 640px) {
  #modal_window.modal-cart-dialog {
    width: min(100%, calc(100vw - 18px));
    border-radius: 16px;
  }

  #modal_window .modal-cart-success {
    padding: 22px 16px 18px;
  }

  #modal_window .modal-cart-success__header {
    align-items: flex-start;
    gap: 12px;
    padding-right: 38px;
    padding-bottom: 18px;
  }

  #modal_window .modal-cart-success__icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }

  #modal_window .modal-cart-success__icon svg {
    width: 24px;
    height: 24px;
  }

  #modal_window .modal__title {
    font-size: 23px;
  }

  #modal_window .modal-cart-success__subtitle {
    font-size: 13px;
  }

  #modal_window .modal-cart-product {
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 14px;
    padding: 12px;
  }

  #modal_window .modal-cart-product__image {
    width: 105px;
    height: 105px;
  }

  #modal_window .modal-cart-product__title {
    margin-bottom: 10px;
    font-size: 16px;
  }

  #modal_window .modal-cart-product__info {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  #modal_window .modal-cart-product__info .info-line {
    font-size: 12px;
  }

  #modal_window .modal-cart-product__price-row {
    padding-top: 12px;
  }

  #modal_window .modal-cart-product__price .price {
    font-size: 20px;
  }

  #modal_window .modal-cart-summary {
    padding: 15px;
  }

  #modal_window .modal-cart-summary__line {
    font-size: 14px;
  }

  #modal_window .modal-cart-summary__line--total .value {
    font-size: 20px;
  }

  #modal_window .modal-cart-success__buttons {
    grid-template-columns: 1fr;
  }

  #modal_window .modal-cart-button {
    min-height: 48px;
  }
}

@media (max-width: 420px) {
  #modal_window .modal-cart-product {
    display: block;
  }

  #modal_window .modal-cart-product__image {
    width: 100%;
    height: 210px;
    margin-bottom: 14px;
  }
}
/* ===== Модальное окно быстрого заказа ===== */

#modal_window.modal-quick-dialog {
  width: min(900px, calc(100vw - 28px));
  max-width: 900px;
  padding: 0 !important;
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(29, 55, 34, .22);
}

#modal_window .modal-quick-order {
  padding: 30px;
  color: #263229;
  background: #fff;
}

#modal_window .modal-quick-order__header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 44px 24px 0;
  border-bottom: 1px solid #e1e8de;
}

#modal_window .modal-quick-order__icon {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e8f1e5;
  color: #315c3a;
}

#modal_window .modal-quick-order__icon svg {
  width: 28px;
  height: 28px;
  fill: currentColor;
}

#modal_window .modal-quick-order__title {
  margin: 0;
  color: #203b27;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.15;
}

#modal_window .modal-quick-order__subtitle {
  margin-top: 5px;
  color: #748078;
  font-size: 14px;
  line-height: 1.5;
}

#modal_window .modal-quick-order__layout {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 24px;
  margin-top: 24px;
  align-items: start;
}

#modal_window .modal-quick-product {
  padding: 16px;
  border: 1px solid #e2e8df;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(41, 67, 45, .07);
}

#modal_window .modal-quick-product__image {
  width: 100%;
  height: 245px;
  overflow: hidden;
  border-radius: 12px;
  background: #f4f7f1;
}

#modal_window .modal-quick-product__image picture,
#modal_window .modal-quick-product__image img {
  display: block;
  width: 100%;
  height: 100%;
}

#modal_window .modal-quick-product__image img {
  object-fit: contain;
}

#modal_window .modal-quick-product__content {
  padding-top: 15px;
}

#modal_window .modal-quick-product__title {
  margin: 0 0 14px;
  color: #27342a;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
}

#modal_window .modal-quick-product__info {
  display: grid;
  gap: 7px;
}

#modal_window .modal-quick-product__info .info-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 6px;
  border-bottom: 1px dotted #dce3d9;
  font-size: 13px;
}

#modal_window .modal-quick-product__info .info-line__name {
  color: #818a82;
}

#modal_window .modal-quick-product__info .info-line__value {
  color: #344139;
  font-weight: 600;
  text-align: right;
}

#modal_window .modal-quick-product__price-row {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin-top: 16px;
}

#modal_window .modal-quick-product__old-price {
  margin-bottom: 4px;
  color: #9b9f9a;
  font-size: 13px;
  text-decoration: line-through;
}

#modal_window .modal-quick-product__price .price-title {
  margin-bottom: 2px;
  color: #7f887f;
  font-size: 12px;
}

#modal_window .modal-quick-product__price .price {
  color: #254b2e;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.1;
}

#modal_window .modal-quick-product__price .currency,
#modal_window .modal-quick-product__price .price-unit {
  font-size: .75em;
}

#modal_window .modal-quick-order__form-wrap {
  min-width: 0;
  padding: 22px;
  border: 1px solid #dce5d8;
  border-radius: 16px;
  background: #f5f8f2;
}

#modal_window .modal-quick-form__intro {
  margin-bottom: 20px;
}

#modal_window .modal-quick-form__title {
  color: #294c31;
  font-size: 20px;
  font-weight: 700;
}

#modal_window .modal-quick-form__hint {
  margin-top: 4px;
  color: #7b857d;
  font-size: 13px;
  line-height: 1.5;
}

#modal_window .modal-quick-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

#modal_window .modal-quick-form__field {
  margin: 0;
}

#modal_window .modal-quick-form__field--full {
  margin-top: 14px;
}

#modal_window .modal-quick-form .form__label {
  display: block;
  margin-bottom: 7px;
  color: #34443a;
  font-size: 13px;
  font-weight: 700;
}

#modal_window .modal-quick-form .form__input {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #ccd7c9;
  border-radius: 8px;
  background: #fff;
  color: #27342b;
  font-size: 14px;
  outline: none;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

#modal_window .modal-quick-form textarea.form__input {
  min-height: 106px;
  resize: vertical;
}

#modal_window .modal-quick-form .form__input::placeholder {
  color: #a3aaa4;
}

#modal_window .modal-quick-form .form__input:hover {
  border-color: #aebead;
}

#modal_window .modal-quick-form .form__input:focus {
  border-color: #315c3a;
  box-shadow: 0 0 0 3px rgba(49, 92, 58, .12);
}

#modal_window .modal-quick-form .form__input_error {
  border-color: #c74646 !important;
  box-shadow: 0 0 0 3px rgba(199, 70, 70, .1);
}

#modal_window .modal-quick-form__agree {
  margin: 17px 0 0;
}

#modal_window .modal-quick-form__agree .checkbox-container {
  min-height: 24px;
  padding-left: 32px;
  color: #667068;
  font-size: 12px;
  line-height: 1.5;
}

#modal_window .modal-quick-form__agree .checkbox-container__title {
  font-size: 12px;
}

#modal_window .modal-quick-form__agree a {
  color: #315c3a;
  text-decoration: underline;
}

#modal_window .modal-quick-form__agree .checkbox-container__checkmark {
  width: 22px;
  height: 22px;
  border: 1px solid #b8c7b7;
  border-radius: 5px;
  background: #fff;
}

#modal_window .modal-quick-form__agree .checkbox-container__input:checked ~ .checkbox-container__checkmark,
#modal_window .modal-quick-form__agree .checkbox-container:hover .checkbox-container__input ~ .checkbox-container__checkmark {
  background: #315c3a;
}

#modal_window .modal-quick-form__agree .checkbox-container__checkmark::after {
  left: 7px;
  top: 3px;
}

#modal_window .modal-quick-form__actions {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 12px;
  margin: 20px 0 0;
}

#modal_window .modal-quick-button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 18px;
  border-radius: 9px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

#modal_window .modal-quick-button svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

#modal_window .modal-quick-button--secondary {
  border: 1px solid #b9c8b7;
  background: #fff;
  color: #315c3a;
}

#modal_window .modal-quick-button--secondary:hover {
  border-color: #315c3a;
  background: #eef4e9;
  color: #294e32;
}

#modal_window .modal-quick-button--primary {
  border: 1px solid #315c3a !important;
  background: #315c3a !important;
  color: #fff !important;
}

#modal_window .modal-quick-button--primary:hover {
  border-color: #24492d !important;
  background: #24492d !important;
  color: #fff !important;
  transform: translateY(-1px);
}

#modal_window .fancybox-close-small {
  top: 13px;
  right: 13px;
  width: 40px;
  height: 40px;
  padding: 8px;
  border-radius: 50%;
  color: #315c3a;
  background: #eef4e9;
  opacity: 1;
}

#modal_window .fancybox-close-small:hover {
  background: #dfeadb;
}

@media (max-width: 760px) {
  #modal_window.modal-quick-dialog {
    width: min(100%, calc(100vw - 18px));
    border-radius: 16px;
  }

  #modal_window .modal-quick-order {
    padding: 22px 16px 18px;
  }

  #modal_window .modal-quick-order__header {
    align-items: flex-start;
    gap: 12px;
    padding-right: 38px;
    padding-bottom: 18px;
  }

  #modal_window .modal-quick-order__icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }

  #modal_window .modal-quick-order__icon svg {
    width: 23px;
    height: 23px;
  }

  #modal_window .modal-quick-order__title {
    font-size: 23px;
  }

  #modal_window .modal-quick-order__subtitle {
    font-size: 13px;
  }

  #modal_window .modal-quick-order__layout {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #modal_window .modal-quick-product {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 14px;
  }

  #modal_window .modal-quick-product__image {
    width: 120px;
    height: 120px;
  }

  #modal_window .modal-quick-product__content {
    padding-top: 0;
  }

  #modal_window .modal-quick-order__form-wrap {
    padding: 17px;
  }
}

@media (max-width: 520px) {
  #modal_window .modal-quick-product {
    display: block;
  }

  #modal_window .modal-quick-product__image {
    width: 100%;
    height: 210px;
    margin-bottom: 14px;
  }

  #modal_window .modal-quick-form__grid {
    grid-template-columns: 1fr;
  }

  #modal_window .modal-quick-form__actions {
    grid-template-columns: 1fr;
  }
}
.index-catalog-card__img-bg,.product-card .img-wrap svg g{-webkit-transition: opacity .2s ease-in-out;transition: opacity .2s ease-in-out;opacity: 0;}
.product-card .img-wrap svg:hover .index-catalog-card__img-bg,
.product-card .img-wrap svg:hover .product-card .img-wrap svg g{opacity: 1}
/* ===== Модальное окно обратного звонка ===== */

#modal_window.modal-callback-dialog {
  width: min(560px, calc(100vw - 28px));
  max-width: 560px;
  padding: 0 !important;
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(29, 55, 34, .22);
}

#modal_window .modal-callback {
  padding: 30px;
  color: #263229;
  background: #fff;
}

#modal_window .modal-callback__header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 44px 24px 0;
  border-bottom: 1px solid #e1e8de;
}

#modal_window .modal-callback__icon {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e8f1e5;
  color: #315c3a;
}

#modal_window .modal-callback__icon svg {
  width: 27px;
  height: 27px;
  fill: currentColor;
}

#modal_window .modal-callback__title {
  margin: 0;
  color: #203b27;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.15;
}

#modal_window .modal-callback__subtitle {
  margin-top: 5px;
  color: #748078;
  font-size: 14px;
  line-height: 1.5;
}

#modal_window .modal-callback__form {
  margin-top: 24px;
}

#modal_window .modal-callback__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

#modal_window .modal-callback__field {
  margin: 0;
}

#modal_window .modal-callback__field .form__label {
  display: block;
  margin-bottom: 7px;
  color: #34443a;
  font-size: 13px;
  font-weight: 700;
}

#modal_window .modal-callback__input-wrap {
  position: relative;
}

#modal_window .modal-callback__input-wrap > svg {
  position: absolute;
  left: 13px;
  top: 50%;
  width: 18px;
  height: 18px;
  fill: #829083;
  transform: translateY(-50%);
  pointer-events: none;
}

#modal_window .modal-callback__field .form__input {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px 12px 42px;
  border: 1px solid #ccd7c9;
  border-radius: 9px;
  background: #fff;
  color: #27342b;
  font-size: 14px;
  outline: none;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

#modal_window .modal-callback__field .form__input::placeholder {
  color: #a3aaa4;
}

#modal_window .modal-callback__field .form__input:hover {
  border-color: #aebead;
}

#modal_window .modal-callback__field .form__input:focus {
  border-color: #315c3a;
  box-shadow: 0 0 0 3px rgba(49, 92, 58, .12);
}

#modal_window .modal-callback__field .form__input_error {
  border-color: #c74646 !important;
  box-shadow: 0 0 0 3px rgba(199, 70, 70, .1);
}

#modal_window .modal-callback__agree {
  margin: 18px 0 0;
}

#modal_window .modal-callback__agree .checkbox-container {
  min-height: 24px;
  padding-left: 32px;
  color: #667068;
  font-size: 12px;
  line-height: 1.5;
}

#modal_window .modal-callback__agree .checkbox-container__title {
  font-size: 12px;
}

#modal_window .modal-callback__agree a {
  color: #315c3a;
  text-decoration: underline;
}

#modal_window .modal-callback__agree .checkbox-container__checkmark {
  width: 22px;
  height: 22px;
  border: 1px solid #b8c7b7;
  border-radius: 5px;
  background: #fff;
}

#modal_window .modal-callback__agree .checkbox-container__input:checked ~ .checkbox-container__checkmark,
#modal_window .modal-callback__agree .checkbox-container:hover .checkbox-container__input ~ .checkbox-container__checkmark {
  background: #315c3a;
}

#modal_window .modal-callback__agree .checkbox-container__checkmark::after {
  left: 7px;
  top: 3px;
}

#modal_window .modal-callback__actions {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 12px;
  margin: 22px 0 0;
}

#modal_window .modal-callback__button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 18px;
  border-radius: 9px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

#modal_window .modal-callback__button svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

#modal_window .modal-callback__button--secondary {
  border: 1px solid #b9c8b7;
  background: #fff;
  color: #315c3a;
}

#modal_window .modal-callback__button--secondary:hover {
  border-color: #315c3a;
  background: #eef4e9;
  color: #294e32;
}

#modal_window .modal-callback__button--primary {
  border: 1px solid #315c3a !important;
  background: #315c3a !important;
  color: #fff !important;
}

#modal_window .modal-callback__button--primary:hover {
  border-color: #24492d !important;
  background: #24492d !important;
  color: #fff !important;
  transform: translateY(-1px);
}

#modal_window .fancybox-close-small {
  top: 13px;
  right: 13px;
  width: 40px;
  height: 40px;
  padding: 8px;
  border-radius: 50%;
  color: #315c3a;
  background: #eef4e9;
  opacity: 1;
}

#modal_window .fancybox-close-small:hover {
  background: #dfeadb;
}

@media (max-width: 600px) {
  #modal_window.modal-callback-dialog {
    width: min(100%, calc(100vw - 18px));
    border-radius: 16px;
  }

  #modal_window .modal-callback {
    padding: 22px 16px 18px;
  }

  #modal_window .modal-callback__header {
    align-items: flex-start;
    gap: 12px;
    padding-right: 38px;
    padding-bottom: 18px;
  }

  #modal_window .modal-callback__icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }

  #modal_window .modal-callback__icon svg {
    width: 23px;
    height: 23px;
  }

  #modal_window .modal-callback__title {
    font-size: 23px;
  }

  #modal_window .modal-callback__subtitle {
    font-size: 13px;
  }

  #modal_window .modal-callback__fields {
    grid-template-columns: 1fr;
  }

  #modal_window .modal-callback__actions {
    grid-template-columns: 1fr;
  }
}
/* ===== Страница корзины ===== */

.cart-page {
  padding: 32px 0 90px;
  background: #fff;
  color: #263229;
}

.cart-page__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 30px;
}

.cart-page__eyebrow {
  color: #72816f;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cart-page__title,
.cart-page__order-title {
  margin: 5px 0 0;
  color: #203b27;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  line-height: 1.1;
}

.cart-page__title {
  font-size: clamp(38px, 5vw, 58px);
}

.cart-page__continue {
  color: #315c3a;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.cart-page__continue:hover {
  color: #24492d;
  text-decoration: underline;
}

.cart-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 28px;
  align-items: start;
}

.cart-page__products {
  display: grid;
  gap: 16px;
}

.cart-product {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 22px;
  padding: 18px;
  border: 1px solid #e0e7dd;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(41, 67, 45, .06);
}

.cart-product__image {
  display: block;
  width: 180px;
  height: 180px;
  overflow: hidden;
  border-radius: 12px;
  background: #f4f7f1;
}

.cart-product__image picture,
.cart-product__image img {
  display: block;
  width: 100%;
  height: 100%;
}

.cart-product__image img {
  object-fit: contain;
}

.cart-product__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.cart-product__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.cart-product__title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
}

.cart-product__title a {
  color: #29362d;
  text-decoration: none;
}

.cart-product__title a:hover {
  color: #315c3a;
  text-decoration: underline;
}

.cart-product__meta {
  margin-top: 8px;
  color: #7c867e;
  font-size: 13px;
}

.cart-product__meta strong {
  color: #48544b;
}

.cart-product__remove {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #dfe5dc;
  border-radius: 50%;
  background: #fff;
  color: #879188;
  cursor: pointer;
  transition: .2s;
}

.cart-product__remove svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.cart-product__remove:hover {
  border-color: #b95050;
  background: #fff5f5;
  color: #b95050;
}

.cart-product__bottom {
  display: grid;
  grid-template-columns: minmax(130px, .9fr) minmax(150px, 1fr) minmax(130px, .9fr);
  gap: 24px;
  align-items: end;
  margin-top: auto;
  padding-top: 24px;
}

.cart-product__label {
  margin-bottom: 7px;
  color: #8a938b;
  font-size: 12px;
  font-weight: 600;
}

.cart-product__old-price {
  color: #9a9f9a;
  font-size: 13px;
  text-decoration: line-through;
}

.cart-product__price,
.cart-product__sum {
  color: #294d32;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.15;
}

.cart-product__sum-block {
  text-align: right;
}

.cart-product__quantity .quantity {
  width: 126px;
  height: 42px;
  display: grid;
  grid-template-columns: 38px 1fr 38px;
  border: 1px solid #cbd6c8;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.cart-product__quantity .quantity__button {
  width: auto;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: #f1f5ee;
  color: #315c3a;
  cursor: pointer;
}

.cart-product__quantity .quantity__button:hover {
  background: #315c3a;
  color: #fff;
}

.cart-product__quantity label {
  margin: 0;
}

.cart-product__quantity .quantity__input {
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  outline: none;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
}

.cart-page__sidebar {
  position: sticky;
  top: 24px;
}

.cart-page__summary {
  padding: 24px;
  border: 1px solid #d8e3d3;
  border-radius: 16px;
  background: #eef4e9;
}

.cart-page__summary-title {
  margin-bottom: 20px;
  color: #24492d;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 27px;
  font-weight: 700;
}

.cart-page__summary-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  color: #687269;
  font-size: 14px;
}

.cart-page__summary-row span:last-child {
  color: #35433a;
  font-weight: 700;
}

.cart-page__summary-sale {
  color: #8a5a32 !important;
}

.cart-page__summary-total {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  margin-top: 12px;
  padding-top: 18px;
  border-top: 1px solid rgba(49, 92, 58, .18);
  color: #263b2b;
  font-size: 19px;
  font-weight: 700;
}

.cart-page__summary-total span:last-child {
  color: #315c3a;
  font-size: 25px;
  font-weight: 800;
}

.cart-page__checkout-link {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  padding: 12px 18px;
  border: 1px solid #315c3a;
  border-radius: 9px;
  background: #315c3a;
  color: #fff !important;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  transition: .2s;
}

.cart-page__checkout-link:hover {
  border-color: #24492d;
  background: #24492d;
  transform: translateY(-1px);
}

.cart-page__summary-note {
  margin-top: 15px;
  color: #788179;
  font-size: 12px;
  line-height: 1.5;
}

.cart-page__order {
  margin-top: 48px;
  padding: 32px;
  border: 1px solid #dfe7dc;
  border-radius: 18px;
  background: #f6f8f3;
}

.cart-page__order-head {
  max-width: 680px;
  margin-bottom: 24px;
}

.cart-page__order-title {
  font-size: clamp(31px, 4vw, 44px);
}

.cart-page__order-head p {
  margin: 10px 0 0;
  color: #748078;
  font-size: 14px;
  line-height: 1.6;
}

.cart-order-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.cart-order-form__field {
  min-width: 0;
}

.cart-order-form__field--comment {
  grid-row: span 2;
}

.cart-order-form .form__label {
  display: block;
  margin-bottom: 7px;
  color: #34443a;
  font-size: 13px;
  font-weight: 700;
}

.cart-order-form .form__input {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #cbd6c8;
  border-radius: 9px;
  background: #fff;
  color: #27342b;
  outline: none;
  box-shadow: none;
  transition: .2s;
}

.cart-order-form textarea.form__input {
  min-height: 128px;
  resize: vertical;
}

.cart-order-form .form__input::placeholder {
  color: #a2aaa3;
}

.cart-order-form .form__input:focus {
  border-color: #315c3a;
  box-shadow: 0 0 0 3px rgba(49, 92, 58, .11);
}

.cart-order-form .form__input_error {
  border-color: #c74646 !important;
  box-shadow: 0 0 0 3px rgba(199, 70, 70, .1);
}

.cart-order-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 22px;
}

.cart-order-form__agree {
  max-width: 660px;
  min-height: 24px;
  margin: 0;
  padding-left: 32px;
  color: #667068;
  font-size: 12px;
  line-height: 1.5;
}

.cart-order-form__agree .checkbox-container__title {
  font-size: 12px;
}

.cart-order-form__agree a {
  color: #315c3a;
}

.cart-order-form__agree .checkbox-container__checkmark {
  width: 22px;
  height: 22px;
  border: 1px solid #b8c7b7;
  border-radius: 5px;
  background: #fff;
}

.cart-order-form__agree .checkbox-container__input:checked ~ .checkbox-container__checkmark,
.cart-order-form__agree:hover .checkbox-container__input ~ .checkbox-container__checkmark {
  background: #315c3a;
}

.cart-order-form__agree .checkbox-container__checkmark::after {
  left: 7px;
  top: 3px;
}

.cart-order-form__submit {
  flex: 0 0 auto;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 24px;
  border: 1px solid #315c3a !important;
  border-radius: 9px;
  background: #315c3a !important;
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
}

.cart-order-form__submit svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.cart-order-form__submit:hover {
  border-color: #24492d !important;
  background: #24492d !important;
}

.cart-page__empty {
  max-width: 620px;
  margin: 50px auto;
  padding: 48px 30px;
  border: 1px solid #dfe7dc;
  border-radius: 18px;
  background: #f6f8f3;
  text-align: center;
}

.cart-page__empty-icon {
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: #e4eee0;
  color: #315c3a;
  font-size: 31px;
}

.cart-page__empty h1 {
  color: #203b27;
  font-family: "Playfair Display", Georgia, serif;
}

.cart-page__empty p {
  color: #748078;
}

@media (max-width: 991px) {
  .cart-page__layout {
    grid-template-columns: 1fr;
  }

  .cart-page__sidebar {
    position: static;
  }

  .cart-page__summary {
    max-width: none;
  }
}

@media (max-width: 720px) {
  .cart-page {
    padding-top: 20px;
  }

  .cart-page__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .cart-product {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 14px;
    padding: 13px;
  }

  .cart-product__image {
    width: 120px;
    height: 120px;
  }

  .cart-product__title {
    font-size: 16px;
  }

  .cart-product__bottom {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding-top: 15px;
  }

  .cart-product__price,
  .cart-product__sum {
    font-size: 18px;
  }

  .cart-product__quantity .quantity {
    width: 112px;
  }

  .cart-page__order {
    padding: 22px 16px;
  }

  .cart-order-form__grid {
    grid-template-columns: 1fr;
  }

  .cart-order-form__field--comment {
    grid-row: auto;
  }

  .cart-order-form__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .cart-order-form__submit {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .cart-product {
    display: block;
  }

  .cart-product__image {
    width: 100%;
    height: 230px;
    margin-bottom: 14px;
  }

  .cart-product__bottom {
    grid-template-columns: 1fr 1fr;
  }

  .cart-product__sum-block {
    grid-column: 1 / -1;
    text-align: left;
  }
}
.contacts__map {
  width: 100%;
  height: 350px;
  margin-bottom: 40px;
  border: 2px solid #68af78;
  border-radius: 20px;
  overflow: hidden;
}
.contacts__data {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.contacts__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.contacts__group h2 {
  margin-bottom: 10px;
}
.contacts__social {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 10px;
}
.contacts__social ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.contacts__social ul li {
  margin-right: 10px;
}
.contacts__group a {
  color: #222;
}
.reset-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.reset-link {
  display: inline-block;
  text-decoration: none;
}
