/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
:root {
  --color-primary: #5557cc;
  --color-background: #2c3e50 ;
  --color-background-section: #88a9ca ;
  --color-grey: #2C2121;
  --color-light-grey: ##BEBBB7;
  --color-white: #fff;
  --color-dark: #111111;
  --color-black: #000;
  --color-primary-light: #bfb286;
}



/* external Fonts */
@import url('https://fonts.googleapis.com/css2?family=Roboto@display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border-radius: 0 0 0 0;
}

body{
    /* margin: 0.5em; */
    font-family: "Roboto" , sans-serif;
    /* text-align: center;   */
  /* font-family: "Open Sans", sans-serif; */
  /* font-family: "Raleway", sans-serif; */
  /* color: #444444; */
  color: var(--color-primary);

}


       body {
            font-family: Arial, sans-serif;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        /* === HEADER === */
        header {
            background-color: var(--color-background) ;
            color: #ecf0f1;
            padding: 0 20px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            position: sticky;
            top: 0;
            z-index: 1000;
        }

        .header-content {
            display: flex;
            justify-content: space-between;
            align-items: center;
            max-width: 1200px;
            margin: 0 auto;
            height: 70px;
        }

        /* Logo */
        .logo {
            font-size: 24px;
            font-weight: bold;
            color: #3498db;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .logo:hover {
            color: #5dade2;
        }

        /* Navigation */
        nav ul {
            display: flex;
            list-style: none;
            gap: 30px;
            align-items: center;
        }

        nav li {
            position: relative;
        }

        nav a {
            color: #ecf0f1;
            text-decoration: none;
            font-size: 16px;
            font-weight: 500;
            padding: 10px 15px;
            border-radius: 4px;
            transition: all 0.3s ease;
            display: block;
        }

        nav a:hover {
            background-color: #34495e;
            color: #3498db;
        }

        nav a.active {
            background-color: #3498db;
            color: white;
        }

        /* Bouton CTA */
        .cta-button {
            background-color: #3498db;
            color: white !important;
            padding: 10px 20px !important;
            border-radius: 4px;
            font-weight: bold;
            transition: background-color 0.3s ease;
        }

        .cta-button:hover {
            background-color: #2980b9 !important;
            color: white !important;
        }

        /* Menu burger (mobile) */
        .menu-toggle {
            display: none;
            flex-direction: column;
            cursor: pointer;
            gap: 5px;
        }

        .menu-toggle span {
            width: 25px;
            height: 3px;
            background-color: #ecf0f1;
            transition: all 0.3s ease;
            border-radius: 2px;
        }

        /* === MAIN CONTENT === */
        main {
            flex: 1;
            padding: 40px 20px;
            background-color: #ecf0f1;
        }

        .content-wrapper {
            max-width: 1200px;
            margin: 0 auto;
        }

        main h1 {
            color: #2c3e50;
            margin-bottom: 20px;
        }

        main p {
            color: #555;
            line-height: 1.6;
            margin-bottom: 15px;
        }

        /* Section Services */
        #services {
            flex: 1;
            padding: 40px 20px;
            /* background-color: #7ad0e6; */
            background-color: var(--color-background-section) ;
        }

        #services h1 {
            color: #ffffff;
            margin-bottom: 20px;
        }

        #services p {
            color: #fff;
            line-height: 1.6;
            margin-bottom: 15px;
        }

     /* portfolio Services */
        #portfolio {
            flex: 1;
            padding: 40px 20px;
            background-color: #ecf0f1;
        }

        #portfolio h1 {
            color: #2c3e50;
            margin-bottom: 20px;
        }

        #portfolio p {
            color: #555;
            line-height: 1.6;
            margin-bottom: 15px;
        }

             /* blog Services */
        #blog {
            flex: 1;
            padding: 40px 20px;
            background-color: var(--color-background-section) ;
        }

        #blog h1 {
            color: #fff;
            margin-bottom: 20px;
        }

        #blog p {
            color: #fff;
            line-height: 1.6;
            margin-bottom: 15px;
        }

             /* About Services */
        #about {
            flex: 1;
            padding: 40px 20px;
            background-color: #ecf0f1;
        }

        #about h1 {
            color: #2c3e50;
            margin-bottom: 20px;
        }

        #about p {
            color: #555;
            line-height: 1.6;
            margin-bottom: 15px;
        }
      

        /* === FOOTER === */
        footer {
            background-color: #2c3e50;
            color: #ecf0f1;
            padding: 30px 20px;
            text-align: left;
        }

        footer p {
            color: #95a5a6;
            font-size: 14px;
        }

        /* === RESPONSIVE === */
        @media (max-width: 768px) {
            .menu-toggle {
                display: flex;
            }

            nav {
                position: absolute;
                top: 70px;
                left: 0;
                right: 0;
                background-color: #2c3e50;
                max-height: 0;
                overflow: hidden;
                transition: max-height 0.3s ease;
            }

            nav.active {
                max-height: 500px;
                border-top: 1px solid #34495e;
            }

            nav ul {
                flex-direction: column;
                gap: 0;
                padding: 20px 0;
            }

            nav li {
                width: 100%;
            }

            nav a {
                width: 100%;
                padding: 15px 20px;
                border-radius: 0;
            }

            nav a:hover {
                background-color: #34495e;
            }

            .cta-button {
                margin: 10px 20px;
                text-align: center;
            }
        }

 
 
 
 /* === FOOTER === */
        footer {
            background-color: #2c3e50;
            color: #ecf0f1;
            padding: 50px 20px 20px;
        }

        .footer-content {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            max-width: 1200px;
            margin: 0 auto;
            gap: 40px;
        }

        .footer-column {
            flex: 1;
            min-width: 220px;
        }

        .footer-column h3 {
            font-size: 18px;
            margin-bottom: 20px;
            color: #3498db;
            font-weight: bold;
        }

        .footer-column ul {
            list-style: none;
        }

        .footer-column ul li {
            margin-bottom: 12px;
        }

        .footer-column a {
            color: #ecf0f1;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .footer-column a:hover {
            color: #3498db;
        }

        .footer-column p {
            line-height: 1.6;
            color: #bdc3c7;
        }

        /* Icônes réseaux sociaux */
        .social-links {
            display: flex;
            gap: 15px;
            margin-top: 15px;
        }

        .social-links a {
            display: inline-block;
            width: 40px;
            height: 40px;
            background-color: #34495e;
            border-radius: 50%;
            text-align: center;
            line-height: 40px;
            transition: background-color 0.3s ease;
        }

        .social-links a:hover {
            background-color: #3498db;
        }

        /* Formulaire newsletter */
        .newsletter-form {
            display: flex;
            gap: 10px;
            margin-top: 15px;
        }

        .newsletter-form input {
            flex: 1;
            padding: 10px;
            border: none;
            border-radius: 4px;
            font-size: 14px;
        }

        .newsletter-form button {
            padding: 10px 20px;
            background-color: #3498db;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-weight: bold;
            transition: background-color 0.3s ease;
        }

        .newsletter-form button:hover {
            background-color: #2980b9;
        }

        /* Bas du footer */
        .footer-bottom {
            text-align: center;
            margin-top: 40px;
            padding-top: 20px;
            border-top: 1px solid #34495e;
            color: #95a5a6;
            font-size: 14px;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .footer-content {
                flex-direction: column;
                gap: 30px;
            }
            
            .footer-column {
                min-width: 100%;
            }

            .newsletter-form {
                flex-direction: column;
            }

            .newsletter-form button {
                width: 100%;
            }
        }

        /* button */
.btn-primary {
  display: inline-block;
  padding: 0.6rem 1.4rem;
  border-radius: 4px;
  border: none;
  background: #0d6efd;       /* bleu */
  color: #fff;
  font-size: 16px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

.btn-primary:hover {
  background: #0b5ed7;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.18);
}

.btn-primary:active {
  background: #0a58ca;
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

.btn-primary:disabled,
.btn-primary[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none;
}
