.tab-content table{
    width: 100% !important;
}

/* Отступ снизу у краткого описания товара до блока атрибутов */
.product-excerpt {
    margin-bottom: 1.25em;
}

/* Таблица атрибутов товара — выравнивание по левому краю, слева жирно, справа обычный текст */
.product-attributes-default .shop_attributes,
.product-attributes-default .shop_attributes th,
.product-attributes-default .shop_attributes td {
    text-align: left;
    vertical-align: middle;
}
.product-attributes-default .shop_attributes {
    width: auto;
    max-width: 100%;
    display: inline-table;
    table-layout: auto;
}
.product-attributes-default .shop_attributes th {
    font-weight: 700;
    width: 1%;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}
/* В таблице атрибутов только первая колонка жирная, вторая — обычная (переопределяем общее правило для таблиц) */
.product-attributes-default .shop_attributes td,
.product-card-about .product-attributes-default .shop_attributes td:nth-child(2) {
    font-weight: 400 !important;
}

@media (max-width: 1100px) {
    .product-attributes-default .shop_attributes {
        width: 100%;
        display: table;
    }
    .product-attributes-default .shop_attributes th {
        white-space: normal;
        overflow-wrap: break-word;
        width: auto;
    }
    .product-attributes-default .shop_attributes td {
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        width: auto;
        min-width: 0;
    }
    .product-attributes-default .shop_attributes td p {
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
    }
}

@media (max-width: 1100px) {
    table.shop_attributes {
        width: 100%;
        table-layout: auto;
    }
    table.shop_attributes tbody,
    table.shop_attributes tr,
    table.shop_attributes th,
    table.shop_attributes td {
        display: block;
        width: 100%;
    }
    table.shop_attributes th {
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        padding-bottom: 0.25em;
    }
    table.shop_attributes td {
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        padding-top: 0;
    }
    table.shop_attributes td p {
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
    }
}
.product-attributes-default .shop_attributes th,
.product-attributes-default .shop_attributes td {
    padding: 0.5em 0.75em;
}
.product-attributes-default .shop_attributes td p {
    margin: 0;
    text-align: left;
}

.product-card-menu .item.item-tab-no-label {
    min-height: 52px;
}

/* Превью изображений в табах товара (характеристики, габаритные размеры) — не на весь экран */
.product-card-about .variation-dimensions-image-wrap {
    margin-bottom: 1.25em;
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
}
.product-card-about .variation-dimensions-image-wrap a {
    display: block;
    line-height: 0;
}
.product-card-about .variation-dimensions-image-wrap img {
    max-width: 100% !important;
    width: auto !important;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Таблицы вариаций: равные колонки и единое выравнивание */
.variation-material-execution-table,
.variation-characteristics-table,
.variation-dimensions-table {
    table-layout: fixed;
}

.variation-material-execution-table th,
.variation-material-execution-table td,
.variation-characteristics-table th,
.variation-characteristics-table td,
.variation-dimensions-table th,
.variation-dimensions-table td {
    width: 1%;
    text-align: center;
    vertical-align: middle;
    white-space: normal;
}

/* Variation selector styling */
.product-card .variations_form {
    margin-top: 20px;
}

.product-card .variations {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 16px;
}

.product-card .variations tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.product-card .variations th,
.product-card .variations td {
    padding: 0;
    border: none;
}

.product-card .variations th {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--c-black_b);
    text-align: left;
    padding-top: 8px;
}

.product-card .variations td {
    flex: 1 1 auto;
    min-width: 0;
}

.product-card .variations select {
    width: 100%;
    height: 60px;
    padding: 0 42px 0 30px;
    border: 2px solid var(--c-gray_b);
    border-radius: 2px;
    background-color: var(--c-white);
    color: var(--c-black);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.67;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.718413 1.98154C0.327721 1.61032 0.327721 0.987527 0.718413 0.616299C1.08187 0.270952 1.65219 0.270952 2.01564 0.616299L5.31118 3.74766C5.69717 4.11441 6.30283 4.11441 6.68882 3.74766L9.98436 0.616299C10.3478 0.270952 10.9181 0.270952 11.2816 0.616299C11.6723 0.987527 11.6723 1.61031 11.2816 1.98154L6.68882 6.3455C6.30283 6.71225 5.69717 6.71225 5.31118 6.3455L0.718413 1.98154Z' fill='%232B2B2C'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: right 20px center;
    appearance: none;
}

/* Стили для кнопок вариаций (radio) */
.product-card .variation-buttons-wrapper,
.variations .variation-buttons-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 0;
}

.product-card .variation-button,
.variations .variation-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 12px;
    border: 2px solid var(--c-gray_b);
    border-radius: 6px;
    background-color: var(--c-white);
    color: var(--c-black);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
}

/* Скрываем radio-кнопку */
.product-card .variation-button .variation-radio,
.variations .variation-button .variation-radio {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

.product-card .variation-button span,
.variations .variation-button span {
    display: block;
    line-height: 1.2;
}

.product-card .variation-button:hover:not(.disabled),
.variations .variation-button:hover:not(.disabled) {
    border-color: var(--c-purple, #7B68EE);
    background-color: var(--c-white);
    color: var(--c-purple, #7B68EE);
}

.product-card .variation-button.is-active,
.variations .variation-button.is-active {
    border-color: var(--c-purple, #7B68EE);
    background-color: var(--c-purple, #7B68EE);
    color: var(--c-white);
}

/* Поддержка :has() для современных браузеров */
@supports selector(:has(*)) {
    .product-card .variation-button:has(.variation-radio:checked),
    .variations .variation-button:has(.variation-radio:checked) {
        border-color: var(--c-purple, #7B68EE);
        background-color: var(--c-purple, #7B68EE);
        color: var(--c-white);
    }
}

.product-card .variation-button.disabled,
.variations .variation-button.disabled,
.product-card .variation-button[aria-disabled="true"],
.variations .variation-button[aria-disabled="true"] {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    border-color: var(--c-gray_b) !important;
    background-color: var(--c-gray_a, #f5f5f5) !important;
    color: var(--c-gray_d, #999) !important;
    pointer-events: none !important;
}

.product-card .variation-button.disabled:hover,
.variations .variation-button.disabled:hover,
.product-card .variation-button[aria-disabled="true"]:hover,
.variations .variation-button[aria-disabled="true"]:hover {
    border-color: var(--c-gray_b) !important;
    background-color: var(--c-gray_a, #f5f5f5) !important;
    color: var(--c-gray_d, #999) !important;
}

.product-card .variation-button.disabled .variation-radio,
.variations .variation-button.disabled .variation-radio {
    pointer-events: none !important;
}

.product-card .variations .reset_variations {
    display: inline-flex;
    margin-left: 12px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--c-purple);
    text-decoration: underline;
    margin-top: 30px;
}

.product-card .stock.in-stock {
    color: var(--c-black);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 8px 0;
}

.product-card .stock.out-of-stock {
    color: var(--c-red);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 8px 0;
}

.product-card .product-variation-meta {
    margin: 12px 0 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 12px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--c-black_b);
}

.product-card .product-variation-meta .variation-meta-item {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.product-card .variation-hint {
    margin: 0 0 12px;
    padding: 10px 14px;
    border: 1px solid var(--c-gray);
    background: var(--c-gray_a);
    font-size: 12px;
    color: var(--c-black_b);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.product-card .single_variation_wrap {
    margin-top: 10px;
}

.product-card .woocommerce-variation {
    margin-bottom: 12px;
}

.product-card .woocommerce-variation-description,
.product-card .woocommerce-variation-availability {
    font-size: 12px;
    color: var(--c-gray_d);
}

.product-card .woocommerce-variation-price {
    font-size: 20px;
    font-weight: 600;
    color: var(--c-black);
    margin: 6px 0;
}

.product-card .woocommerce-Price-amount.amount {
    font-size: 20px;
    font-weight: 700;
}

/* Prevent duplicate price when static block is used */
.product-card .single_variation .woocommerce-variation-price,
.product-card .single_variation .woocommerce-variation-availability {
    display: none !important;
}

.product-card .product-variation-details {
    margin-top: 16px;
    display: none;
}

.product-card .product-variation-details.is-active {
    display: block;
}

.product-card .product-variation-description {
    margin-bottom: 12px;
}

.product-card .product-variation-custom-fields {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--c-gray);
}

.product-card .product-variation-custom-fields .variation-field {
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1.5;
}

.product-card .product-variation-custom-fields .variation-field:last-child {
    margin-bottom: 0;
}

.product-card .product-variation-custom-fields .variation-field strong {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
    color: var(--c-black);
}

.product-card .product-variation-custom-fields .variation-field span {
    display: block;
    color: var(--c-black_b);
}

@media (max-width: 640px) {
    .product-card .variations tr {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        margin-bottom: 10px;
    }

    .product-card .variations th {
        flex: 1 1 auto;
        margin-bottom: 4px;
        text-align:left;
    }

    .product-card .variations td {
        flex: 1 1 auto;
        width: 100%;
    }

    .product-card .variation-buttons-wrapper {
        gap: 4px;
    }

    .product-card .variation-button {
        min-height: 40px;
        padding: 0 12px;
        font-size: 10px;
    }
}

/* Формы заявок: тип телефона (RU / не-RU) */
.phone-region-row {
    position: relative;
    z-index: 2;
    margin-bottom: 0.65em;
    font-size: 0.95rem;
    line-height: 1.4;
    pointer-events: auto;
}
.phone-region-row.m-intl {
    margin-bottom: 1.1em;
}
/* В theme form input[type=radio] с appearance:none без :checked — выбранное состояние не видно */
form .phone-region-row input[type="radio"] {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    pointer-events: auto;
}
form .phone-region-row input[type="radio"]:checked {
    border-color: var(--c-purple, #653da5);
    background-color: var(--c-white, #fff);
    background-image: radial-gradient(circle, var(--c-purple, #653da5) 42%, transparent 44%);
}
form .phone-region-row input[type="radio"]:focus-visible {
  outline: 2px solid var(--c-purple, #653da5);
  outline-offset: 2px;
}

/* Плавающая подпись .placeholder: при intl не подставляем длинный placeholder в input — класс m-intl + подсказка в title */
.phone-region-row.m-intl + .row .inp-wrp .placeholder {
  opacity: 1;
  top: -13px;
  left: 9px;
  transform: translateY(0);
  z-index: 1;
  padding: 0 5px;
  background: var(--c-white, #fff);
  border-radius: 2px;
}

/* Телефон с плавающей подписью: выравнивание под поля с рамкой (базовая тема — под нижнюю линию без left) */
form .phone-region-row + .row .inp-wrp {
  margin-bottom: 0;
}
form .phone-region-row + .row .inp-wrp input.js-phone-input {
  text-transform: none;
  font-weight: 500;
  letter-spacing: normal;
}
form .phone-region-row + .row .inp-wrp > .placeholder {
  left: 16px;
  right: 14px;
  width: auto;
  max-width: calc(100% - 30px);
  pointer-events: none;
  color: var(--c-gray_d, #706e73);
  font-size: 11px;
  line-height: 1.2;
}
/* Поднятая подпись: не пересекать рамку 2px + скругление — фон «ломает» линию бордера */
form .phone-region-row + .row .inp-wrp input.js-phone-input:focus ~ .placeholder,
form .phone-region-row + .row .inp-wrp input.js-phone-input:not(:placeholder-shown) ~ .placeholder {
  top: -13px;
  left: 9px;
  transform: translateY(0);
  z-index: 1;
  padding: 0 5px;
  background: var(--c-white, #fff);
  border-radius: 2px;
}

/* CTA-блок на сером фоне — подложка под подпись в цвет секции */
.cta-form .phone-region-row.m-intl + .row .inp-wrp .placeholder,
.cta-form form .phone-region-row + .row .inp-wrp input.js-phone-input:focus ~ .placeholder,
.cta-form form .phone-region-row + .row .inp-wrp input.js-phone-input:not(:placeholder-shown) ~ .placeholder,
.cta-form .cta-form-wrp form .inp-wrp > input[type="text"]:focus ~ .placeholder,
.cta-form .cta-form-wrp form .inp-wrp > input[type="email"]:focus ~ .placeholder,
.cta-form .cta-form-wrp form .inp-wrp > input[type="text"]:not(:placeholder-shown) ~ .placeholder,
.cta-form .cta-form-wrp form .inp-wrp > input[type="email"]:not(:placeholder-shown) ~ .placeholder {
  background: var(--c-gray_a, #f4f3f5);
}
.phone-region-title {
    display: block;
    margin-bottom: 0.4em;
    font-weight: 600;
}
.phone-region-opt {
    margin-right: 1.25em;
    cursor: pointer;
    user-select: none;
}

/* Общий вид заявок: попапы (узнать стоимость / консультация / ACF), CTA на сайте, stock, «Написать нам», согласовано с firstModal */
.dialogs .popup:not(.brief):not(.text) .form-box .box form,
.cta-form .cta-form-wrp form,
.remodal.write-us-modal #writeUsForm {
    text-align: left;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box h3,
.remodal.write-us-modal .formArea.write-us-form-area > h3 {
    margin: 0 0 16px;
    font-size: 1.25rem;
    line-height: 1.3;
    font-weight: 700;
    color: var(--c-black, #2b2b2c);
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .row,
.cta-form .cta-form-wrp form .row,
.remodal.write-us-modal #writeUsForm .row {
    margin-bottom: 14px;
}
/* У темы у .inp-wrp большой margin-bottom; отступ даёт .row — плюс место сверху под «плавающую» подпись */
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp,
.cta-form .cta-form-wrp form .inp-wrp,
.remodal.write-us-modal #writeUsForm .inp-wrp {
    margin-bottom: 0;
    padding-top: 6px;
    box-sizing: border-box;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input[type="text"],
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input[type="email"],
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input[type="tel"],
.cta-form .cta-form-wrp form .inp-wrp > input[type="text"],
.cta-form .cta-form-wrp form .inp-wrp > input[type="email"],
.cta-form .cta-form-wrp form .inp-wrp > input[type="tel"],
.remodal.write-us-modal #writeUsForm .inp-wrp > input[type="text"],
.remodal.write-us-modal #writeUsForm .inp-wrp > input[type="email"],
.remodal.write-us-modal #writeUsForm .inp-wrp > input[type="tel"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    font-size: 16px;
    line-height: 1.35;
    color: var(--c-black, #1a1a1a);
    background: var(--c-white, #fff);
    border: 2px solid var(--c-gray_b, #e0e0e0);
    border-radius: 6px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input:hover,
.cta-form .cta-form-wrp form .inp-wrp > input:hover,
.remodal.write-us-modal #writeUsForm .inp-wrp > input:hover {
    border-color: #c8c8c8;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input:focus,
.cta-form .cta-form-wrp form .inp-wrp > input:focus,
.remodal.write-us-modal #writeUsForm .inp-wrp > input:focus {
    outline: none;
    border-color: var(--c-purple, #653da5);
    box-shadow: 0 0 0 3px rgba(101, 61, 165, 0.15);
}
/* Имя, email: неактивное поле — подпись с отступом слева (под padding поля 12px + рамка) */
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input[type="text"] ~ .placeholder,
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input[type="email"] ~ .placeholder,
.cta-form .cta-form-wrp form .inp-wrp > input[type="text"] ~ .placeholder,
.cta-form .cta-form-wrp form .inp-wrp > input[type="email"] ~ .placeholder,
.remodal.write-us-modal #writeUsForm .inp-wrp > input[type="text"] ~ .placeholder,
.remodal.write-us-modal #writeUsForm .inp-wrp > input[type="email"] ~ .placeholder {
    left: 16px;
    right: auto;
    max-width: calc(100% - 32px);
    box-sizing: border-box;
}
/* Имя, email: подпись при фокусе / заполнении — как у телефона (не наезжает на бордер) */
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input[type="text"]:focus ~ .placeholder,
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input[type="email"]:focus ~ .placeholder,
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input[type="text"]:not(:placeholder-shown) ~ .placeholder,
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > input[type="email"]:not(:placeholder-shown) ~ .placeholder,
.cta-form .cta-form-wrp form .inp-wrp > input[type="text"]:focus ~ .placeholder,
.cta-form .cta-form-wrp form .inp-wrp > input[type="email"]:focus ~ .placeholder,
.cta-form .cta-form-wrp form .inp-wrp > input[type="text"]:not(:placeholder-shown) ~ .placeholder,
.cta-form .cta-form-wrp form .inp-wrp > input[type="email"]:not(:placeholder-shown) ~ .placeholder,
.remodal.write-us-modal #writeUsForm .inp-wrp > input[type="text"]:focus ~ .placeholder,
.remodal.write-us-modal #writeUsForm .inp-wrp > input[type="email"]:focus ~ .placeholder,
.remodal.write-us-modal #writeUsForm .inp-wrp > input[type="text"]:not(:placeholder-shown) ~ .placeholder,
.remodal.write-us-modal #writeUsForm .inp-wrp > input[type="email"]:not(:placeholder-shown) ~ .placeholder {
    top: -13px;
    left: 9px;
    transform: translateY(0);
    z-index: 1;
    padding: 0 5px;
    background: var(--c-white, #fff);
    border-radius: 2px;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > textarea,
.cta-form .cta-form-wrp form .inp-wrp > textarea,
.remodal.write-us-modal #writeUsForm .inp-wrp > textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 100px;
    padding: 12px 14px;
    font-size: 16px;
    line-height: 1.4;
    color: var(--c-black, #1a1a1a);
    background: var(--c-white, #fff);
    border: 2px solid var(--c-gray_b, #e0e0e0);
    border-radius: 6px;
    resize: vertical;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > textarea:hover,
.cta-form .cta-form-wrp form .inp-wrp > textarea:hover,
.remodal.write-us-modal #writeUsForm .inp-wrp > textarea:hover {
    border-color: #c8c8c8;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .inp-wrp > textarea:focus,
.cta-form .cta-form-wrp form .inp-wrp > textarea:focus,
.remodal.write-us-modal #writeUsForm .inp-wrp > textarea:focus {
    outline: none;
    border-color: var(--c-purple, #653da5);
    box-shadow: 0 0 0 3px rgba(101, 61, 165, 0.15);
}
/* Блок RU / не-RU — как в модалке товара */
.dialogs .popup:not(.brief):not(.text) .form-box .box form .row.phone-region-row,
.cta-form .cta-form-wrp form .row.phone-region-row,
.remodal.write-us-modal #writeUsForm .row.phone-region-row,
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .row.phone-region-row {
    margin-bottom: 10px;
    padding: 12px 14px;
    background: #f7f7f9;
    border-radius: 8px;
    border: 1px solid #ececf0;
}
/* Нероссийский: чуть больше воздуха до поля телефона */
.dialogs .popup:not(.brief):not(.text) .form-box .box form .row.phone-region-row.m-intl,
.cta-form .cta-form-wrp form .row.phone-region-row.m-intl,
.remodal.write-us-modal #writeUsForm .row.phone-region-row.m-intl,
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .row.phone-region-row.m-intl {
    margin-bottom: 20px;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .phone-region-title,
.cta-form .cta-form-wrp form .phone-region-title,
.remodal.write-us-modal #writeUsForm .phone-region-title,
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .phone-region-title {
    font-size: 0.9rem;
    margin-bottom: 8px;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .phone-region-opt,
.cta-form .cta-form-wrp form .phone-region-opt,
.remodal.write-us-modal #writeUsForm .phone-region-opt,
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .phone-region-opt {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 16px 0 0;
    font-size: 0.9rem;
}

@media (max-width: 640px) {
    .cta-form .cta-form-wrp form .row.phone-region-row {
        display: block;
        align-items: initial;
        padding: 10px 12px;
    }
    .cta-form .cta-form-wrp form .phone-region-opt {
        display: inline-flex;
        margin: 0 10px 8px 0;
        white-space: nowrap;
    }
    .cta-form .cta-form-wrp form .phone-region-title {
        margin-bottom: 6px;
    }
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .row.agreement-row,
.cta-form .cta-form-wrp form .row.agreement-row,
.remodal.write-us-modal #writeUsForm .row.agreement-row {
    margin-bottom: 0.65em;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .agreement,
.cta-form .cta-form-wrp form .agreement,
.remodal.write-us-modal #writeUsForm .agreement {
    font-size: 13px;
    line-height: 1.45;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form .g-recaptcha,
.cta-form .cta-form-wrp form .g-recaptcha,
.remodal.write-us-modal #writeUsForm .g-recaptcha {
    margin-top: 16px;
}
.dialogs .popup:not(.brief):not(.text) .form-box .box form > .button,
.cta-form .cta-form-wrp form > .button,
.remodal.write-us-modal #writeUsForm > .button {
    margin-top: 8px;
    width: 100%;
    max-width: 100%;
    min-height: 52px;
    padding: 16px 20px;
    font-size: 16px;
    letter-spacing: 0.04em;
    border-radius: 8px;
    box-sizing: border-box;
}

.product-form-consents .agreement-row {
    text-align: left;
    margin-bottom: 0.65em;
}
.product-form-consents .agreement {
    font-size: 8pt;
}

/* Модалка заявки с карточки товара (#firstModal): сетка полей, без «лесенки» от <br> */
.remodal[data-remodal-id="firstModal"] .formArea {
    max-width: min(100%, 480px);
    padding: 28px 24px 32px;
    text-align: left;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 {
    text-align: left;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 > br {
    display: none;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .form-fieldset {
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    min-width: 0;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .form-fieldset.ui-input input {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    font-size: 16px;
    line-height: 1.35;
    color: var(--c-black, #1a1a1a);
    background: var(--c-white, #fff);
    border: 2px solid var(--c-gray_b, #e0e0e0);
    border-radius: 6px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .form-fieldset.ui-input input::placeholder {
    color: #888;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .form-fieldset.ui-input input:hover {
    border-color: #c8c8c8;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .form-fieldset.ui-input input:focus {
    outline: none;
    border-color: var(--c-purple, #653da5);
    box-shadow: 0 0 0 3px rgba(101, 61, 165, 0.15);
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 h4.product_title.entry-title {
    margin: 0 0 18px;
    font-size: 1.15rem;
    line-height: 1.35;
    font-weight: 700;
    color: var(--c-black, #1a1a1a);
    text-align: left;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .product-form-consents {
    margin: 6px 0 0;
    text-align: left;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .product-form-consents .agreement {
    font-size: 13px;
    line-height: 1.45;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .g-recaptcha {
    margin-top: 16px;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .form-footer {
    margin-top: 20px;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .formBtn {
    border-radius: 8px;
    padding: 16px 20px;
    font-size: 16px;
    letter-spacing: 0.04em;
}
.remodal[data-remodal-id="firstModal"] #firstForm.bitrix24 .formCreator {
    margin-top: 16px;
    font-size: 13px;
    color: #6c6d6f;
}

footer .social .item img.max-channel-logo {
    display: block;
    width: 40%;
    height: 40%;
    max-width: 20px;
    max-height: 20px;
    object-fit: contain;
}

header .header-max-social {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 50px;
    height: 50px;
    margin-left: 10px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 100%;
    box-sizing: border-box;
    text-decoration: none;
    transition: border-color linear 0.2s, background linear 0.2s;
}

header .header-max-social .max-channel-logo {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

header .header-max-social:hover {
    border-color: #653da5;
    background: #653da5;
}

header nav .catalog-dropdown .dropdown-mob-header .header-max-link {
    display: inline-flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 12px;
    text-decoration: none;
    color: #6c6d6f;
    font-weight: 600;
    font-size: 12px;
    line-height: 1.25em;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    transition: color ease-in-out 0.2s;
}

header nav .catalog-dropdown .dropdown-mob-header .header-max-link .max-channel-logo {
    display: block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    object-fit: contain;
}

header nav .catalog-dropdown .dropdown-mob-header .header-max-link:hover {
    color: #000;
}

.contacts .contacts-wrp .contacts-max-channel {
    margin-top: 1.25em;
}

.contacts .contacts-wrp .contacts-max-channel-link {
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    margin-top: 0.5em;
    text-decoration: none;
    color: #653da5;
    font-weight: 600;
    font-size: 12px;
    line-height: 1.25em;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.contacts .contacts-wrp .contacts-max-channel-link .max-channel-logo {
    display: block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    object-fit: contain;
}

.contacts .contacts-wrp .contacts-max-channel-link:hover {
    text-decoration: underline;
}

.product-card img {width: 100%;}
