:root {
    --color-deep-teal: #1a2e35;
    --color-coral-red: #ff5a5f;
    --color-saffron: #f7b733;
    --color-white: #ffffff;
    --color-light-grey: #f5f5f5;
    --color-light-blue-grey: #eff4f7;
    --text-dark: #333;
    --text-light: #666;
    --border-radius-soft: 8px;
    --border-radius-large: 12px;
    
    /* === CULORILE LIPSĂ ADĂUGATE AICI === */
    --color-teal-vibrant: #00a092; 
    --color-blood-red: #b91c1c;
}


body {
    font-family: "Public Sans", sans-serif;
    line-height: 1.7;
    color: var(--text-dark);
    background-color: var(--color-light-grey);
    margin: 0;
    padding-top: 82px !important; /* Păstrăm acest padding pentru navbar */
    scroll-behavior: smooth;
    overflow-x: hidden;

    /* --------- NOUL COD PENTRU STICKY FOOTER --------- */
    /* Transformăm <body> într-un container flexibil */
    display: flex;
    /* Aliniem elementele (header, main, footer) pe verticală */
    flex-direction: column;
    /* Asigurăm că <body> are cel puțin înălțimea ecranului */
    min-height: 100vh;
}

/* NOU: Regulă pentru elementul <main> */
/* Aceasta este cheia soluției */
main {
    /* Îi spunem elementului <main> să crească și să ocupe tot spațiul gol disponibil */
    flex-grow: 1;
}

/* ================================================= */
/*          CLASE UTILITARE GENERALE                 */
/* ================================================= */

/* Clasă universală pentru a centra orice text */
.text-center {
    text-align: center !important;
}

/* NOU: Clasă pentru a mări un titlu de secțiune */
.title-enlarged {
    /* Folosim clamp() pentru o dimensiune responsive: 
       - minim 2.5em
       - crește cu 5% din lățimea ecranului (5vw)
       - maxim 3em
    */
    font-size: clamp(2.5em, 5vw, 3em) !important;
    
    /* O înălțime de linie mai mică pentru un aspect compact */
    line-height: 1.2 !important;
    
    /* Mai mult spațiu dedesubt pentru a "respira" */
    margin-bottom: 30px !important;
}