/**
 * Button CSS - Einzelner Button
 *
 * Pill-Buttons nach CD Rennsteig Schwarzatal. Farbwerte aus dem
 * Webdesign gesampelt:
 *   Grün gefüllt #2b957e · Blau-Verlauf #486dbe→#316dbc · Rot-Verlauf #ef3333→#f46940
 *   Weiße Pills mit Schrift in #2da08c / #4674bf / #ee3d53
 *
 * Konsumiert Theme-Tokens (--aktd-*) mit Fallbacks.
 */

/* Wrapper: Ausrichtung + Abstand */
.akt-button-wrapper {
    margin: 0 0 32px;
}

.akt-button-wrapper--spacing-small {
    margin-bottom: 16px;
}

.akt-button-wrapper--spacing-large {
    margin-bottom: 48px;
}

.akt-button-wrapper--align-left {
    text-align: left;
}

.akt-button-wrapper--align-center {
    text-align: center;
}

.akt-button-wrapper--align-right {
    text-align: right;
}

/* Basis */
.akt-button {
    --akt-button-color: #2b957e;
    --akt-button-bg: #2b957e;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 26px;
    border: 1.5px solid transparent;
    border-radius: 999px;
    font-family: var(--aktd-font-base, sans-serif);
    font-weight: 600;
    font-size: 14px;
    line-height: 1.25;
    letter-spacing: 0.06em;
    text-align: center;
    text-decoration: none !important; /* Astra unterstreicht Content-Links */
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

/* Farbfamilien
   Werte gegenüber dem Design leicht abgedunkelt, damit Schrift auf Fläche
   (und farbige Schrift auf Weiß) das WCAG-AA-Verhältnis 4,5:1 erreicht. */
.akt-button--color-gruen {
    --akt-button-color: #258373;
    --akt-button-bg: var(--aktd-color-script-heading, #26836f);
}

.akt-button--color-blau {
    --akt-button-color: #4674bf;
    --akt-button-bg: linear-gradient(90deg, #486dbe 0%, #316dbc 100%);
}

.akt-button--color-rot {
    --akt-button-color: #d9384c;
    --akt-button-bg: linear-gradient(90deg, #de2f2f 0%, #c35433 100%);
}

/* Stil: gefüllt */
.akt-button--filled {
    background: var(--akt-button-bg);
    color: var(--aktd-color-white, #ffffff);
}

.akt-button--filled:hover,
.akt-button--filled:focus {
    color: var(--aktd-color-white, #ffffff);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

/* Stil: weiß mit farbiger Schrift */
.akt-button--white {
    background: var(--aktd-color-white, #ffffff);
    color: var(--akt-button-color);
}

.akt-button--white:hover,
.akt-button--white:focus {
    color: var(--akt-button-color);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

/* Stil: weiße Kontur (auf Bildern/Farbflächen) */
.akt-button--outline {
    background: transparent;
    border-color: var(--aktd-color-white, #ffffff);
    color: var(--aktd-color-white, #ffffff);
}

.akt-button--outline:hover,
.akt-button--outline:focus {
    background: var(--aktd-color-white, #ffffff);
    color: var(--akt-button-color);
}

/* Größen */
.akt-button--size-small {
    min-height: 38px;
    padding: 9px 20px;
    font-size: 12px;
}

.akt-button--size-large {
    min-height: 52px;
    padding: 14px 34px;
    font-size: 16px;
}

/* Schreibweise */
.akt-button--transform-upper {
    text-transform: uppercase;
}

.akt-button--transform-none {
    text-transform: none;
    letter-spacing: 0.02em;
}

/* Leerzustand (nur für Redakteure sichtbar) */
.akt-button__no-content {
    padding: 16px;
    border: 2px dashed #c3c4c7;
    border-radius: 3px;
    color: #646970;
    font-size: 14px;
    text-align: center;
}

/* Responsive */
@media (max-width: 544px) {

    .akt-button-wrapper {
        margin-bottom: 24px;
    }

    .akt-button {
        padding: 10px 20px;
        font-size: 13px;
    }

    .akt-button--size-large {
        padding: 12px 26px;
        font-size: 15px;
    }
}

/* Barrierefreiheit / Print */
@media (prefers-reduced-motion: reduce) {

    .akt-button {
        transition: none;
    }

    .akt-button:hover,
    .akt-button:focus {
        transform: none;
    }
}

@media print {

    .akt-button {
        background: none;
        color: #000;
        border-color: #000;
    }
}
