.btn-primary {
    background: var(--orange);
    color: #fff;
    border: none;
    padding: 15px var(--btn-primary-padding-x);
    border-radius: var(--btn-primary-radius);
    font-size: var(--btn-primary-font-size);
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
    height: var(--btn-primary-height);
    min-height: var(--btn-primary-height);
}

.btn-secondary {
    background: rgba(0, 0, 0, 0.3);
    color: var(--text-light);
    padding: 15px 0;
    padding-left: 30px;
    padding-right: 8px;
    font-size: 18px;
    border-radius: 100px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 55px;
}

.btn-more {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--btn-more-gap);
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    height: var(--btn-more-height);
    min-height: var(--btn-more-height);
    padding: var(--btn-more-padding-top) 8px var(--btn-more-padding-bottom) var(--btn-more-padding-left);
    background: rgba(244, 122, 31, 0.3);
    color: #fff;
    border: none;
    border-radius: var(--btn-more-radius);
    font-size: var(--btn-more-font-size);
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
}

.service-card--orange .btn-more {
    background: rgba(0, 0, 0, 0.3);
}

.btn-projects {
    box-sizing: border-box;
    width: 248px;
    height: 55px;
    padding: 0 18px 0 22px;
    background: rgba(0, 0, 0, 0.5);
    color: var(--text-light);
    font-size: 18px;
    border: none;
    border-radius: 100px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    white-space: nowrap;
}

/* =========================================================
   Единое поведение кнопок при наведении
   - все кнопки: плавный подъём + тень
   - оранжевые: затемняются
   - тёмные / полупрозрачные: становятся плотнее
   ========================================================= */
.btn-primary,
.btn-secondary,
.btn-more,
.btn-projects,
.nav-cta,
.request-form__btn {
    transition: transform 0.18s ease, box-shadow 0.18s ease,
                background-color 0.18s ease, filter 0.18s ease;
    will-change: transform;
}

.btn-primary:hover,
.btn-secondary:hover,
.btn-more:hover,
.btn-projects:hover,
.nav-cta:hover,
.request-form__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(28, 28, 26, 0.18);
}

.btn-primary:active,
.btn-secondary:active,
.btn-more:active,
.btn-projects:active,
.nav-cta:active,
.request-form__btn:active {
    transform: translateY(0);
    box-shadow: 0 4px 10px rgba(28, 28, 26, 0.15);
}

/* Сплошные оранжевые — затемняются */
.btn-primary:hover,
.nav-cta:hover,
.request-form__btn:hover {
    background: #e0691a;
}

/* Полупрозрачная оранжевая (btn-more на тёмных карточках) — плотнее */
.btn-more:hover {
    background: rgba(244, 122, 31, 0.5);
}

/* Тёмные / полупрозрачные тёмные — становятся плотнее */
.btn-secondary:hover,
.btn-projects:hover,
.service-card--orange .btn-more:hover {
    background: rgba(0, 0, 0, 0.55);
}
