* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body {
    line-height: 1.2;
    height: 2000px;
}
body::before {
    content: "";
    display: block;
    height: clamp(5em, 4vh, 120px); /* gleiche Höhe wie Header */
}
@media (max-width: 1600px) {
    body::before {
        content: "";
        display: block;
        height: clamp(4rem, 3.9%, 250px); /* gleiche Höhe wie Header */
    }
}
@media (max-width: 880px) {
    body::before {
        content: "";
        display: block;
        height: clamp(4em, 2vh, 120px); /* gleiche Höhe wie Header */
    }
}

/*header*/
header {
    position: fixed;
    top: 0;
    width: 100%;
    background: #ACB090;
    display: flex;
    align-items: center;
    padding: 1rem 4%;
    font-size: clamp(0.8rem, 1.2vw, 2rem);
    z-index: 1000;
}
#logo {
    display: none;
    width: clamp(150px, 12vw, 250px);
    position: absolute;
    top: 2%;
    left: 4%;
    z-index: 1010;
}
#Logobrow {
    width: clamp(200px, 12vw, 350px);
    position: fixed;
    top: 0.25%;
    left: 4%;
    z-index: 1010;
}
#logo.fixed{
  position: fixed;
  top: 0%;
  left: 4%;
  z-index: 1010;
}
#navöffner {
    display: none;
    font-size: clamp(1.5rem, 1.2vw, 2rem);
    background: none;
    border: none;
    cursor: pointer;
    color: #3A523C;
}
nav {
    align-items: center;
    margin: 0 auto 0 30%;
    display: flex;
    gap: 7.5vw;
}
nav a {
    color: #5B5B5B;
    text-decoration: none;
}
a:hover {color: black;}
#headerbutton {
    margin-left: 5vw;
    padding: 0.75rem 2rem;
    border: none;
    border-radius: 8px;
    background: #3A523C;
    color: white;
    cursor: pointer;
    font-size: clamp(0.8rem, 1.2vw, 3rem);
}
@media (max-width: 880px) {
    #Logobrow{display: none;}
    #headerbutton {
        margin: 0;
        align-self: end;
        padding: 0.75rem 2rem;
    }
    #logo {
        width: 100px;
        display: block;
    }
    nav {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #ACB090;
        display: flex;
        flex-direction: column;
        text-align: right;
        gap: 1rem;
        overflow: hidden;
        max-height: 0;
        z-index: 100;
        font-size: 1rem;
        margin: 0 auto;
        align-items: normal;
    }
    nav.open {
        max-height: 300px;
        padding: 1.5rem 10%;
    }
    #navöffner {
        display: block;
        margin-left: auto;
        margin-right: 5%;
    }
}

/*Section*/
main {
    display: block;
    width: 95%;
    margin: auto;
    background-color: white;
    box-shadow: 10px 10px 20px 20px rgba(0, 0, 0, 0.2);
}
section {scroll-margin-top: 30vh;}
@media (max-width: 880px) {main {width: 100%;}}

/*Section1*/
#section1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    color: white;
    gap: 5%;
    border-top: 0.8vh solid #5E4B3B;
    border-bottom: 0.8vh solid #5E4B3B;
    background: linear-gradient(135deg, #1F2F1E 0%, #273D26 40%, #315033 100%);
}
#sprühflasche {width: clamp(315px, 30vw, 50rem);}
#section1textbox {flex: 1;}
#section1ueberschrift {
    font-size: clamp(4rem, 5vw, 10rem);
    margin: 0;
}
#section1text {
    font-size: clamp(2rem, 3vw, 6rem);
    margin-top: 1.5rem;
}
@media (max-width: 720px) {
    #sprühflasche {width: clamp(50%, 32vw, 50rem);}
    #section1ueberschrift {font-size: clamp(2rem, 7vw, 10rem);}
    #section1text {font-size: clamp(1.2rem, 4vw, 6rem);}
}
@media (max-width: 380px) {#sprühflasche {width: 100vw;}}

/*Section2*/
#section2 {
    background-color: #FDF8F4;
    padding: 4em 2em 4em 2em;
    color:#5E4B3B;
}
#section2ueberschrift {
    font-size: clamp(2.5rem, 5vw, 10rem);
    position: absolute;
    background-color: #FDF8F4;
    margin-left: 0.5em;
}
#section2text {
    border: 2px dashed #5E4B3B;
    border-radius: 50px;
    padding: 1.2em;
    font-size: clamp(1rem, 2vw, 10rem);
    margin: 2em 0 0 0 ;
}

/*Section3*/
#section3 {
    background: linear-gradient(135deg, #1F2F1E 0%, #273D26 40%, #315033 100%);
    padding: 3em 2em 3em 2em;
    color: white;
}
#section3ueberschrift {
    font-size: clamp(2.5rem, 5vw, 10rem);
    margin-bottom: 0.5em;
}
#section3box {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 0.25fr));
    gap: 2rem;
}
.section3Leistungen {
    background: #ACB090;
    padding: 2.5rem;
    border-radius: 100px;
    text-align: center;
    height: 100%;
}
.section3Leistungen h1 {
    margin-bottom: 0.5em;
    font-size: clamp(1rem, 2.2vw, 10rem);
}
.section3Leistungen p {font-size: clamp(1rem, 1.4vw, 10rem);}
@media (max-width: 1200px) {.section3Leistungen h1 {font-size: clamp(1rem, 1.8vw, 10rem);}}
@media (max-width: 630px) {.section3Leistungen h1 {font-size: clamp(1rem, 4vw, 10rem);}}
@media (max-width: 1048px) {
    #section3box {grid-template-columns: repeat(auto-fit, minmax(40vw, 1fr));}
    .section3Leistungen {border-radius: 75px;}
}

/*sectionpakete*/
#sectionpaketebox {
    display: block;
    background-color: #FDF8F4;
    padding: 3em 2em 3em 2em;
}
#sectionpaketeüberschrift1 {
    font-size: clamp(2.5rem, 5vw, 10rem);
    margin-bottom: 0.5em;
    text-decoration: underline 5%;
}
#sectionpaketeüberschrift2 {display: none;}
.sectionpaketediv {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 0.35fr));
    gap: 2rem;
    justify-content: center;
}
.sectionpakete1, .sectionpakete2, .sectionpakete3 {
    border-radius: 90px;
    height: 100%;
    padding: 3rem;
    box-shadow: 4px 4px #d1c2b5;
}
.sectionpaketekategorie {
    font-size: clamp(2rem, 4vw, 10rem);
    margin-bottom: 0.5em;
    margin: 7.5vh 0 2vh 0;
}
.sectionpakete1 {
    border: 2px solid #b89c8694;
    background-color: white;
    color: #2d3f2e;
}
.sectionpakete1 h2 {background-color: #b89c8694;}
.sectionpakete2 {
    border: 2px solid #a2c4a58a;
    background-color: #a2c4a58a;
    color: #2d3f2e;
}
.sectionpakete2 h2 {background-color: #6094658a;}
.sectionpakete3 {
    border: 2px solid #273D26;
    background-color: #273D26;
    color: white;
}
.sectionpakete3 h2 {
    background-color: #FDF8F4;
    color: #2d3f2e;
}
.sectionpaketediv h2 {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    border-radius: 100px;
    margin: 0 0 1rem 0;
    font-size: clamp(1rem, 2.2vw, 10rem);
}
.sectionpaketediv li {font-size: clamp(1rem, 1.4vw, 10rem);}
@media (max-width: 1048px) {.sectionpaketediv {
    grid-template-columns: repeat(auto-fit, minmax(10%, 2fr));}
    .sectionpaketediv h2 {font-size: clamp(2rem, 1.8vw, 10rem);}
}
@media (max-width: 768px) {
    .sectionpaketediv {grid-template-columns: repeat(auto-fit, minmax(40vw, 2fr));}
    .sectionpaketediv h2 {font-size: clamp(2rem, 4vw, 10rem);}
}
@media (max-width: 420px) {
    #sectionpaketeüberschrift1 {display: none;}
    #sectionpaketeüberschrift2 {
        display: block;
        font-size: clamp(2.5rem, 5vw, 10rem);
        margin-bottom: 0.5em;
        text-decoration: underline 5%;
    }
}
/*Section 4*/
#section4 {
    padding: 4vh 1vw 4.5vh 1vw;
    border-bottom: 0.8vh solid #5E4B3B;
}
#section4ueberschrift {font-size: clamp(2.5rem, 3vw, 10rem);}
#section4box {
    margin: 2vh 0;
    display: flex;
    text-align: center;
    font-size: clamp(1rem, 1.5vw, 10rem);
}
.step img {width: clamp(10%, 10vw, 10rem);}
.pfeil {
    font-size: clamp(2.5rem, 3vw, 10rem);
    align-self: center;
}
#ablaufimg {display: none;}
@media (max-width: 768px) {
    #section4box {display: block;}
    #section4ueberschrift {font-size: clamp(2.5rem, 5vw, 10rem);}
    #section4box .step, .pfeil {display: none;}
    #ablaufimg {
        display: block;
        width: clamp(50%, 10vw, 20rem);
        margin-left: auto;
        margin-right: auto;
    }
}

/*Section 5*/
#sectionfooter {
    padding: 3vh 1vw;
    line-height: 2;
    background-color: #ACB090;
}
#Copyright {font-weight: bolder;}
#sectionfooter a {
    color: black;
}

/*Kontaktformular*/
#kontaktformular {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2000;
    padding: clamp(1rem, 4vh, 3rem) 1rem;
    overflow-y: auto;
    overflow-x: hidden;
    background: rgba(31, 47, 30, 0.62);
    backdrop-filter: blur(3px);
    color: #273D26;
}
#kontaktformularbox {
    position: relative;
    width: min(92vw, 760px);
    margin: auto;
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid #d7c6b8;
    border-radius: 24px;
    background: #FDF8F4;
    box-shadow: 0 28px 70px rgba(16, 27, 17, 0.36);
}
#kontaktformularclose {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid rgba(39, 61, 38, 0.18);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.52);
    color: #273D26;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 160ms ease, transform 160ms ease;
}
#kontaktformularclose:hover {
    background: white;
    transform: rotate(90deg);
}
#kontaktformularüberschrift {
    font-size: clamp(2.2rem, 4vw, 4.5rem);
    text-align: center;
    margin: 0;
    line-height: 1;
}
#kontaktformulartext {
    max-width: 34rem;
    margin: 1rem auto 2rem auto;
    color: #5E4B3B;
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    line-height: 1.4;
    text-align: center;
}
#kontaktformulareingabe {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
#kontaktformulareingabe input,
#kontaktformulareingabe textarea {
    width: 100%;
    border: 1px solid #d7c6b8;
    border-radius: 12px;
    background: white;
    color: #273D26;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.3;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}
#kontaktformulareingabe input {
    min-height: 3.25rem;
    padding: 0.8rem 1rem;
}
#kontaktformulareingabe textarea {
    grid-column: 1 / -1;
    resize: none;
    min-height: 9rem;
    padding: 1rem;
}
#kontaktformulareingabe input:focus,
#kontaktformulareingabe textarea:focus {
    outline: none;
    border-color: #3A523C;
    background: #fffefc;
    box-shadow: 0 0 0 4px rgba(58, 82, 60, 0.14);
}
#kontaktformulareingabe input::placeholder,
#kontaktformulareingabe textarea::placeholder {
    color: #6f7668;
}
#kontaktformularbutton {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 3.25rem;
    margin-top: 0.25rem;
    padding: 0.85rem 2.2rem;
    border: none;
    border-radius: 8px;
    background: #3A523C;
    color: white;
    cursor: pointer;
    font-family: inherit;
    font-size: 1.15rem;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(31, 47, 30, 0.18);
    transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}
#kontaktformularbutton:hover {
    background: #273D26;
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(31, 47, 30, 0.25);
}
#telefon::-webkit-outer-spin-button, #telefon::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
@media (max-width: 768px) {
    #kontaktformularbox {padding: 3.75rem 1.25rem 1.5rem 1.25rem;}
    #kontaktformularüberschrift {font-size: clamp(2rem, 8vw, 3rem);}
    #kontaktformulartext {
        margin-bottom: 1.35rem;
        font-size: 1rem;
    }
    #kontaktformulareingabe {grid-template-columns: 1fr;}
    #kontaktformularbutton {
        width: 100%;
        justify-self: stretch;
    }
}
