/* ==========================================================================
   CBATP SARL - VARIABLES ET IDENTITÉ VISUELLE
   ========================================================================== */

:root {
    /* Couleurs institutionnelles */
    --agro-green-dark: #1A3668;    /* Bleu nuit */
    --agro-green-leaf: #2A4B8C;    /* Bleu intermédiaire */
    --agro-orange: #F39200;        /* Orange vif */
    --agro-orange-soft: #FFF5E6;   /* Orange très clair (fond) */
    --agro-green-light: #E6EEFA;   /* Bleu très clair */
    --agro-green-lighter: #1A36681A;

    /* Couleurs de base */
    --color-white: #ffffff;
    --color-gray-dark: #333333;
    --color-gray-light: #cccccc;

    /* Typographies */
    --font-body: 'Source Sans 3', Arial, sans-serif;
    --font-heading: 'Montserrat', sans-serif;
}

/* ==========================================================================
   RÉINITIALISATION & STRUCTURE (LAYOUT)
   ========================================================================== */

body {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-gray-dark);
    background-color: var(--color-white);
    line-height: 1.6;
}

/* Ajustement de la marge haute selon l'écran */
/* Ajustement de la marge haute selon l'écran */
/* Ajustement de la marge haute selon l'écran */
/* Ajustement de la marge haute selon l'écran */
/* Ajustement de la marge haute selon l'écran */
/* Ajustement de la marge haute selon l'écran */
.custom-page-wrapper {
    margin-top: 200px; /* Grand écran */
     margin-bottom: 20px; /* Grand écran */
    width: 1230px;
    max-width: 95%;
    margin-left: auto;
    margin-right: auto;
    background-color: white;
    box-shadow: 0 0 25px rgba(26, 54, 104, 0.15);
    border-radius: 8px;
    overflow: hidden;
    transition: margin-top 0.3s ease;
}

@media (max-width: 991px) {
    .custom-page-wrapper {
        margin-top: 60px; /* Petit écran */
    }
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--agro-green-dark);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}



.custom-width-960 {
    width: 1230px;
    max-width: 100%;
}

/* ==========================================================================
   NETTOYAGE DES LISTES (Points Orange)
   ========================================================================== */

#header ul, #header li, .navbar-nav, .dropdown-menu {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

#header li::before, .navbar-nav li::before, .dropdown-menu li::before {
    content: none !important;
    display: none !important;
}

main ul:not(.navbar-nav):not(.dropdown-menu) li {
    position: relative;
    padding-left: 1.5em;
    list-style: none;
}

main ul:not(.navbar-nav):not(.dropdown-menu) li::before {
    content: "•";
    color: var(--agro-orange);
    font-weight: bold;
    position: absolute;
    left: 0;
}

/* ==========================================================================
   HEADER CBATP - STYLE INSTITUTIONNEL & STICKY
   ========================================================================== */

header#header {
    background-color: var(--color-white) !important;
    position: sticky !important;
    top: 0;
    z-index: 1050;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

header#header .bg-light {
    background-color: #fcfcfc !important;
    border-bottom: 1px solid #eeeeee !important;
}

/* Bouton DEVIS */
header#header .btn-primary[style*="agro-green"] {
    background-color: var(--agro-orange) !important;
    border: none !important;
    color: var(--color-white) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    padding: 7px 18px !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 10px rgba(247, 123, 1, 0.2);
    transition: 0.3s;
}

header#header .btn-primary[style*="agro-green"]:hover {
    background-color: var(--agro-green-dark) !important;
    transform: translateY(-1px);
}

/* Icones de contact Topbar */
.menu-icon-item .icon-circle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 34px !important;
    height: 34px !important;
    background-color: var(--color-white);
    border: 1.5px solid #eee !important;
    transition: 0.3s;
}

.menu-icon-item .icon-circle i {
    font-size: 14px !important;
    color: var(--agro-green-dark) !important;
}

.menu-icon-item a:hover .icon-circle {
    background-color: var(--agro-orange) !important;
    border-color: var(--agro-orange) !important;
}

.menu-icon-item a:hover .icon-circle i {
    color: var(--color-white) !important;
}

/* --- NAVBAR PRINCIPALE --- */
.navbar {
    background-color: var(--color-white) !important;
    border-top: 4px solid var(--agro-green-leaf) !important;
    padding: 10px 0 !important;
}

.navbar .nav-link {
    color: var(--agro-orange) !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    padding: 10px 15px !important;
    transition: 0.3s;
}

.navbar .nav-link:hover, .navbar .nav-link.active {
    color: var(--agro-orange) !important;
    background-color: var(--agro-green-dark);
    border-radius: 4px;
}

/* --- DROPDOWN (SOUS-MENUS) --- */
.dropdown-menu {
    border-top: 4px solid var(--agro-orange) !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1) !important;
    border: 1px solid #eee !important;
}

.dropdown-item {
    color: var(--agro-green-dark) !important;
    font-weight: 700;
    font-size: 12px !important;
    padding: 12px 20px !important;
    display: flex;
    align-items: center;
    gap: 10px;
}

.dropdown-item i {
    color: var(--agro-orange);
    width: 20px;
    text-align: center;
}

.dropdown-item:hover {
    background-color: var(--agro-green-dark) !important;
    color: var(--agro-orange) !important;
    padding-left: 25px !important;
}

/* ==========================================================================
   ADAPTATION MOBILE
   ========================================================================== */
@media (max-width: 991px) {
    .navbar-collapse {
        background-color: var(--color-white) !important;
        padding: 15px !important;
        margin-top: 10px;
        border-radius: 0 0 12px 12px;
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
        border-top: 3px solid var(--agro-orange);
    }

    .navbar-nav {
        text-align: left !important;
        align-items: stretch !important;
    }

    .nav-item { border-bottom: 1px solid #f5f5f5; }

    .navbar .nav-link {
        justify-content: flex-start !important;
        gap: 12px;
        padding: 15px 10px !important;
    }

    .dropdown-menu {
        background-color: #f9f9f9 !important;
        padding-left: 20px !important;
        border-left: 2px solid #eee !important;
        box-shadow: none !important;
    }

    .menu-icon-item .icon-text { display: none !important; }
    .menu-icon-item .icon-circle { width: 30px !important; height: 30px !important; }

    .navbar-toggler { border-color: var(--agro-orange) !important; }
    .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(247, 123, 1, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !important;
    }
}

/* ==========================================================================
   FOOTER OPTIMISÉ
   ========================================================================== */

.custom-footer-bg {
    background: linear-gradient(135deg, var(--agro-green-dark), #2a4b8c);
    color: white;
    padding: 60px 0 30px;
}

.footer-title {
    color: var(--agro-orange) !important;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 25px;
    letter-spacing: 1px;
}

.footer-links ul li a {
    color: rgba(255, 255, 255, 0.7) !important;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-block;
}

.footer-links ul li a:hover {
    color: var(--agro-orange) !important;
    transform: translateX(8px);
}

.social-icon {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.1);
    color: white !important;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.social-icon:hover {
    transform: translateY(-5px);
    background-color: var(--agro-orange) !important;
    border-color: var(--agro-orange);
}