:root {
    --brand-blue: #002BB5;
    --brand-cyan: #00EEFF;
    --bg-light: #F4F7F9;
    --text-dark: #2D3436;
}

* { box-sizing: border-box; }

body { 
    margin: 0; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; 
    background-color: var(--bg-light);
    color: var(--text-dark);
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Header */
header { 
    background: #FFF; 
    padding: 1rem 5%; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.logo { height: 60px; }

/* Menu */
.menu { display: none; position: absolute; top: 80px; left: 0; width: 100%; background: #FFF; z-index: 100; padding: 20px; }
.menu.active { display: block; }
.menu ul { list-style: none; padding: 0; margin: 0; }
.menu li { border-bottom: 1px solid #EEE; text-align: center; }
.menu a { text-decoration: none; color: var(--brand-blue); display: block; padding: 15px; font-weight: 600; }

/* Main Content */
main { flex: 1; padding: 3rem 5%; max-width: 1100px; margin: 0 auto; width: 100%; }

/* Grid & Cards (Pour Services et Tarifs) */
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; }
.card { background: #FFF; padding: 2rem; border-radius: 12px; border-top: 5px solid var(--brand-blue); box-shadow: 0 10px 15px rgba(0,0,0,0.05); }

/* Footer */
footer { background: var(--brand-blue); color: #FFF; padding: 3rem 5%; margin-top: auto; }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; }
.main_span { color: var(--brand-cyan); font-weight: bold; display: block; }
/* Correction stricte pour éviter les débordements */
.card img {
    max-width: 100%;       /* L'image ne dépassera jamais la largeur de la carte */
    height: auto;          /* Conserve les proportions de l'image */
    display: block;        /* Supprime l'espace vide sous l'image */
    object-fit: contain;   /* L'image entière est visible sans être rognée */
    margin: 0 auto 15px;   /* Centre l'image et ajoute une marge dessous */
}

/* S'assure que la carte elle-même ne déborde pas */
.card {
    overflow: hidden;      /* Cache tout ce qui dépasserait par erreur */
    width: 100%;           /* La carte prend toute la place disponible */
}
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.contact-form input, 
.contact-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-family: inherit;
  	resize:none;
}

.submit-btn {
    background-color: var(--brand-blue);
    color: white;
    padding: 15px;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.3s;
}

.submit-btn:hover {
    background-color: #001a66;
}