/* Feinschliff 2026-07-18: H1 site-weit etwas kleiner (Vorgabe Ulrich) */
h1, .uk-h1 { font-size: 1.95rem; }
@media (min-width: 960px) {
  h1, .uk-h1 { font-size: 2.25rem; }
}

/* === Rebrand "Terrakotta & Sand" 2026-07-18 (Briefing v1.0) — Child-Style-Overrides.
   Basis-Palette steckt im kompilierten theme.12.css (tools/terrakotta.py). Diese Regeln
   ergaenzen Spec-spezifische Komponenten + ueberleben Customizer-Recompiles. === */

/* Seitenhintergrund Warmweiss, Text-Braun (belt & suspenders) */
body { background-color: #FDFAF5; color: #3E322C; }
h1,h2,h3,h4,h5,h6,.uk-h1,.uk-h2,.uk-h3,.uk-h4,.uk-h5,.uk-h6 { color: #3E322C; }
.uk-text-muted { color: #7A6A5F !important; }

/* Muted-Sektionen = Sand (Oakville-Grau-Gradient entfernen) */
.uk-section-muted, .uk-tile-muted, .uk-background-muted {
  background-color: #F6EEE3 !important; background-image: none !important;
}

/* Dunkle Baender (Footer, CTA-Band, Hero-Overlay-Sektionen) = Dunkel-Petrol #22434B (2026-07-19, Ulrich: Braun raus) */
.uk-section-secondary, .uk-tile-secondary {
  background-color: #22434B !important; background-image: none !important;
}

/* Cards = Warmweiss auf Sand, warme Border (Entscheidung: Warmweiss statt Reinweiss, dokumentiert) */
.uk-card-default { background-color: #FDFAF5; }
.uk-card-default, .uk-card-body { border-color: #EADFD0; }
hr { border-color: #EADFD0; }

/* Links im Fliesstext unterstrichen (Barrierefreiheit: nicht nur ueber Farbe erkennbar) */
.uk-article a:not(.uk-button):not([class*="uk-icon"]),
.tm-page main .uk-panel a:not(.uk-button):not([class*="uk-icon"]),
.uk-text-lead a:not(.uk-button) { text-decoration: underline; }

/* Primaer-Button: Terrakotta gefuellt, Hover dunkler */
.uk-button-primary { background-color: #B5543C; }
.uk-button-primary:hover, .uk-button-primary:focus { background-color: #9A4432; }

/* Sekundaer-Button: Petrol-Outline, Hover gefuellt (Vertrauen = Petrol) */
.uk-button-secondary {
  background-color: transparent !important; border: 1px solid #2F5B66 !important; color: #2F5B66 !important;
}
.uk-button-secondary:hover, .uk-button-secondary:focus {
  background-color: #2F5B66 !important; color: #fff !important;
}

/* Fokus-Ring Petrol hell fuer Tastatur-Navigation (Abnahmekriterium) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, .uk-button:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid #4A8A99 !important; outline-offset: 2px;
}
input:focus, select:focus, textarea:focus,
.uk-input:focus, .uk-select:focus, .uk-textarea:focus { border-color: #4A8A99 !important; }

/* SEOGlossary Auto-Link: hervorgehoben statt grau (Tooltips deaktiviert -> reiner Textlink) */
a.jqeasytooltip, .jqeasytooltip {
    color: #B5543C !important;
    text-decoration: underline;
    text-decoration-color: rgba(181,84,60,.45);
    text-underline-offset: 2px;
    font-weight: 500;
    cursor: pointer;
}
a.jqeasytooltip:hover {
    color: #8f3f2c !important;
    text-decoration-color: #8f3f2c;
}

/* =====================================================================
   TASK 2 (2026-07-22) — Quick-Wins A6 + D2 (sitewide, ueberlebt Recompiles).
   ===================================================================== */

/* --- A6: UIkit-Alerts markenkonform (Sand-Flaeche, Terrakotta-Border links,
   Text #3E322C) — gilt sitewide inkl. Joomla-Systemmeldungen. --- */
.uk-alert {
    background: #F6EEE3;
    color: #3E322C;
    border-left: 4px solid #B5543C;
    border-radius: 4px;
}
.uk-alert h1, .uk-alert h2, .uk-alert h3, .uk-alert h4, .uk-alert h5, .uk-alert a { color: #3E322C; }
.uk-alert-primary { background: #F6EEE3; color: #3E322C; border-left-color: #2F5B66; }
.uk-alert-success { background: #F6EEE3; color: #3E322C; border-left-color: #2F5B66; }
.uk-alert-warning { background: #F6EEE3; color: #3E322C; border-left-color: #B5543C; }
.uk-alert-danger  { background: #F6EEE3; color: #3E322C; border-left-color: #9A4432; }
.uk-alert-close { color: #7A6A5F; }

/* --- D2: YOOtheme-Consent-Dialog (.tm-consent) unten fixieren statt
   mittig-rechts schwebend. Logik/Buttons unveraendert. --- */
.tm-consent.uk-position-fixed {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
.tm-consent.uk-position-fixed > .uk-card {
    border-radius: 0;
    border-top: 1px solid #EADFD0;
    max-width: 1200px;
    margin: 0 auto;
}

/* =====================================================================
   Paket A: Anmelde-Strecke (Konzept 2026-07-24) — /anmelden, /fuer-
   aufsteller/registrierung, "Mein Bereich". Overrides unter
   templates/yootheme/html/com_users/. */

/* Sand-Buehne um die Karte(n) */
.auf-auth {
    max-width: 520px;
    margin: 0 auto;
    padding: 36px 20px 40px;
    background: #F6EEE3;
    border-radius: 16px;
}
.auf-auth--wide { max-width: 860px; }

.auf-auth-card {
    max-width: 480px;
    margin: 0 auto;
    border: 1px solid #EADFD0;
    border-radius: 12px;
}
.auf-auth--wide .auf-auth-card { max-width: 640px; }

.auf-auth-head { max-width: 640px; margin: 0 auto 22px; text-align: center; }
h1.auf-auth-title {
    font-size: 1.9rem;
    color: #2F5B66;
    margin: 0 0 6px;
    text-align: center;
}
.auf-auth-context { text-align: center; margin: 0 0 22px; }
.auf-auth-lead { color: #7A6A5F; margin: 0; }

/* Joomla-Formfelder in Kartenoptik (form-horizontal -> gestapelt) */
.auf-auth-form .control-group { margin-bottom: 16px; }
.auf-auth-form .control-label label,
.auf-auth-form .form-check-label {
    font-weight: 600;
    font-size: 0.9rem;
    color: #3E322C;
}
.auf-auth-form .control-label { margin-bottom: 4px; }
.auf-auth-form .form-control {
    width: 100%;
    height: 42px;
    padding: 0 12px;
    border: 1px solid #EADFD0;
    border-radius: 8px;
    background: #fff;
    color: #3E322C;
    font-size: 0.95rem;
    box-sizing: border-box;
}
.auf-auth-form .form-control:focus {
    outline: none;
    border-color: #4A8A99;
    box-shadow: 0 0 0 3px rgba(74, 138, 153, 0.25);
}
/* Passwort-Feld: Joomla rendert input + Auge-Button als input-group */
.auf-auth-form .input-group { display: flex; flex-wrap: nowrap; }
.auf-auth-form .input-group .form-control { flex: 1 1 auto; width: 1%; border-radius: 8px 0 0 8px; }
.auf-auth-form .input-group .btn {
    border: 1px solid #EADFD0;
    border-left: 0;
    border-radius: 0 8px 8px 0;
    background: #F6EEE3;
    color: #7A6A5F;
    padding: 0 12px;
    cursor: pointer;
}
.auf-auth-form .form-check { display: flex; align-items: center; gap: 8px; }
.auf-auth-form .form-check-input { accent-color: #B5543C; width: 17px; height: 17px; margin: 0; }
.auf-auth-remember { margin-bottom: 18px; }
.auf-auth-form .com-users-login__submit { margin-bottom: 0; }
.auf-auth-extra { margin-top: 10px; }
.auf-auth-form .spacer hr { border-color: #EADFD0; }

/* Pflicht-Sternchen + Hinweise dezent */
.auf-auth-form .star, .auf-auth-form .required { color: #B5543C; }

.auf-auth-links { margin: 18px 0 0; }
.auf-auth-links a { color: #2F5B66; text-decoration: underline; }
.auf-auth-linksep { margin: 0 6px; color: #7A6A5F; }
.auf-auth-note { margin: 14px 0 0; }

/* Hinweiskasten unter der Login-Karte */
.auf-auth-hint {
    max-width: 480px;
    margin: 18px auto 0;
    padding: 18px 20px;
    background: #FDFAF5;
    border: 1px dashed #D9C7AE;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.auf-auth-hint-text { color: #3E322C; font-size: 0.95rem; line-height: 1.45; }

/* 3-Schritte-Leiste Registrierung */
.auf-steps {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 0 auto 24px;
    padding: 0;
    max-width: 720px;
    flex-wrap: wrap;
}
.auf-step {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #FDFAF5;
    border: 1px solid #EADFD0;
    border-radius: 999px;
    padding: 7px 16px 7px 8px;
    font-size: 0.85rem;
    color: #7A6A5F;
}
.auf-step-num {
    flex: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #EADFD0;
    color: #7A6A5F;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.85rem;
}
.auf-step--active { border-color: #2F5B66; color: #3E322C; }
.auf-step--active .auf-step-num { background: #2F5B66; color: #fff; }

/* "Mein Bereich" Dashboard */
.auf-dash-status { text-align: center; margin: 10px 0 0; color: #3E322C; }
.auf-chip {
    display: inline-block;
    padding: 2px 12px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    vertical-align: 1px;
}
.auf-chip--ok { background: #2F5B66; color: #FDFAF5; }
.auf-chip--pending { background: #E0913F; color: #3E322C; }
.auf-dash-grid { margin-top: 4px; }
.auf-dash-tile {
    height: 100%;
    border: 1px solid #EADFD0;
    border-radius: 12px;
    padding: 22px 24px;
}
.auf-dash-tile--primary { border-color: #B5543C; box-shadow: 0 0 0 1px #B5543C inset; }
h2.auf-dash-tile-title {
    font-size: 1.15rem;
    color: #2F5B66;
    margin: 0 0 8px;
}
.auf-dash-tile-text { margin: 0 0 14px; font-size: 0.92rem; color: #3E322C; }
.auf-dash-tile-actions { margin: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.auf-dash-logout { text-align: center; margin-top: 22px; }
.auf-dash-logout .uk-button-text { color: #7A6A5F; }

@media (max-width: 639px) {
    .auf-auth { padding: 24px 12px 28px; border-radius: 0; }
    .auf-auth-card { padding: 24px 18px; }
    .auf-steps { flex-direction: column; align-items: stretch; }
}

/* =====================================================================
   Paket B: Termine-Hub /termine (Konzept 2026-07-24) — Tabs, Event-Karten
   mit Datums-Badge, Kalender-/Karten-Tab, Hinweisband. */

.auf-termine-head { max-width: 760px; margin: 0 0 18px; }
.auf-termine-head h1 { color: #2F5B66; margin-bottom: 6px; }
.auf-termine-lead { color: #7A6A5F; font-size: 1.05rem; margin: 0; }

/* Tabs als Pillen */
.auf-termine-tabs { gap: 8px; margin-bottom: 6px; }
.auf-termine-tabs > li > a {
    display: inline-block;
    padding: 8px 22px;
    border: 1px solid #EADFD0;
    border-radius: 999px;
    background: #FDFAF5;
    color: #3E322C;
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    transition: background .15s, color .15s, border-color .15s;
}
.auf-termine-tabs > li > a:hover { border-color: #2F5B66; color: #2F5B66; }
.auf-termine-tabs > li.uk-active > a { background: #2F5B66; border-color: #2F5B66; color: #FDFAF5; }

/* Icon-Zeile (RSS/iCal) dezent rechts */
.auf-termine-icons { float: right; margin: 4px 0 0; }
.auf-termine-icons a { color: #7A6A5F; margin-left: 10px; }
.auf-termine-icons a:hover { color: #2F5B66; }

/* Event-Liste */
.auf-ev-list { list-style: none; margin: 18px 0 0; padding: 0; }
.auf-ev-month { margin: 26px 0 12px; }
.auf-ev-month span {
    display: inline-block;
    font-size: 1.05rem;
    font-weight: 700;
    color: #2F5B66;
    border-bottom: 2px solid #B5543C;
    padding-bottom: 4px;
}
.auf-ev-item { margin: 0 0 14px; }
.auf-ev-card {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    background: #FDFAF5;
    border: 1px solid #EADFD0;
    border-radius: 12px;
    padding: 18px 20px;
}
.auf-ev-card--canceled { opacity: 0.65; }
.auf-ev-badge {
    flex: none;
    width: 64px;
    border-radius: 10px;
    background: #B5543C;
    color: #FDFAF5;
    text-align: center;
    padding: 8px 0 9px;
    text-decoration: none;
    line-height: 1.1;
}
.auf-ev-badge:hover { background: #9A4432; color: #FDFAF5; text-decoration: none; }
.auf-ev-day { display: block; font-size: 1.6rem; font-weight: 800; }
.auf-ev-mon { display: block; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.auf-ev-main { flex: 1 1 auto; min-width: 0; }
h3.auf-ev-title { font-size: 1.15rem; margin: 0 0 4px; }
.auf-ev-title a { color: #3E322C; text-decoration: none; }
.auf-ev-title a:hover { color: #B5543C; }
.auf-ev-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    font-size: 0.9rem;
    color: #7A6A5F;
    margin-bottom: 6px;
}
.auf-ev-loc a { color: #2F5B66; text-decoration: underline; }
.auf-ev-cats a {
    display: inline-block;
    background: #F6EEE3;
    border: 1px solid #EADFD0;
    border-radius: 999px;
    padding: 1px 10px;
    font-size: 0.8rem;
    color: #3E322C;
    text-decoration: none;
    margin-right: 4px;
}
.auf-ev-cats a:hover { border-color: #2F5B66; color: #2F5B66; }
.auf-chip--online { background: #2F5B66; color: #FDFAF5; }
.auf-chip--canceled { background: #9A4432; color: #FDFAF5; }
.auf-ev-desc { margin: 0; font-size: 0.92rem; color: #3E322C; }
.auf-ev-side { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.auf-ev-owner { font-size: 0.8rem; }
.auf-ev-owner a { color: #7A6A5F; text-decoration: underline; margin-left: 8px; }

/* Kalender-Tab: RSEvents-Tabellen markenkonform */
.auf-termine-cal { max-width: 900px; }
.auf-termine-cal .rs_calendar_module td, .auf-termine-cal .rs_calendar_module th { border: 1px solid #EADFD0; }
.auf-termine-cal .rs_calendar_module th { background: #F6EEE3; color: #2F5B66; padding: 8px 4px; }
.auf-termine-cal .rs_calendar_module td { height: 64px; vertical-align: top; padding: 6px; background: #FDFAF5; }
.auf-termine-cal .rs_table a { color: #B5543C; font-weight: 600; text-decoration: none; }
.auf-termine-cal .rs_calendar_arrows_module {
    display: inline-block;
    padding: 2px 12px;
    border: 1px solid #EADFD0;
    border-radius: 999px;
    background: #FDFAF5;
    color: #2F5B66;
    font-weight: 700;
}
.auf-termine-cal .rs_table { border-collapse: collapse; }

/* Karten-Tab + Consent */
.auf-termine-map .rsepro_map_container, .auf-termine-map [id^="rs_canvas"] { border-radius: 12px; border: 1px solid #EADFD0; }
.auf-map-consent {
    background: #F6EEE3;
    border: 1px dashed #D9C7AE;
    border-radius: 12px;
    padding: 32px 28px;
    max-width: 560px;
    text-align: center;
    margin: 24px auto;
}
.auf-map-consent h3 { color: #2F5B66; margin: 0 0 8px; }
.auf-map-consent p { color: #3E322C; margin: 0 0 16px; }

/* Hinweisband für Aufsteller */
.auf-termine-band {
    margin-top: 34px;
    background: #22434b;
    border-radius: 12px;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}
.auf-termine-band-text { color: #FDFAF5; font-size: 1rem; max-width: 620px; }
.auf-termine-band-text strong { display: block; font-size: 1.15rem; margin-bottom: 2px; }

@media (max-width: 639px) {
    .auf-ev-card { flex-wrap: wrap; padding: 14px 14px 16px; }
    .auf-ev-side { flex-direction: row; align-items: center; width: 100%; justify-content: flex-start; }
    .auf-termine-icons { float: none; margin-bottom: 8px; }
}

/* Home: Nächste-Termine-Kartenreihe (mod_rseventspro_upcoming-Override, B3) */
.auf-home-ev-card {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    height: 100%;
    background: #FDFAF5;
    border: 1px solid #EADFD0;
    border-radius: 12px;
    padding: 16px;
    text-decoration: none !important;
    transition: border-color .15s, box-shadow .15s;
}
.auf-home-ev-card:hover { border-color: #B5543C; box-shadow: 0 6px 18px rgba(62,50,44,.08); }
.auf-home-ev-card--canceled { opacity: 0.6; }
.auf-home-ev-card .auf-ev-badge { width: 54px; padding: 6px 0 7px; }
.auf-home-ev-card .auf-ev-day { font-size: 1.35rem; }
.auf-home-ev-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.auf-home-ev-name { font-weight: 700; color: #3E322C; line-height: 1.3; }
.auf-home-ev-card:hover .auf-home-ev-name { color: #B5543C; }
.auf-home-ev-date { font-size: 0.82rem; color: #7A6A5F; }
.auf-home-ev-loc { font-size: 0.82rem; color: #2F5B66; }
.auf-home-ev-loc--online {
    align-self: flex-start;
    background: #2F5B66;
    color: #FDFAF5;
    border-radius: 999px;
    padding: 0 10px;
    font-size: 0.75rem;
    font-weight: 700;
    margin-top: 2px;
}
