/* =====================================================================
 * home.css
 * -----------------------------------------------------------------
 * NUR das, was wirklich spezifisch fuer die Startseite ist: der
 * Hero-Suchbereich (Bundesland-DROPDOWN, Staedte-Slider) und der
 * "Unsere Werte"-Bereich. Header/Menue, Tabs, Karten-Grid, generisches
 * Suchfeld etc. liegen in dark-theme.css (wird IMMER zusaetzlich
 * eingebunden).
 * Klassen/IDs mit "fcg_"-Prefix.
 * ===================================================================== */

/* =====================================================================
 * Hero-Bereich ganz oben auf der Startseite
 * -----------------------------------------------------------------
 * Hintergrundbild: /assets/images/hero-bg.jpg (noch nicht vorhanden -
 * bis dahin greift die dunkle background-color als Platzhalter,
 * kein kaputtes Bild-Icon). Einfach die Datei dort ablegen, sobald
 * das echte Foto da ist - kein Code-Aenderung noetig.
 * ===================================================================== */

.fcg_hero {
    position: relative;
    width: 100%;
    min-height: 640px;
    overflow: hidden;
    background-color: #1a0f18;
    background-image: url('/assets/images/hero-bg.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 30px 25px;
}

.fcg_hero-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(180deg, rgba(20, 10, 18, 0.2) 0%, rgba(20, 10, 18, 0.55) 75%, rgba(20, 10, 18, 0.75) 100%);
    pointer-events: none;
}

.fcg_hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 460px;
}

.fcg_hero-eyebrow {
    color: #e8e0e5;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin: 0 0 10px 0;
}

.fcg_hero-title {
    font-family: "Playfair Display", serif;
    font-weight: 700;
    color: #e8e0e5;
    font-size: 60px;
    letter-spacing: 2px;
    margin: 0 0 15px;
    text-transform: uppercase;
    line-height: 1.1;
}

.fcg_hero-subtitle-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 15px;
}

.fcg_hero-line {
    width: 30px;
    height: 1px;
    background: #5c3a52;
}

.fcg_hero-subtitle {
    font-weight: 600;
    color: #e8e0e5;
    letter-spacing: 4px;
}

.fcg_hero-tagline {
    font-weight: 400;
    color: #e8e0e5;
    margin: 30px 0;
}

.fcg_hero-button {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: #5c3a52;
    border: 1px solid #5c3a52;
    font-weight: 700;
    color: #e8e0e5;
    text-decoration: none;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 15px 30px;
    border-radius: 15px;
    backdrop-filter: blur(5px);
}


/* --- Hero / Suche-Bereich --- */
#fcg_wrapper-suche {
    margin: 0 auto;
    width: 100%;
    max-width: 1428px;
    padding: 15px;
    background: #1a0f18;
    box-sizing: border-box;
}

.fcg_suche-bereich {
    padding: 30px 0;
    box-sizing: border-box;
    color: #e8e0e5;
    text-align: center;
}

/* --- Ueberschriften (Hero-spezifisch, andere Struktur als .fcg_seite-titel) --- */
.fcg_suche-eyebrow h3 {
    color: #e8e0e5;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin: 0 0 15px 0;
}

.fcg_suche-titel {
    font-family: "Playfair Display", serif;
    font-weight: 700;
    text-align: center;
    margin: 0 0 15px 0;
    font-size: 30px;
}

.fcg_suche-untertitel {
    font-weight: 400;
    margin: 0 0 30px 0;
}

/* --- Karte, die den Slider umschliesst --- */
.fcg_region-karte {
    border-radius: 15px;
    padding: 0;
}

/* --- Bundesland-DROPDOWN im Hero (anders als die Tabs auf /bundeslaender!) --- */
.fcg_bundesland-auswahl {
    position: relative;
    text-align: center;
    margin-bottom: 15px;
}

.fcg_bundesland-button {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: #5c3a52;
    border: 1px solid #5c3a52;
    font-weight: 700;
    font-size: 16px;
    color: #e8e0e5;
    padding: 15px 20px;
    border-radius: 15px;
    cursor: pointer;
}

.fcg_bundesland-button-pfeil {
    font-size: 12px;
    transition: transform 0.2s ease;
    display: inline-block;
}

.fcg_bundesland-button.fcg_offen .fcg_bundesland-button-pfeil {
    transform: rotate(180deg);
}

.fcg_bundesland-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    background: #1a0f18;
    border: 1px solid #5c3a52;
    border-radius: 15px;
    width: 260px;
    max-height: 300px;
    overflow-y: auto;
    z-index: 50;
    padding: 5px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
    text-align: left;
}

.fcg_bundesland-dropdown.fcg_offen {
    display: block;
}

.fcg_bundesland-item {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    font-weight: 400;
    font-size: 16px;
    color: #e8e0e5;
    border-radius: 15px;
}

.fcg_bundesland-item:hover {
    background: #5c3a52;
}

/* --- Staedte-Slider (Hero) --- */
.fcg_region-slider {
    display: flex;
    gap: 15px;
    overflow-x: auto;
    padding: 0 20px 15px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.35) rgba(255, 255, 255, 0.08);
}

.fcg_region-slider::-webkit-scrollbar {
    height: 6px;
}

.fcg_region-slider::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 999px;
}

.fcg_region-slider::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.35);
    border-radius: 999px;
}

.fcg_region-karte-item {
    position: relative;
    flex: 0 0 auto;
    width: 160px;
    height: 220px;
    border-radius: 15px;
    overflow: hidden;
    scroll-snap-align: start;
    display: block;
    text-decoration: none;
}

.fcg_region-karte-bundesland {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #1a0f18;
    color: #e8e0e5;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 15px;
    z-index: 2;
    text-align: left;
}

.fcg_region-karte-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 55%;
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.75) 90%);
    z-index: 1;
}

.fcg_region-karte-stadt {
    position: absolute;
    bottom: 12px;
    left: 0;
    right: 0;
    z-index: 2;
    text-align: center;
    font-family: "Playfair Display", serif;
    font-weight: 700;
    color: #e8e0e5;
    font-size: 18px;
}


/* =====================================================================
 * "Unsere Werte" + "Vertrauen & Sicherheit"
 * ===================================================================== */

#fcg_wrapper-werte {
    margin: 0 auto;
    width: 100%;
    max-width: 1428px;
    padding: 15px;
    box-sizing: border-box;
}

.fcg_werte {
    padding: 30px 0;
    box-sizing: border-box;
    color: #e8e0e5;
}

.fcg_werte-titel {
    font-family: "Playfair Display", serif;
    font-weight: 700;
    text-align: center;
    font-size: 30px;
    margin-bottom: 0px;
}

.fcg_werte-abschnitt {
    margin-bottom: 30px;
}

.fcg_werte-abschnitt-kopf {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.fcg_werte-abschnitt-titel {
    font-family: "Playfair Display", serif;
    font-weight: 700;
    font-size: 20px;
    white-space: nowrap;
}

.fcg_werte-abschnitt-linie {
    flex: 1 1 auto;
    height: 1px;
    background: #5c3a52;
    margin-top: 5px;
}

.fcg_werte-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.fcg_werte-item {
    font-weight: 400;
    border: 1px solid #5c3a52;
    border-left: 2px solid #b090b0;
    border-radius: 0 10px 10px 0;
    padding: 0px 20px;
    font-size: 16px;
}

.fcg_werte-trenner {
    height: 1px;
    margin: 60px 0;
    background: #5c3a52;
}

.fcg_vertrauen {
    text-align: center;
}

.fcg_vertrauen-eyebrow h3 {
    color: #e8e0e5;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin: 0 0 15px 0;
}

.fcg_vertrauen-titel {
    font-family: "Playfair Display", serif;
    font-weight: 700;
    margin: 0 0 30px 0;
    font-size: 30px;
}

.fcg_vertrauen-inhalt {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 60px;
    text-align: left;
}

.fcg_vertrauen-badge {
    flex: 0 0 auto;
    width: 160px;
    text-align: center;
}

.fcg_vertrauen-badge-icon {
    position: relative;
    width: 50px;
    height: 50px;
    margin: 0 auto 15px;
    border-radius: 50%;
    color: #e8e0e5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    font-weight: 700;
}

.fcg_vertrauen-badge-titel h2 {
    font-family: "Playfair Display", serif;
    font-weight: 700;
    padding: 0;
    margin: 0 0 5px 0;
    font-size: 20px;
}

.fcg_vertrauen-badge-text p {
    font-weight: 400;
    font-size: 16px;
    padding: 0;
    margin: 0;
}

.fcg_vertrauen-liste {
    flex: 1 1 320px;
    max-width: 480px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.fcg_vertrauen-item {
    border-left: 1px solid #5c3a52;
    padding-left: 15px;
}

.fcg_vertrauen-item-titel p {
    font-weight: 700;
    font-size: 16px;
    padding: 0;
    margin: 0 0 5px 0;
}

.fcg_vertrauen-item-text p {
    font-weight: 400;
    font-size: 16px;
    padding: 0;
    margin: 0;
}
