:root {
  --craft-container: 1240px;
  --craft-page-x: clamp(14px, 2.2vw, 32px);
  --craft-ink: #1f211d;
  --craft-muted: #6f746f;
  --craft-line: #e4e5e1;
  --craft-soft: #f4f5f3;
  --craft-blue: #2e3448;
  --craft-green: #6fb15f;
}

html {
  overflow-x: hidden;
}

body {
  color: var(--craft-ink);
  background: #fff;
  text-rendering: geometricPrecision;
}

body,
button,
input,
textarea,
select {
  letter-spacing: 0;
}

body:not(.home) #content.site-content > .site-content-inner,
.home-page,
.cooperation-page,
.materials-page,
.bono-thankyou,
.woocommerce-checkout .bono-checkout-page,
.craft-catalog,
.craft-product-shell {
  box-sizing: border-box;
}

.home-page,
.cooperation-page,
.materials-page,
.bono-thankyou,
.woocommerce-checkout .bono-checkout-page {
  width: min(100% - (var(--craft-page-x) * 2), var(--craft-container));
  max-width: var(--craft-container);
  margin-right: auto;
  margin-left: auto;
  padding-right: 0;
  padding-left: 0;
}

a {
  transition: color .18s ease, border-color .18s ease, opacity .18s ease;
}

button,
.button,
input[type="submit"],
.home-hero__btn,
.home-catalog__btn,
.home-projects__btn,
.home-news__btn,
.craft-section-button,
.cooperation-hero__btn,
.bono-cooperation-form__submit,
.woocommerce-checkout #payment .place-order .button,
.bono-thankyou__pay-btn,
.bono-thankyou__social a {
  border-radius: 0 !important;
  min-height: 44px;
  letter-spacing: 0;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid rgba(46, 52, 72, .42);
  outline-offset: 2px;
}

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

.header,
.site-header,
.header-container,
.header-inner {
  box-sizing: border-box;
}

.site-header img,
.header img,
.site-logotype img,
.custom-logo-link img {
  max-height: 72px;
  object-fit: contain;
}

.main-navigation a,
.site-header a,
.header a {
  letter-spacing: 0;
}

.craft-footer,
.site-footer {
  margin-top: 48px;
  border-top: 1px solid var(--craft-line);
  background: #f6f7f6;
}

.craft-footer__inner,
.site-footer .footer-inner,
.site-footer .container {
  width: min(100% - (var(--craft-page-x) * 2), var(--craft-container));
  max-width: var(--craft-container);
  margin-right: auto;
  margin-left: auto;
}

.craft-footer__inner {
  display: grid;
  grid-template-columns: minmax(180px, 1.35fr) repeat(3, minmax(130px, 1fr));
  gap: 34px;
  padding: 54px 0 34px;
}

.craft-footer__brand img {
  max-width: 190px;
  height: auto;
}

.craft-footer__col h3 {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
}

.craft-footer__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.craft-footer__list a,
.craft-footer__bottom a {
  color: #4c514b;
  text-decoration: none;
}

.craft-footer__list a:hover,
.craft-footer__bottom a:hover {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.craft-footer__bottom {
  width: min(100% - (var(--craft-page-x) * 2), var(--craft-container));
  max-width: var(--craft-container);
  margin: 0 auto;
  padding: 0 0 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  color: #8a8d86;
  font-size: 13px;
}

.shop-item,
.craft-product-card,
.craft-recommendation-card,
.product-category,
.home-catalog__card,
.home-projects__card,
.home-news__card {
  transform: translateZ(0);
}

.craft-product-card__image,
.craft-recommendation-card__media,
.home-catalog__img,
.home-projects__image,
.home-news__image,
.home-collections__big-image,
.home-collections__small-image {
  background: var(--craft-soft);
}

.craft-product-card__image img,
.craft-recommendation-card__media img,
.home-catalog__pic,
.home-projects__pic,
.home-news__pic,
.home-collections__pic {
  backface-visibility: hidden;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border: 1px solid var(--craft-line);
  background: #fbfbfa;
  color: var(--craft-ink);
  box-shadow: none;
}

/* Cart, favourites and generic WooCommerce archive surfaces. */
.woocommerce-cart #content.site-content > .site-content-inner,
.woocommerce-wishlist #content.site-content > .site-content-inner,
body[class*="favorite"] #content.site-content > .site-content-inner {
  width: min(100% - (var(--craft-page-x) * 2), var(--craft-container));
  max-width: var(--craft-container);
  margin-right: auto;
  margin-left: auto;
}

.woocommerce-cart .entry-title,
.woocommerce-wishlist .entry-title,
body[class*="favorite"] .entry-title {
  margin: 18px 0 28px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 2.3vw, 38px);
  line-height: 1.15;
  text-align: center;
}

.woocommerce-cart table.shop_table {
  border: 0;
  border-collapse: collapse;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
  border-right: 0;
  border-left: 0;
  border-color: var(--craft-line);
  padding: 16px 12px;
}

.woocommerce-cart table.shop_table th {
  color: #8e938c;
  font-size: 13px;
  font-weight: 500;
}

.woocommerce-cart table.cart img {
  width: 96px;
  height: 96px;
  object-fit: cover;
}

.woocommerce-cart table.cart .product-name a {
  color: var(--craft-ink);
  font-weight: 700;
  text-decoration: none;
}

.woocommerce-cart .cart_totals {
  padding: 24px;
  border: 1px solid #cfd4d0;
  background: #f5f5f4;
}

.woocommerce-cart .cart_totals h2 {
  margin-top: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  min-height: 54px;
  background: #436f98;
  border-color: #436f98;
  font-size: 16px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: #355f86;
  border-color: #355f86;
}

.woocommerce-cart .coupon .input-text {
  min-height: 44px;
  min-width: 220px;
  border: 1px solid var(--craft-line);
  padding: 0 12px;
}

body[class*="favorite"] ul.products,
body[class*="wishlist"] ul.products,
.favorites ul.products,
.wishlist ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px 24px;
  margin: 0;
  padding: 0;
}

body[class*="favorite"] ul.products::before,
body[class*="favorite"] ul.products::after,
body[class*="wishlist"] ul.products::before,
body[class*="wishlist"] ul.products::after {
  display: none !important;
}

body[class*="favorite"] ul.products li.product,
body[class*="wishlist"] ul.products li.product,
.favorites ul.products li.product,
.wishlist ul.products li.product {
  width: auto !important;
  margin: 0 !important;
}

body[class*="favorite"] ul.products li.product a img,
body[class*="wishlist"] ul.products li.product a img,
.favorites ul.products li.product a img,
.wishlist ul.products li.product a img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  margin: 0 0 10px;
  background: var(--craft-soft);
}

body[class*="favorite"] ul.products li.product .woocommerce-loop-product__title,
body[class*="wishlist"] ul.products li.product .woocommerce-loop-product__title {
  color: #233043;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
input[type="text"],
input[type="tel"],
input[type="email"],
textarea,
select {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
  border-color: var(--craft-ink) !important;
  box-shadow: 0 0 0 3px rgba(31, 33, 29, .07) !important;
}

.bono-modal-open {
  overflow: hidden;
}

.bono-callback-trigger {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
}

.bono-callback-trigger__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
}

.super-header__item.bono-callback-trigger {
  min-height: 44px;
}

.bono-callback-popup,
.bono-form-success {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: none;
  padding: 18px;
}

.bono-callback-popup.is-open,
.bono-form-success.is-open {
  display: grid;
  place-items: center;
}

.bono-callback-popup__backdrop,
.bono-form-success__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 20, 18, .46);
  backdrop-filter: blur(2px);
}

.bono-callback-popup__dialog,
.bono-form-success__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 480px);
  background: #fff;
  color: var(--craft-ink);
  box-shadow: 0 26px 72px rgba(17, 20, 18, .24);
}

.bono-callback-popup__dialog {
  padding: 28px;
}

.bono-form-success__dialog {
  display: grid;
  justify-items: center;
  gap: 16px;
  padding: 34px 30px 32px;
  text-align: center;
}

.bono-callback-popup__close,
.bono-form-success__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 32px;
  height: 32px;
  min-height: 0 !important;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(31, 33, 29, .48);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.bono-callback-popup__close:hover,
.bono-callback-popup__close:focus-visible,
.bono-form-success__close:hover,
.bono-form-success__close:focus-visible {
  color: var(--craft-ink);
}

.bono-callback-popup__title,
.bono-form-success h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

.bono-callback-popup__title {
  padding-right: 36px;
  font-size: 30px;
  line-height: 1.15;
}

.bono-callback-popup__desc {
  margin: 8px 0 18px;
  color: var(--craft-muted);
  line-height: 1.45;
}

.bono-callback-popup__form {
  display: grid;
  gap: 12px;
}

.bono-callback-popup__label {
  display: grid;
  gap: 5px;
  margin: 0;
}

.bono-callback-popup__label span {
  color: #596273;
  font-size: 13px;
}

.bono-callback-popup__label input {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d5dae2;
  padding: 8px 11px;
}

.bono-callback-popup__consent {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 9px;
  align-items: start;
  margin: 2px 0 0;
  color: #596273;
  font-size: 13px;
  line-height: 1.4;
}

.bono-callback-popup__consent input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--craft-blue);
}

.bono-callback-popup__consent a {
  color: #374151;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.bono-callback-popup__submit {
  min-height: 46px;
  border: 1px solid var(--craft-blue);
  background: var(--craft-blue);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.bono-callback-popup__notice {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid transparent;
  font-size: 14px;
}

.bono-callback-popup__notice.is-error {
  border-color: #f2c6c6;
  background: #fff0f0;
  color: #7b2222;
}

.bono-form-success__icon {
  display: grid;
  place-items: center;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: var(--craft-soft);
}

.bono-form-success__icon svg {
  width: 52px;
  height: 52px;
}

.bono-form-success__icon polygon {
  fill: rgba(111, 177, 95, .24);
}

.bono-form-success__icon path {
  fill: var(--craft-green);
}

.bono-form-success h2 {
  max-width: 360px;
  color: var(--craft-ink);
  font-size: 25px;
  line-height: 1.25;
}

.home-about__feature-icon--inline {
  display: grid;
  place-items: center;
  color: #87906a;
}

.home-about__feature-svg {
  width: 38px;
  height: 38px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.home-about__feature-svg--fill {
  fill: currentColor;
  stroke: none;
}

.bono-floating-contact {
  position: fixed;
  right: 10px;
  bottom: 150px;
  z-index: 100000;
  display: grid;
  justify-items: end;
  gap: 10px;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 14px, 0);
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
}

.bono-floating-contact.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}

.bono-floating-contact__messengers {
  display: grid;
  gap: 8px;
  justify-items: end;
  opacity: 0;
  transform: translate3d(0, 8px, 0);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.bono-floating-contact.is-open .bono-floating-contact__messengers {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}

.bono-floating-contact__messenger {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(17, 20, 18, .18);
  transition: transform .18s ease, box-shadow .18s ease;
}

.bono-floating-contact__messenger:hover,
.bono-floating-contact__messenger:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(17, 20, 18, .22);
}

.bono-floating-contact__messenger svg {
  width: 38px;
  height: 38px;
  display: block;
}

.scrolltop.js-scrolltop {
  right: 15px !important;
  bottom: 60px !important;
  width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
}

.bono-floating-contact__toggle {
  border: 1px solid rgba(46, 52, 72, .14);
  background: #fff;
  color: var(--craft-ink);
  box-shadow: 0 14px 34px rgba(17, 20, 18, .18);
  cursor: pointer;
}

.bono-floating-contact__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 0 17px;
  font-size: 14px;
  font-weight: 700;
}

.bono-floating-contact__toggle svg {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.bono-floating-contact__toggle:hover,
.bono-floating-contact__toggle:focus-visible {
  background: var(--craft-blue);
  color: #fff;
  border-color: var(--craft-blue);
}

@media (max-width: 1024px) {
  .craft-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 40px;
  }

  body[class*="favorite"] ul.products,
  body[class*="wishlist"] ul.products,
  .favorites ul.products,
  .wishlist ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  :root {
    --craft-page-x: 12px;
  }

  .craft-footer,
  .site-footer {
    margin-top: 34px;
  }

  .craft-footer__inner {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 32px 0 24px;
  }

  .craft-footer__brand img {
    max-width: 150px;
  }

  .craft-footer__bottom {
    display: grid;
    gap: 9px;
    padding-bottom: 24px;
  }

  .bono-floating-contact {
    right: 10px;
    bottom: 150px;
    gap: 8px;
  }

  .bono-floating-contact__toggle {
    min-height: 44px;
    padding: 0 14px;
    font-size: 13px;
  }

  .bono-floating-contact__messenger {
    width: 52px;
    height: 52px;
  }

  .bono-floating-contact__messenger svg {
    width: 34px;
    height: 34px;
  }

  .scrolltop.js-scrolltop {
    right: 15px !important;
    bottom: 60px !important;
    width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
  }

  .woocommerce-cart table.shop_table_responsive tr,
  .woocommerce-cart table.shop_table_responsive tbody tr {
    border-bottom: 1px solid var(--craft-line);
  }

  .woocommerce-cart table.shop_table_responsive tr td,
  .woocommerce-cart table.shop_table_responsive tbody tr td {
    padding: 12px 0;
  }

  .woocommerce-cart table.cart img {
    width: 78px;
    height: 78px;
  }

  .woocommerce-cart .coupon .input-text,
  .woocommerce-cart .coupon .button {
    width: 100%;
    margin: 0 0 10px;
  }

  body[class*="favorite"] ul.products,
  body[class*="wishlist"] ul.products,
  .favorites ul.products,
  .wishlist ul.products {
    grid-template-columns: 1fr;
  }
}


/* Header icon overrides. */
.site-header {
  --craft-header-icon: #2e3448;
}

.header-cart__link-ico,
.header-favorite::before,
.header-search-ico::before,
.header-search .search-submit::before {
  content: "" !important;
  display: block !important;
  width: 24px;
  height: 24px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px 24px;
}

.header-cart__link-ico {
  background-image: url("data:image/svg+xml,%3Csvg width='800px' height='800px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 10L15 4M21 10H3M21 10L19.6431 16.7845C19.2692 18.6542 17.6275 20 15.7208 20H8.27922C6.37249 20 4.73083 18.6542 4.35689 16.7845L3 10M3 10L9 4' stroke='%232e3448' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.header-cart__link-ico::before,
.header-cart__link-ico::after {
  content: none !important;
  display: none !important;
}

.header-favorite::before {
  background-image: url("data:image/svg+xml,%3Csvg width='800px' height='800px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.96173 18.9109L9.42605 18.3219L8.96173 18.9109ZM12 5.50063L11.4596 6.02073C11.601 6.16763 11.7961 6.25063 12 6.25063C12.2039 6.25063 12.399 6.16763 12.5404 6.02073L12 5.50063ZM15.0383 18.9109L15.5026 19.4999L15.0383 18.9109ZM9.42605 18.3219C7.91039 17.1271 6.25307 15.9603 4.93829 14.4798C3.64922 13.0282 2.75 11.3345 2.75 9.1371H1.25C1.25 11.8026 2.3605 13.8361 3.81672 15.4758C5.24723 17.0866 7.07077 18.3752 8.49742 19.4999L9.42605 18.3219ZM2.75 9.1371C2.75 6.98623 3.96537 5.18252 5.62436 4.42419C7.23607 3.68748 9.40166 3.88258 11.4596 6.02073L12.5404 4.98053C10.0985 2.44352 7.26409 2.02539 5.00076 3.05996C2.78471 4.07292 1.25 6.42503 1.25 9.1371H2.75ZM8.49742 19.4999C9.00965 19.9037 9.55954 20.3343 10.1168 20.6599C10.6739 20.9854 11.3096 21.25 12 21.25V19.75C11.6904 19.75 11.3261 19.6293 10.8736 19.3648C10.4213 19.1005 9.95208 18.7366 9.42605 18.3219L8.49742 19.4999ZM15.5026 19.4999C16.9292 18.3752 18.7528 17.0866 20.1833 15.4758C21.6395 13.8361 22.75 11.8026 22.75 9.1371H21.25C21.25 11.3345 20.3508 13.0282 19.0617 14.4798C17.7469 15.9603 16.0896 17.1271 14.574 18.3219L15.5026 19.4999ZM22.75 9.1371C22.75 6.42503 21.2153 4.07292 18.9992 3.05996C16.7359 2.02539 13.9015 2.44352 11.4596 4.98053L12.5404 6.02073C14.5983 3.88258 16.7639 3.68748 18.3756 4.42419C20.0346 5.18252 21.25 6.98623 21.25 9.1371H22.75ZM14.574 18.3219C14.0479 18.7366 13.5787 19.1005 13.1264 19.3648C12.6739 19.6293 12.3096 19.75 12 19.75V21.25C12.6904 21.25 13.3261 20.9854 13.8832 20.6599C14.4405 20.3343 14.9903 19.9037 15.5026 19.4999L14.574 18.3219Z' fill='%232e3448'/%3E%3C/svg%3E") !important;
}

.header-search-ico::before,
.header-search .search-submit::before {
  background-image: url("data:image/svg+xml,%3Csvg fill='%232e3448' width='800px' height='800px' viewBox='0 0 32 32' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M31.707 30.282l-9.717-9.776c1.811-2.169 2.902-4.96 2.902-8.007 0-6.904-5.596-12.5-12.5-12.5s-12.5 5.596-12.5 12.5 5.596 12.5 12.5 12.5c3.136 0 6.002-1.158 8.197-3.067l9.703 9.764c0.39 0.39 1.024 0.39 1.415 0s0.39-1.023 0-1.415zM12.393 23.016c-5.808 0-10.517-4.709-10.517-10.517s4.708-10.517 10.517-10.517c5.808 0 10.516 4.708 10.516 10.517s-4.709 10.517-10.517 10.517z'/%3E%3C/svg%3E") !important;
}

.header-search-ico::after,
.header-search .search-submit::after {
  content: none !important;
  display: none !important;
}

.header-phone::before,
.header-phone::after,
.header-phone__item::before,
.header-phone__item::after,
.header-phone a::before,
.header-phone a::after {
  content: none !important;
  display: none !important;
}

.bono-callback-trigger {
  color: var(--craft-header-icon, #2e3448);
}

.bono-callback-trigger__icon {
  color: var(--craft-header-icon, #2e3448);
  fill: none;
  stroke: currentColor;
}

.bono-header-messengers__link svg {
  color: var(--craft-header-icon, #2e3448);
  fill: currentColor;
}

.bono-header-messengers {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 10px;
  vertical-align: middle;
}

.bono-header-messengers__link {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: var(--craft-header-icon, #2e3448);
  text-decoration: none;
}

.bono-header-messengers__link svg {
  width: 20px;
  height: 20px;
  display: block;
}

.bono-header-messengers__link:hover,
.bono-header-messengers__link:focus-visible {
  color: #1f211d;
}
