@mixin header_h3() {
    font-family: var(--font-medium);
    font-size: 15px;
    text-transform: uppercase;
    color: var(--DARK-GREY);
}

// Desktop (для @include в компонентах; на mobile — через _typography.scss)
@mixin Headline_1 {
    font-family: var(--font-bold);
    font-weight: 700;
    font-size: 36px;
    color: var(--DARK-GREY);
    letter-spacing: 0;
    text-transform: none;
}

@mixin Headline_2 {
    font-family: var(--font-bold);
    font-weight: 700;
    font-size: 32px;
    color: var(--DARK-GREY);
    text-transform: none;
}

@mixin Headline_3 {
    font-family: var(--font-bold);
    font-weight: 700;
    font-size: 28px;
    color: var(--DARK-GREY);
    text-transform: none;
}

@mixin Headline_4 {
    font-family: var(--font-bold);
    font-weight: 700;
    font-size: 24px;
    color: var(--DARK-GREY);
    text-transform: none;
}

@mixin Headline_5 {
    font-family: var(--font-bold);
    font-weight: 700;
    font-size: 20px;
    color: var(--DARK-GREY);
    text-transform: none;
}

@mixin Headline_6 {
    font-family: var(--font-bold);
    font-weight: 700;
    font-size: 16px;
    color: var(--DARK-GREY);
    text-transform: none;
}

@mixin input_default() {
    width: 100%;
    min-height: var(--INPUT-HEIGHT, 45px);
    font-size: 14px;
    border: 1px solid var(--INPUT-BORDER, var(--LIGHT-GRAY));
    border-radius: var(--INPUT-RADIUS, 12px);
    outline: none;
    padding: 0 var(--INPUT-PADDING-X, 14px) 0 var(--INPUT-PADDING-X, 14px);
    box-sizing: border-box;
    box-shadow: none;
    color: var(--DARK-GREY);
    font-family: var(--font-medium);

    &::placeholder {
        color: var(--INPUT-PLACEHOLDER, var(--GRAY-SOFT));
    }

    &:focus {
        border-color: var(--PRIMARY);
    }
}

@mixin textarea_default() {
    width: 100%;
    min-height: 96px;
    font-size: 14px;
    line-height: 1.45;
    border: 1px solid var(--INPUT-BORDER, var(--LIGHT-GRAY));
    border-radius: var(--INPUT-RADIUS, 12px);
    outline: none;
    padding: 12px var(--INPUT-PADDING-X, 14px);
    box-sizing: border-box;
    resize: vertical;
    color: var(--DARK-GREY);
    font-family: var(--font-medium);
    background: var(--WHITE);

    &:focus {
        border-color: var(--PRIMARY);
    }
}

@mixin default_button-full {
    font-family: var(--font-bold);
    border-radius: var(--BTN-RADIUS, 4px);
    cursor: pointer;
    min-width: var(--BTN-FULL-MIN-WIDTH, var(--GRID-BTN-SIZE, 45px));
    position: relative;
    text-transform: uppercase;
    font-size: var(--BTN-FULL-FONT-SIZE, 11px);
    padding: 0 var(--BTN-FULL-PADDING-X, 15px);
    min-height: var(--BTN-FULL-HEIGHT, var(--GRID-BTN-SIZE, 45px));
    border: none;
    letter-spacing: 0.03em;
}

@mixin default_button-light {
    font-family: var(--font-bold);
    border-radius: var(--BTN-RADIUS, 4px);
    cursor: pointer;
    min-width: var(--BTN-FULL-MIN-WIDTH, var(--GRID-BTN-SIZE, 45px));
    position: relative;
    background: transparent;
    text-transform: uppercase;
    font-size: var(--BTN-FULL-FONT-SIZE, 11px);
    padding: 0 var(--BTN-FULL-PADDING-X, 15px);
    min-height: var(--BTN-FULL-HEIGHT, var(--GRID-BTN-SIZE, 45px));
    letter-spacing: 0.03em;
}

// Вёрстка header панели (цвета — в .panel-*-header через --PANEL-*-HEADER-*)
@mixin default-panel {
    font-family: var(--font-bold);
    cursor: pointer;
    padding: 0 var(--PANEL-HEADER-PADDING-X, 15px) !important;
    text-transform: var(--PANEL-HEADER-TEXT-TRANSFORM, uppercase);
    min-height: var(--PANEL-HEADER-MIN-HEIGHT, 40px);
    max-height: var(--PANEL-HEADER-MAX-HEIGHT, 65px);
    height: auto !important;
    font-size: var(--PANEL-HEADER-FONT-SIZE, 14px);
    letter-spacing: var(--PANEL-HEADER-LETTER-SPACING, 0.03em);
}
