/*NOTE: This file is intended for programmers. Aspro technical support is not advised to work with him.*/

/* Examples (uncomment to use):*/

/* Expand site width */
/* body .wrapper { max-width: 1400px !important;  } */

/* Set site background image */
/* body {  background: url(image_source) top no-repeat; }

/* Hide compare button */
/* a.compare_item { display: none !important;  }*/

/* Hide callback button in header dropdown and mobile */
.phones__callback,
.mobilephones__menu-item--callback,
.mobilemenu__menu-item--callback { display: none !important; }

@font-face {
  font-family: "Roboto Condensed";
  src: url("/bitrix/templates/aspro-lite/css/fonts/Roboto_Condensed/static/RobotoCondensed-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "Roboto Condensed";
  src: url("/bitrix/templates/aspro-lite/css/fonts/Roboto_Condensed/static/RobotoCondensed-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "Roboto Condensed";
  src: url("/bitrix/templates/aspro-lite/css/fonts/Roboto_Condensed/static/RobotoCondensed-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "Roboto Condensed";
  src: url("/bitrix/templates/aspro-lite/css/fonts/Roboto_Condensed/static/RobotoCondensed-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: block;
}

html {
  --theme-font-family: "Roboto Condensed";
  --theme-font-title-family: "Roboto Condensed";
}

body,
body *:not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not([class*="icon"]):not([class*="ruble"]) {
  font-family: "Roboto Condensed", Arial, sans-serif !important;
}

body {
  font-weight: 400;
}

body :where(*:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.h1):not(.h2):not(.h3):not(.h4):not(.h5):not(.h6)) {
  font-weight: 300;
}

body p {
  font-weight: 300;
}

.page-text-light,
.page-text-light :where(*:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.h1):not(.h2):not(.h3):not(.h4):not(.h5):not(.h6):not(b):not(strong)) {
  font-weight: 300 !important;
}

body b,
body strong {
  font-weight: 700;
}

.footer__main-part-menu .bottom-menu > .items > .item-link .title,
.footer__main-part-menu .bottom-menu > .items > .item-link .title a,
.footer__main-part-menu .bottom-menu > .items > .item-link .font_short,
.footer__main-part-menu .bottom-menu > .items > .item-link .font_short a,
.footer__main-part-menu .bottom-menu > .items > .item-link .font_short span {
  font-weight: 600;
}

.footer__developer,
[data-ajax-load-block="FOOTER_TOGGLE_DEVELOPER"] {
  opacity: 0 !important;
}

.catalog-product-name {
  font-weight: 600;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .h1,
body .h2,
body .h3,
body .h4,
body .h5,
body .h6,
body h1 *,
body h2 *,
body h3 *,
body h4 *,
body h5 *,
body h6 *,
body .h1 *,
body .h2 *,
body .h3 *,
body .h4 *,
body .h5 *,
body .h6 * {
  font-weight: 600;
}

/* Карточка товара — крупнее текст для возрастной аудитории */
.catalog-detail {
  --detail-text-size: 17px;
  --detail-text-line: 1.55;
  --detail-title-size: clamp(1.5rem, 2.5vw, 2rem);
}

.catalog-detail .properties__item,
.catalog-detail .char_name,
.catalog-detail .char_value,
.catalog-detail .catalog-detail__previewtext,
.catalog-detail .catalog-detail__previewtext .text-block,
.catalog-detail .price_txt,
.catalog-detail .catalog-detail__forms,
.catalog-detail .catalog-detail__pseudo-link {
  font-size: var(--detail-text-size);
  line-height: var(--detail-text-line);
}

.catalog-detail h1.switcher-title {
  font-size: var(--detail-title-size);
}

.catalog-detail .catalog-detail__buy-block .btn-lg {
  --button-font-size: 1.125rem;
  --button-height: 52px;
}

/* Попап «Соберите набор» */
.complex-bundle-popup__overlay {
  position: fixed;
  z-index: 3100;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
}

.complex-bundle-popup__dialog {
  position: fixed;
  z-index: 3101;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(760px, calc(100vw - 24px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
  padding: 22px;
  font-size: 17px;
  line-height: 1.45;
}

.complex-bundle-popup__close {
  position: absolute;
  right: 14px;
  top: 10px;
  border: 0;
  background: transparent;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  color: #777;
}

.complex-bundle-popup__head {
  padding-right: 28px;
}

.complex-bundle-popup__title {
  margin-bottom: 8px;
  font-size: 24px;
  font-weight: 600;
  color: #222;
}

.complex-bundle-popup__hint {
  margin-bottom: 14px;
  font-size: 16px;
  color: #555;
}

.complex-bundle-popup__set-qty {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-bottom: 14px;
}

.complex-bundle-popup__set-qty-label {
  font-weight: 600;
  color: #333;
}

.complex-bundle-popup__set-limit {
  color: #777;
  font-size: 15px;
}

.complex-bundle-popup__counter {
  margin-bottom: 14px;
  font-size: 18px;
  color: #666;
}

.complex-bundle-popup__counter .js-complex-count {
  font-weight: 600;
  color: #333;
}

.complex-bundle-popup__items {
  display: grid;
  gap: 10px;
}

.complex-bundle-popup__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid #eee;
  border-radius: 8px;
}

.complex-bundle-popup__item-image {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
}

.complex-bundle-popup__item-image img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border-radius: 6px;
}

.complex-bundle-popup__item-info {
  flex: 1;
  min-width: 0;
}

.complex-bundle-popup__item-name {
  display: block;
  text-decoration: none;
  font-size: 17px;
  line-height: 1.35;
}

.complex-bundle-popup__item-price {
  margin-top: 3px;
  font-size: 15px;
}

.complex-bundle-popup__item--unavailable {
  opacity: 0.55;
}

.complex-bundle-popup__item-stock {
  margin-top: 3px;
  font-size: 14px;
  color: #c62828;
}

.complex-bundle-popup__qty-wrap {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  user-select: none;
}

.complex-bundle-popup__qty-btn {
  width: 36px;
  height: 36px;
  border: 1px solid #ddd;
  background: #fafafa;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
}

.complex-bundle-popup__qty-btn:first-child {
  border-radius: 6px 0 0 6px;
}

.complex-bundle-popup__qty-btn:last-child {
  border-radius: 0 6px 6px 0;
}

.complex-bundle-popup__qty-btn:disabled {
  opacity: 0.45;
  cursor: default;
}

.complex-bundle-popup__qty-input {
  width: 44px;
  height: 36px;
  text-align: center;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: none;
  border-right: none;
  font-size: 17px;
  font-weight: 600;
  color: #333;
  background: #fff;
  margin: 0;
  padding: 0;
  cursor: text;
}

.complex-bundle-popup__qty-input[readonly] {
  cursor: default;
  color: #999;
}

.complex-bundle-popup__message {
  display: none;
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 16px;
  line-height: 1.4;
}

.complex-bundle-popup__message--visible {
  display: block;
}

.complex-bundle-popup__message--error {
  background: #fff3f3;
  color: #d32f2f;
}

.complex-bundle-popup__message--info {
  background: hsl(var(--theme-base-color-hue), var(--theme-base-color-saturation), 94%);
  color: var(--theme-base-color);
}

.complex-bundle-popup__footer .js-complex-add-to-basket:disabled {
  background-color: #bdbdbd;
  border-color: #bdbdbd;
  color: #fff;
  opacity: 1;
}

.complex-bundle-popup__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #eee;
}

.complex-bundle-popup__footer--stack {
  flex-direction: column;
  align-items: stretch;
}

.complex-bundle-popup__total {
  font-size: 18px;
  font-weight: 500;
  color: #222;
}