/**
 * myKaiserstuhl Event-Blöcke — Shared Frontend-Styles
 *
 * Semantische Aliasse für Bricks-Theme-Tokens (Farben).
 * Wenn das Team in Bricks Theme Styles eine Farbe ändert, ändert sich automatisch
 * alles, weil die --myk-* Variablen auf die --bricks-color-* Tokens zeigen.
 */

:root {
    /* Marken-Tokens — Aliasse auf myKaiserstuhl-semantische Tokens.
       Definiert in inc/shared/bricks-tokens.css (wird vorher geladen).
       Die alten Bricks-Slugs (--bricks-color-icwgki etc.) existieren seit
       2026-06-28 nicht mehr — Bricks emittiert jetzt semantische Namen. */
    --myk-c-dark:        var(--myk-dark, #191923);
    --myk-c-accent:      var(--myk-gold, #b69a4c);
    --myk-c-accent-bright: var(--myk-gold-bright, #f3c74b);
    --myk-c-light:       var(--myk-light, #ffffff);
    --myk-c-text-muted:  var(--myk-text-muted, #75737c);
    --myk-c-line:        var(--myk-border-soft, rgba(25, 25, 35, 0.12));

    /* Soft-Variants (überschreibbar in einzelnen Blöcken) */
    --myk-c-dark-soft: color-mix(in srgb, var(--myk-c-dark) 88%, transparent);
    --myk-c-accent-soft: color-mix(in srgb, var(--myk-c-accent) 14%, transparent);

    /* Block-Spacing-System (passt zu Bricks Standard-Container) */
    --myk-block-pad-y: clamp(2.5rem, 5vw, 6rem);
    --myk-block-pad-x: clamp(1rem, 4vw, 3rem);
    --myk-block-gap:   clamp(1rem, 2vw, 2rem);

    /* Typografie-Skala (responsive via clamp) */
    --myk-fs-display: clamp(2.25rem, 7vw, 5.5rem);
    --myk-fs-h2:      clamp(1.75rem, 4vw, 3rem);
    --myk-fs-body:    clamp(1rem, 1.6vw, 1.125rem);
    --myk-fs-meta:    0.875rem;

    /* Radius / Shadow */
    --myk-r-soft:     8px;
    --myk-r-medium:   16px;
    --myk-r-pill:     999px;

    /* Animation */
    --myk-ease:       cubic-bezier(0.22, 0.61, 0.36, 1);
    --myk-dur-fast:   180ms;
    --myk-dur-base:   320ms;
}

/* ─── Block-Wrapper-Basis ─────────────────────────────────────────────── */

.myk-block {
    position: relative;
    box-sizing: border-box;
}

.myk-block * {
    box-sizing: border-box;
}

.myk-block-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--myk-block-pad-y) var(--myk-block-pad-x);
}

/* Variant: ohne vertical padding (für Blöcke die randlos sein müssen — z.B. Hero, Marquee) */
.myk-block--flush > .myk-block-inner {
    padding: 0;
    max-width: 100%;
}

/* ─── Utility-Klassen ─────────────────────────────────────────────────── */

.myk-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.85em 1.6em;
    background: var(--myk-c-accent);
    color: var(--myk-c-light);
    font-weight: 600;
    border-radius: var(--myk-r-pill);
    text-decoration: none;
    border: 2px solid var(--myk-c-accent);
    transition: background var(--myk-dur-fast) var(--myk-ease),
                color var(--myk-dur-fast) var(--myk-ease),
                transform var(--myk-dur-fast) var(--myk-ease);
}
.myk-btn:hover,
.myk-btn:focus-visible {
    background: transparent;
    color: var(--myk-c-accent);
    transform: translateY(-1px);
}
.myk-btn--ghost {
    background: transparent;
    color: var(--myk-c-light);
    border-color: var(--myk-c-light);
}
.myk-btn--ghost:hover,
.myk-btn--ghost:focus-visible {
    background: var(--myk-c-light);
    color: var(--myk-c-dark);
}

/* ─── Empty-State-Placeholder (Editor only) ─────────────────────────── */

.myk-block-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 220px;
    padding: clamp(1.5rem, 4vw, 3rem);
    background: rgba(0,0,0, 0.035);
    border: 2px dashed var(--myk-c-line);
    border-radius: var(--myk-r-medium);
    color: var(--myk-c-dark);
    text-align: center;
    font-size: 0.95rem;
    opacity: 0.92;
}
.myk-block-empty strong {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}
.myk-block-empty p { margin: 0; opacity: 0.7; }

/* ─── Icon-Basis (Flaticon fi-rr-*) ───────────────────────────────────── */

.myk-icon {
    display: inline-block;
    color: inherit;                 /* aktuelle Textfarbe → SVG fill currentColor */
    fill: currentColor;
    flex-shrink: 0;
    vertical-align: middle;
}
.myk-icon path,
.myk-icon circle,
.myk-icon rect,
.myk-icon ellipse,
.myk-icon polygon,
.myk-icon polyline {
    fill: currentColor;
}

/* Reduzierte Bewegung respektieren */
@media (prefers-reduced-motion: reduce) {
    .myk-block *,
    .myk-block *::before,
    .myk-block *::after {
        animation-duration: 0.001s !important;
        transition-duration: 0.001s !important;
    }
}
