/*
Theme Name: FBG Kalletal
Theme URI: https://fbg-kalletal.de/
Author: Diestelkamp Consulting GmbH
Author URI: https://diestelkamp-consulting.de/
Description: Schlankes, klassisches WordPress-Theme für die Forstbetriebsgemeinschaft Kalletal. Überführt das bestehende Design (Rubik, dunkelrot/grün, Hero-Header, Mosaik-Galerie, FAQ-Accordion, geschützter Mitgliederbereich) in eine saubere, wartbare WordPress-Struktur ohne Page-Builder.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fbg-kalletal
Tags: custom-menu, featured-images, translation-ready, custom-logo, two-columns

Das eigentliche Design liegt modular in /assets/css/ (variables.css, main.css,
faq.css, gallery.css, news.css, member.css) und wird über functions.php
konditional eingebunden. Diese style.css enthält nur den Theme-Header (Pflicht)
sowie ergänzende WordPress-spezifische Stile (Blockeditor, Kommentare, Pagination).
*/

/* WordPress Kern-Klassen (Alignment, Captions, Screenreader) */
.alignleft { float: left; margin: 0.5rem 1.5rem 1rem 0; }
.alignright { float: right; margin: 0.5rem 0 1rem 1.5rem; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide { max-width: 1140px; }
.alignfull { max-width: 100%; }

.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 0.85rem; color: var(--color-secondary); text-align: center; }
.sticky { display: block; }
.gallery-caption { display: block; }
.bypostauthor { display: block; }

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: var(--color-primary);
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #fff;
    display: block;
    font-size: 0.9rem;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Pagination */
.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin: var(--spacing-xl) auto 0;
}

.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.75rem;
    border-radius: 4px;
    background: var(--color-background-alt);
    color: var(--color-heading);
    text-decoration: none;
    font-weight: 500;
    transition: background 0.2s, color 0.2s;
}

.pagination .page-numbers:hover,
.pagination .page-numbers:focus {
    background: var(--color-primary);
    color: var(--color-white);
}

.pagination .page-numbers.current {
    background: var(--color-primary);
    color: var(--color-white);
}

/* Elementor-Buttons: von wpautop eingefügte <br> neutralisieren (sonst zu hoch) */
.elementor-button br,
.btn br { display: none; }

/* Passwortgeschützte Standard-Beiträge (WordPress-Bordmittel) */
.post-password-form label { display: block; margin-bottom: var(--spacing-sm); font-weight: 500; color: var(--color-heading); }
.post-password-form input[type="password"] { padding: 0.5rem 0.75rem; border: 1px solid #ccc; border-radius: 3px; margin-right: 0.5rem; }

/* Navigation: aktiver Menüpunkt (WordPress-Klassen -> Original-Optik) */
.nav-menu .current-menu-item > a,
.nav-menu .current_page_item > a,
.nav-menu .current-menu-ancestor > a,
.nav-menu .current-page-ancestor > a {
    background: rgba(255, 255, 255, 0.15);
    color: var(--color-white);
}

/* Seiten-Titel (page.php) und generische H1 im Content */
.page-content > article > .page-title,
.page-content h1.page-title {
    color: var(--color-heading);
    font-size: var(--font-size-h2);
    font-weight: 600;
    margin: 0 0 var(--spacing-lg);
    text-transform: uppercase;
    line-height: 1.2;
}

/* Galerie-Intro (analog zur News-/FAQ-Intro) */
.gallery-page__intro { margin-bottom: var(--spacing-lg); }
.gallery-page__intro h1 {
    color: var(--color-heading);
    font-size: var(--font-size-h2);
    text-transform: uppercase;
    margin: 0 0 var(--spacing-md);
}
.gallery-page__intro p,
.gallery-page__intro .entry-content { color: var(--color-secondary); }

/* Mitgliederbereich-Intro */
.member-area__intro { margin-bottom: var(--spacing-lg); }
.member-area__intro h1 {
    color: var(--color-heading);
    font-size: var(--font-size-h2);
    text-transform: uppercase;
    margin: 0 0 var(--spacing-md);
}

.term-description { color: var(--color-secondary); }
.error-404-search { margin-top: var(--spacing-xl); }

/* Suchformular */
.search-form__row { display: flex; gap: 0.5rem; flex-wrap: wrap; max-width: 520px; }
.search-field {
    flex: 1;
    min-width: 0;
    padding: 0.6rem 0.85rem;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-family: inherit;
    font-size: 1rem;
}
.search-field:focus { outline: 2px solid var(--color-primary); border-color: var(--color-primary); }
.search-submit { flex-shrink: 0; margin: 0; }
