/* --- Tlačítka: sdílené pro všechny stránky, barvy z tokens.css, s fallbackem pro stránky, které ho nenačítají --- */

/* Primární tlačítko: brandová žlutá z loga */
.btn {
    display: inline-block;
    background-color: var(--accent-yellow, #f1a80a);
    color: var(--primary-blue, #04142c);
    padding: 14px 28px;
    border: none;
    border-radius: 6px;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.5;
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

/* Na světlém pozadí hover ztmaví, aby tlačítko nesplývalo s bílou */
.btn:hover:not(:disabled) {
    background-color: var(--accent-yellow-dark, #db9400);
    box-shadow: 0 6px 16px rgba(4, 20, 44, 0.18);
    transform: translateY(-2px);
}

/* V tmavém hero naopak zesvětlí a jemně zazáří */
.hero .btn:hover:not(:disabled) {
    background-color: var(--accent-yellow-hover, #fdc94e);
    box-shadow: 0 6px 20px rgba(241, 168, 10, 0.3);
}

/* Focus z klávesnice: modrý jako u inputů, na tmavém pozadí bílý */
.btn:focus-visible {
    outline: 3px solid var(--action-blue, #1d63ed);
    outline-offset: 3px;
}

.hero .btn:focus-visible {
    outline-color: var(--text-light, #ffffff);
}

.btn:disabled {
    opacity: 0.6;
    cursor: default;
}

/* Sekundární tlačítko: průhledné s jemným obrysem, na světlém pozadí tmavě modré */
.btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: transparent;
    color: var(--primary-blue, #04142c);
    box-shadow: inset 0 0 0 1.5px rgba(4, 20, 44, 0.3);
}

.btn-outline:hover:not(:disabled) {
    background-color: rgba(4, 20, 44, 0.04);
    box-shadow: inset 0 0 0 1.5px var(--primary-blue, #04142c);
}

/* V tmavém hero bílý text a obrys */
.hero .btn-outline {
    color: var(--text-light, #ffffff);
    box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.35);
}

.hero .btn-outline:hover:not(:disabled) {
    background-color: rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.7);
}

/* Ikona externího odkazu: za textem, ve velikosti písma, při hoveru povyjede směrem šipky */
.btn-outline svg {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    transition: transform 0.2s;
}

.btn-outline:hover svg,
.btn-outline:focus-visible svg {
    transform: translate(2px, -2px);
}

@media (prefers-reduced-motion: reduce) {
    .btn,
    .btn-outline svg { transition: none; }
    .btn:hover:not(:disabled) { transform: none; }
    .btn-outline:hover svg,
    .btn-outline:focus-visible svg { transform: none; }
}
