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

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

body._corp_eco {
    font-family: 'Open Sans', sans-serif;
    background-color: #FAFAFA;
    color: #333333;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    /* Visual Order */
    grid-template-areas: 
        "header"
        "hero"
        "services"
        "about"
        "contact"
        "footer";
    min-height: 100vh;
}

/* Fallback for subpages without all sections */
body._corp_sub {
    font-family: 'Open Sans', sans-serif;
    background-color: #FAFAFA;
    color: #333333;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: 
        "header"
        "content"
        "footer";
    min-height: 100vh;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Quicksand', sans-serif;
    color: #1B5E20; /* Deep eco green */
}

a {
    color: #2E7D32;
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: #4CAF50;
}

/* Grid Area Assignments (HTML order is completely scrambled in PHP) */
._meniu_sus_eco { grid-area: header; }
._ero_zona_curat { grid-area: hero; }
._servicii_profunde { grid-area: services; }
._despre_noi_pur { grid-area: about; }
._contact_lista { grid-area: contact; }
._subsol_verde { grid-area: footer; }
._continut_pagina { grid-area: content; padding: 60px 10%; }

/* Header */
._meniu_sus_eco {
    background-color: #FFFFFF;
    padding: 20px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 15px rgba(0,0,0,0.05);
    position: sticky;
    top: 0;
    z-index: 100;
}

._meniu_sus_eco ._logo_text {
    font-size: 26px;
    font-weight: 700;
    color: #2E7D32;
    font-family: 'Quicksand', sans-serif;
}

._meniu_sus_eco nav ul {
    list-style: none;
    display: flex;
    gap: 25px;
}

._meniu_sus_eco nav ul li a {
    font-weight: 600;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Hero */
._ero_zona_curat {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 5%;
    background-color: #E8F5E9; /* Light mint */
    gap: 40px;
}

._ero_text_bloc {
    flex: 1;
    max-width: 600px;
}

._ero_text_bloc h1 {
    font-size: 44px;
    margin-bottom: 25px;
    line-height: 1.2;
}

._ero_text_bloc p {
    font-size: 18px;
    margin-bottom: 35px;
    line-height: 1.7;
    color: #555;
}

._buton_eco {
    display: inline-block;
    padding: 16px 35px;
    background-color: #2E7D32;
    color: #FFF !important;
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 30px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(46, 125, 50, 0.3);
}

._buton_eco:hover {
    background-color: #1B5E20;
    transform: translateY(-2px);
}

._ero_img_bloc {
    flex: 1;
    text-align: center;
}

._ero_img_bloc img {
    max-width: 100%;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

/* Services */
._servicii_profunde {
    padding: 80px 5%;
    background-color: #FFFFFF;
    text-align: center;
}

._servicii_profunde h2 {
    font-size: 38px;
    margin-bottom: 50px;
}

._grila_servicii {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
}

._card_serviciu {
    background-color: #FAFAFA;
    padding: 40px 30px;
    border-radius: 15px;
    border: 1px solid #E0E0E0;
    transition: all 0.3s ease;
}

._card_serviciu:hover {
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    border-color: #81C784;
}

._card_serviciu h3 {
    font-size: 22px;
    margin-bottom: 15px;
    color: #2E7D32;
}

._card_serviciu p {
    color: #666;
    line-height: 1.6;
}

/* About */
._despre_noi_pur {
    padding: 80px 5%;
    background-color: #F1F8E9;
    text-align: center;
}

._despre_noi_pur h2 {
    font-size: 38px;
    margin-bottom: 30px;
}

._despre_noi_pur p {
    font-size: 18px;
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.8;
    color: #444;
}

/* Contact */
._contact_lista {
    padding: 80px 5%;
    background-color: #FFFFFF;
    text-align: center;
}

._contact_lista h2 {
    font-size: 38px;
    margin-bottom: 40px;
}

._formular_eco {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

._formular_eco input, ._formular_eco textarea {
    width: 100%;
    padding: 16px;
    background-color: #FAFAFA;
    border: 1px solid #CCC;
    color: #333;
    font-family: 'Open Sans', sans-serif;
    border-radius: 8px;
}

._formular_eco input:focus, ._formular_eco textarea:focus {
    outline: none;
    border-color: #4CAF50;
    box-shadow: 0 0 8px rgba(76, 175, 80, 0.2);
}

/* Footer */
._subsol_verde {
    background-color: #1B5E20;
    padding: 40px 5%;
    text-align: center;
    color: #E8F5E9;
}

._subsol_verde p {
    margin-bottom: 20px;
    opacity: 0.9;
}

._subsol_verde a {
    color: #A5D6A7;
    margin: 0 15px;
    font-size: 14px;
}

._subsol_verde a:hover {
    color: #FFFFFF;
}

/* Inner pages styles */
._continut_pagina h1 {
    font-size: 40px;
    margin-bottom: 30px;
}
._continut_pagina h2 {
    font-size: 28px;
    margin: 40px 0 20px;
}
._continut_pagina p, ._continut_pagina ul {
    font-size: 17px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 20px;
}
._continut_pagina ul {
    padding-left: 20px;
}

@media (max-width: 768px) {
    ._ero_zona_curat {
        flex-direction: column;
        text-align: center;
        padding: 40px 5%;
    }
    ._meniu_sus_eco {
        flex-direction: column;
        gap: 20px;
    }
}
