/* --- Styles Communs et Badges --- */
.badge-lite{display:inline-block;padding:.2em .55em;border-radius:999px;font-size:inherit;font-weight:700;line-height:inherit;letter-spacing:.2px}
.badge-lite.blue{background:#eff6ff;color:#1d4ed8}
.badge-lite.pink{background:#fdf2f8;color:#9d174d}
.badge-lite.orange{background:rgba(255, 140, 0, 0.1);color:var(--cefonaf-orange, #ff8c00)}
.badge-lite.green{background:rgba(107, 142, 35, 0.1);color:var(--cefonaf-olive, #6b8e23)}

.header-stars-lite{
    background-image:url("data:image/svg+xml;utf8,\
        <svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'>\
          <rect width='120' height='120' fill='none'/>\
          <g fill='%23b8c191' fill-opacity='0.14'>\
            <path d='M6 0l1.9 3.9 4.3.6-3.1 3 .7 4.3L6 9.7 2.1 11.8l.7-4.3L0 4.5l4.3-.6L6 0z' transform='translate(18 18)'/>\
            <path d='M6 0l1.9 3.9 4.3.6-3.1 3 .7 4.3L6 9.7 2.1 11.8l.7-4.3L0 4.5l4.3-.6L6 0z' transform='translate(78 24) scale(0.9)'/>\
            <path d='M6 0l1.9 3.9 4.3.6-3.1 3 .7 4.3L6 9.7 2.1 11.8l.7-4.3L0 4.5l4.3-.6L6 0z' transform='translate(42 72) scale(0.8)'/>\
            <path d='M6 0l1.9 3.9 4.3.6-3.1 3 .7 4.3L6 9.7 2.1 11.8l.7-4.3L0 4.5l4.3-.6L6 0z' transform='translate(102 96) scale(0.85)'/>\
            <path d='M6 0l1.9 3.9 4.3.6-3.1 3 .7 4.3L6 9.7 2.1 11.8l.7-4.3L0 4.5l4.3-.6L6 0z' transform='translate(6 102) scale(0.7)'/>\
          </g>\
          <g fill='%23a7b077' fill-opacity='0.12'>\
            <path d='M6 0l1.9 3.9 4.3.6-3.1 3 .7 4.3L6 9.7 2.1 11.8l.7-4.3L0 4.5l4.3-.6L6 0z' transform='translate(54 12) scale(0.7)'/>\
            <path d='M6 0l1.9 3.9 4.3.6-3.1 3 .7 4.3L6 9.7 2.1 11.8l.7-4.3L0 4.5l4.3-.6L6 0z' transform='translate(96 54) scale(0.65)'/>\
            <path d='M6 0l1.9 3.9 4.3.6-3.1 3 .7 4.3L6 9.7 2.1 11.8l.7-4.3L0 4.5l4.3-.6L6 0z' transform='translate(24 48) scale(0.6)'/>\
          </g>\
        </svg>");
    background-size:120px 120px;
    background-repeat:repeat;
    background-position:top left;
    background-color:transparent;
}

/* --- Creative dropdown "Mon compte" --- */
.dropdown-menu.account-menu {
    min-width: 280px;
    padding: 12px;
    border: none;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: saturate(180%) blur(15px);
    -webkit-backdrop-filter: saturate(180%) blur(15px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12), 0 5px 15px rgba(0, 0, 0, 0.05);
    left: 0 !important;
    right: auto !important;
    /* Positionnement exact sous le bouton */
    top: calc(100% - 10px) !important;
    margin-top: 0 !important;
    z-index: 10000 !important;
    opacity: 0;
    visibility: hidden;
    display: block !important;
    transition: all 0.2s ease;
    border-top: 3px solid #a7b077;
}

/* Ouverture fluide au hover (Desktop) */
@media(min-width: 992px) {
    .my-account-btn:hover .dropdown-menu.account-menu {
        opacity: 1;
        visibility: visible;
    }
}

.dropdown-menu.account-menu li+li{margin-top:6px}
.dropdown-menu.account-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:#1f2937;line-height:1.2;transition:all .2s ease}
.dropdown-menu.account-menu a i{width:20px;text-align:center;color:#6b7280;transition:transform .2s ease,color .2s ease}
.dropdown-menu.account-menu a:hover{background:linear-gradient(90deg,rgba(99,102,241,.12),rgba(99,102,241,0));color:#111827}
.dropdown-menu.account-menu a:hover i{color:#4f46e5;transform:translateX(2px)}
.dropdown-menu.account-menu .divider{height:1px;background:#e5e7eb;margin:8px 6px}
.dropdown-menu.account-menu form{margin:6px}
.dropdown-menu.account-menu form button{width:100%;border:none;border-radius:10px;padding:10px 12px;background:#ef4444;color:#fff;font-weight:700;letter-spacing:.2px;box-shadow:0 6px 14px rgba(239,68,68,.25)}
.dropdown-menu.account-menu form button:hover{background:#dc2626}
.dropdown-menu.account-menu form button i{margin-right:8px}

.account-head{padding:10px 12px;border-radius:12px;background:linear-gradient(90deg,rgba(16,185,129,.10),rgba(59,130,246,.06));display:flex;align-items:center;gap:12px;margin:6px}
.account-head .avatar{width:38px;height:38px;border-radius:999px;object-fit:cover;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.account-head .meta{line-height:1}
.account-head .meta .name{font-weight:700;color:#111827}
.account-head .meta .email{font-size:.9em;color:#6b7280}

.user-chip{display:flex;align-items:center;gap:8px}
.user-chip img.avatar{width:28px;height:28px;border-radius:999px;object-fit:cover;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.user-chip .chip-text{display:flex;flex-direction:column;line-height:1}
.user-chip .chip-text .name{font-weight:600;color:#111827;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-chip .chip-text .email{font-size:.85em;color:#6b7280;display:none}
@media(min-width:992px){
    .user-chip .chip-text .email{display:block;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

@media(min-width:992px){
    .header-stars-lite{background-size:120px 120px}

    #header .header-body {
        background: rgba(255, 255, 255, 0.8) !important;
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        border-bottom: 1px solid rgba(167, 176, 119, 0.1) !important;
        transition: all 0.3s ease;
    }

    .sticky-header-active #header .header-body {
        background: rgba(255, 255, 255, 0.95) !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    }

    #header .header-nav-main nav > ul > li > a {
        font-size: 13px !important;
        font-weight: 600 !important;
        text-transform: uppercase;
        letter-spacing: 0.3px;
        color: #444 !important;
        padding: 10px 10px !important;
        margin: 0 1px !important;
        position: relative;
        transition: color 0.3s ease;
    }

    #header .header-nav-main nav > ul > li > a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 0;
        height: 3px;
        background: #a7b077;
        transition: all 0.3s ease;
        transform: translateX(-50%);
        border-radius: 10px;
    }

    #header .header-nav-main nav > ul > li:hover > a::after,
    #header .header-nav-main nav > ul > li.active > a::after {
        width: 70%;
    }

    #header .header-nav-main nav > ul > li:hover > a,
    #header .header-nav-main nav > ul > li.active > a {
        color: #a7b077 !important;
        background: transparent !important;
    }

    #header .header-nav-main nav > ul > li.signin,
    #header .header-nav-main nav > ul > li.my-account-btn {
        display: flex;
        align-items: center;
    }

    #header .header-nav-main nav > ul > li.signin > a,
    #header .header-nav-main nav > ul > li.my-account-btn > a {
        background: linear-gradient(135deg, #a7b077 0%, #8a945d 100%) !important;
        color: #fff !important;
        border-radius: 50px !important;
        padding: 8px 18px !important;
        margin-left: 8px !important;
        box-shadow: 0 4px 15px rgba(167, 176, 119, 0.3);
        top: 0;
        height: auto;
        line-height: 1.2;
        display: inline-flex;
        align-items: center;
        transition: all 0.3s ease;
    }

    #header .header-nav-main nav > ul > li.signin:last-child > a {
        background: #fff !important;
        color: #a7b077 !important;
        border: 2px solid #a7b077 !important;
        box-shadow: none;
    }
    #header .header-nav-main nav > ul > li.signin:last-child > a:hover {
        background: #a7b077 !important;
        color: #fff !important;
    }

    #header .header-nav-main nav > ul > li.signin > a::after,
    #header .header-nav-main nav > ul > li.my-account-btn > a::after {
        display: none;
    }

    #header .header-nav-main nav > ul > li.signin > a:hover,
    #header .header-nav-main nav > ul > li.my-account-btn > a:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(167, 176, 119, 0.4);
    }

    .header-nav-top .nav-pills > li > a {
        padding: 0 10px !important;
    }
    .badge-lite {
        transition: all 0.3s ease;
        border: 1px solid transparent;
    }
    .badge-lite:hover {
        transform: scale(1.05);
        box-shadow: 0 4px 10px rgba(0,0,0,0.05);
        background: #fff !important;
        border-color: currentColor;
    }
}

@media(max-width:991px){
    #header {
        position: fixed !important;
        top: 0 !important;
        width: 100% !important;
        z-index: 1001 !important;
    }
    body {
        padding-top: 0 !important;
    }
    .sticky-header-active body,
    body.sticky-header-active,
    .main {
        padding-top: 0 !important;
    }
    #header .header-body {
        border-top: none !important;
        background: rgba(255, 255, 255, 0.8) !important;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }
    .sticky-header-active #header .header-body,
    #header.sticky-header-active .header-body {
        background: rgba(255, 255, 255, 0.95) !important;
    }
    #header .header-body {
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
        box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    }
    #header .header-container {
        height: 60px !important;
        padding: 0 15px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
    }
    #header .header-row, #header .header-column {
        display: contents !important;
    }
    #header .header-logo {
        margin: 0 !important;
        z-index: 10;
        display: flex !important;
        align-items: center !important;
    }
    #header .header-logo img {
        width: 70px !important;
        height: auto !important;
        transition: all 0.3s ease;
    }
    .sticky-header-active #header .header-logo img {
        width: 55px !important;
    }
    .header-nav {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-left: auto !important;
        height: 100% !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 100 !important;
    }
    .sticky-header-active .header-nav,
    #header.sticky-header-active .header-nav,
    [class*="sticky"] .header-nav {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    .header-btn-collapse-nav {
        background: linear-gradient(135deg, #a7b077 0%, #8a945d 100%) !important;
        border-radius: 10px !important;
        padding: 8px 10px !important;
        box-shadow: 0 4px 12px rgba(167, 176, 119, 0.3);
        border: none !important;
        margin: 0 !important;
    }
    .header-btn-collapse-nav i {
        color: #fff !important;
        font-size: 18px;
    }

    .header-nav-main.collapse.in, .header-nav-main.collapsing {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        z-index: 9999;
        display: flex !important;
        flex-direction: column;
        justify-content: flex-start;
        padding: 80px 30px 40px !important;
        margin: 0 !important;
        border: none !important;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }
    .header-nav-main nav {
        width: 100%;
    }
    .header-nav-main ul.nav-pills {
        display: block !important;
    }
    .header-nav-main ul.nav-pills > li {
        margin-bottom: 15px;
        opacity: 0;
        transform: translateY(20px);
        animation: fadeInUp 0.4s forwards;
    }
    .header-nav-main ul.nav-pills > li:nth-child(1) { animation-delay: 0.1s; }
    .header-nav-main ul.nav-pills > li:nth-child(2) { animation-delay: 0.15s; }
    .header-nav-main ul.nav-pills > li:nth-child(3) { animation-delay: 0.2s; }
    .header-nav-main ul.nav-pills > li:nth-child(4) { animation-delay: 0.25s; }
    .header-nav-main ul.nav-pills > li:nth-child(5) { animation-delay: 0.3s; }
    .header-nav-main ul.nav-pills > li:nth-child(6) { animation-delay: 0.35s; }

    @keyframes fadeInUp {
        to { opacity: 1; transform: translateY(0); }
    }

    .header-nav-main ul.nav-pills > li > a {
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #1f2937 !important;
        background: transparent !important;
        padding: 10px 0 !important;
        border-bottom: 2px solid transparent;
        display: inline-block;
    }
    .header-nav-main ul.nav-pills > li.active > a,
    .header-nav-main ul.nav-pills > li > a:hover {
        color: #a7b077 !important;
        border-bottom-color: #a7b077;
    }

    .header-nav-main ul.nav-pills > li.signin {
        margin-top: 30px;
    }
    .header-nav-main ul.nav-pills > li.signin a {
        background: linear-gradient(135deg, #a7b077 0%, #8a945d 100%) !important;
        color: #fff !important;
        padding: 15px 30px !important;
        border-radius: 50px !important;
        text-align: center;
        width: 100%;
        box-shadow: 0 10px 20px rgba(167, 176, 119, 0.2);
        border: none !important;
    }

    .header-nav-main .mobile-sub-count {
        margin-bottom: 30px;
        padding: 12px 20px;
        background: #ecfdf5;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: #065f46;
        font-weight: 700;
        font-size: 16px;
        border: 1px solid #10b981;
    }

    .close-nav-mobile {
        position: absolute;
        top: 25px;
        right: 25px;
        font-size: 32px;
        color: #a7b077;
        cursor: pointer;
        z-index: 10001;
        background: none;
        border: none;
        padding: 0;
        line-height: 1;
    }

    .header-nav-top {
        display: none !important;
    }

    .mobile-header-sub-count {
        display: flex !important;
        align-items: center;
        gap: 4px;
        background: #ecfdf5;
        color: #065f46;
        padding: 4px 8px;
        border-radius: 10px;
        font-weight: 700;
        font-size: 11px;
        border: 1px solid #10b981;
        height: 28px;
        white-space: nowrap;
    }

    /* Menu Compte Mobile spécifique */
    .header-nav-main .dropdown-menu.account-menu {
        display: block !important;
        position: static !important;
        box-shadow: none !important;
        background: transparent !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: none !important;
        margin-top: 10px !important;
    }
}
