/* Basis-Stile für das Platzbelegungs-Frontend (ergänzt die Inline-Styles). */

#mp-platzbelegung-root,
.mp-platzbelegung-public {
    --mp-accent: #2f7d32;
    /* Dunklere Variante automatisch aus der Akzentfarbe ableiten
       (Fallback-Wert, falls color-mix nicht unterstützt wird). */
    --mp-accent-dark: #1a2e1a;
    --mp-accent-dark: color-mix( in srgb, var(--mp-accent) 62%, #000 );
}

/* Sichtbarer Tastatur-Fokus */
#mp-platzbelegung-root [role="button"]:focus-visible,
#mp-platzbelegung-root button:focus-visible,
#mp-platzbelegung-root a:focus-visible,
.mp-platzbelegung-public [role="button"]:focus-visible {
    outline: 2px solid var(--mp-accent);
    outline-offset: 2px;
}

/* Reduzierte Bewegung respektieren */
@media ( prefers-reduced-motion: reduce ) {
    #mp-platzbelegung-root * {
        transition: none !important;
        animation: none !important;
    }
}

/* Druck-/PDF-Ausgabe: nur den Plan, ohne Bedienelemente */
@media print {
    #adminmenumain,
    #wpadminbar,
    #wpfooter,
    .mp-permission-card,
    #mp-pb-ics-import {
        display: none !important;
    }
    #mp-platzbelegung-root button,
    #mp-platzbelegung-root a {
        display: none !important;
    }
}

/* ── Mobil & Touch (kleine Screens) ─────────────────────────────────── */
@media ( max-width: 640px ) {
    /* Dialoge fast bildschirmfüllend */
    #mp-platzbelegung-root [role="dialog"],
    .mp-platzbelegung-public [role="dialog"] {
        max-width: 100% !important;
        max-height: 95vh !important;
        border-radius: 14px !important;
    }

    /* Größere Touch-Ziele */
    #mp-platzbelegung-root button,
    .mp-platzbelegung-public button,
    #mp-platzbelegung-root select,
    .mp-platzbelegung-public select,
    #mp-platzbelegung-root input:not([type="color"]):not([type="checkbox"]):not([type="radio"]),
    .mp-platzbelegung-public input:not([type="color"]):not([type="checkbox"]):not([type="radio"]) {
        min-height: 40px;
    }

    /* Schmalere Außenränder, damit mehr Platz bleibt */
    .dv-pb-header { padding: 16px 14px !important; }
    .dv-pb-toolbar { padding: 12px 14px !important; }
}

/* ── Lade-Spinner ───────────────────────────────────────────────────── */
.dv-pb-spinner {
    width: 26px;
    height: 26px;
    border: 3px solid #e4e7e2;
    border-top-color: var(--mp-accent, #2f7d32);
    border-radius: 50%;
    animation: dv-pb-spin 0.8s linear infinite;
    margin: 0 auto 12px;
}
@keyframes dv-pb-spin {
    to { transform: rotate( 360deg ); }
}
@media ( prefers-reduced-motion: reduce ) {
    .dv-pb-spinner { animation-duration: 2s; }
}

/* ── Kopf & Wochennavigation auf kleinen Screens ────────────────────── */
@media ( max-width: 640px ) {
    /* Titel und Navigation untereinander statt nebeneinander */
    .dv-pb-header { flex-direction: column !important; align-items: stretch !important; gap: 12px; }

    /* Navigation volle Breite: Pfeile außen, Datum dazwischen */
    .dv-pb-weeknav { width: 100%; flex-wrap: wrap; justify-content: space-between; box-sizing: border-box; }
    .dv-pb-weeknav .dv-pb-weeklabel { min-width: 0 !important; flex: 1 1 auto; }

    /* Saison-Auswahl in eine eigene Zeile umbrechen */
    .dv-pb-seasonsel { margin-left: 0 !important; min-width: 0 !important; flex: 1 1 100%; }
}


/*# sourceMappingURL=public.css.map*/