@import url('fonts/fonts.css');

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Open Sans', sans-serif;
    background-color: #FDF9F1; /* Soft Warm Beige */
    color: #4A4A4A; /* Soft Dark Gray instead of harsh black */
    line-height: 1.8;
    font-size: 18px; /* Larger base font for seniors */
    overflow-x: hidden;
}

h1, h2, h3 { font-family: 'Merriweather', serif; color: #2C5282; /* Calming Trust Blue */ font-weight: 700; }

a { text-decoration: none; color: #DD6B20; /* Warm Orange */ transition: 0.3s; }
a:hover { color: #2C5282; text-decoration: underline; }

/* The Grid Scrambler */
._haupt_struktur {
    display: grid;
    grid-template-columns: 1fr;
}

/* Scrambled Sections via order */
/* Source: Footer(1) -> Hero(2) -> Services(3) -> Nav(4) -> About(5) -> Contact(6) */
._fusszeile_info { order: 6; }
._startbildschirm { order: 2; }
._angebote_block { order: 3; }
._kopfzeile_menue { order: 1; }
._ueber_uns_text { order: 4; }
._kontakt_formular { order: 5; }

/* Navbar */
._kopfzeile_menue {
    background-color: #FFFFFF;
    padding: 25px 10%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 4px solid #E2E8F0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

._logo_text { font-family: 'Merriweather', serif; font-size: 26px; font-weight: 700; color: #2C5282; }
._logo_text span { color: #DD6B20; }

._menue_links { display: flex; gap: 35px; }
._menue_links a { font-size: 18px; font-weight: 600; color: #4A4A4A; }
._menue_links a:hover, ._menue_links a._aktiv { color: #DD6B20; text-decoration: none; border-bottom: 3px solid #DD6B20; padding-bottom: 5px;}

/* Hero */
._startbildschirm {
    padding: 80px 10%;
    display: flex;
    align-items: center;
    gap: 60px;
    background: linear-gradient(135deg, #FEEBC8 0%, #FDF9F1 100%);
}

._text_held { flex: 1; }
._text_held h1 { font-size: 48px; line-height: 1.2; margin-bottom: 25px; color: #2C5282; }
._text_held p { font-size: 22px; color: #4A4A4A; margin-bottom: 40px; }

._warmer_button {
    display: inline-block;
    padding: 18px 40px;
    background-color: #DD6B20;
    color: #FFFFFF !important;
    font-size: 20px;
    font-weight: 700;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(221, 107, 32, 0.3);
    transition: 0.3s;
}
._warmer_button:hover { background-color: #C05621; transform: translateY(-2px); text-decoration: none;}

._bild_held { flex: 1; text-align: center; }
._bild_held img { width: 100%; max-width: 550px; border-radius: 12px; box-shadow: 0 20px 40px rgba(0,0,0,0.08); }

/* Common Sections */
._weisser_block { padding: 80px 10%; background-color: #FFFFFF; text-align: center; }
._weisser_block h2 { font-size: 38px; margin-bottom: 30px; }
._weisser_block > p { max-width: 800px; margin: 0 auto 50px; font-size: 20px; color: #718096; }

/* Services */
._karten_gitter {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
}

._service_karte {
    background-color: #FDF9F1;
    border: 2px solid #EDF2F7;
    padding: 40px 30px;
    border-radius: 12px;
    text-align: left;
    transition: 0.3s;
}
._service_karte:hover { box-shadow: 0 10px 25px rgba(0,0,0,0.05); border-color: #FEEBC8; }

._service_karte h3 { font-size: 24px; margin-bottom: 15px; color: #2C5282; }
._service_karte p { font-size: 18px; color: #4A4A4A; }

/* Contact Form */
._einfaches_formular { max-width: 600px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; text-align: left;}
._einfaches_formular label { font-weight: 600; font-size: 18px; color: #2C5282; margin-bottom: -10px;}
._einfaches_formular input, ._einfaches_formular textarea {
    width: 100%; padding: 18px; background-color: #F7FAFC;
    border: 2px solid #E2E8F0; border-radius: 8px;
    font-family: 'Open Sans', sans-serif; font-size: 18px;
}
._einfaches_formular input:focus, ._einfaches_formular textarea:focus { outline: none; border-color: #DD6B20; background-color: #FFFFFF; }

/* Footer */
._fusszeile_info {
    background-color: #2D3748; color: #A0AEC0; text-align: center; padding: 50px; font-size: 16px;
}
._fusszeile_info a { color: #E2E8F0; margin: 0 20px; font-weight: 600; }
._fusszeile_info a:hover { color: #DD6B20; }

/* Inner Overrides */
._innere_seite ._startbildschirm { padding: 60px 10%; background: none; justify-content: center; min-height: auto;}
._innere_seite ._startbildschirm h1 { text-align: center; margin-bottom: 0;}
._lesetext { max-width: 800px; margin: 0 auto; font-size: 20px; color: #4A4A4A; text-align: left;}
._lesetext p { margin-bottom: 25px; }
._lesetext h2 { font-size: 32px; margin: 50px 0 20px; text-align: left; color: #2C5282;}

@media (max-width: 768px) {
    ._kopfzeile_menue { flex-direction: column; gap: 20px; padding: 20px 5%; }
    ._startbildschirm { flex-direction: column; text-align: center; padding: 40px 5%; }
    ._menue_links { flex-wrap: wrap; justify-content: center; gap: 15px;}
    ._weisser_block { padding: 60px 5%; }
}
