/* Jemné interakce pro hlavní tlačítka */
.button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, color .22s ease, background-color .22s ease;
}

.button::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.28) 50%, transparent 80%);
    transform: translateX(-125%);
    transition: transform .45s ease;
}

.button::after {
    content: '→';
    display: inline-block;
    margin-left: 9px;
    transition: transform .22s ease;
}

.header-call::after {
    content: '';
    margin-left: 0;
}

.button:hover,
.button:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(229,27,35,.3);
}

.button:hover::before,
.button:focus-visible::before {
    transform: translateX(125%);
}

.button:hover::after,
.button:focus-visible::after {
    transform: translateX(4px);
}

.button-primary:hover,
.button-primary:focus-visible {
    background-color: #ff313a;
    border-color: #ff313a;
}

.button-outline:hover,
.button-outline:focus-visible {
    background-color: #e51b23;
    border-color: #e51b23;
    color: #fff;
}

.button-light:hover,
.button-light:focus-visible {
    background-color: #15171a;
    border-color: #15171a;
    color: #fff;
}

@media (prefers-reduced-motion: reduce) {
    .button,
    .button::before,
    .button::after {
        transition: none;
    }
}