

/* Start:/local/components/ekt/fastener.weight.calc/templates/.default/style.css?176786142614949*/
/* Корневой блок калькулятора */

.fwc {
    margin-bottom: 1.5rem;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1rem;
    overflow: hidden;
}

@media (min-width: 1024px) {
    .fwc {
        margin-bottom: 2rem;
        gap: 1.5rem;
    }
}

/* Шаг */

.fwc__step {
    border-radius: 0.25rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(240 241 244 / var(--tw-border-opacity));
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

@media (min-width: 1024px) {
    .fwc__step {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
}

.fwc__step-title {
    margin-top: 0rem;
    margin-bottom: 1rem;
    font-size: 1.125rem;
}

.fwc__step-header {
    margin-bottom: 1rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 0.5rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
}

.fwc__step-header .fwc__step-title {
    margin-bottom: 0rem;
}

.fwc__hint {
    --tw-text-opacity: 1;
    color: rgb(163 168 168 / var(--tw-text-opacity));
}

/* Кнопки вида/типа крепежа */

.fwc__types,
.fwc__subtypes {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.fwc__types {
    margin-bottom: 1.5rem;
}

.fwc__step:first-child .fwc__types {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

@media (min-width: 768px) {
    .fwc__step:first-child .fwc__types {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .fwc__step:first-child .fwc__types {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.fwc__type-btn,
.fwc__subtype-btn {
    border-radius: 0.25rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(240 241 244 / var(--tw-border-opacity));
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-weight: 500;
}

.fwc__type-btn.is-active,
.fwc__subtype-btn.is-active {
    --tw-border-opacity: 1;
    border-color: rgb(11 154 66 / var(--tw-border-opacity));
}

.fwc__type-icon-wrap {
    margin-bottom: 0.75rem;
}

.fwc__step:first-child .fwc__type-btn {
    padding: 1rem;
}

@media (min-width: 1024px) {
    .fwc__step:first-child .fwc__type-btn {
        padding: 1.5rem;
    }
}

/* Переключатель "Из таблицы / Из списка" (СДЕЛАН КАК calc-modes) */

.fwc__step-tabs{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    gap:0.25rem;
    width: 100%;
    justify-content: space-between;
}

.fwc__size-mode {
    display: flex;
    width: fit-content;
    flex-direction: row;
    flex-wrap: wrap;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    border-bottom-width: 0px;
    --tw-border-opacity: 1;
    border-color: rgb(240 241 244 / var(--tw-border-opacity));
}

@media (min-width: 1024px) {
    .fwc__size-mode {
        -moz-column-gap: 1.5rem;
        column-gap: 1.5rem;
    }
}

.fwc__size-mode-btn {
    position: relative;
    padding-left: 1.5rem;
    --tw-text-opacity: 1;
    color: rgb(163 168 168 / var(--tw-text-opacity));
}

/* рамка чекбокса */
.fwc__size-mode-btn::after {
    position: absolute;
    left: 0rem;
    top: 0.3rem;
    height: 1rem;
    width: 1rem;
    border-radius: 0.25rem;
    border-width: 1px;
    content: var(--tw-content);
    --tw-border-opacity: 1;
    border-color: rgb(213 213 213 / var(--tw-border-opacity));
}

/* подготовка под "галку" */
.fwc__size-mode-btn::before {
    position: absolute;
    left: 0rem;
    top: 0.3rem;
    z-index: 10;
    height: 1rem;
    width: 1rem;
    content: var(--tw-content);
    border-radius: 0.25rem;
}

.fwc__size-mode-btn.is-active {
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity));
}

.fwc__size-mode-btn.is-active::before {
    border-color: #0B9A42;
    background-color: #0B9A42;
    background-size: 50% 50%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}

/* Таблица размеров */

.fwc__size-table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-radius: 0.25rem;
    display: block;
}

.fwc__table {
    margin-bottom: 0rem;
    min-width: -moz-max-content;
    min-width: max-content;
    border-collapse: collapse;
    font-size: 15px;
}

.fwc__th {
    white-space: nowrap;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(244 245 247 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(238 244 246 / var(--tw-bg-opacity));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: center;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity));
}

.fwc__td {
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(244 245 247 / var(--tw-border-opacity));
    padding: 0rem;
    text-align: center;
}

.fwc__td-label {
    position: sticky;
    left: 0rem;
    z-index: 20;
    white-space: nowrap;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(244 245 247 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-weight: 500;
}

/* Чётные строки — серый фон для читабельности */

.fwc__table tbody tr:nth-child(even),
.fwc__table tbody tr:nth-child(even) .fwc__td-label {
    --tw-bg-opacity: 1;
    background-color: rgb(247 247 247 / var(--tw-bg-opacity));
}

.fwc__cell-btn {
    display: inline-flex;
    width: 100%;
    min-width: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem;
    border-width: 1px;
    border-color: transparent;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.fwc__cell-btn:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}

.fwc__cell-btn.is-active {
    --tw-border-opacity: 1;
    border-color: rgb(11 154 66 / var(--tw-border-opacity));
}

.fwc__cell-empty {}

/* Список размеров */

.fwc__size-list-wrapper {}
.fwc__list {}
.fwc__list-item {}
.fwc__list-btn {}
.fwc__list-btn.is-active {}
.fwc__list-title {}
.fwc__list-weight {}

.fwc__input.fwc__select {
    width: 100%;
}

/* Блок "Переводим" */

.fwc__calc-modes {
    display: flex;
    width: fit-content;
    flex-direction: row;
    flex-wrap: wrap;
    -moz-column-gap: 1rem;
    row-gap: 0.25rem;
    column-gap: 1rem;
    border-bottom-width: 0px;
    --tw-border-opacity: 1;
    border-color: rgb(240 241 244 / var(--tw-border-opacity));
}

@media (min-width: 1024px) {
    .fwc__calc-modes {
        -moz-column-gap: 1.5rem;
        column-gap: 1.5rem;
    }
}

.fwc__calc-mode-btn {
    position: relative;
    padding-left: 1.5rem;
    --tw-text-opacity: 1;
    color: rgb(163 168 168 / var(--tw-text-opacity));
}

.fwc__calc-mode-btn::after {
    position: absolute;
    left: 0rem;
    top: 0.3rem;
    height: 1rem;
    width: 1rem;
    border-radius: 0.25rem;
    border-width: 1px;
    content: var(--tw-content);
    --tw-border-opacity: 1;
    border-color: rgb(213 213 213 / var(--tw-border-opacity));
}

.fwc__calc-mode-btn.is-active {
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity));
}

.fwc__calc-mode-btn::before {
    position: absolute;
    left: 0rem;
    top: 0.3rem;
    z-index: 10;
    height: 1rem;
    width: 1rem;
    content: var(--tw-content);
    border-radius: 0.25rem;
}

.fwc__calc-mode-btn.is-active:before {
    border-color: #0B9A42;
    background-color: #0B9A42;
    background-size: 50% 50%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}

.fwc__selected-info {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    border-radius: 0.25rem;
    --tw-bg-opacity: 1;
    background-color: rgb(247 241 225 / var(--tw-bg-opacity));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 14px;
    grid-column: span 2 / span 2;
}

@media (min-width: 768px) {
    .fwc__selected-info {
        border-radius: 0.5rem;
        width: fit-content;
        grid-column: span 1 / span 1;
    }
}

@media (min-width: 1280px) {
    .fwc__selected-info {
        font-size: 1rem;
    }
}

.fwc__selected-weight {}

.fwc__calc-input {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.fwc__input-label {}

.fwc__calc-input-row {
    display: grid;
    grid-template-columns: 1fr 40px;
    align-items: center;
    gap: 1rem;
}

@media (min-width: 768px) {
    .fwc__calc-input-row {
        display: flex;
        grid-template-columns: auto;
        flex-direction: row;
        gap: 2rem;
    }
}

.fwc__field {
    position: relative;
}

.fwc__field svg {
    position: absolute;
    left: 0.75rem;
    top: 13px;
    height: 20px;
    width: 20px;
}

@media (min-width: 1024px) {
    .fwc__field svg {
        top: 14px;
    }
}

.fwc__input {
    width: 100%;
    padding-left: 40px;
}

.fwc__input-unit {}

.fwc__btn {
    grid-column: span 2 / span 2;
    display: flex;
    height: -moz-fit-content;
    height: fit-content;
    width: 100%;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem;
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(11 154 66 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(11 154 66 / var(--tw-bg-opacity));
    padding-left: calc(1.5rem - 1px);
    padding-right: calc(1.5rem - 1px);
    padding-top: calc(0.75rem - 1px);
    padding-bottom: calc(0.75rem - 1px);
    text-align: center;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
}

.fwc__btn:hover {
    --tw-border-opacity: 1;
    border-color: rgb(7 125 53 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(7 125 53 / var(--tw-bg-opacity));
}

@media (min-width: 768px) {
    .fwc__btn {
        width: -moz-fit-content;
        width: fit-content;
    }
}

.fwc__calc-note {
    --tw-text-opacity: 1;
    color: rgb(163 168 168 / var(--tw-text-opacity));
}

.fwc__calc-result {
    grid-column: span 2 / span 2;
    display: flex;
    width: fit-content;
    justify-content: center;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(51 51 51 / var(--tw-text-opacity));
}

@media (min-width: 768px) {
    .fwc__calc-result {
        justify-content: flex-start;
    }
}

.fwc__result-eq {}
.fwc__result-value {}
.fwc__result-unit {}

/* Пустые состояния */
.fwc__empty {}

/* Обёртка таблицы должна уметь горизонтально скроллиться */
#fwc-size-table-wrapper{
    overflow: auto;
    position: relative;
}

/* ===========================
   Sticky header (ПРАВИЛЬНЫЙ БЛОК ПОД ТВОЙ JS)
   - без display:none/block
   - задержка только при scroll-up (через .is-delay)
   =========================== */

/* offset по брейкпоинтам (JS читает var(--fwc-sticky-top)) */
:root{
    --fwc-sticky-top: 109px; /* < 768 */
}
@media (min-width: 768px) and (max-width: 1023.98px){
    :root{ --fwc-sticky-top: 117px; }
}
@media (min-width: 1024px) and (max-width: 1279.98px){
    :root{ --fwc-sticky-top: 141px; }
}
@media (min-width: 1280px){
    :root{ --fwc-sticky-top: 152px; }
}

/* базовое состояние: скрыто */
.fwc__sticky-header-wrapper{
    --fwc-sticky-x: 0px;

    position: fixed;
    top: 0;
    z-index: 50;

    pointer-events: none;

    visibility: hidden;
    opacity: 0;

    /* X синхроним переменной, Y — для выезда */
    transform: translateX(var(--fwc-sticky-x, 0px)) translateY(-12px);

    /* скрытие без задержки */
    transition:
            opacity .18s ease,
            transform .18s ease,
            visibility 0s linear .18s;

    will-change: transform, opacity;
}

/* отступ сверху только при scroll-up */
.fwc__sticky-header-wrapper.is-scroll-up{
    top: var(--fwc-sticky-top, 0px);
}

/* показ: по умолчанию БЕЗ задержки (это scroll-down) */
.fwc__sticky-header-wrapper.is-sticky{
    visibility: visible;
    opacity: 1;
    transform: translateX(var(--fwc-sticky-x, 0px)) translateY(0);

    /* важно: сбрасываем задержки */
    transition-delay: 0s, 0s, 0s;
}

/* задержка ТОЛЬКО при scroll-up (JS добавляет .is-delay только когда вверх) */
.fwc__sticky-header-wrapper.is-sticky.is-delay{
    transition-delay: 0s, 0s, 0s; /* opacity, transform, visibility */
}

/* Липкая таблица-шапка */
.fwc__table--sticky{
    border-collapse: collapse;
    table-layout: fixed; /* важно для совпадения ширин */
}

/* Чтобы фон шапки не был прозрачным */
.fwc__table--sticky th{
    background: #eef4f6;
}

/* чтобы визуально совпадало с основной таблицей */
.fwc__table--sticky th,
.fwc__table--sticky td{
    box-sizing: border-box;
}

/* End */
/* /local/components/ekt/fastener.weight.calc/templates/.default/style.css?176786142614949 */
