/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* Custom CSS for Nexus Theme
 *
 * This file allows you to customize the theme colors and styles for the entire Nexus template.
 *
 * To customize colors:
 * - Replace the var() references with your own hex colors or other CSS values.
 * - For example, instead of --primary: #4b5563; use --primary: #your-color;
 * - You can also override any CSS properties here.
 */

:root {
    --white: #fff;

    /* Neutral shades */
    --neutral-50: #fbf9fa;
    --neutral-100: #f4f5f7;
    --neutral-200: #e4e4e7;
    --neutral-300: #d0d5dd;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #111827;
    --neutral-950: #030712;

    /* Neutral shades */
    /* define own pallet with brand colors */
    --primary-50: var(--neutral-50);
    --primary-100: var(--neutral-100);
    --primary-200: var(--neutral-200);
    --primary-300: var(--neutral-300);
    --primary-400: var(--neutral-400);
    --primary-500: var(--neutral-500);
    --primary-600: var(--neutral-600);
    --primary-700: var(--neutral-700);
    --primary-800: var(--neutral-800);
    --primary-900: var(--neutral-900);
    --primary-950: var(--neutral-900);

    /* Primary colors */
    /* Use shades from comments if `primary` colors use other colors, then neutral */
    --primary: var(--neutral-900);          /* var(--primary-600) */
    --primary-lifted: var(--neutral-800);   /* var(--primary-700) */
    --primary-accented: var(--neutral-700); /* var(--primary-800) */

    /* Secondary colors */
    --secondary: var(--neutral-500);
    --secondary-lifted: var(--neutral-600);
    --secondary-accented: var(--neutral-700);

    /* Success colors */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    /* Info colors */
    --info: #155dfc;
    --info-lifted: #1447e6;
    --info-accented: #193cb8;

    /* Notice colors */
    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    /* Warning colors */
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;

    /* Error colors */
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Grayscale colors */
    --grayscale: var(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    /* Neutral colors */
    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    /* Text neutral colors */
    --text-inverted: var(--white);
    --text-muted: var(--neutral-400);
    --text-lifted: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text: var(--neutral-900);

    /* Border neutral colors */
    --border-muted: var(--neutral-200);
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    /* Background neutral colors */
    --bg: var(--white);
    --bg-muted: var(--neutral-50);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--neutral-900);

    /* Additional colors */
    --yellow-200: #fff085;
    --yellow-300: #ffdf20;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    /* Additional custom properties */
    /* Font sizes */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* Spacing */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* Rounding */
    --rounding-sm: 0.25rem;
    --rounding-md: 0.5rem;
    --rounding-lg: 0.75rem;

    /* Other */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}
/* === E-NOVWEB OVERRIDES === */

/* =========================================================
   E-NOVWEB — GLOBAL V1
   Visual overrides only
   ========================================================= */

:root {
    --enw-black: #0b0b0b;
    --enw-dark: #111722;
    --enw-orange: #ff5a1f;
    --enw-bg: #f5f5f3;
    --enw-border: #dededb;
    --enw-muted: #6f706d;

    --primary: var(--enw-black);
    --primary-lifted: #222;
    --primary-accented: #333;

    --bg-muted: var(--enw-bg);
    --border: var(--enw-border);

    --rounding-sm: 6px;
    --rounding-md: 10px;
    --rounding-lg: 14px;
}

/* GLOBAL */
body {
    background: var(--enw-bg);
    color: var(--enw-black);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 15px;
}

.container {
    max-width: 1180px;
}

#main-body {
    padding-top: 32px;
    padding-bottom: 64px;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--enw-black);
    font-weight: 500;
    letter-spacing: -0.025em;
}

/* HEADER */
#header,
#header .navbar,
#header .main-navbar-wrapper {
    background: #fff;
}

#header {
    border-bottom: 1px solid var(--enw-border);
}

#header .navbar-brand img {
    max-height: 62px;
    width: auto;
}

#header .main-navbar-wrapper .nav-link {
    color: var(--enw-black);
    font-weight: 500;
}

#header .main-navbar-wrapper .nav-link:hover,
#header .main-navbar-wrapper .nav-item.active > .nav-link {
    color: var(--enw-orange);
}

/* BREADCRUMB */
.master-breadcrumb {
    background: #ececea;
    border: 0;
}

/* CARDS */
.card {
    border: 1px solid var(--enw-border);
    border-radius: 14px;
    box-shadow: none;
    overflow: hidden;
}

.card-header {
    background: #fff;
    border-bottom: 1px solid var(--enw-border);
}

.card-columns.home .card {
    transition: transform .2s ease, box-shadow .2s ease;
}

.card-columns.home .card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(0,0,0,.06);
}

/* BUTTONS */
.btn {
    border-radius: 7px;
    font-weight: 500;
    box-shadow: none !important;
    transition: .2s ease;
}

.btn-primary,
.btn-dark,
.btn-success {
    background: var(--enw-black);
    border-color: var(--enw-black);
    color: #fff;
}

.btn-primary:hover,
.btn-dark:hover,
.btn-success:hover {
    background: var(--enw-orange);
    border-color: var(--enw-orange);
    color: #fff;
}

.btn-outline-primary {
    color: var(--enw-black);
    border-color: var(--enw-black);
}

.btn-outline-primary:hover {
    background: var(--enw-black);
    border-color: var(--enw-black);
    color: #fff;
}

/* FORMS */
.form-control,
.custom-select,
select {
    min-height: 44px;
    border-radius: 7px;
    border-color: var(--enw-border);
    box-shadow: none !important;
}

.form-control:focus,
.custom-select:focus,
select:focus {
    border-color: var(--enw-black);
    box-shadow: 0 0 0 2px rgba(255,90,31,.14) !important;
}

/* SIDEBAR */
.card-sidebar .list-group-item {
    border-color: #ececea;
    color: var(--enw-black);
}

.card-sidebar .list-group-item:hover {
    background: #f6f6f4;
    color: var(--enw-orange);
}

.card-sidebar .list-group-item.active {
    background: var(--enw-black);
    border-color: var(--enw-black);
    color: #fff;
}

/* FOOTER */
#footer.footer {
    background: var(--enw-dark);
    color: rgba(255,255,255,.65);
    padding-top: 40px;
    padding-bottom: 40px;
}

#footer.footer a {
    color: #fff;
}

#footer.footer a:hover {
    color: var(--enw-orange);
}

#footer.footer .copyright {
    color: rgba(255,255,255,.38);
}

@media (max-width: 991px) {
    #main-body {
        padding-top: 22px;
        padding-bottom: 40px;
    }

    #header .navbar-brand img {
        max-height: 48px;
    }
}


/* =========================================================
   E-NOVWEB — GLOBAL V2
   Premium visual direction
   ========================================================= */

/* LAYOUT */
body {
    background: #f7f7f5;
}

.container {
    max-width: 1240px;
}

#main-body {
    padding-top: 48px;
    padding-bottom: 80px;
}

/* TYPOGRAPHY */
body,
.form-control,
.btn,
.nav-link {
    letter-spacing: -0.015em;
}

h1, h2 {
    font-weight: 500;
    letter-spacing: -0.045em;
}

h3, h4, h5, h6 {
    font-weight: 500;
    letter-spacing: -0.025em;
}

/* HEADER */
#header {
    background: #fff;
    border-bottom: 1px solid #e7e7e3;
}

#header .navbar .container {
    min-height: 78px;
}

#header .navbar-brand img {
    max-height: 66px;
}

#header .main-navbar-wrapper {
    border-top: 1px solid #f0f0ed;
}

#header .main-navbar-wrapper .container {
    min-height: 52px;
}

#header .main-navbar-wrapper .nav-link {
    padding: 15px 18px;
    font-size: 14px;
    color: #111;
}

#header .main-navbar-wrapper .nav-link:hover {
    color: #ff5a1f;
}

/* HEADER SEARCH / CART */
#header .search .form-control,
#header .search .btn,
#header .toolbar .btn {
    height: 42px;
    border-color: #deded9;
    background: #fff;
    border-radius: 6px;
}

#header .toolbar .btn:hover {
    border-color: #111;
    color: #111;
}

/* BREADCRUMB */
.master-breadcrumb {
    padding: 9px 0;
    background: #efefec;
}

.master-breadcrumb .breadcrumb {
    margin: 0;
    padding: 0;
    font-size: 12px;
}

/* DOMAIN HERO */
.home-domain-search {
    background: #fff !important;
    border-bottom: 1px solid #e7e7e3;
}

.home-domain-search .p-5 {
    padding-top: 62px !important;
    padding-bottom: 62px !important;
}

.home-domain-search h2 {
    margin-bottom: 28px;
    font-size: 32px;
}

.home-domain-search .input-group-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.home-domain-search .form-control {
    height: 52px;
    padding-left: 20px;
}

.home-domain-search .btn {
    min-width: 92px;
}

/* MAIN HOME */
#main-body h2.text-center {
    margin-top: 48px !important;
    margin-bottom: 34px !important;
    font-size: 30px;
}

/* PRODUCT CARDS */
.card-columns.home {
    column-gap: 18px;
}

.card-columns.home .card {
    border: 1px solid #e2e2de;
    border-radius: 12px;
    background: #fff;
}

.card-columns.home .card-body {
    padding: 34px 30px !important;
}

.card-columns.home .card-title {
    font-size: 20px;
    margin-bottom: 18px;
}

.card-columns.home .card p {
    color: #62625f;
    line-height: 1.55;
}

.card-columns.home .card:hover {
    transform: translateY(-4px);
    border-color: #cacac5;
    box-shadow: 0 20px 45px rgba(0,0,0,.055);
}

/* CTA */
.card-columns.home .btn-outline-primary {
    margin-top: 12px;
    height: 44px;
    border-radius: 6px;
}

.card-columns.home .btn-outline-primary:hover {
    background: #111;
    border-color: #111;
}

/* ACTION CARDS */
.action-icon-btns a {
    min-height: 112px;
    padding: 22px 14px;
    border: 1px solid #e5e5e1;
    border-radius: 10px;
    background: #fff;
    color: #222;
}

.action-icon-btns a:hover {
    border-color: #111;
    color: #111;
    transform: translateY(-3px);
}

.action-icon-btns .ico-container {
    margin-bottom: 12px;
    color: #b9c7d0;
}

.action-icon-btns a:hover .ico-container {
    color: #ff5a1f;
}

/* SIDEBARS */
.card-sidebar {
    border-radius: 10px;
}

.card-sidebar .card-header {
    padding: 15px 18px;
}

.card-sidebar .list-group-item {
    padding: 13px 18px;
    font-size: 14px;
}

/* GLOBAL BUTTON FEEL */
.btn-primary,
.btn-dark,
.btn-success {
    background: #111722;
    border-color: #111722;
}

.btn-primary:hover,
.btn-dark:hover,
.btn-success:hover {
    background: #ff5a1f;
    border-color: #ff5a1f;
}

/* FOOTER */
#footer.footer {
    background: #101722;
    border-top: 0;
    padding-top: 44px;
    padding-bottom: 44px;
}

#footer.footer .copyright {
    margin-top: 26px;
}

/* MOBILE */
@media (max-width: 991px) {
    #header .navbar .container {
        min-height: 64px;
    }

    #main-body {
        padding-top: 28px;
        padding-bottom: 48px;
    }

    .home-domain-search .p-5 {
        padding: 38px 20px !important;
    }

    .home-domain-search h2 {
        font-size: 26px;
    }

    #main-body h2.text-center {
        font-size: 25px;
    }
}


/* =========================================================
   E-NOVWEB — HEADER REFINEMENTS V3
   ========================================================= */

/* 1. Logo légèrement plus petit + plus de respiration */
#header .navbar .container {
    min-height: 92px;
    padding-top: 10px;
    padding-bottom: 16px;
}

#header .navbar-brand img {
    max-height: 56px;
    width: auto;
}

/* 2. Navigation légèrement décollée du logo */
#header .main-navbar-wrapper {
    padding-top: 4px;
    padding-bottom: 4px;
}

/* 3. Retirer la grosse barre grise du breadcrumb */
.master-breadcrumb {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 8px 0 4px;
}

.master-breadcrumb .breadcrumb {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

/* Mobile */
@media (max-width: 991px) {
    #header .navbar .container {
        min-height: 72px;
        padding-top: 8px;
        padding-bottom: 10px;
    }

    #header .navbar-brand img {
        max-height: 46px;
    }
}


/* =========================================================
   E-NOVWEB — HEADER / BREADCRUMB V4
   ========================================================= */

/* Breadcrumb parfaitement centré */
.master-breadcrumb {
    min-height: 34px;
    padding: 0 !important;
    display: flex;
    align-items: center;
    background: #f3f3f1 !important;
}

.master-breadcrumb .container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
}

.master-breadcrumb .breadcrumb {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: center;
    text-align: center;
    font-size: 12px;
    line-height: 1;
}

.master-breadcrumb .breadcrumb-item {
    float: none;
}

/* Header : respiration finale */
#header .navbar .container {
    min-height: 88px;
    padding-top: 8px;
    padding-bottom: 14px;
}

#header .main-navbar-wrapper {
    padding-top: 2px;
    padding-bottom: 6px;
}

/* Un peu plus d'air avant le contenu */
.home-domain-search .p-5 {
    padding-top: 68px !important;
    padding-bottom: 68px !important;
}

#main-body {
    padding-top: 52px;
}

/* Mobile */
@media (max-width: 991px) {
    .master-breadcrumb,
    .master-breadcrumb .container {
        min-height: 30px;
    }

    #header .navbar .container {
        min-height: 70px;
        padding-bottom: 10px;
    }

    #main-body {
        padding-top: 30px;
    }
}


/* E-NOVWEB — BREADCRUMB ALIGNMENT FIX */

.master-breadcrumb .container {
    justify-content: flex-start !important;
}

.master-breadcrumb .breadcrumb {
    justify-content: flex-start !important;
    text-align: left !important;
    width: auto;
}


/* E-NOVWEB — Hide redundant domain pricing link */
.home-domain-search .btn-link {
    display: none !important;
}


/* =========================================================
   E-NOVWEB — HEADER V7
   Visible brand treatment
   ========================================================= */

#header {
    background: #fff;
    border-bottom: 0;
}

/* Ligne logo */
#header > .navbar {
    border-bottom: 1px solid #ecece8;
}

#header > .navbar .container {
    min-height: 76px;
    padding-top: 8px;
    padding-bottom: 8px;
}

#header .navbar-brand img {
    max-height: 48px;
}

/* Navigation */
#header .main-navbar-wrapper {
    position: relative;
    background: #fff;
    border: 0;
}

#header .main-navbar-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #ff5a1f;
}

#header .main-navbar-wrapper .container {
    min-height: 52px;
}

#header .main-navbar-wrapper .nav-link {
    padding: 16px 18px;
    font-size: 14px;
    font-weight: 500;
    color: #111;
}

/* On retire l'ancien underline hover */
#header .main-navbar-wrapper .nav-link::after {
    display: none;
}

#header .main-navbar-wrapper .nav-link:hover,
#header .main-navbar-wrapper .nav-item.active > .nav-link {
    color: #ff5a1f;
}

/* Recherche plus compacte */
#header .search .form-control {
    min-width: 230px;
    height: 40px;
    background: #fafaf8;
}

#header .search .btn,
#header .toolbar .cart-btn {
    height: 40px;
}

/* Breadcrumb */
.master-breadcrumb {
    min-height: 32px;
    background: #f7f7f5 !important;
    border: 0 !important;
}

.master-breadcrumb .container {
    min-height: 32px;
}

.master-breadcrumb .breadcrumb {
    font-size: 11px;
    color: #777;
}


/* =========================================================
   E-NOVWEB — INTERACTIONS V8
   ========================================================= */

/* Retire la ligne orange pleine largeur */
#header .main-navbar-wrapper::after {
    display: none !important;
}

/* Trait orange uniquement sous les liens du menu */
#header .main-navbar-wrapper .nav-link::after {
    content: "" !important;
    display: block !important;
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 8px;
    height: 2px;
    background: #ff5a1f;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
}

#header .main-navbar-wrapper .nav-link:hover::after,
#header .main-navbar-wrapper .nav-item.active > .nav-link::after {
    transform: scaleX(1);
}

/* Hover orange des CTA outline */
.card-columns.home .btn:hover,
.btn-outline-primary:hover,
.btn-outline-dark:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
    color: #fff !important;
}

/* Boutons du hero domaine */
.home-domain-search .btn:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
    color: #fff !important;
}

/* Boutons principaux WHMCS */
.btn-primary:hover,
.btn-success:hover,
.btn-dark:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
    color: #fff !important;
}


/* =========================================================
   E-NOVWEB — ORANGE BALANCE V9
   ========================================================= */

/* Boutons outline : hover noir, pas orange */
.card-columns.home .btn:hover,
.btn-outline-primary:hover,
.btn-outline-dark:hover {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

/* Boutons déjà noirs : hover orange ENW */
.btn-primary:hover,
.btn-success:hover,
.btn-dark:hover,
.home-domain-search .btn-primary:hover,
.home-domain-search .btn-success:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
    color: #fff !important;
}

/* Badge panier = accent orange permanent */
#header .toolbar .badge,
#cartItemCount {
    background: #ff5a1f !important;
    color: #fff !important;
}

/* Petit accent orange sous navigation au hover/actif */
#header .main-navbar-wrapper .nav-link:hover::after,
#header .main-navbar-wrapper .nav-item.active > .nav-link::after {
    background: #ff5a1f !important;
}

/* Focus discret */
.form-control:focus,
.custom-select:focus,
select:focus {
    border-color: #ff5a1f !important;
    box-shadow: 0 0 0 2px rgba(255,90,31,.10) !important;
}


/* =========================================================
   E-NOVWEB — CLIENT DASHBOARD V10
   ========================================================= */

/* TOPBAR CONNECTÉE */
#header .topbar {
    background: #111722;
    color: rgba(255,255,255,.75);
    border: 0;
    min-height: 36px;
}

#header .topbar .btn {
    color: rgba(255,255,255,.82);
    background: transparent;
    border: 0;
}

#header .topbar .btn:hover {
    color: #fff;
    background: rgba(255,255,255,.06);
}

/* COMPTEURS DU DASHBOARD */
.tiles {
    margin-bottom: 28px !important;
}

.tiles .row {
    gap: 12px;
}

.tiles .row > div {
    flex: 1 1 0;
    max-width: none;
}

.tiles .tile {
    position: relative;
    min-height: 116px;
    padding: 24px 20px;
    background: #fff;
    border: 1px solid #dfdfdb;
    border-radius: 12px;
    overflow: hidden;
    transition: transform .2s ease, border-color .2s ease;
}

.tiles .tile:hover {
    transform: translateY(-2px);
    border-color: #bdbdb8;
}

.tiles .tile > i {
    color: #c6c6c2;
    font-size: 42px;
}

.tiles .tile .stat {
    color: #111;
    font-size: 29px;
    font-weight: 500;
}

.tiles .tile .title {
    color: #666662;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* Supprime les couleurs WHMCS bleu/vert/rouge/jaune */
.tiles .tile .highlight {
    height: 3px;
    background: #e5e5e1 !important;
}

.tiles .tile:hover .highlight {
    background: #ff5a1f !important;
}

/* PANNEAUX DASHBOARD */
.client-home-cards .card {
    margin-bottom: 20px;
    border: 1px solid #dfdfdb;
    border-radius: 12px;
    background: #fff;
}

.client-home-cards .card-header {
    padding: 17px 20px;
    background: #fff;
}

.client-home-cards .card-title {
    font-size: 15px;
    font-weight: 600;
}

.client-home-cards .card-body {
    padding: 24px 20px;
}

.client-home-cards .card-footer {
    background: #fff;
    border-top: 1px solid #eeeeeb;
}

/* Neutralise les accents multicolores WHMCS */
.client-home-cards [class*="card-accent-"] {
    border-top: 1px solid #dfdfdb !important;
}

/* Boutons dans les panneaux */
.client-home-cards .card-header .btn,
.client-home-cards .card .btn-default {
    background: #fff !important;
    border: 1px solid #d7d7d2 !important;
    color: #111 !important;
}

.client-home-cards .card-header .btn:hover,
.client-home-cards .card .btn-default:hover {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

/* Listes / tickets */
.client-home-cards .list-group-item {
    border-color: #eeeeeb;
    padding: 13px 20px;
}

.client-home-cards .list-group-item:hover {
    background: #f7f7f5;
}

/* Badges */
.client-home-cards .badge,
.card-sidebar .badge {
    background: #e8e8e4;
    color: #555;
    border-radius: 20px;
}

/* SIDEBAR CLIENT */
.sidebar .card {
    border-radius: 12px;
}

.sidebar .card-header {
    padding: 16px 18px;
}

.sidebar .card-title {
    font-size: 14px;
    font-weight: 600;
}

.sidebar .card-body {
    padding: 18px;
}

/* MOBILE */
@media (max-width: 1199px) {
    .tiles .row {
        gap: 0;
    }

    .tiles .row > div {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 6px;
    }
}


/* =========================================================
   E-NOVWEB — LOGIN V11
   ========================================================= */

.login-form {
    max-width: 520px;
    margin: 36px auto 0;
}

.login-form .card {
    border: 1px solid #deded9;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0,0,0,.045);
}

.login-form .card-body {
    padding: 42px 42px 36px !important;
}

.login-form h6.h3 {
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.035em;
    margin-bottom: 8px;
}

.login-form .text-muted {
    color: #777 !important;
}

.login-form .form-control-label {
    font-size: 13px;
    font-weight: 600;
    color: #222;
}

.login-form .input-group {
    border-radius: 8px;
    overflow: hidden;
}

.login-form .input-group-text {
    background: #f3f3f1;
    border-color: #deded9;
    color: #777;
}

.login-form .form-control {
    height: 48px;
    background: #fff;
}

.login-form #login {
    min-width: 145px;
    height: 44px;
    background: #111722;
    border-color: #111722;
}

.login-form #login:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
}

/* Remember me */
.login-form .text-right label {
    color: #555;
    font-size: 13px;
}

/* Footer inscription */
.login-form .card-footer {
    background: #fafaf8;
    border-top: 1px solid #e7e7e3;
    padding-top: 16px;
    padding-bottom: 16px;
}

.login-form .card-footer a {
    color: #111;
}

.login-form .card-footer a:hover {
    color: #ff5a1f;
}

/* Providers sociaux */
.social-signin-btns {
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    gap: 12px;
}

.social-signin-btns .btn,
.social-signin-btns a {
    flex: 1 1 0;
    min-height: 44px;
    border-radius: 7px !important;
    box-shadow: none !important;
}

.social-signin-btns .btn:hover,
.social-signin-btns a:hover {
    filter: brightness(.96);
}

/* Mobile */
@media (max-width: 575px) {
    .login-form {
        margin-top: 20px;
    }

    .login-form .card-body {
        padding: 30px 22px !important;
    }

    .social-signin-btns {
        flex-direction: column;
    }
}


/* E-NOVWEB — SOCIAL LOGIN REFINEMENT */

.social-signin-btns .btn,
.social-signin-btns a {
    background: #fff !important;
    border: 1px solid #d7d7d2 !important;
    color: #111 !important;
    font-weight: 500;
}

.social-signin-btns .btn:hover,
.social-signin-btns a:hover {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
    filter: none !important;
}


/* E-NOVWEB — LOGIN BOTTOM SPACING */
.social-signin-btns {
    margin-bottom: 40px !important;
}


/* =========================================================
   E-NOVWEB — SERVICES / TABLES V12
   ========================================================= */

/* Banner vérification email */
.alert.alert-warning,
.email-verification-banner {
    background: #fff !important;
    border: 1px solid #deded9 !important;
    border-left: 3px solid #ff5a1f !important;
    color: #333 !important;
    border-radius: 8px;
    box-shadow: none;
}

.alert.alert-warning .btn {
    background: #111722 !important;
    border-color: #111722 !important;
    color: #fff !important;
}

.alert.alert-warning .btn:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
}

/* Tableau services */
.dataTables_wrapper table,
.table-list {
    background: #fff;
    border: 1px solid #deded9;
    border-radius: 12px;
    overflow: hidden;
}

.dataTables_wrapper table thead th,
.table-list thead th {
    background: #f7f7f5 !important;
    color: #666662 !important;
    border-bottom: 1px solid #deded9 !important;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding-top: 14px;
    padding-bottom: 14px;
}

.dataTables_wrapper table tbody td,
.table-list tbody td {
    padding-top: 16px;
    padding-bottom: 16px;
    border-color: #eeeeeb !important;
    vertical-align: middle;
}

.dataTables_wrapper table tbody tr:hover,
.table-list tbody tr:hover {
    background: #fafaf8 !important;
}

/* Nom produit */
.dataTables_wrapper table tbody strong,
.table-list tbody strong {
    font-weight: 600;
    color: #111;
}

/* Badge actif */
.label-success,
.badge-success,
.status-active {
    background: #119447 !important;
    color: #fff !important;
    border-radius: 20px;
    padding: 5px 10px;
    font-size: 10px;
    font-weight: 600;
}

/* Recherche tableau */
.dataTables_filter input,
.dataTables_wrapper .form-control {
    background: #fff;
    border: 1px solid #deded9;
    border-radius: 7px;
    min-height: 40px;
}

/* Pagination */
.pagination .page-link {
    color: #444;
    background: #fff;
    border-color: #deded9;
}

.pagination .page-item.active .page-link {
    background: #111722 !important;
    border-color: #111722 !important;
    color: #fff !important;
}

.pagination .page-link:hover {
    background: #f2f2ef;
    color: #111;
}

/* Sidebar filtres */
.sidebar .card {
    border: 1px solid #deded9;
    box-shadow: none;
}

.sidebar .card-header {
    background: #fff;
}

.sidebar .list-group-item {
    background: #fff;
    border-color: #eeeeeb;
}

.sidebar .list-group-item:hover {
    background: #f7f7f5;
    color: #111;
}

/* Radio / filtres */
.sidebar input[type="radio"]:checked {
    accent-color: #ff5a1f;
}

/* Sélecteur nombre de lignes */
.dataTables_length select {
    border-radius: 7px;
    border-color: #deded9;
    background: #fff;
}

/* Mobile */
@media (max-width: 767px) {
    .dataTables_wrapper table tbody td,
    .table-list tbody td {
        padding-top: 12px;
        padding-bottom: 12px;
    }
}


/* E-NOVWEB — EMAIL VERIFICATION BANNER FIX */
.email-verification,
.email-verification-banner,
.alert-email-verification {
    background: #fff !important;
    border: 1px solid #deded9 !important;
    border-left: 3px solid #ff5a1f !important;
    border-radius: 8px !important;
}

.email-verification .btn,
.email-verification-banner .btn,
.alert-email-verification .btn {
    background: #111722 !important;
    border-color: #111722 !important;
    color: #fff !important;
}

.email-verification .btn:hover,
.email-verification-banner .btn:hover,
.alert-email-verification .btn:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
}


/* =========================================================
   E-NOVWEB — INVOICES V13
   ========================================================= */

/* Carte factures impayées */
.sidebar .card:first-child .card-body {
    background: #fff;
}

.sidebar .card:first-child .card-body p {
    line-height: 1.55;
}

.sidebar .card:first-child .card-body strong,
.sidebar .card:first-child .card-body .amount {
    color: #111;
    font-weight: 600;
}

/* Bouton payer */
.sidebar .btn-primary,
.sidebar .btn-success {
    background: #111722 !important;
    border-color: #111722 !important;
    color: #fff !important;
    border-radius: 7px;
}

.sidebar .btn-primary:hover,
.sidebar .btn-success:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
}

/* Boutons secondaires */
.sidebar .btn-default,
.sidebar .btn-outline-primary {
    background: #fff !important;
    border-color: #cfcfca !important;
    color: #111 !important;
}

.sidebar .btn-default:hover,
.sidebar .btn-outline-primary:hover {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

/* Lignes de facture cliquables */
#tableInvoicesList tbody tr {
    cursor: pointer;
    transition: background .15s ease;
}

#tableInvoicesList tbody tr:hover {
    background: #f6f6f3 !important;
}

/* Numéro de facture */
#tableInvoicesList tbody td:first-child {
    font-weight: 600;
    color: #222;
}

/* Statuts factures */
.status-paid {
    background: #119447 !important;
    color: #fff !important;
}

.status-unpaid {
    background: #d92d20 !important;
    color: #fff !important;
}

.status-cancelled,
.status-refunded {
    background: #7b818a !important;
    color: #fff !important;
}

#tableInvoicesList .status {
    border-radius: 20px !important;
    padding: 5px 9px !important;
    font-size: 9px !important;
    font-weight: 600;
    text-transform: uppercase;
}

/* Sidebar active */
.sidebar .list-group-item.active {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

/* Pagination factures */
#tableInvoicesList_wrapper .pagination .page-item.active .page-link {
    background: #111722 !important;
    border-color: #111722 !important;
}


/* =========================================================
   E-NOVWEB — INVOICE ACTIONS / ALERT CLOSE V14
   ========================================================= */

/* Payer la totalité = vraie action principale */
a[href*="masspay"] {
    min-height: 40px;
    padding: 9px 16px !important;
    background: #111722 !important;
    border: 1px solid #111722 !important;
    border-radius: 7px !important;
    color: #fff !important;
    font-weight: 600;
    box-shadow: none !important;
}

a[href*="masspay"]:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
    color: #fff !important;
}

/* Ajouter des fonds = secondaire propre */
a[href*="addfunds"] {
    min-height: 40px;
    padding: 9px 16px !important;
    background: #fff !important;
    border: 1px solid #cfcfca !important;
    border-radius: 7px !important;
    color: #111 !important;
    font-weight: 500;
    box-shadow: none !important;
}

a[href*="addfunds"]:hover {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

/* Bouton fermeture du bandeau */
.alert-warning .close,
.email-verification .close,
.email-verification-banner .close,
.alert-email-verification .close,
.alert-warning .btn-close {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 1px solid #d8d8d3 !important;
    color: #555 !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

.alert-warning .close:hover,
.email-verification .close:hover,
.email-verification-banner .close:hover,
.alert-email-verification .close:hover,
.alert-warning .btn-close:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
    color: #fff !important;
}

/* Bouton renvoi email : noir -> orange */
.alert-warning .btn:not(.close):hover,
.email-verification .btn:not(.close):hover,
.email-verification-banner .btn:not(.close):hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
    color: #fff !important;
}


/* =========================================================
   E-NOVWEB — POLISH V15
   Header spacing + invoice actions + alert close
   ========================================================= */

/* 1. HEADER — plus d'air autour du logo, globalement */
#header > .navbar .container {
    min-height: 94px !important;
    padding-top: 14px !important;
    padding-bottom: 18px !important;
}

#header .navbar-brand {
    display: flex;
    align-items: center;
}

#header .navbar-brand img {
    max-height: 48px;
}

/* Légère respiration avant la navigation */
#header .main-navbar-wrapper {
    padding-top: 3px;
}


/* 2. BOUTON X — parfaitement centré */
.alert-warning .close,
.email-verification .close,
.email-verification-banner .close,
.alert-email-verification .close,
.alert-warning .btn-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;

    padding: 0 !important;
    margin: 0 !important;

    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

.alert-warning .close i,
.email-verification .close i,
.email-verification-banner .close i,
.alert-email-verification .close i {
    margin: 0 !important;
    line-height: 1 !important;
}


/* 3. FACTURES — actions empilées proprement */
a[href*="masspay"],
a[href*="addfunds"] {
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 100% !important;
    min-height: 40px;

    margin-left: 0 !important;
    margin-right: 0 !important;

    white-space: nowrap;
}

a[href*="masspay"] {
    margin-bottom: 8px !important;
}

a[href*="addfunds"] {
    margin-top: 0 !important;
}

/* Petit espace autour de la zone d'actions */
.sidebar .card:first-child .card-footer,
.sidebar .card:first-child .card-body:last-child {
    padding-left: 16px;
    padding-right: 16px;
}


/* MOBILE */
@media (max-width: 991px) {
    #header > .navbar .container {
        min-height: 78px !important;
        padding-top: 10px !important;
        padding-bottom: 12px !important;
    }

    #header .navbar-brand img {
        max-height: 44px;
    }
}


/* =========================================================
   E-NOVWEB — FIX V16
   Logo spacing + invoice action buttons
   ========================================================= */

/* 1. HEADER — annule l'espace ajouté au mauvais endroit */
#header > .navbar .container {
    min-height: 76px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

#header .main-navbar-wrapper {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Respiration autour du LOGO lui-même */
#header .navbar-brand {
    display: flex !important;
    align-items: center !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    margin-top: 3px !important;
    margin-bottom: 3px !important;
}

#header .navbar-brand img {
    max-height: 48px !important;
}


/* 2. FACTURES — les 2 actions pleine largeur */
.sidebar .card:first-child .btn {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 42px !important;

    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    margin: 0 0 8px 0 !important;
    padding: 9px 12px !important;

    border-radius: 7px !important;
    white-space: nowrap;
}

/* Dernier bouton : pas de marge inutile */
.sidebar .card:first-child .btn:last-child {
    margin-bottom: 0 !important;
}

/* Espacement icône / texte */
.sidebar .card:first-child .btn i,
.sidebar .card:first-child .btn svg {
    margin: 0 !important;
    flex: 0 0 auto;
}

/* Conteneur des boutons */
.sidebar .card:first-child .card-footer,
.sidebar .card:first-child .card-body:last-child {
    padding: 12px 14px !important;
}

/* Action principale */
.sidebar .card:first-child .btn-primary,
.sidebar .card:first-child .btn-success {
    background: #111722 !important;
    border-color: #111722 !important;
    color: #fff !important;
}

.sidebar .card:first-child .btn-primary:hover,
.sidebar .card:first-child .btn-success:hover {
    background: #ff5a1f !important;
    border-color: #ff5a1f !important;
}

/* Action secondaire */
.sidebar .card:first-child .btn-default,
.sidebar .card:first-child .btn-secondary,
.sidebar .card:first-child .btn-outline-primary {
    background: #fff !important;
    border: 1px solid #cfcfca !important;
    color: #111 !important;
}

.sidebar .card:first-child .btn-default:hover,
.sidebar .card:first-child .btn-secondary:hover,
.sidebar .card:first-child .btn-outline-primary:hover {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}


/* =========================================================
   E-NOVWEB — INVOICE ACTIONS + BREADCRUMB FIX V17
   ========================================================= */

/* 1. FACTURES — forcer réellement les actions en colonne */
.sidebar .card:has(a[href*="masspay"]) .card-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;

    padding: 12px 14px !important;
}

/* Neutralise les wrappers/btn-groups/alignements WHMCS */
.sidebar .card:has(a[href*="masspay"]) .card-footer > *,
.sidebar .card:has(a[href*="masspay"]) .card-footer .btn-group {
    display: block !important;
    width: 100% !important;
    max-width: none !important;

    float: none !important;
    clear: both !important;

    margin: 0 !important;
}

/* Les deux boutons à 100% */
.sidebar .card a[href*="masspay"],
.sidebar .card a[href*="addfunds"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: none !important;
    min-height: 42px !important;

    float: none !important;
    clear: both !important;

    margin: 0 !important;
    padding: 9px 14px !important;

    box-sizing: border-box !important;
    border-radius: 7px !important;
}

/* Espace propre entre icône et texte */
.sidebar .card a[href*="masspay"] i,
.sidebar .card a[href*="addfunds"] i {
    margin-right: 8px !important;
    margin-left: 0 !important;
}


/* 2. BREADCRUMB — respiration avant le bandeau suivant */
.master-breadcrumb {
    margin-bottom: 12px !important;
}

/* Le bandeau email ne vient plus coller le breadcrumb */
.email-verification,
.email-verification-banner,
.alert-email-verification {
    margin-top: 0 !important;
}


/* E-NOVWEB — BREADCRUMB VERTICAL ALIGNMENT */

.master-breadcrumb {
    min-height: 38px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.master-breadcrumb .container {
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.master-breadcrumb .breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    align-items: center !important;
}


/* E-NOVWEB — FINAL ALIGNMENT FIXES */

/* Breadcrumb : centrage vertical propre */
.master-breadcrumb,
.master-breadcrumb .container {
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
}

.master-breadcrumb .breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* Bouton X : centrage parfait dans le cercle */
.alert-warning .close,
.email-verification .close,
.email-verification-banner .close,
.alert-email-verification .close,
.alert-warning .btn-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;

    padding: 0 !important;
    margin: 0 !important;

    line-height: 1 !important;
    font-size: 18px !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* Si le X est dans un span ou une icône */
.alert-warning .close *,
.email-verification .close *,
.email-verification-banner .close *,
.alert-email-verification .close *,
.alert-warning .btn-close * {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    transform: translateY(-1px);
}


/* E-NOVWEB — BREADCRUMB HEIGHT + VERTICAL CENTER FIX */

/* Retour à la hauteur compacte */
.master-breadcrumb {
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
}

/* Même hauteur, contenu centré verticalement */
.master-breadcrumb .container {
    min-height: 32px !important;
    height: 32px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

/* Texte toujours à gauche, mais au milieu de la barre */
.master-breadcrumb .breadcrumb {
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;

    line-height: 1.2 !important;
    text-align: left !important;
}


/* E-NOVWEB — BREADCRUMB FINAL FIX */

/* On annule les hauteurs forcées précédentes */
.master-breadcrumb {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.master-breadcrumb .container {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Hauteur compacte native + centrage vertical réel */
.master-breadcrumb .breadcrumb {
    margin: 0 !important;
    padding: 8px 0 !important;

    display: flex !important;
    align-items: center !important;

    line-height: 1.2 !important;
    text-align: left !important;
}

/* Correction optique très légère */
.master-breadcrumb .breadcrumb-item {
    line-height: 1.2 !important;
    transform: translateY(1px);
}


/* =========================================================
   E-NOVWEB — MICRO ALIGNMENTS V18
   ========================================================= */

/* Breadcrumb : NE CHANGE PAS sa hauteur.
   On descend seulement son contenu de 2px. */
.master-breadcrumb .breadcrumb {
    transform: translateY(2px) !important;
}

.master-breadcrumb .breadcrumb-item {
    transform: none !important;
}


/* FACTURE — respiration entre logo et numéro de facture */
.invoice-header .invoice-col > p {
    margin-bottom: 22px !important;
}

.invoice-header .invoice-col > p img {
    display: block;
}

.invoice-header .invoice-col > h3 {
    margin-top: 0 !important;
}


/* =========================================================
   E-NOVWEB — INVOICE + BREADCRUMB FIX V19
   ========================================================= */

/* Facture : vraie respiration entre logo et numéro */
.invoice-container .invoice-header .invoice-col:first-child > p {
    margin: 0 0 28px 0 !important;
}

.invoice-container .invoice-header .invoice-col:first-child > p img {
    display: block !important;
    max-width: 100% !important;
}


/* Breadcrumb : NE CHANGE PAS la hauteur.
   Descend uniquement le texte dans sa barre. */
.master-breadcrumb ol.breadcrumb {
    position: relative !important;
    top: 3px !important;
}

