/* =====================================================================
   ShieldCore — Thème espace client WHMCS (enfant de « Nexus »)
   Fichier : css/shieldcore.css — chargé par header.tpl avec ?v=…
   (pensez à augmenter ce numéro dans header.tpl après une modification)
   ---------------------------------------------------------------------
   Reprend le design system du site vitrine www.shieldcore.io :
   fond slate-950, panneaux translucides, contours fins, boutons « pill ».

   Toutes les règles sont préfixées par `.sc-theme` (classe posée sur
   <html> dans header.tpl). Les pages autonomes de WHMCS (facture,
   devis, note de facturation…) qui n'utilisent pas header.tpl restent
   donc en clair, prêtes à imprimer.
   ===================================================================== */

/* Couche de compatibilité générée (couleurs claires de WHMCS → sombre).
   Le numéro de version force le rafraîchissement des caches (Cloudflare…). */
@import url("shieldcore-compat.css?v=1.2.0");

/* ---------------------------------------------------------------------
   1. Tokens
   --------------------------------------------------------------------- */
:root {
    /* Palette ShieldCore (site vitrine) */
    --sc-bg: #020617;
    --sc-bg-rgb: 2, 6, 23;
    --sc-elevated: #0b1120;            /* menus, modales, popovers (opaque) */
    --sc-surface: rgba(255, 255, 255, .05);
    --sc-panel: rgba(255, 255, 255, .06);
    --sc-panel-hover: rgba(255, 255, 255, .09);
    --sc-panel-strong: rgba(255, 255, 255, .10);
    --sc-field: rgba(2, 6, 23, .55);
    --sc-stroke: rgba(255, 255, 255, .10);
    --sc-stroke-soft: rgba(255, 255, 255, .07);
    --sc-stroke-strong: rgba(255, 255, 255, .18);
    --sc-text: rgba(255, 255, 255, .92);
    --sc-text-2: rgba(255, 255, 255, .78);
    --sc-muted: rgba(255, 255, 255, .70);
    --sc-muted-2: rgba(255, 255, 255, .55);
    --sc-faint: rgba(255, 255, 255, .35);

    /* Accent : bleu du logo, utilisé avec parcimonie (focus, liens) */
    --sc-accent: #74a3f5;
    --sc-accent-rgb: 116, 163, 245;
    --sc-link: #a9c6fb;

    /* États */
    --sc-success: #22c55e;
    --sc-success-rgb: 34, 197, 94;
    --sc-warning: #f59e0b;
    --sc-warning-rgb: 245, 158, 11;
    --sc-danger: #ef4444;
    --sc-danger-rgb: 239, 68, 68;
    --sc-info: #74a3f5;
    --sc-info-rgb: 116, 163, 245;
    --sc-violet: #a78bfa;
    --sc-violet-rgb: 167, 139, 250;

    /* Formes */
    --sc-radius: 18px;
    --sc-radius-md: 14px;
    --sc-radius-sm: 12px;
    --sc-radius-xs: 8px;
    --sc-pill: 999px;
    --sc-blur: blur(12px);
    --sc-shadow: 0 1px 0 rgba(255, 255, 255, .06);
    --sc-shadow-lg: 0 12px 32px rgba(0, 0, 0, .4);
    --sc-shadow-pop: 0 18px 50px rgba(0, 0, 0, .55);
    --sc-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Apple Color Emoji", "Segoe UI Emoji";
    --sc-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    --sc-container: 1120px;
}

/* Variables Nexus (thème + Nexus Cart) remappées en sombre.
   Limitées à html.sc-theme : la facture / le devis (pages autonomes)
   gardent les valeurs claires d'origine importées ci-dessus. */
html.sc-theme {
    --white: #fff;
    --neutral-50: #0b1120;
    --neutral-100: #0f172a;
    --neutral-200: #1e293b;
    --neutral-300: #334155;
    --neutral-400: #64748b;
    --neutral-500: #94a3b8;
    --neutral-600: #cbd5e1;
    --neutral-700: #e2e8f0;
    --neutral-800: #f1f5f9;
    --neutral-900: #f8fafc;
    --neutral-950: #ffffff;
    --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-950);
    --primary: #f8fafc;
    --primary-lifted: #ffffff;
    --primary-accented: #e2e8f0;
    --secondary: #94a3b8;
    --secondary-lifted: #cbd5e1;
    --secondary-accented: #e2e8f0;
    --success: var(--sc-success);
    --success-lifted: #16a34a;
    --success-accented: #15803d;
    --info: var(--sc-info);
    --info-lifted: #5b8def;
    --info-accented: #3b6fd8;
    --notice: var(--sc-violet);
    --notice-lifted: #8b5cf6;
    --notice-accented: #7c3aed;
    --warning: var(--sc-warning);
    --warning-lifted: #d97706;
    --warning-accented: #b45309;
    --error: var(--sc-danger);
    --error-lifted: #dc2626;
    --error-accented: #b91c1c;
    --grayscale: rgba(255, 255, 255, .95);
    --grayscale-lifted: rgba(255, 255, 255, .85);
    --grayscale-accented: rgba(255, 255, 255, .75);
    --neutral: #64748b;
    --neutral-lifted: #94a3b8;
    --neutral-accented: #cbd5e1;
    --text-inverted: #020617;
    --text-muted: rgba(255, 255, 255, .45);
    --text-lifted: rgba(255, 255, 255, .60);
    --text-accented: rgba(255, 255, 255, .78);
    --text: rgba(255, 255, 255, .92);
    --border-muted: rgba(255, 255, 255, .08);
    --border: rgba(255, 255, 255, .12);
    --border-lifted: rgba(255, 255, 255, .18);
    --border-accented: rgba(255, 255, 255, .28);
    --bg: rgba(255, 255, 255, .04);
    --bg-muted: rgba(255, 255, 255, .03);
    --bg-lifted: rgba(255, 255, 255, .06);
    --bg-accented: rgba(255, 255, 255, .09);
    --bg-inverted: rgba(255, 255, 255, .95);
    --yellow-200: #fde68a;
    --yellow-300: #fcd34d;
    --teal-300: #5eead4;
    --teal-400: #2dd4bf;
    --emerald-300: #6ee7b7;
    --pink-400: #f472b6;
    --text-xs: .625rem;
    --text-sm: .75rem;
    --text-md: .875rem;
    --text-lg: 1rem;
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;
    --rounding-sm: 10px;
    --rounding-md: 14px;
    --rounding-lg: 18px;
    --letter-spacing: 0em;
    --disabled-opacity: 45%;
}

/* ---------------------------------------------------------------------
   2. Base
   --------------------------------------------------------------------- */
html.sc-theme {
    color-scheme: dark;
    scroll-behavior: smooth;
    background: var(--sc-bg);
}

.sc-theme body,
.sc-theme html {
    background: var(--sc-bg);
}

.sc-theme body {
    font-family: var(--sc-font);
    color: var(--sc-text);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.sc-theme ::selection {
    background: rgba(var(--sc-accent-rgb), .35);
    color: #fff;
}

.sc-theme h1, .sc-theme h2, .sc-theme h3, .sc-theme h4, .sc-theme h5, .sc-theme h6,
.sc-theme .h1, .sc-theme .h2, .sc-theme .h3, .sc-theme .h4, .sc-theme .h5, .sc-theme .h6 {
    color: var(--sc-text);
    font-weight: 600;
    letter-spacing: -0.02em;
}

.sc-theme a {
    color: var(--sc-text);
    transition: color .15s ease;
}
.sc-theme a:hover,
.sc-theme a:focus {
    color: #fff;
    text-decoration: none;
}

/* liens dans le contenu : légère touche d'accent pour rester repérables */
.sc-theme .primary-content p a:not(.btn),
.sc-theme .primary-content .card-body a:not(.btn):not(.list-group-item):not(.dropdown-item),
.sc-theme .primary-content .alert a:not(.btn),
.sc-theme .primary-content td a:not(.btn),
.sc-theme .modal-body a:not(.btn) {
    color: var(--sc-link);
}
.sc-theme .primary-content p a:not(.btn):hover,
.sc-theme .primary-content .card-body a:not(.btn):not(.list-group-item):not(.dropdown-item):hover,
.sc-theme .primary-content td a:not(.btn):hover {
    color: #fff;
}

.sc-theme hr {
    border-top-color: var(--sc-stroke);
}

.sc-theme small, .sc-theme .small {
    color: inherit;
}

.sc-theme code {
    color: #c4d7fb;
    background: rgba(var(--sc-accent-rgb), .10);
    padding: .1em .4em;
    border-radius: 6px;
    font-family: var(--sc-mono);
}
.sc-theme pre {
    color: var(--sc-text);
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-sm);
    padding: 14px;
}
.sc-theme kbd {
    background: var(--sc-panel-strong);
    color: #fff;
}

.sc-theme blockquote {
    border-left: 3px solid var(--sc-stroke-strong);
    padding-left: 14px;
    color: var(--sc-muted);
}

/* utilitaires Bootstrap inversés */
.sc-theme .text-muted,
.sc-theme .text-secondary,
.sc-theme .text-black-50 { color: var(--sc-muted-2) !important; }
.sc-theme .text-dark,
.sc-theme .text-body,
.sc-theme .text-black { color: var(--sc-text) !important; }
.sc-theme .text-white-50 { color: var(--sc-muted-2) !important; }
.sc-theme .text-primary { color: var(--sc-link) !important; }
.sc-theme .text-success { color: #4ade80 !important; }
.sc-theme .text-info { color: var(--sc-link) !important; }
.sc-theme .text-warning { color: #fbbf24 !important; }
.sc-theme .text-danger { color: #f87171 !important; }
.sc-theme .bg-white,
.sc-theme .bg-light { background-color: var(--sc-surface) !important; color: var(--sc-text); }
.sc-theme .bg-dark { background-color: var(--sc-elevated) !important; }
.sc-theme .bg-primary { background-color: rgba(255, 255, 255, .95) !important; color: var(--sc-bg) !important; }
.sc-theme .bg-success { background-color: rgba(var(--sc-success-rgb), .16) !important; }
.sc-theme .bg-info { background-color: rgba(var(--sc-info-rgb), .16) !important; }
.sc-theme .bg-warning { background-color: rgba(var(--sc-warning-rgb), .16) !important; }
.sc-theme .bg-danger { background-color: rgba(var(--sc-danger-rgb), .16) !important; }
.sc-theme .border,
.sc-theme .border-top,
.sc-theme .border-right,
.sc-theme .border-bottom,
.sc-theme .border-left { border-color: var(--sc-stroke) !important; }
.sc-theme .shadow,
.sc-theme .shadow-sm { box-shadow: var(--sc-shadow-lg) !important; }

/* barres de défilement discrètes */
.sc-theme * {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, .18) transparent;
}
.sc-theme ::-webkit-scrollbar { width: 10px; height: 10px; }
.sc-theme ::-webkit-scrollbar-track { background: transparent; }
.sc-theme ::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, .14);
    border-radius: 99px;
    border: 2px solid var(--sc-bg);
}
.sc-theme ::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, .24); }

/* ---------------------------------------------------------------------
   3. Fond : halos (identiques au site vitrine)
   --------------------------------------------------------------------- */
.sc-bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
.sc-blob {
    position: absolute;
    border-radius: 999px;
    filter: blur(60px);
    opacity: .55;
    background: rgba(255, 255, 255, .10);
}
.sc-blob--top {
    width: 900px;
    height: 520px;
    top: -140px;
    left: 50%;
    transform: translateX(-50%);
}
.sc-blob--left {
    width: 520px;
    height: 520px;
    bottom: -160px;
    left: -140px;
    background: rgba(255, 255, 255, .07);
}
.sc-blob--right {
    width: 420px;
    height: 420px;
    top: 220px;
    right: -140px;
    background: rgba(255, 255, 255, .07);
}
.sc-theme .master-breadcrumb,
.sc-theme section#main-body,
.sc-theme #footer,
.sc-theme .network-issue-alert {
    position: relative;
    z-index: 1;
}
/* Fenêtres Bootstrap placées dans le contenu (panier : « Supprimer », « Vider le panier »…).
   Avec z-index: 1, #main-body les garde sous le voile sombre, ajouté à la fin de <body> :
   on lève ce niveau le temps qu'une fenêtre est ouverte. Le contenu reste au-dessus des halos. */
.sc-theme body.modal-open .master-breadcrumb,
.sc-theme body.modal-open section#main-body,
.sc-theme body.modal-open #footer,
.sc-theme body.modal-open .network-issue-alert {
    z-index: auto;
}

/* ---------------------------------------------------------------------
   4. Conteneur
   --------------------------------------------------------------------- */
@media (min-width: 1200px) {
    .sc-theme .container {
        max-width: calc(var(--sc-container) + 30px);
    }
}

/* ---------------------------------------------------------------------
   5. En-tête
   --------------------------------------------------------------------- */
.sc-theme header.header,
.sc-theme header#header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: rgba(var(--sc-bg-rgb), .70);
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
    border-bottom: 1px solid var(--sc-stroke);
}

/* Barre utilisateur (connecté) */
.sc-theme header.header .topbar {
    padding: 0;
    background: transparent;
    border-bottom: 1px solid var(--sc-stroke-soft);
    color: var(--sc-muted-2);
    font-size: 13px;
}
.sc-theme header.header .topbar .d-flex {
    min-height: 36px;
    align-items: center;
}
.sc-theme header.header .topbar .btn {
    font-size: 13px;
    color: var(--sc-muted);
    padding: 4px 10px;
    border-radius: var(--sc-pill);
    background: transparent;
    border: 0;
}
.sc-theme header.header .topbar .btn:hover {
    color: #fff;
    background: var(--sc-panel);
}
.sc-theme header.header .topbar .active-client .input-group-text {
    color: var(--sc-muted-2);
    font-size: 13px;
    background: transparent;
    border: 0;
}
.sc-theme header.header .topbar .active-client .btn.btn-active-client span {
    border-bottom: 1px dashed rgba(255, 255, 255, .35);
    color: var(--sc-text);
}
.sc-theme header.header .topbar .btn-return-to-admin {
    color: #fbbf24;
}

/* Barre principale */
.sc-theme header.header .sc-navbar {
    padding: 0;
    min-height: 64px;
}
.sc-theme header.header .sc-navbar > .container {
    min-height: 64px;
    flex-wrap: wrap;
    gap: 0 14px;
    padding-left: 16px;
    padding-right: 16px;
}
.sc-theme header.header .navbar-brand.sc-brand {
    order: 1;
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 12px;
    margin: 0;
    border-radius: var(--sc-radius-md);
    border: 1px solid var(--sc-stroke);
    background: var(--sc-panel);
    transition: border-color .15s ease, background .15s ease;
}
.sc-theme header.header .navbar-brand.sc-brand:hover {
    border-color: var(--sc-stroke-strong);
    background: var(--sc-panel-hover);
}
.sc-theme header.header .logo-img {
    display: block;
    height: 22px;
    width: auto;
    max-width: 170px;
    max-height: 26px;
}

/* Outils (recherche, panier, commander, burger) */
.sc-theme header.header .sc-toolbar {
    order: 2;
    margin-left: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.sc-theme header.header .sc-toolbar .nav-item {
    margin: 0;
}
.sc-theme header.header .sc-icon-btn,
.sc-theme header.header .toolbar .nav-link.sc-icon-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 38px;
    padding: 0;
    border-radius: var(--sc-radius-md);
    border: 1px solid var(--sc-stroke);
    background: var(--sc-panel);
    color: rgba(255, 255, 255, .82);
    font-size: 14px;
    overflow: visible !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.sc-theme header.header .sc-icon-btn:hover,
.sc-theme header.header .sc-icon-btn[aria-expanded="true"] {
    color: #fff;
    background: var(--sc-panel-hover);
    border-color: var(--sc-stroke-strong);
}
.sc-theme header.header .cart-btn .badge {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 99px;
    font-size: 11px;
    font-weight: 800;
    line-height: 18px;
    background: #fff;
    color: var(--sc-bg);
    opacity: 1;
    box-shadow: 0 0 0 2px var(--sc-bg);
}
.sc-theme header.header .cart-btn .badge.sc-empty {
    display: none;
}
.sc-theme header.header .sc-burger {
    flex-direction: column;
    gap: 4px;
}
.sc-theme header.header .sc-burger span {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 99px;
    background: rgba(255, 255, 255, .82);
    transition: transform .2s ease, opacity .2s ease;
}
.sc-theme header.header .sc-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.sc-theme header.header .sc-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.sc-theme header.header .sc-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.sc-theme header.header .sc-search-menu {
    width: 340px;
    padding: 8px;
    margin-top: 10px;
}
.sc-theme header.header .sc-search-menu .search {
    width: 100%;
    border: 0;
}
.sc-theme header.header .search .input-group-text,
.sc-theme header.header .search .btn {
    background: transparent;
    border: 1px solid var(--sc-stroke);
    border-right: 0;
    color: var(--sc-muted-2);
    border-radius: var(--sc-radius-md) 0 0 var(--sc-radius-md);
}
.sc-theme header.header .search .form-control {
    border-left: 0;
    border-radius: 0 var(--sc-radius-md) var(--sc-radius-md) 0;
}
.sc-theme header.header .search {
    border: 0;
    width: auto;
}

/* Navigation */
.sc-theme header.header .navbar-collapse {
    order: 3;
    flex-basis: 100%;
}
.sc-theme header.header .navbar-collapse .navbar-nav {
    margin: 0;
    gap: 0;
}
.sc-theme header.header #nav.sc-nav {
    gap: 0 18px;
}
.sc-theme header.header .sc-nav > li > a,
.sc-theme header.header .sc-account-nav > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0 !important;
    line-height: 20px;
    color: rgba(255, 255, 255, .78);
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}
.sc-theme header.header .sc-nav > li > a:hover,
.sc-theme header.header .sc-nav > li.sc-active > a,
.sc-theme header.header .sc-nav > li.show > a {
    color: #fff;
}
.sc-theme header.header .sc-nav > li > a::after {
    /* indicateur de section (comme le site) — remplace la flèche Bootstrap */
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    width: auto;
    height: 2px;
    margin: 0;
    border: 0;
    border-radius: 99px;
    background: rgba(255, 255, 255, .85);
    transform: scaleX(0);
    transform-origin: center;
    opacity: 0;
    transition: transform .25s ease, opacity .25s ease;
    vertical-align: initial;
}
.sc-theme header.header .sc-nav > li.sc-active > a::after,
.sc-theme header.header .sc-nav > li.show > a::after {
    transform: scaleX(1);
    opacity: 1;
}
.sc-theme header.header .sc-nav > li > a.dropdown-toggle {
    padding-right: 14px !important;
}
.sc-theme header.header .sc-nav > li > a.dropdown-toggle::before,
.sc-theme header.header .sc-account-nav > li > a.dropdown-toggle::before {
    /* chevron discret */
    content: "";
    position: absolute;
    right: 1px;
    top: 50%;
    width: 6px;
    height: 6px;
    margin-top: -5px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    opacity: .6;
}
.sc-theme header.header .sc-account-nav > li > a {
    padding: 8px 30px 8px 14px !important;
    border-radius: var(--sc-pill);
    border: 1px solid var(--sc-stroke);
    background: var(--sc-panel);
    color: rgba(255, 255, 255, .92);
    font-weight: 700;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.sc-theme header.header .sc-account-nav > li > a.dropdown-toggle::before {
    right: 14px;
}
.sc-theme header.header .sc-account-nav > li > a::after {
    display: none;
}
.sc-theme header.header .sc-account-nav > li > a:hover,
.sc-theme header.header .sc-account-nav > li.show > a {
    background: var(--sc-panel-hover);
    border-color: var(--sc-stroke-strong);
}

/* « Plus » (menu replié automatiquement) */
.sc-theme header.header .collapsable-dropdown > a {
    padding-right: 14px !important;
}

@media (min-width: 1200px) {
    .sc-theme header.header .sc-navbar > .container {
        flex-wrap: nowrap;
    }
    .sc-theme header.header .navbar-collapse {
        order: 2;
        flex: 1 1 auto;
        min-width: 0;
        margin-left: 22px;
    }
    /* le menu doit pouvoir passer à la ligne : le script WHMCS (autoCollapse)
       range alors les entrées en trop dans « Plus » */
    .sc-theme header.header #nav.sc-nav {
        flex-wrap: wrap;
        min-width: 0;
        flex: 0 1 auto;
    }
    .sc-theme header.header .sc-toolbar {
        order: 3;
        flex: none;
        margin-left: 6px;
    }
    .sc-theme header.header .navbar-collapse .sc-account-nav {
        flex: none;
        margin-left: 14px;
    }
    /* autoCollapse() ajoute .w-100 à toutes les .navbar-nav pendant son calcul :
       seul le menu principal doit s'étirer */
    .sc-theme header.header .sc-account-nav.w-100,
    .sc-theme header.header .sc-toolbar.w-100 {
        width: auto !important;
    }
    .sc-theme header.header .sc-nav .dropdown-menu {
        margin-top: 14px;
    }
}

/* Mobile / tablette : menu déroulant façon site */
@media (max-width: 1199.98px) {
    .sc-theme header.header .navbar-collapse {
        margin: 0 -16px;
        padding: 0 16px;
        border-top: 1px solid var(--sc-stroke);
    }
    .sc-theme header.header .navbar-collapse.show,
    .sc-theme header.header .navbar-collapse.collapsing {
        background: rgba(var(--sc-bg-rgb), .92);
    }
    .sc-theme header.header .sc-mobile-search {
        padding: 14px 0 6px;
    }
    .sc-theme header.header #nav.sc-nav,
    .sc-theme header.header .sc-account-nav {
        gap: 2px;
        width: 100% !important;
        padding: 6px 0;
    }
    .sc-theme header.header .sc-account-nav {
        border-top: 1px solid var(--sc-stroke-soft);
        padding-bottom: 16px;
    }
    .sc-theme header.header .sc-nav > li > a,
    .sc-theme header.header .sc-account-nav > li > a {
        display: flex;
        width: 100%;
        padding: 10px 12px !important;
        border-radius: var(--sc-radius-sm);
        border: 1px solid transparent;
        background: transparent;
        font-weight: 500;
    }
    .sc-theme header.header .sc-nav > li > a:hover,
    .sc-theme header.header .sc-account-nav > li > a:hover {
        background: var(--sc-panel);
        border-color: var(--sc-stroke);
    }
    .sc-theme header.header .sc-nav > li > a::after {
        display: none;
    }
    .sc-theme header.header .sc-nav > li > a.dropdown-toggle::before,
    .sc-theme header.header .sc-account-nav > li > a.dropdown-toggle::before {
        right: 16px;
    }
    .sc-theme header.header .navbar-nav .dropdown-menu {
        position: static;
        float: none;
        margin: 2px 0 6px 12px;
        background: transparent;
        border: 0;
        border-left: 1px solid var(--sc-stroke);
        border-radius: 0;
        box-shadow: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        padding: 0 0 0 6px;
    }
}

@media (max-width: 575.98px) {
    .sc-theme header.header .sc-navbar > .container {
        justify-content: space-between;
    }
    .sc-theme header.header .logo-img {
        height: 20px;
    }
}

/* ---------------------------------------------------------------------
   6. Fil d'Ariane & alertes réseau
   --------------------------------------------------------------------- */
.sc-theme .master-breadcrumb {
    background: transparent;
    border: 0;
}
.sc-theme .master-breadcrumb .breadcrumb {
    background: transparent;
    padding: 18px 0 0;
    margin: 0;
    font-size: 13px;
}
.sc-theme .breadcrumb-item,
.sc-theme .breadcrumb-item a,
.sc-theme .master-breadcrumb .breadcrumb a {
    color: var(--sc-muted-2);
}
.sc-theme .breadcrumb-item a:hover { color: #fff; }
.sc-theme .breadcrumb-item.active,
.sc-theme .master-breadcrumb .breadcrumb .breadcrumb-item.active {
    color: var(--sc-text-2);
}
.sc-theme .breadcrumb-item + .breadcrumb-item::before {
    content: "/";
    color: var(--sc-faint);
}
.sc-theme.sc-page-homepage .master-breadcrumb,
.sc-theme .sc-page-homepage .master-breadcrumb {
    display: none;
}

.sc-theme .network-issue-alert {
    border: 0;
    border-bottom: 1px solid rgba(var(--sc-warning-rgb), .25);
    border-radius: 0;
    font-size: 13px;
}

/* ---------------------------------------------------------------------
   7. Zone principale
   --------------------------------------------------------------------- */
.sc-theme section#main-body {
    background: transparent;
    padding: 22px 0 64px;
    min-height: calc(100vh - 64px - 200px);
}
.sc-theme .primary-bg-color {
    background: transparent;
}
.sc-theme .main-content,
.sc-theme section#main-content {
    margin-bottom: 40px;
}

.sc-theme .header-lined,
.sc-theme .primary-content > h1:first-child,
.sc-theme .primary-content > h2:first-child {
    color: var(--sc-text);
}
.sc-theme .header-lined h1,
.sc-theme .header-lined .h1 {
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0 0 6px;
}
.sc-theme .header-lined p {
    color: var(--sc-muted);
}

/* ---------------------------------------------------------------------
   8. Cartes / panneaux
   --------------------------------------------------------------------- */
.sc-theme .card,
.sc-theme .mc-promo-manage,
.sc-theme .mc-promo-login,
.sc-theme .well,
.sc-theme .panel {
    color: inherit;
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    box-shadow: var(--sc-shadow);
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
}
.sc-theme .card .card,
.sc-theme .modal .card {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.sc-theme body .primary-content .card,
.sc-theme .primary-content .card {
    border-radius: var(--sc-radius);
    margin-bottom: 16px;
}
.sc-theme body .primary-content .card .card-body {
    padding: 24px;
}
@media (max-width: 575.98px) {
    .sc-theme body .primary-content .card .card-body {
        padding: 18px;
    }
}
.sc-theme .card-header,
.sc-theme .card-footer,
.sc-theme .panel-heading,
.sc-theme .panel-footer {
    background: transparent;
    border-color: var(--sc-stroke);
    color: var(--sc-text);
}
.sc-theme .card-header:first-child {
    border-radius: calc(var(--sc-radius) - 1px) calc(var(--sc-radius) - 1px) 0 0;
}
.sc-theme .card-footer:last-child {
    border-radius: 0 0 calc(var(--sc-radius) - 1px) calc(var(--sc-radius) - 1px);
}
.sc-theme .card-footer {
    background: rgba(255, 255, 255, .02);
}
.sc-theme .card-title,
.sc-theme .primary-content .card-title {
    color: var(--sc-text);
    font-weight: 600;
    letter-spacing: -0.01em;
}
.sc-theme .card-subtitle {
    color: var(--sc-muted-2);
}
.sc-theme [class*="card-accent-"] {
    border-top: 1px solid var(--sc-stroke);
}

/* ---------------------------------------------------------------------
   9. Barre latérale
   --------------------------------------------------------------------- */
.sc-theme .sidebar .card-sidebar,
.sc-theme .sidebar .card {
    border-radius: var(--sc-radius);
    overflow: hidden;
    margin-bottom: 14px !important;
}
.sc-theme .sidebar .card-header {
    padding: 14px 16px;
    background: transparent;
    border-bottom: 1px solid var(--sc-stroke-soft);
    border-radius: 0;
}
.sc-theme .sidebar .card-title,
.sc-theme .sidebar .card-sidebar .panel-title {
    font-size: 12px !important;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--sc-muted-2);
}
.sc-theme .sidebar .card-title .badge {
    letter-spacing: 0;
}
.sc-theme .sidebar .card-minimise {
    color: var(--sc-faint);
    font-size: 11px;
    margin-top: 2px;
}
.sc-theme .sidebar .list-group {
    padding: 6px;
    font-size: 14px;
    border-radius: 0 !important;
}
.sc-theme .sidebar .list-group-item {
    padding: 8px 10px;
    border: 0;
    border-radius: 10px !important;
    background: transparent;
    color: var(--sc-text-2);
    font-size: 14px;
    margin: 1px 0;
}
.sc-theme .sidebar .list-group-item-action:hover,
.sc-theme .sidebar .list-group-item-action:focus {
    background: var(--sc-panel);
    color: #fff;
}
.sc-theme .sidebar .list-group-item.active,
.sc-theme .sidebar .list-group-item.active:hover,
.sc-theme .sidebar .list-group-item.active:focus {
    background: var(--sc-panel-strong);
    color: #fff;
    box-shadow: inset 2px 0 0 rgba(255, 255, 255, .85);
}
.sc-theme .sidebar .list-group-item .badge {
    width: auto;
    min-width: 26px;
    padding: 3px 7px;
    border-radius: 99px;
    background: var(--sc-panel-strong);
    color: var(--sc-text-2);
    font-weight: 700;
}
.sc-theme .sidebar .sidebar-menu-item-icon-wrapper {
    width: 22px;
    margin-right: 6px;
    color: var(--sc-muted-2);
    text-align: center;
}
.sc-theme .sidebar .list-group-item.active .sidebar-menu-item-icon-wrapper,
.sc-theme .sidebar .list-group-item:hover .sidebar-menu-item-icon-wrapper {
    color: #fff;
}
.sc-theme .sidebar .card-body {
    color: var(--sc-text-2);
    font-size: 14px;
}
.sc-theme .sidebar .card-footer {
    background: rgba(255, 255, 255, .02);
    border-top: 1px solid var(--sc-stroke-soft);
}
.sc-theme body .sidebar .btn-default,
.sc-theme body .sidebar .btn-success {
    border: 1px solid var(--sc-stroke);
}

/* ---------------------------------------------------------------------
   10. Listes
   --------------------------------------------------------------------- */
.sc-theme .list-group-item {
    color: var(--sc-text-2);
    background: transparent;
    border-color: var(--sc-stroke-soft);
}
.sc-theme .list-group-item-action:hover,
.sc-theme .list-group-item-action:focus {
    color: #fff;
    background: var(--sc-panel);
}
.sc-theme .list-group-item.active {
    color: #fff;
    background: var(--sc-panel-strong);
    border-color: var(--sc-stroke);
}
.sc-theme .list-group-item.disabled,
.sc-theme .list-group-item:disabled {
    color: var(--sc-faint);
    background: transparent;
}

/* ---------------------------------------------------------------------
   11. Boutons
   --------------------------------------------------------------------- */
.sc-theme .btn {
    border-radius: var(--sc-pill);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0;
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.sc-theme .btn:focus,
.sc-theme .btn.focus {
    box-shadow: 0 0 0 3px rgba(var(--sc-accent-rgb), .30);
}
.sc-theme .btn.disabled,
.sc-theme .btn:disabled {
    opacity: .45;
}
.sc-theme .btn-sm,
.sc-theme .btn-group-sm > .btn { font-size: 13px; padding: .3rem .8rem; }
.sc-theme .btn-xs,
.sc-theme .btn-group-xs > .btn { font-size: 12px; padding: 2px 9px; border-radius: var(--sc-pill); }
.sc-theme .btn-lg,
.sc-theme .btn-group-lg > .btn { font-size: 16px; padding: .65rem 1.4rem; }

/* Primaire : blanc (comme « Voir les offres ») */
.sc-theme .btn-primary,
.sc-theme .btn-success,
.sc-theme .sc-btn--primary {
    color: var(--sc-bg) !important;
    background: rgba(255, 255, 255, .95) !important;
    border: 1px solid transparent !important;
}
.sc-theme .btn-primary:hover,
.sc-theme .btn-success:hover,
.sc-theme .sc-btn--primary:hover {
    color: var(--sc-bg) !important;
    background: #fff !important;
    border-color: transparent !important;
    transform: translateY(-1px);
    box-shadow: var(--sc-shadow-lg);
}
.sc-theme .btn-primary:not(:disabled):not(.disabled):active,
.sc-theme .btn-primary:not(:disabled):not(.disabled).active,
.sc-theme .btn-success:not(:disabled):not(.disabled):active,
.sc-theme .btn-success:not(:disabled):not(.disabled).active {
    color: var(--sc-bg) !important;
    background: rgba(255, 255, 255, .85) !important;
    transform: none;
}
.sc-theme .btn-primary:focus,
.sc-theme .btn-success:focus {
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}
.sc-theme body form.using-password-strength .btn-primary:disabled {
    background: rgba(255, 255, 255, .5) !important;
}

/* Secondaires : « ghost » */
.sc-theme .btn-default,
.sc-theme .btn-secondary,
.sc-theme .btn-light,
.sc-theme .btn-dark,
.sc-theme .btn-outline-primary,
.sc-theme .btn-outline-secondary,
.sc-theme .btn-outline-light,
.sc-theme .btn-outline-dark,
.sc-theme .btn-outline-success,
.sc-theme .btn-outline-info,
.sc-theme .sc-btn--ghost,
.sc-theme .btn.btn-success.open-modal.twofa-config-link.enable {
    color: rgba(255, 255, 255, .92);
    background: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
}
.sc-theme .btn-default:hover,
.sc-theme .btn-secondary:hover,
.sc-theme .btn-light:hover,
.sc-theme .btn-dark:hover,
.sc-theme .btn-outline-primary:hover,
.sc-theme .btn-outline-secondary:hover,
.sc-theme .btn-outline-light:hover,
.sc-theme .btn-outline-dark:hover,
.sc-theme .btn-outline-success:hover,
.sc-theme .btn-outline-info:hover,
.sc-theme .sc-btn--ghost:hover,
.sc-theme .btn.btn-success.open-modal.twofa-config-link.enable:hover {
    color: #fff;
    background: var(--sc-panel-hover);
    border-color: var(--sc-stroke-strong);
}
.sc-theme .btn-default:focus,
.sc-theme .btn-default.focus,
.sc-theme .btn-default:active,
.sc-theme .btn-default.active,
.sc-theme .btn-secondary:not(:disabled):not(.disabled):active,
.sc-theme .btn-secondary:not(:disabled):not(.disabled).active,
.sc-theme .btn-outline-primary:not(:disabled):not(.disabled):active,
.sc-theme .btn-outline-primary:not(:disabled):not(.disabled).active,
.sc-theme .btn-outline-secondary:not(:disabled):not(.disabled).active,
.sc-theme .show > .btn-default.dropdown-toggle,
.sc-theme .show > .btn-secondary.dropdown-toggle,
.sc-theme .open > .dropdown-toggle.btn-default {
    color: #fff;
    background: var(--sc-panel-strong);
    border-color: var(--sc-stroke-strong);
}
.sc-theme .btn-default.disabled:hover,
.sc-theme .btn-default[disabled]:hover,
.sc-theme .btn-default.disabled:focus,
.sc-theme .btn-default[disabled]:focus {
    background-color: var(--sc-panel) !important;
    border-color: var(--sc-stroke) !important;
}

/* Sémantiques : teintées, discrètes */
.sc-theme .btn-danger,
.sc-theme .btn-outline-danger {
    color: #fecaca;
    background: rgba(var(--sc-danger-rgb), .12);
    border: 1px solid rgba(var(--sc-danger-rgb), .35);
}
.sc-theme .btn-danger:hover,
.sc-theme .btn-outline-danger:hover,
.sc-theme .btn-danger:not(:disabled):not(.disabled):active {
    color: #fff;
    background: rgba(var(--sc-danger-rgb), .22);
    border-color: rgba(var(--sc-danger-rgb), .55);
}
.sc-theme .btn-warning,
.sc-theme .btn-outline-warning {
    color: #fde68a;
    background: rgba(var(--sc-warning-rgb), .12);
    border: 1px solid rgba(var(--sc-warning-rgb), .35);
}
.sc-theme .btn-warning:hover,
.sc-theme .btn-outline-warning:hover {
    color: #fff;
    background: rgba(var(--sc-warning-rgb), .22);
    border-color: rgba(var(--sc-warning-rgb), .55);
}
.sc-theme .btn-info {
    color: #dbe7fd;
    background: rgba(var(--sc-info-rgb), .14);
    border: 1px solid rgba(var(--sc-info-rgb), .35);
}
.sc-theme .btn-info:hover {
    color: #fff;
    background: rgba(var(--sc-info-rgb), .24);
    border-color: rgba(var(--sc-info-rgb), .55);
}
.sc-theme .btn-link {
    color: var(--sc-link);
    font-weight: 600;
}
.sc-theme .btn-link:hover {
    color: #fff;
}

/* Boutons ShieldCore (utilisés dans les templates du thème) */
.sc-theme .sc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: var(--sc-pill);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.sc-theme .sc-btn i {
    font-size: 12px;
    opacity: .9;
    transition: transform .15s ease;
}
.sc-theme .sc-btn:hover i.fa-arrow-right {
    transform: translateX(2px);
}
.sc-theme .sc-btn--ghost:hover {
    transform: translateY(-1px);
    box-shadow: var(--sc-shadow-lg);
}
.sc-theme .sc-btn--block {
    display: flex;
    width: 100%;
    border-radius: var(--sc-radius-md);
    padding: 12px 16px;
}
.sc-theme header.header .sc-btn,
.sc-theme header.header .navbar-nav a.sc-btn {
    height: 38px;
    padding: 0 16px;
    font-size: 14px;
}

/* Groupes de boutons */
.sc-theme .btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.sc-theme .btn-group > .btn-group:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.sc-theme .btn-group > .btn:not(:first-child),
.sc-theme .btn-group > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.sc-theme .btn-group-toggle .btn.active {
    background: rgba(255, 255, 255, .95);
    color: var(--sc-bg);
}

/* ---------------------------------------------------------------------
   12. Formulaires
   --------------------------------------------------------------------- */
.sc-theme label,
.sc-theme .form-control-label,
.sc-theme .control-label,
.sc-theme .col-form-label {
    color: var(--sc-text-2);
    font-weight: 600;
    font-size: 13px;
}
.sc-theme .form-check-label,
.sc-theme .custom-control-label,
.sc-theme .checkbox label,
.sc-theme .radio label,
.sc-theme label.checkbox-inline,
.sc-theme label.radio-inline {
    font-weight: 400;
    font-size: 14px;
    color: var(--sc-text-2);
}

.sc-theme .form-control,
.sc-theme .custom-select,
.sc-theme .custom-file-label,
.sc-theme select,
.sc-theme textarea,
.sc-theme input[type="text"],
.sc-theme input[type="email"],
.sc-theme input[type="password"],
.sc-theme input[type="number"],
.sc-theme input[type="tel"],
.sc-theme input[type="url"],
.sc-theme input[type="search"],
.sc-theme input[type="date"] {
    color: var(--sc-text);
    background-color: var(--sc-field);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.sc-theme .form-control,
.sc-theme .custom-select {
    min-height: 44px;
    padding: 10px 12px;
    font-size: 14px;
}
.sc-theme textarea.form-control {
    min-height: 0;
}
.sc-theme .form-control-sm,
.sc-theme .custom-select-sm,
.sc-theme .input-group-sm > .form-control,
.sc-theme .input-group-sm > .custom-select {
    min-height: 34px;
    padding: 5px 10px;
    font-size: 13px;
    border-radius: var(--sc-radius-sm);
}
.sc-theme .form-control-lg,
.sc-theme .input-group-lg > .form-control {
    min-height: 52px;
    font-size: 16px;
}
.sc-theme .form-control::placeholder,
.sc-theme textarea::placeholder,
.sc-theme input::placeholder {
    color: var(--sc-faint);
    opacity: 1;
}
.sc-theme .form-control:focus,
.sc-theme .custom-select:focus,
.sc-theme select:focus,
.sc-theme textarea:focus,
.sc-theme input:focus {
    color: #fff;
    background-color: rgba(var(--sc-bg-rgb), .75);
    border-color: rgba(255, 255, 255, .28);
    box-shadow: 0 0 0 3px rgba(var(--sc-accent-rgb), .18);
    outline: 0;
}
.sc-theme .form-control:disabled,
.sc-theme .form-control[readonly],
.sc-theme .custom-select:disabled,
.sc-theme fieldset[disabled] .form-control {
    color: var(--sc-muted-2);
    background-color: rgba(255, 255, 255, .03);
    border-color: var(--sc-stroke-soft);
    opacity: 1;
}
.sc-theme .form-control.is-invalid,
.sc-theme .was-validated .form-control:invalid,
.sc-theme .has-error .form-control {
    border-color: rgba(var(--sc-danger-rgb), .6);
}
.sc-theme .form-control.is-valid,
.sc-theme .has-success .form-control {
    border-color: rgba(var(--sc-success-rgb), .55);
}
.sc-theme .invalid-feedback { color: #fca5a5; }
.sc-theme .valid-feedback { color: #86efac; }
.sc-theme .form-text,
.sc-theme .help-block,
.sc-theme .field-help-text {
    color: var(--sc-muted-2) !important;
    font-size: 12.5px;
}

/* listes déroulantes : flèche claire */
.sc-theme .custom-select,
.sc-theme select.form-control:not([multiple]):not([size]) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 36px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='rgba(255,255,255,0.7)' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 12px;
}
.sc-theme option,
.sc-theme optgroup {
    background: var(--sc-elevated);
    color: var(--sc-text);
}

/* groupes de champs */
.sc-theme .input-group-text {
    color: var(--sc-muted-2);
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    font-size: 14px;
}
.sc-theme .input-group > .input-group-prepend > .input-group-text,
.sc-theme .input-group > .input-group-prepend > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.sc-theme .input-group > .input-group-append > .input-group-text,
.sc-theme .input-group > .input-group-append > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.sc-theme .input-group > .form-control:not(:last-child),
.sc-theme .input-group > .custom-select:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.sc-theme .input-group > .form-control:not(:first-child),
.sc-theme .input-group > .custom-select:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.sc-theme .input-group > .input-group-append > .btn,
.sc-theme .input-group > .input-group-prepend > .btn {
    border-radius: var(--sc-radius-md);
}
.sc-theme .input-group > .input-group-append:last-child > .btn,
.sc-theme .input-group > .input-group-append:last-child > .input-group-text {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.sc-theme .input-group > .input-group-prepend:first-child > .btn,
.sc-theme .input-group > .input-group-prepend:first-child > .input-group-text {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.sc-theme .input-group-merge .input-group-text {
    border-right: 0;
    background: var(--sc-field);
}
.sc-theme .input-group-merge .form-control:not(:first-child) {
    border-left: 0;
    padding-left: 2px;
}
.sc-theme .input-group-merge:focus-within .input-group-text,
.sc-theme .input-group-merge:focus-within .btn-reveal-pw {
    border-color: rgba(255, 255, 255, .28);
}
.sc-theme .input-group .btn-reveal-pw,
.sc-theme .input-group .btn-reveal-pw:hover,
.sc-theme .input-group .btn-reveal-pw:active {
    background: rgba(255, 255, 255, .04);
    color: var(--sc-muted);
    border: 1px solid var(--sc-stroke);
    border-left: 0;
    border-radius: 0 var(--sc-radius-md) var(--sc-radius-md) 0 !important;
}
.sc-theme .input-group .btn-reveal-pw:hover { color: #fff; }
.sc-theme body .login-form #inputPassword:focus { border-right: 1px solid rgba(255, 255, 255, .28); }
.sc-theme .input-group:focus-within .form-control:focus { box-shadow: none; }
.sc-theme .input-group:focus-within {
    border-radius: var(--sc-radius-md);
    box-shadow: 0 0 0 3px rgba(var(--sc-accent-rgb), .18);
}
.sc-theme header.header .input-group:focus-within { box-shadow: none; }

/* cases à cocher & boutons radio natifs */
.sc-theme input[type="checkbox"],
.sc-theme input[type="radio"] {
    accent-color: #e2e8f0;
}
.sc-theme .custom-control-label::before {
    background-color: var(--sc-field);
    border: 1px solid var(--sc-stroke-strong);
}
.sc-theme .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #fff;
    border-color: #fff;
}
.sc-theme .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23020617' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E");
}
.sc-theme .custom-radio .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23020617'/%3E%3C/svg%3E");
}
.sc-theme .custom-switch .custom-control-label::after {
    background-color: rgba(255, 255, 255, .6);
}
.sc-theme .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: var(--sc-bg);
}

/* iCheck (cases WHMCS) */
.sc-theme .icheckbox_square-blue,
.sc-theme .iradio_square-blue {
    filter: invert(1) grayscale(1) brightness(1.1);
    opacity: .85;
}
.sc-theme body .iradio_square-blue.checked,
.sc-theme body .icheckbox_square-blue.checked,
.sc-theme body .iradio_square-blue.hover,
.sc-theme body .icheckbox_square-blue.hover {
    filter: invert(1) grayscale(1) brightness(1.4);
    opacity: 1;
}
.sc-theme body #frmConfigureProduct .icheckbox_square-blue,
.sc-theme body #frmConfigureProduct .icheckbox_square-blue.checked,
.sc-theme body #frmConfigureProduct .icheckbox_square-blue.hover {
    border: 0;
}

/* bootstrap-switch */
.sc-theme .bootstrap-switch {
    border-color: var(--sc-stroke);
    background: var(--sc-field);
    border-radius: var(--sc-pill) !important;
}
.sc-theme .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
.sc-theme .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary {
    background: rgba(255, 255, 255, .95);
    color: var(--sc-bg);
}
.sc-theme .bootstrap-switch .bootstrap-switch-handle-off,
.sc-theme .bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off {
    background: var(--sc-panel);
    color: var(--sc-muted);
}
.sc-theme .bootstrap-switch .bootstrap-switch-label {
    background: var(--sc-panel-strong);
    color: var(--sc-text);
}

/* indicatif téléphonique */
.sc-theme .intl-tel-input .country-list,
.sc-theme .iti__country-list {
    background: var(--sc-elevated);
    border: 1px solid var(--sc-stroke);
    color: var(--sc-text);
    box-shadow: var(--sc-shadow-pop);
}
.sc-theme .intl-tel-input .country-list .country.highlight,
.sc-theme .iti__country.iti__highlight {
    background: var(--sc-panel-hover);
}
.sc-theme .intl-tel-input .country-list .divider,
.sc-theme .iti__divider {
    border-bottom-color: var(--sc-stroke);
}
.sc-theme .intl-tel-input .flag-container .selected-flag,
.sc-theme .intl-tel-input .selected-flag:hover,
.sc-theme .iti__selected-flag {
    background: transparent !important;
}
.sc-theme .intl-tel-input .country-list .dial-code,
.sc-theme .iti__dial-code { color: var(--sc-muted-2); }

/* indicateur de robustesse du mot de passe */
.sc-theme .progress {
    height: 8px;
    background: var(--sc-panel);
    border-radius: 99px;
}
.sc-theme .progress-bar {
    background-color: rgba(255, 255, 255, .85);
    border-radius: 99px;
}
.sc-theme .progress-bar.bg-success,
.sc-theme .progress-bar-success { background-color: var(--sc-success) !important; }
.sc-theme .progress-bar.bg-warning,
.sc-theme .progress-bar-warning { background-color: var(--sc-warning) !important; }
.sc-theme .progress-bar.bg-danger,
.sc-theme .progress-bar-danger { background-color: var(--sc-danger) !important; }
.sc-theme .progress-bar.bg-info,
.sc-theme .progress-bar-info { background-color: var(--sc-info) !important; }

/* éditeur markdown (tickets) */
.sc-theme .md-editor,
.sc-theme body .primary-content .md-editor {
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    background: var(--sc-field);
}
.sc-theme .md-editor > .md-header,
.sc-theme .md-editor .md-footer {
    background: rgba(255, 255, 255, .03);
    border-color: var(--sc-stroke-soft);
}
.sc-theme .md-editor > textarea,
.sc-theme .md-editor > .md-preview {
    background: transparent;
    color: var(--sc-text);
    border-top-color: var(--sc-stroke-soft);
    border-bottom-color: var(--sc-stroke-soft);
}
.sc-theme .md-editor > textarea.form-control,
.sc-theme .md-editor textarea.markdown-editor {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.sc-theme .md-editor .md-header .btn-primary {
    background: var(--sc-panel-strong) !important;
    color: #fff !important;
}
.sc-theme .md-editor.active {
    border-color: rgba(255, 255, 255, .28);
    box-shadow: 0 0 0 3px rgba(var(--sc-accent-rgb), .18);
}
.sc-theme .md-editor .btn-default,
.sc-theme .md-editor .btn {
    background: transparent;
    border-color: transparent;
    color: var(--sc-muted);
    border-radius: 8px;
}
.sc-theme .md-editor .btn:hover {
    color: #fff;
    background: var(--sc-panel);
}
.sc-theme .markdown-editor-status {
    color: var(--sc-muted-2);
}
.sc-theme .custom-file-label::after {
    color: var(--sc-text);
    background: var(--sc-panel-strong);
    border-left: 1px solid var(--sc-stroke);
    border-radius: 0 var(--sc-radius-md) var(--sc-radius-md) 0;
}

/* ---------------------------------------------------------------------
   13. Tableaux (DataTables WHMCS inclus)
   --------------------------------------------------------------------- */
.sc-theme .table {
    color: var(--sc-text-2);
    background: transparent;
}
.sc-theme .table th,
.sc-theme .table td {
    border-top-color: var(--sc-stroke-soft);
}
.sc-theme .table thead th {
    border-bottom: 1px solid var(--sc-stroke);
    color: var(--sc-muted-2);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sc-theme .table-bordered,
.sc-theme .table-bordered th,
.sc-theme .table-bordered td {
    border-color: var(--sc-stroke-soft);
}
.sc-theme .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, .02);
}
.sc-theme .table-hover tbody tr:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, .04);
}
.sc-theme .table .thead-light th {
    color: var(--sc-muted-2);
    background: rgba(255, 255, 255, .03);
    border-color: var(--sc-stroke);
}
.sc-theme .table-active,
.sc-theme .table-active > td,
.sc-theme .table-active > th {
    background: var(--sc-panel);
}
.sc-theme .table-success, .sc-theme .table-success > td { background: rgba(var(--sc-success-rgb), .10); }
.sc-theme .table-danger,  .sc-theme .table-danger > td  { background: rgba(var(--sc-danger-rgb), .10); }
.sc-theme .table-warning, .sc-theme .table-warning > td { background: rgba(var(--sc-warning-rgb), .10); }
.sc-theme .table-info,    .sc-theme .table-info > td    { background: rgba(var(--sc-info-rgb), .10); }

.sc-theme .table-container,
.sc-theme .dataTables_wrapper {
    max-width: 100%;
}
@media (max-width: 767.98px) {
    .sc-theme .table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
.sc-theme .dataTables_wrapper table.table-list,
.sc-theme body .dataTables_wrapper table.table-list {
    border: 1px solid var(--sc-stroke) !important;
    border-radius: var(--sc-radius) !important;
    border-collapse: separate !important;
    border-spacing: 0;
    overflow: hidden;
    background: var(--sc-surface);
}
.sc-theme table.table-list thead th,
.sc-theme .dataTables_wrapper table.table-list thead th {
    padding: 12px 10px;
    background: rgba(255, 255, 255, .03);
    border: 0 !important;
    border-bottom: 1px solid var(--sc-stroke) !important;
    color: var(--sc-muted-2);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.sc-theme .dataTables_wrapper table.table-list thead th.sorting_asc,
.sc-theme .dataTables_wrapper table.table-list thead th.sorting_desc {
    background: rgba(255, 255, 255, .06);
    color: var(--sc-text);
}
.sc-theme .table-list > tbody > tr > td {
    background: transparent;
    border-top: 1px solid var(--sc-stroke-soft);
    color: var(--sc-text-2);
}
.sc-theme .table-list > tbody > tr:first-child > td {
    border-top: 0;
}
.sc-theme .table-list > tbody > tr:hover > td {
    background: rgba(255, 255, 255, .04);
    color: #fff;
}
.sc-theme .table-list > tbody > tr > td a.border-left {
    border-left-color: var(--sc-stroke) !important;
}
.sc-theme .table-list strong,
.sc-theme .table-list .text-domain {
    color: var(--sc-text);
}
.sc-theme .dataTables_wrapper .dataTables_info,
.sc-theme .dataTables_wrapper .dataTables_length {
    color: var(--sc-muted-2);
    font-size: 13px;
}
.sc-theme .dataTables_wrapper .dataTables_length select {
    min-height: 34px;
    padding: 4px 30px 4px 10px;
    border-radius: var(--sc-radius-sm);
    background-position: right 10px center;
}
.sc-theme .dataTables_wrapper .dataTables_filter label .form-control,
.sc-theme body .dataTables_wrapper .dataTables_filter label .form-control {
    background: var(--sc-field) !important;
    padding-left: 38px !important;
    border-radius: var(--sc-pill);
}
.sc-theme body .dataTables_wrapper .dataTables_filter::after {
    font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free", "Font Awesome 5 Pro", "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--sc-faint);
}
.sc-theme table.dataTable thead .sorting::after,
.sc-theme table.dataTable thead .sorting_asc::after,
.sc-theme table.dataTable thead .sorting_desc::after,
.sc-theme table.dataTable thead .sorting::before,
.sc-theme table.dataTable thead .sorting_asc::before,
.sc-theme table.dataTable thead .sorting_desc::before {
    color: var(--sc-muted-2);
}
.sc-theme table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child::before,
.sc-theme table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child::before {
    background: rgba(255, 255, 255, .9);
    color: var(--sc-bg);
    border: 0;
    box-shadow: none;
}
.sc-theme table.dataTable > tbody > tr.child ul.dtr-details > li {
    border-bottom-color: var(--sc-stroke-soft);
}

/* Icône du type de service (liste « Mes services ») : même pastille que la page du service */
.sc-theme .table-list td.sc-service-icon {
    width: 76px;
    padding: 10px 0 10px 18px !important;
    vertical-align: middle;
    text-align: left !important;
}
.sc-theme .table-list td.sc-service-icon img {
    display: block;
    width: 42px;
    height: 42px;
    padding: 9px;
    box-sizing: border-box;
    object-fit: contain;
    background: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-sm);
    transition: border-color .15s ease, background .15s ease;
}
.sc-theme .table-list tbody tr:hover td.sc-service-icon img {
    background: var(--sc-panel-hover);
    border-color: var(--sc-stroke-strong);
}
/* colonne icône étroite, nom du service aligné juste à côté */
.sc-theme #tableServicesList thead th:first-child,
.sc-theme #tableServicesList td.sc-service-icon {
    width: 76px !important;
}
/* DataTables fixe une largeur en ligne sur chaque colonne : on la libère pour les autres */
.sc-theme #tableServicesList thead th:not(:first-child) {
    width: auto !important;
}
.sc-theme #tableServicesList thead th:nth-child(2),
.sc-theme #tableServicesList tbody td:nth-child(2) {
    text-align: left;
    padding-left: 6px;
}
.sc-theme #tableServicesList tbody td:nth-child(2) {
    color: var(--sc-muted);
    font-size: 13px;
    line-height: 1.5;
}
.sc-theme #tableServicesList tbody td:nth-child(2) strong {
    color: #fff;
    font-size: 14px;
}

/* Libellés de statut (services, factures, tickets…) */
.sc-theme .label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: var(--sc-pill) !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--sc-text-2);
    background: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
}
.sc-theme .label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    opacity: .9;
}
.sc-theme .label-success,
.sc-theme .status-active,
.sc-theme .status-open,
.sc-theme .status-completed,
.sc-theme .status-paid,
.sc-theme .status-accepted,
.sc-theme .status-delivered {
    color: #86efac;
    background: rgba(var(--sc-success-rgb), .12);
    border-color: rgba(var(--sc-success-rgb), .30);
}
.sc-theme .label-warning,
.sc-theme .status-pending,
.sc-theme .status-pending-transfer,
.sc-theme .status-pending-registration,
.sc-theme .status-customer-reply,
.sc-theme .status-inprogress,
.sc-theme .status-suspended,
.sc-theme .status-grace,
.sc-theme .status-redemption,
.sc-theme .status-refunded,
.sc-theme .status-payment-pending,
.sc-theme .status-draft {
    color: #fcd34d;
    background: rgba(var(--sc-warning-rgb), .12);
    border-color: rgba(var(--sc-warning-rgb), .30);
}
.sc-theme .label-danger,
.sc-theme .status-unpaid,
.sc-theme .status-fraud,
.sc-theme .status-overdue,
.sc-theme .status-dead {
    color: #fca5a5;
    background: rgba(var(--sc-danger-rgb), .12);
    border-color: rgba(var(--sc-danger-rgb), .30);
}
.sc-theme .label-info,
.sc-theme .status-answered,
.sc-theme .status-onhold,
.sc-theme .status-collections {
    color: #bcd3fb;
    background: rgba(var(--sc-info-rgb), .12);
    border-color: rgba(var(--sc-info-rgb), .30);
}
.sc-theme .label-default,
.sc-theme .status-closed,
.sc-theme .status-cancelled,
.sc-theme .status-terminated,
.sc-theme .status-expired,
.sc-theme .status-transferred-away,
.sc-theme .status-lost {
    color: rgba(255, 255, 255, .62);
    background: rgba(255, 255, 255, .05);
    border-color: var(--sc-stroke);
}
.sc-theme .product-status {
    border-radius: var(--sc-radius-md);
    overflow: hidden;
}
.sc-theme .product-status-text {
    font-weight: 800;
    letter-spacing: .1em;
    font-size: 12px;
}
.sc-theme .product-status-active { background: rgba(var(--sc-success-rgb), .16); color: #86efac; }
.sc-theme .product-status-pending { background: rgba(var(--sc-warning-rgb), .16); }
.sc-theme .product-status-suspended { background: rgba(var(--sc-info-rgb), .16); }
.sc-theme .product-status-terminated,
.sc-theme .product-status-cancelled { background: rgba(255, 255, 255, .06); }
.sc-theme .product-status-fraud { background: rgba(var(--sc-danger-rgb), .16); }
.sc-theme .product-status-active .product-status-text { color: #86efac; }
.sc-theme .product-status-pending .product-status-text { color: #fcd34d; }
.sc-theme .product-status-suspended .product-status-text { color: #bcd3fb; }
.sc-theme .product-status-fraud .product-status-text { color: #fca5a5; }
/* Détail d'un service : en-tête sobre (icône, nom, statut), informations, actions */
.sc-theme .sc-service-overview {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.sc-theme .sc-service-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.sc-theme .sc-service-id {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}
.sc-theme .sc-service-avatar {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: var(--sc-radius-md);
    background: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
    color: var(--sc-text-2);
    font-size: 20px;
}
.sc-theme .sc-service-avatar img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
}
.sc-theme .sc-service-titles {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.sc-theme .sc-service-group {
    color: var(--sc-muted-2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sc-theme .sc-service-overview .sc-service-name {
    margin: 2px 0 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.01em;
}
.sc-theme .sc-service-domain {
    margin-top: 3px;
    color: var(--sc-muted);
    font-family: var(--sc-mono);
    font-size: 13px;
    overflow-wrap: anywhere;
}
.sc-theme .sc-service-head > .label {
    flex: none;
    margin-top: 2px;
}

.sc-theme .sc-service-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}
.sc-theme .sc-fact {
    padding: 12px 14px;
    background: rgba(255, 255, 255, .025);
    border: 1px solid var(--sc-stroke-soft);
    border-radius: var(--sc-radius-sm);
}
.sc-theme .sc-fact dt {
    margin: 0 0 4px;
    color: var(--sc-muted-2);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sc-theme .sc-fact dd {
    margin: 0;
    color: var(--sc-text);
    font-size: 15px;
    font-weight: 600;
}
.sc-theme .sc-fact--wide {
    grid-column: 1 / -1;
}
/* dernière case seule sur sa ligne : elle prend la place restante */
@media (min-width: 576px) {
    .sc-theme .sc-service-facts > .sc-fact:not(.sc-fact--wide):last-child:nth-child(3n+2) {
        grid-column: span 2;
    }
}
@media (max-width: 575.98px) {
    .sc-theme .sc-service-facts > .sc-fact:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
}
.sc-theme .sc-fact--warning {
    background: rgba(var(--sc-warning-rgb), .08);
    border-color: rgba(var(--sc-warning-rgb), .30);
}
.sc-theme .sc-fact--warning dd {
    color: #fde68a;
    font-weight: 500;
}

.sc-theme .sc-service-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--sc-stroke-soft);
}
.sc-theme .sc-service-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
}
.sc-theme .sc-service-actions .sc-btn-cancel {
    margin-left: auto;
    color: var(--sc-muted-2);
    background: transparent;
    border: 1px solid transparent;
}
.sc-theme .sc-service-actions .sc-btn-cancel:hover,
.sc-theme .sc-service-actions .sc-btn-cancel:focus {
    color: #fca5a5;
    background: rgba(var(--sc-danger-rgb), .10);
    border-color: rgba(var(--sc-danger-rgb), .30);
}
.sc-theme .sc-service-actions .sc-btn-cancel.disabled {
    opacity: .7;
    pointer-events: none;
}
@media (max-width: 575.98px) {
    .sc-theme .sc-service-head {
        flex-direction: column;
    }
    .sc-theme .sc-service-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sc-theme .sc-service-actions .btn {
        flex: 1 1 100%;
        justify-content: center;
    }
    .sc-theme .sc-service-actions .sc-btn-cancel {
        margin-left: 0;
    }
}
.sc-theme div.product-details-tab-container {
    background: var(--sc-surface);
    border-color: var(--sc-stroke);
    border-radius: 0 0 var(--sc-radius) var(--sc-radius);
    color: var(--sc-text-2);
}
/* « Ajouter des fonds » (clientareaaddfunds.tpl) */
.sc-theme .sc-funds {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
}
@media (min-width: 992px) {
    .sc-theme .sc-funds {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        align-items: start;
    }
}
.sc-theme .sc-funds__side {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sc-theme .sc-funds-balance {
    padding: 22px;
}
.sc-theme .sc-funds-balance--positive {
    border-color: rgba(var(--sc-success-rgb), .30);
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(var(--sc-success-rgb), .10), transparent 60%),
        rgba(255, 255, 255, .05);
}
.sc-theme .sc-funds-balance__label,
.sc-theme .sc-funds-limit__k {
    color: var(--sc-muted-2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sc-theme .sc-funds-balance__value {
    margin-top: 6px;
    color: #fff;
    font-size: clamp(30px, 4vw, 40px);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.1;
}
.sc-theme .sc-funds-balance--positive .sc-funds-balance__value {
    color: #86efac;
}
.sc-theme .sc-funds-balance__hint {
    margin-top: 8px;
    color: var(--sc-muted);
    font-size: 13px;
}
.sc-theme .sc-funds-limits {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    background: rgba(255, 255, 255, .03);
    overflow: hidden;
}
.sc-theme .sc-funds-limit {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
}
.sc-theme .sc-funds-limit + .sc-funds-limit {
    border-top: 1px solid var(--sc-stroke-soft);
}
.sc-theme .sc-funds-limit__k {
    letter-spacing: .08em;
}
.sc-theme .sc-funds-limit__v {
    color: var(--sc-text);
    font-size: 14px;
    font-weight: 600;
    text-align: right;
}
.sc-theme .sc-funds-form {
    padding: 22px;
}
.sc-theme .sc-funds-form form {
    margin-top: 16px;
}
.sc-theme .sc-funds-form fieldset {
    margin: 0;
}
.sc-theme .sc-funds-form .col-form-label {
    padding-top: 0;
    color: var(--sc-muted);
    font-size: 13px;
    font-weight: 600;
}
.sc-theme .sc-funds-form #amount {
    height: auto;
    padding: 12px 14px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
}
.sc-theme .sc-funds-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}
.sc-theme .sc-funds-quick__btn {
    padding: 5px 12px;
    color: var(--sc-text-2);
    font-size: 13px;
    font-weight: 600;
    background: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-pill);
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.sc-theme .sc-funds-quick__btn:hover {
    color: #fff;
    border-color: var(--sc-stroke-strong);
    background: var(--sc-panel-hover);
}
.sc-theme .sc-funds-quick__btn.is-active {
    color: var(--sc-bg);
    background: rgba(255, 255, 255, .92);
    border-color: transparent;
}
.sc-theme .sc-funds-form .sc-btn--block {
    margin-top: 6px;
}
.sc-theme .sc-card p.sc-funds-form__note {
    margin: 14px 0 0;
    color: var(--sc-muted-2);
    font-size: 12px;
}

/* Changement de formule (upgrade.tpl) */
.sc-theme .sc-upgrade {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.sc-theme .sc-upgrade .sc-upgrade__title {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, .92);
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 500;
    letter-spacing: -0.02em;
}
.sc-theme .sc-upgrade__lead {
    margin: 8px 0 0;
    max-width: 640px;
    color: var(--sc-muted);
    font-size: 15px;
}
.sc-theme .sc-upgrade-current {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    background: rgba(255, 255, 255, .04);
}
.sc-theme .sc-upgrade-current__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.sc-theme .sc-upgrade-current__label,
.sc-theme .sc-upgrade__subtitle,
.sc-theme .sc-plan__group,
.sc-theme .sc-plan__label {
    color: var(--sc-muted-2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sc-theme .sc-upgrade-current__name {
    margin-top: 2px;
    color: #fff;
    font-size: 17px;
}
.sc-theme .sc-upgrade-current__domain {
    color: var(--sc-muted);
    font-family: var(--sc-mono);
    font-size: 13px;
}
.sc-theme .sc-upgrade__subtitle {
    margin-top: 6px;
}
.sc-theme .sc-plans {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}
.sc-theme .sc-plan {
    padding: 22px;
}
.sc-theme .sc-card h3.sc-plan__name {
    margin: 6px 0 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
}
.sc-theme .sc-plan__desc {
    flex: 1 1 auto;
    margin-top: 10px;
    color: var(--sc-muted);
    font-size: 14px;
}
.sc-theme .sc-card p.sc-plan__tagline {
    margin: 0 0 14px;
    color: #86efac;
    font-size: 14px;
    font-weight: 600;
}
.sc-theme .sc-spec {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
    border-top: 1px solid var(--sc-stroke-soft);
}
.sc-theme .sc-spec:last-child {
    border-bottom: 1px solid var(--sc-stroke-soft);
}
.sc-theme .sc-spec__k {
    color: var(--sc-muted-2);
    font-size: 13px;
}
.sc-theme .sc-spec__v {
    color: var(--sc-text);
    font-size: 14px;
    font-weight: 600;
    text-align: right;
}
.sc-theme .sc-plan__buy {
    margin-top: 18px;
}
.sc-theme .sc-plan__label {
    display: block;
    margin-bottom: 6px;
}
.sc-theme .sc-plan__buy .custom-select {
    margin-bottom: 10px;
}
.sc-theme .sc-plan__price {
    margin-bottom: 10px;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
}
.sc-theme .sc-plan__price small {
    color: var(--sc-muted);
    font-size: 13px;
    font-weight: 500;
}
.sc-theme .sc-upgrade__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Bloc « Détails du service » (domaine / accès + autres informations, sans onglets) */
.sc-theme .sc-service-info > .tab-pane {
    padding: 4px 2px;
    text-align: left;
}
.sc-theme .sc-service-info__title {
    margin: 0 0 12px;
    color: var(--sc-muted-2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sc-theme .sc-service-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 8px;
}
.sc-theme .sc-service-fields:not(:has(.row)) {
    display: none;
}
.sc-theme .sc-service-fields > .row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 12px 14px;
    background: rgba(255, 255, 255, .025);
    border: 1px solid var(--sc-stroke-soft);
    border-radius: var(--sc-radius-sm);
}
.sc-theme .sc-service-fields > .row > [class*="col-"] {
    flex: none;
    width: auto;
    max-width: none;
    padding: 0;
    text-align: left !important;
}
.sc-theme .sc-service-fields > .row > [class*="col-"]:first-child strong {
    color: var(--sc-muted-2);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sc-theme .sc-service-fields > .row > [class*="col-"]:last-child {
    color: var(--sc-text);
    font-size: 15px;
    font-weight: 600;
    overflow-wrap: anywhere;
}
/* backend du client (IP:PORT) */
.sc-theme .sc-service-fields > .row.sc-field--backend > [class*="col-"]:last-child {
    font-family: var(--sc-mono);
    font-size: 14px;
    letter-spacing: -0.01em;
}
/* lien « Visiter le site » / bouton « Vider le cache » (module Reverse Proxy) */
.sc-theme .sc-service-info > .tab-pane > br {
    display: none;
}
.sc-theme .sc-service-info > .tab-pane > p {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0 0;
}
.sc-theme .sc-service-info > .tab-pane > p .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
.sc-theme .sc-service-info > .tab-pane > .module-client-area {
    margin-top: 16px;
}
/* sortie du module réduite à des scripts (Reverse Proxy) : pas d'espace en trop */
.sc-theme .sc-service-info > .tab-pane > .module-client-area:not(:has(> :not(script))) {
    margin-top: 0;
}
/* un seul onglet (ex. VPS) : pas de barre d'onglets, bloc arrondi de tous les côtés */
.sc-theme div.product-details-tab-container.sc-tabs-single {
    margin-top: 16px;
    border-top: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
}

/* ---------------------------------------------------------------------
   14. Alertes, badges, pastilles
   --------------------------------------------------------------------- */
.sc-theme .alert {
    color: var(--sc-text-2);
    background: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
}
.sc-theme .alert-success {
    color: #bbf7d0;
    background: rgba(var(--sc-success-rgb), .10);
    border-color: rgba(var(--sc-success-rgb), .28);
}
.sc-theme .alert-info {
    color: #d6e4fd;
    background: rgba(var(--sc-info-rgb), .10);
    border-color: rgba(var(--sc-info-rgb), .28);
}
.sc-theme .alert-warning {
    color: #fde68a;
    background: rgba(var(--sc-warning-rgb), .10);
    border-color: rgba(var(--sc-warning-rgb), .28);
}
.sc-theme .alert-danger {
    color: #fecaca;
    background: rgba(var(--sc-danger-rgb), .10);
    border-color: rgba(var(--sc-danger-rgb), .28);
}
.sc-theme .alert-secondary,
.sc-theme .alert-light,
.sc-theme .alert-dark {
    color: var(--sc-text-2);
    background: var(--sc-panel);
    border-color: var(--sc-stroke);
}
.sc-theme .alert .alert-link,
.sc-theme .alert a {
    color: #fff;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, .35);
    text-underline-offset: 3px;
}
.sc-theme .alert .close {
    color: currentColor;
}
.sc-theme .alert:has(form),
.sc-theme .alert:has(small) {
    color: var(--sc-text-2);
    background: var(--sc-panel);
    border-color: var(--sc-stroke);
}

.sc-theme .badge {
    font-weight: 700;
    border-radius: var(--sc-pill);
    padding: .35em .65em;
}
.sc-theme .badge-primary,
.sc-theme .badge-dark { color: var(--sc-bg); background: rgba(255, 255, 255, .92); }
.sc-theme .badge-secondary,
.sc-theme .badge-light,
.sc-theme .badge-default { color: var(--sc-text-2); background: var(--sc-panel-strong); }
.sc-theme .badge-success { color: #86efac; background: rgba(var(--sc-success-rgb), .16); }
.sc-theme .badge-info { color: #bcd3fb; background: rgba(var(--sc-info-rgb), .16); }
.sc-theme .badge-warning { color: #fcd34d; background: rgba(var(--sc-warning-rgb), .16); }
.sc-theme .badge-danger { color: #fca5a5; background: rgba(var(--sc-danger-rgb), .16); }

.sc-theme .bg-color-gold,
.sc-theme .bg-color-green,
.sc-theme .bg-color-red,
.sc-theme .bg-color-blue,
.sc-theme .bg-color-orange,
.sc-theme .bg-color-pink,
.sc-theme .bg-color-purple,
.sc-theme .bg-color-lime,
.sc-theme .bg-color-magenta,
.sc-theme .bg-color-teal,
.sc-theme .bg-color-turquoise,
.sc-theme .bg-color-emerald,
.sc-theme .bg-color-amethyst,
.sc-theme .bg-color-wet-asphalt,
.sc-theme .bg-color-midnight-blue,
.sc-theme .bg-color-sun-flower,
.sc-theme .bg-color-pomegranate,
.sc-theme .bg-color-silver,
.sc-theme .bg-color-asbestos {
    background-color: rgba(255, 255, 255, .7);
}

/* ---------------------------------------------------------------------
   15. Menus déroulants, modales, popovers, infobulles
   --------------------------------------------------------------------- */
.sc-theme .dropdown-menu {
    min-width: 13rem;
    padding: 6px;
    color: var(--sc-text);
    background: rgba(11, 17, 32, .96);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    box-shadow: var(--sc-shadow-pop);
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
    font-size: 14px;
}
.sc-theme .dropdown-item,
.sc-theme header.header .dropdown-menu a.dropdown-item {
    color: var(--sc-text-2);
    border-radius: 10px;
    padding: 8px 10px;
    background: transparent;
    white-space: nowrap;
}
.sc-theme .dropdown-menu > li.dropdown-item,
.sc-theme header.header .dropdown-menu > li.dropdown-item {
    padding: 0;
    font-size: 14px;
}
.sc-theme header.header .navbar-nav .dropdown-menu a {
    font-size: 14px;
}
.sc-theme .dropdown-menu > li.dropdown-item > a.dropdown-item {
    display: block;
    padding: 8px 10px !important;
    line-height: 1.4;
}
.sc-theme .dropdown-item:hover,
.sc-theme .dropdown-item:focus,
.sc-theme .dropdown-menu > li.dropdown-item > a.dropdown-item:hover {
    color: #fff;
    background: var(--sc-panel);
}
.sc-theme .dropdown-menu > li.dropdown-item:hover,
.sc-theme .dropdown-menu > li.dropdown-item:focus-within {
    background: transparent;
}
/* Entrées rangées dans « Plus » par WHMCS (autoCollapse) : leur lien n'a pas de classe */
.sc-theme header.header .dropdown-menu > li.dropdown-item > a:not(.dropdown-item) {
    display: block;
    padding: 8px 10px;
    line-height: 1.4;
    color: var(--sc-text-2);
    border-radius: 10px;
    white-space: nowrap;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}
.sc-theme header.header .dropdown-menu > li.dropdown-item > a:not(.dropdown-item) > i {
    width: 18px;
    margin-right: 6px;
    text-align: center;
    opacity: .7;
}
.sc-theme header.header .dropdown-menu > li.dropdown-item > a:not(.dropdown-item):hover,
.sc-theme header.header .dropdown-menu > li.dropdown-item > a:not(.dropdown-item):focus {
    color: #fff;
    background: var(--sc-panel);
}
.sc-theme header.header .dropdown-menu > li.dropdown-item > a.sc-current {
    color: #fff;
    background: var(--sc-panel-strong);
}
.sc-theme .dropdown-item.active,
.sc-theme .dropdown-item:active,
.sc-theme header.header .dropdown-item.active,
.sc-theme header.header .dropdown-item:active {
    color: #fff;
    background: var(--sc-panel-strong);
}
.sc-theme .dropdown-divider {
    margin: 6px 4px;
    border-top-color: var(--sc-stroke);
}
.sc-theme .dropdown-header {
    color: var(--sc-muted-2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.sc-theme .modal-backdrop {
    background: #000;
}
.sc-theme .modal-backdrop.show {
    opacity: .65;
}
.sc-theme .modal-content {
    color: var(--sc-text);
    background: var(--sc-elevated);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    box-shadow: var(--sc-shadow-pop);
}
.sc-theme .modal .modal-header,
.sc-theme .modal-header {
    background: transparent;
    border-bottom: 1px solid var(--sc-stroke);
    color: var(--sc-text);
}
.sc-theme .modal-footer {
    border-top: 1px solid var(--sc-stroke);
}
.sc-theme .modal-title {
    font-weight: 600;
}
.sc-theme .close {
    color: #fff;
    text-shadow: none;
    opacity: .6;
}
.sc-theme .close:hover {
    color: #fff;
    opacity: 1;
}
.sc-theme .modal-localisation .modal-content {
    background: var(--sc-elevated);
}
.sc-theme .modal-localisation .modal-body {
    background: radial-gradient(120% 120% at 50% 0%, rgba(255, 255, 255, .06), transparent 60%);
}
.sc-theme .modal-localisation .h5 {
    color: var(--sc-text);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.sc-theme .modal-localisation .item-selector .item {
    margin: 3px 0;
    padding: 8px 6px;
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-sm);
    background: var(--sc-panel);
    color: var(--sc-text-2);
    font-size: 14px;
}
.sc-theme .modal-localisation .item-selector .item:hover {
    color: #fff;
    background: var(--sc-panel-hover);
    border-color: var(--sc-stroke-strong);
}
.sc-theme .modal-localisation .item-selector .item.active {
    color: var(--sc-bg);
    background: rgba(255, 255, 255, .95);
    border-color: transparent;
}

.sc-theme .popover {
    background: var(--sc-elevated);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    box-shadow: var(--sc-shadow-pop);
    color: var(--sc-text);
}
.sc-theme .popover-header {
    background: transparent;
    border-bottom-color: var(--sc-stroke);
    color: var(--sc-text);
}
.sc-theme .popover-body {
    color: var(--sc-text-2);
}
.sc-theme .bs-popover-bottom > .arrow::before,
.sc-theme .bs-popover-auto[x-placement^="bottom"] > .arrow::before { border-bottom-color: var(--sc-stroke); }
.sc-theme .bs-popover-bottom > .arrow::after,
.sc-theme .bs-popover-auto[x-placement^="bottom"] > .arrow::after { border-bottom-color: var(--sc-elevated); }
.sc-theme .bs-popover-top > .arrow::before,
.sc-theme .bs-popover-auto[x-placement^="top"] > .arrow::before { border-top-color: var(--sc-stroke); }
.sc-theme .bs-popover-top > .arrow::after,
.sc-theme .bs-popover-auto[x-placement^="top"] > .arrow::after { border-top-color: var(--sc-elevated); }
.sc-theme .bs-popover-left > .arrow::after,
.sc-theme .bs-popover-auto[x-placement^="left"] > .arrow::after { border-left-color: var(--sc-elevated); }
.sc-theme .bs-popover-right > .arrow::after,
.sc-theme .bs-popover-auto[x-placement^="right"] > .arrow::after { border-right-color: var(--sc-elevated); }
.sc-theme .popover-user-notifications .client-alerts li a,
.sc-theme .popover-user-notifications .client-alerts li.none {
    color: var(--sc-text-2);
    border-bottom-color: var(--sc-stroke-soft);
}
.sc-theme .popover-user-notifications .client-alerts li a:hover {
    color: #fff;
    background: var(--sc-panel);
}

.sc-theme .tooltip-inner {
    background: rgba(255, 255, 255, .95);
    color: var(--sc-bg);
    font-weight: 600;
    border-radius: 8px;
}
.sc-theme .bs-tooltip-top .arrow::before,
.sc-theme .bs-tooltip-auto[x-placement^="top"] .arrow::before { border-top-color: rgba(255, 255, 255, .95); }
.sc-theme .bs-tooltip-bottom .arrow::before,
.sc-theme .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { border-bottom-color: rgba(255, 255, 255, .95); }
.sc-theme .bs-tooltip-left .arrow::before,
.sc-theme .bs-tooltip-auto[x-placement^="left"] .arrow::before { border-left-color: rgba(255, 255, 255, .95); }
.sc-theme .bs-tooltip-right .arrow::before,
.sc-theme .bs-tooltip-auto[x-placement^="right"] .arrow::before { border-right-color: rgba(255, 255, 255, .95); }

/* Notifications et fenêtres SweetAlert2 (modules : « Vider le cache »…).
   Par défaut : fond blanc, et le titre hérite du blanc du thème → illisible. */
.sc-theme .swal2-container .swal2-popup {
    color: var(--sc-text-2);
    background: var(--sc-elevated);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    box-shadow: var(--sc-shadow-pop);
}
.sc-theme .swal2-container .swal2-popup.swal2-toast {
    background: rgba(11, 17, 32, .96);
    border-radius: var(--sc-radius-md);
    box-shadow: var(--sc-shadow-pop);
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
}
.sc-theme .swal2-container .swal2-title {
    color: var(--sc-text);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}
.sc-theme .swal2-container .swal2-html-container,
.sc-theme .swal2-container .swal2-footer {
    color: var(--sc-text-2);
}
.sc-theme .swal2-container .swal2-footer {
    border-top-color: var(--sc-stroke);
}
.sc-theme .swal2-container .swal2-timer-progress-bar {
    background: rgba(255, 255, 255, .22);
}
.sc-theme .swal2-container .swal2-close {
    color: var(--sc-muted-2);
}
.sc-theme .swal2-container .swal2-close:hover {
    color: #fff;
}
.sc-theme .swal2-container .swal2-loader {
    border-color: var(--sc-accent) transparent var(--sc-accent) transparent;
}

/* icônes aux couleurs du thème */
.sc-theme .swal2-container .swal2-icon.swal2-success,
.sc-theme .swal2-container .swal2-popup.swal2-toast .swal2-success {
    border-color: var(--sc-success);
    color: var(--sc-success);
}
.sc-theme .swal2-container .swal2-icon.swal2-success .swal2-success-ring {
    border-color: rgba(var(--sc-success-rgb), .3);
}
.sc-theme .swal2-container .swal2-icon.swal2-success [class^=swal2-success-line] {
    background-color: var(--sc-success);
}
.sc-theme .swal2-container .swal2-icon.swal2-error {
    border-color: var(--sc-danger);
    color: var(--sc-danger);
}
.sc-theme .swal2-container .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
    background-color: var(--sc-danger);
}
.sc-theme .swal2-container .swal2-icon.swal2-warning {
    border-color: rgba(var(--sc-warning-rgb), .6);
    color: var(--sc-warning);
}
.sc-theme .swal2-container .swal2-icon.swal2-info {
    border-color: rgba(var(--sc-info-rgb), .6);
    color: var(--sc-info);
}
.sc-theme .swal2-container .swal2-icon.swal2-question {
    border-color: var(--sc-stroke-strong);
    color: var(--sc-muted);
}

/* boutons : mêmes formes que le thème */
.sc-theme .swal2-container .swal2-styled {
    border-radius: var(--sc-pill);
    padding: 9px 18px;
    font-weight: 700;
    font-size: 14px;
    background-image: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.sc-theme .swal2-container .swal2-styled.swal2-confirm {
    color: var(--sc-bg);
    background-color: rgba(255, 255, 255, .95);
    border: 1px solid transparent;
}
.sc-theme .swal2-container .swal2-styled.swal2-confirm:hover {
    background-color: #fff;
}
.sc-theme .swal2-container .swal2-styled.swal2-cancel {
    color: var(--sc-text);
    background-color: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
}
.sc-theme .swal2-container .swal2-styled.swal2-cancel:hover {
    background-color: var(--sc-panel-hover);
    border-color: var(--sc-stroke-strong);
}
.sc-theme .swal2-container .swal2-styled.swal2-deny {
    color: #fecaca;
    background-color: rgba(var(--sc-danger-rgb), .12);
    border: 1px solid rgba(var(--sc-danger-rgb), .35);
}
.sc-theme .swal2-container .swal2-styled.swal2-deny:hover {
    color: #fff;
    background-color: rgba(var(--sc-danger-rgb), .22);
}
.sc-theme .swal2-container .swal2-styled:focus {
    box-shadow: 0 0 0 3px rgba(var(--sc-accent-rgb), .35);
}

/* champs de saisie éventuels */
.sc-theme .swal2-container .swal2-input,
.sc-theme .swal2-container .swal2-textarea,
.sc-theme .swal2-container .swal2-select,
.sc-theme .swal2-container .swal2-file {
    color: var(--sc-text);
    background: var(--sc-field);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-sm);
    box-shadow: none;
}
.sc-theme .swal2-container .swal2-input:focus,
.sc-theme .swal2-container .swal2-textarea:focus,
.sc-theme .swal2-container .swal2-select:focus {
    border-color: rgba(var(--sc-accent-rgb), .6);
    box-shadow: 0 0 0 3px rgba(var(--sc-accent-rgb), .2);
}
.sc-theme .swal2-container .swal2-input::placeholder,
.sc-theme .swal2-container .swal2-textarea::placeholder {
    color: var(--sc-faint);
}
.sc-theme .swal2-container .swal2-range,
.sc-theme .swal2-container .swal2-radio,
.sc-theme .swal2-container .swal2-checkbox {
    background: transparent;
}
.sc-theme .swal2-container .swal2-validation-message {
    color: var(--sc-text-2);
    background: var(--sc-panel);
}

/* ---------------------------------------------------------------------
   16. Onglets & pagination
   --------------------------------------------------------------------- */
.sc-theme .nav-tabs {
    border-bottom: 1px solid var(--sc-stroke);
}
.sc-theme .nav-tabs .nav-link {
    color: var(--sc-muted);
    border: 1px solid transparent;
    border-top-left-radius: var(--sc-radius-sm);
    border-top-right-radius: var(--sc-radius-sm);
    font-weight: 600;
}
.sc-theme .nav-tabs .nav-link:hover,
.sc-theme .nav-tabs .nav-link:focus {
    color: #fff;
    border-color: transparent;
    background: var(--sc-panel);
}
.sc-theme .nav-tabs .nav-link.active,
.sc-theme .nav-tabs .nav-item.show .nav-link {
    color: #fff;
    background: var(--sc-surface);
    border-color: var(--sc-stroke) var(--sc-stroke) transparent;
}
.sc-theme .nav-pills .nav-link {
    color: var(--sc-muted);
    border-radius: var(--sc-pill);
    font-weight: 600;
}
.sc-theme .nav-pills .nav-link:hover {
    color: #fff;
    background: var(--sc-panel);
}
.sc-theme .nav-pills .nav-link.active,
.sc-theme .nav-pills .show > .nav-link {
    color: var(--sc-bg);
    background: rgba(255, 255, 255, .95);
}
.sc-theme .tab-content {
    color: var(--sc-text-2);
}

.sc-theme .pagination {
    gap: 4px;
    font-size: 13px;
}
.sc-theme .page-link,
.sc-theme .pagination > li > a,
.sc-theme .pagination > li > span {
    color: var(--sc-text-2);
    background: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
    border-radius: 10px !important;
    margin: 0;
}
.sc-theme .page-link:hover {
    color: #fff;
    background: var(--sc-panel-hover);
    border-color: var(--sc-stroke-strong);
}
.sc-theme .page-item.active .page-link,
.sc-theme .pagination > .active > a,
.sc-theme .pagination > .active > span,
.sc-theme .pagination > .active > a:hover,
.sc-theme .pagination > .active > a:focus {
    color: var(--sc-bg);
    background: rgba(255, 255, 255, .95);
    border-color: transparent;
}
.sc-theme .page-item.disabled .page-link {
    color: var(--sc-faint);
    background: transparent;
    border-color: var(--sc-stroke-soft);
}

/* ---------------------------------------------------------------------
   17. Accueil espace client connecté (clientareahome)
   --------------------------------------------------------------------- */
.sc-theme .tiles {
    margin-bottom: 18px !important;
}
.sc-theme .tiles .row {
    margin: -6px;
}
.sc-theme .tiles .row > div {
    padding: 6px;
}
.sc-theme .tiles .tile,
.sc-theme .tiles .row > div:last-child .tile,
.sc-theme .tiles div:nth-child(1) > .tile,
.sc-theme .tiles div:nth-child(2) > .tile {
    position: relative;
    display: block;
    height: 100%;
    padding: 16px 18px 18px;
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    color: var(--sc-text);
    overflow: hidden;
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
    transition: box-shadow .3s ease, border-color .3s ease, background .3s ease;
}
.sc-theme .tiles .tile::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(120% 120% at 50% 0%, rgba(255, 255, 255, .06), transparent 60%);
    opacity: 0;
    transition: opacity .3s ease;
    pointer-events: none;
}
.sc-theme .tiles .tile:hover {
    background: var(--sc-surface);
    border-color: var(--sc-stroke-strong);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 8px 30px rgba(0, 0, 0, .45);
}
.sc-theme .tiles .tile:hover::before {
    opacity: 1;
}
.sc-theme .tiles .tile i {
    top: 16px;
    right: 18px;
    font-size: 18px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sc-radius-md);
    border: 1px solid var(--sc-stroke);
    background: var(--sc-panel);
    color: rgba(255, 255, 255, .8);
}
.sc-theme .tiles .tile:hover i {
    font-size: 18px;
    color: #fff;
}
.sc-theme .tiles .tile .stat {
    margin-top: 26px;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
}
.sc-theme .tiles .tile .title {
    margin-top: 4px;
    color: var(--sc-muted-2);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
}
.sc-theme .tiles .tile .highlight {
    position: absolute;
    left: 18px;
    right: auto;
    top: 28px;
    width: 8px;
    height: 8px;
    margin: 0;
    border-radius: 50%;
    opacity: .9;
}
.sc-theme .tiles .tile .highlight.bg-color-blue { background: var(--sc-info); box-shadow: 0 0 0 3px rgba(var(--sc-info-rgb), .2); }
.sc-theme .tiles .tile .highlight.bg-color-green { background: var(--sc-success); box-shadow: 0 0 0 3px rgba(var(--sc-success-rgb), .2); }
.sc-theme .tiles .tile .highlight.bg-color-red { background: var(--sc-danger); box-shadow: 0 0 0 3px rgba(var(--sc-danger-rgb), .2); }
.sc-theme .tiles .tile .highlight.bg-color-gold { background: var(--sc-warning); box-shadow: 0 0 0 3px rgba(var(--sc-warning-rgb), .2); }

.sc-theme .client-home-cards .card {
    font-size: 14px;
}
.sc-theme .client-home-cards .card-header {
    padding: 14px 18px;
    background: transparent;
    border-bottom: 1px solid var(--sc-stroke-soft);
    font-weight: 600;
}
.sc-theme .client-home-cards .card-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--sc-text);
}
.sc-theme .client-home-cards .card-title > i:first-child,
.sc-theme .client-home-cards .card-title > .fa:first-child,
.sc-theme .client-home-cards .card-title > .fas:first-child,
.sc-theme .client-home-cards .card-title > .far:first-child {
    color: var(--sc-muted-2);
    margin-right: 4px;
}
.sc-theme .client-home-cards .card-header .btn {
    padding: 3px 10px;
    font-size: 12px;
    color: rgba(255, 255, 255, .92) !important;
    background: var(--sc-panel) !important;
    border: 1px solid var(--sc-stroke) !important;
}
.sc-theme .client-home-cards .card-header .btn:hover {
    color: #fff !important;
    background: var(--sc-panel-hover) !important;
    border-color: var(--sc-stroke-strong) !important;
}
.sc-theme .client-home-cards .card-body {
    color: var(--sc-text-2);
}
.sc-theme .client-home-cards .card-body p {
    padding: 12px 18px;
    margin: 0;
}
.sc-theme .client-home-cards .list-group {
    max-height: 210px;
    border-top: 0 !important;
    border-bottom: 0 !important;
}
.sc-theme .client-home-cards .list-group .list-group-item {
    padding: 10px 18px;
    border: 0;
    border-bottom: 1px solid var(--sc-stroke-soft);
    color: var(--sc-text-2);
    background: transparent;
}
.sc-theme .client-home-cards .list-group .list-group-item:last-child {
    border-bottom: 0;
}
.sc-theme .client-home-cards .list-group .list-group-item:hover {
    background: var(--sc-panel);
    color: #fff;
}
.sc-theme .client-home-cards .card-footer {
    padding: 8px 18px;
    background: transparent;
    border-top: 0;
    min-height: 6px;
}
.sc-theme .client-home-cards small {
    color: var(--sc-muted-2);
}
.sc-theme .client-home-cards .label {
    float: right;
    margin-left: 8px;
}
.sc-theme body .primary-content .client-home-cards .card {
    border-top: 1px solid var(--sc-stroke);
}
.sc-theme body .primary-content .client-home-cards .card .card-body {
    padding: 0;
}
.sc-theme body .primary-content .client-home-cards .card .card-footer {
    background: transparent;
    border-top: 0;
}
.sc-theme body .primary-content .client-home-cards .card .card-header .btn {
    padding: 4px 11px;
    border-radius: var(--sc-pill);
}
.sc-theme body .primary-content .client-home-cards .card .list-group .list-group-item {
    padding: 10px 18px;
}
/* « Voir plus… » sous « Vos produits/services actifs » : doublon du bouton « Mes services »
   (et inactif quand tous les services sont déjà affichés) → pied de carte masqué */
.sc-theme .client-home-cards [menuitemname="Active Products/Services"] .btn-view-more,
.sc-theme .client-home-cards [menuitemname="Active Products/Services"] .card-footer:has(> .btn-view-more):not(:has(> :not(.btn-view-more, .clearfix))) {
    display: none;
}
/* « Liens vers les réseaux sociaux » (addon AndrezzzLinkSocialMedia) :
   icône en pastille, nom + identifiant, puis boutons discrets en dessous */
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item {
    display: grid;
    grid-template-columns: 48px auto auto minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    column-gap: 0;
    row-gap: 1px;
    align-items: center;
    color: var(--sc-text);
    font-size: 14px;
    font-weight: 600;
    text-align: left;
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > br {
    display: none;
}
/* l'addon écrit « &nbsp;Discord » : on compense l'espace pour aligner le nom sur « Username » */
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item {
    text-indent: -0.55em;
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > * {
    text-indent: 0;
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > i.fab {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    font-size: 16px;
    color: var(--sc-text-2);
    background: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
    border-radius: 10px;
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > i.fa-discord {
    color: #a3abff;
    background: rgba(88, 101, 242, .12);
    border-color: rgba(88, 101, 242, .28);
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > small {
    grid-column: 2 / -1;
    grid-row: 2;
    margin: 0;
    padding: 0;
    color: var(--sc-muted-2);
    font-size: 12px;
    font-weight: 400;
    overflow-wrap: anywhere;
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > label.label {
    grid-row: 3;
    justify-self: start;
    float: none !important;
    display: inline-flex;
    align-items: center;
    margin: 10px 8px 0 0 !important;
    padding: 5px 12px;
    color: var(--sc-text);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    background: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
    box-shadow: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > label.label:nth-of-type(1) {
    grid-column: 2;
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > label.label:nth-of-type(2) {
    grid-column: 3;
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > label.label::before {
    content: none;
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > label.label:hover {
    color: #fff;
    background: var(--sc-panel-hover);
    border-color: var(--sc-stroke-strong);
}
/* « Désactiver le lien » : neutre, rouge seulement au survol */
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > label.label.bg-color-red {
    color: var(--sc-muted);
    background: transparent;
    border-color: transparent;
}
.sc-theme [menuitemname="AndrezzzLinkSocialMedia"] .list-group-item > label.label.bg-color-red:hover {
    color: #fca5a5;
    background: rgba(var(--sc-danger-rgb), .10);
    border-color: rgba(var(--sc-danger-rgb), .30);
}
/* WHMCS pose une bordure #ddd en style inline sur le dernier service affiché */
.sc-theme div[menuitemname="Active Products/Services"] .list-group-item {
    border-bottom-color: var(--sc-stroke-soft) !important;
}
.sc-theme .div-service-name .text-domain {
    color: var(--sc-muted-2);
    font-size: 13px;
}
.sc-theme .div-service-buttons .btn {
    padding: 3px 10px;
    font-size: 12px;
}

/* raccourcis (homepage Nexus/Twenty-One d'origine) */
.sc-theme .action-icon-btns a {
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    color: var(--sc-text-2);
}
.sc-theme .action-icon-btns a .ico-container i {
    color: rgba(255, 255, 255, .55);
}
.sc-theme .action-icon-btns a:hover {
    color: #fff;
    border-color: var(--sc-stroke-strong);
}

/* ---------------------------------------------------------------------
   18. Connexion / inscription / mot de passe
   --------------------------------------------------------------------- */
.sc-theme .login-form .card,
.sc-theme .primary-content .card.mw-540 {
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
}
.sc-theme .login-form .card .card-body {
    padding: 34px 32px 28px !important;
}
.sc-theme .login-form .h3,
.sc-theme .login-form h6.h3 {
    font-size: 26px;
    font-weight: 600;
    letter-spacing: -0.02em;
    margin-bottom: 4px;
}
.sc-theme .login-form .form-group {
    margin-bottom: 18px;
}
.sc-theme .login-form #login,
.sc-theme .login-form .btn-primary {
    padding: 10px 22px;
}
.sc-theme .login-form .card-footer {
    padding: 16px 32px;
    color: var(--sc-muted-2);
    text-align: center;
}
.sc-theme .login-form .card-footer a {
    color: #fff;
}
.sc-theme.sc-page-login section#main-body,
.sc-theme .sc-page-login section#main-body {
    display: flex;
    align-items: flex-start;
    padding-top: 48px;
}
.sc-theme .sc-page-login section#main-body > .container { width: 100%; }
.sc-theme .providerLinkingFeedback .alert { max-width: 460px; margin: 0 auto 12px; }
.sc-theme .social-signin-btns .btn,
.sc-theme .providerPreLinking .btn {
    border-radius: var(--sc-pill);
}
.sc-theme .sub-heading,
.sc-theme .sub-heading-borderless {
    border-top-color: var(--sc-stroke) !important;
}
.sc-theme .sub-heading span,
.sc-theme .sub-heading-borderless span {
    background: var(--sc-bg) !important;
    color: var(--sc-muted-2) !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* formulaires de type « prepend-icon » (inscription, panier) */
.sc-theme .prepend-icon .field-icon i,
.sc-theme body #order-standard_cart .field-icon i {
    color: var(--sc-muted-2);
}
.sc-theme .field,
.sc-theme body #registration .field,
.sc-theme body #order-standard_cart .field {
    color: var(--sc-text);
    background-color: var(--sc-field);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
}
.sc-theme .field:focus,
.sc-theme body #order-standard_cart .field:focus {
    border-color: rgba(255, 255, 255, .28);
    box-shadow: 0 0 0 3px rgba(var(--sc-accent-rgb), .18);
}

/* Connexion (login.tpl) : carte centrée, connexions externes dans la même carte */
.sc-theme .sc-login {
    display: flex;
    justify-content: center;
    padding: 8px 0 24px;
}
.sc-theme .sc-login__card {
    width: 100%;
    max-width: 440px;
    margin: 0;
    overflow: hidden;
    border-radius: var(--sc-radius);
}
.sc-theme .sc-login__card > .card-body {
    padding: 32px 30px 26px !important;
}
.sc-theme .sc-login__head {
    margin-bottom: 22px;
}
.sc-theme .sc-login .sc-login__title {
    margin: 8px 0 0;
    color: #fff;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: -0.02em;
}
.sc-theme .sc-login__lead {
    margin: 6px 0 0;
    color: var(--sc-muted);
    font-size: 14px;
}
.sc-theme .sc-login .form-group {
    margin-bottom: 16px;
}
.sc-theme .sc-login .form-control-label {
    margin-bottom: 6px;
    color: var(--sc-muted);
    font-size: 13px;
    font-weight: 600;
}
.sc-theme .sc-login__label-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}
.sc-theme .sc-login__forgot {
    color: var(--sc-muted-2) !important;
    font-size: 12px;
}
.sc-theme .sc-login__forgot:hover {
    color: #fff !important;
}
.sc-theme .sc-login__remember {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 2px 0 18px;
    color: var(--sc-text-2);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}
.sc-theme .sc-login__remember input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #fff;
    cursor: pointer;
}
.sc-theme .sc-login #login {
    padding: 12px 16px;
}
.sc-theme .sc-login__or {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 22px 0 14px;
    color: var(--sc-muted-2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sc-theme .sc-login__or::before,
.sc-theme .sc-login__or::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--sc-stroke);
}
.sc-theme .sc-login .social-signin-btns {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}
/* boutons des connexions externes : neutres (le module impose ses couleurs en ligne) */
.sc-theme .sc-login .social-signin-btns .btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin: 0 !important;
    padding: 11px 16px;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    background: var(--sc-panel) !important;
    border: 1px solid var(--sc-stroke) !important;
    border-radius: var(--sc-radius-md) !important;
    box-shadow: none !important;
    transition: background .15s ease, border-color .15s ease;
}
.sc-theme .sc-login .social-signin-btns .btn:hover,
.sc-theme .sc-login .social-signin-btns .btn:focus {
    background: var(--sc-panel-hover) !important;
    border-color: var(--sc-stroke-strong) !important;
}
.sc-theme .sc-login .social-signin-btns .btn i {
    order: -1;
    font-size: 16px;
}
.sc-theme .sc-login .social-signin-btns .btn-discord i {
    color: #a3abff;
}
.sc-theme .sc-login__footer {
    padding: 16px 30px;
    color: var(--sc-muted-2);
    font-size: 13px;
    text-align: center;
    background: rgba(255, 255, 255, .02);
    border-top: 1px solid var(--sc-stroke-soft);
}
.sc-theme .sc-login__footer a {
    margin-left: 4px;
    color: #fff;
    font-weight: 600;
    white-space: nowrap;
}

/* ---------------------------------------------------------------------
   19. Support, base de connaissances, annonces
   --------------------------------------------------------------------- */
.sc-theme .ticket-reply,
.sc-theme .ticket-reply.staff,
.sc-theme .kb-article-content,
.sc-theme .announcement-single {
    color: var(--sc-text-2);
}
.sc-theme .ticket-reply {
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
}
.sc-theme .ticket-reply.staff {
    background: rgba(var(--sc-accent-rgb), .06);
    border-color: rgba(var(--sc-accent-rgb), .22);
}
.sc-theme .ticket-reply .posted-by,
.sc-theme .ticket-reply .posted-on {
    color: var(--sc-muted-2);
}
.sc-theme .ticket-reply .message,
.sc-theme .ticket-reply .user {
    color: var(--sc-text);
}
.sc-theme .ticket-reply .attachments {
    border-top-color: var(--sc-stroke-soft);
}
.sc-theme .kb-category,
.sc-theme .kb-article-item,
.sc-theme .kbarticles a,
.sc-theme .kbcategories a {
    color: var(--sc-text);
}
.sc-theme .kb-article-details,
.sc-theme .kb-category .text-muted {
    color: var(--sc-muted-2);
}
.sc-theme .markdown-content,
.sc-theme .kb-article-content {
    color: var(--sc-text-2);
    line-height: 1.7;
}
.sc-theme .markdown-content h1,
.sc-theme .markdown-content h2,
.sc-theme .markdown-content h3 {
    color: var(--sc-text);
}

/* ---------------------------------------------------------------------
   20. Boutique & panier (orderform « standard_cart »)
   --------------------------------------------------------------------- */
.sc-theme body #order-standard_cart {
    color: var(--sc-text-2);
}
.sc-theme body #order-standard_cart .header-lined {
    margin-bottom: 20px;
}
.sc-theme body #order-standard_cart .header-lined h1,
.sc-theme body #order-standard_cart .font-size-36 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--sc-text);
}
.sc-theme body #order-standard_cart .header-lined p {
    color: var(--sc-muted);
    font-size: 15px;
    max-width: 720px;
}
.sc-theme body #order-standard_cart label,
.sc-theme body #order-standard_cart p.domain-renewal-desc {
    color: var(--sc-text-2);
}

/* Nexus retire la gouttière droite du corps du panier : on la rétablit */
.sc-theme body #order-standard_cart .cart-body {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Liste des produits */
.sc-theme body #order-standard_cart .products .product {
    position: relative;
    display: flex;
    flex-direction: column;
    height: calc(100% - 14px);
    margin: 0 0 14px;
    padding: 20px;
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    color: var(--sc-text-2);
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
    transition: border-color .3s ease, box-shadow .3s ease;
}
.sc-theme body #order-standard_cart .products .product:hover {
    border-color: var(--sc-stroke-strong);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 8px 30px rgba(0, 0, 0, .45);
}
.sc-theme body #order-standard_cart .products .product header {
    margin: 0 0 12px;
    padding: 0;
    background: transparent;
    border: 0;
    color: var(--sc-text);
}
.sc-theme body #order-standard_cart .products .product header span {
    color: var(--sc-text);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.01em;
}
.sc-theme body #order-standard_cart .products .product header .qty {
    float: right;
    margin-top: 3px;
    padding: 3px 9px;
    border-radius: var(--sc-pill);
    background: var(--sc-panel);
    border: 1px solid var(--sc-stroke);
    color: var(--sc-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}
.sc-theme body #order-standard_cart .products .product div.product-desc {
    float: none;
    width: auto;
    padding: 0;
    flex: 1 1 auto;
    font-size: 14px;
    color: var(--sc-muted);
}
.sc-theme body #order-standard_cart .products .product div.product-desc p {
    margin-bottom: 10px;
}
.sc-theme body #order-standard_cart .products .product div.product-desc ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.sc-theme body #order-standard_cart .products .product div.product-desc li {
    position: relative;
    padding: 6px 0 6px 0;
    border-bottom: 1px solid var(--sc-stroke-soft);
    color: var(--sc-muted);
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    gap: 14px;
}
.sc-theme body #order-standard_cart .products .product div.product-desc li:last-child {
    border-bottom: 0;
}
.sc-theme body #order-standard_cart .products .product div.product-desc .feature-value {
    color: var(--sc-text);
    font-weight: 800;
}
.sc-theme body #order-standard_cart .products .product footer {
    float: none;
    width: auto;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    margin: 16px 0 0;
    padding: 14px 0 0;
    border-top: 1px solid var(--sc-stroke-soft);
    font-size: 13px;
    color: var(--sc-muted-2);
    text-align: left;
}
.sc-theme body #order-standard_cart .products .product div.product-pricing {
    margin: 0;
    color: var(--sc-muted-2);
    font-size: 13px;
    line-height: 1.35;
}
.sc-theme body #order-standard_cart .products .product div.product-pricing span.price {
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.sc-theme body #order-standard_cart .products .product .btn-order-now {
    margin: 0;
    padding: 10px 18px;
    font-size: 14px;
    white-space: nowrap;
}
@media (min-width: 768px) {
    .sc-theme body #order-standard_cart .products .row-eq-height > [class*="col-"] {
        display: flex;
    }
    .sc-theme body #order-standard_cart .products .row-eq-height .product {
        width: 100%;
    }
}

/* Barre latérale du panier (même rendu que la barre latérale de l'espace client) */
.sc-theme body #order-standard_cart .cart-sidebar .card-header {
    padding: 14px 16px;
    border-bottom: 1px solid var(--sc-stroke-soft);
}
.sc-theme body #order-standard_cart .cart-sidebar .card-title,
.sc-theme body #order-standard_cart .cart-sidebar .card-sidebar .panel-title {
    font-size: 12px !important;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--sc-muted-2);
}
.sc-theme body #order-standard_cart .cart-sidebar .list-group {
    padding: 6px;
}
.sc-theme body #order-standard_cart .cart-sidebar .list-group-item {
    margin: 1px 0;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px !important;
    color: var(--sc-text-2);
    background: transparent;
}
.sc-theme body #order-standard_cart .cart-sidebar .list-group-item:hover {
    color: #fff;
    background: var(--sc-panel);
}
.sc-theme body #order-standard_cart .cart-sidebar .list-group-item.active,
.sc-theme body #order-standard_cart .cart-sidebar .list-group-item.active:hover {
    color: #fff;
    background: var(--sc-panel-strong);
    box-shadow: inset 2px 0 0 rgba(255, 255, 255, .85);
}
.sc-theme body #order-standard_cart .cart-sidebar .card,
.sc-theme body #order-standard_cart .cart-sidebar .card-sidebar {
    border-radius: var(--sc-radius);
}
.sc-theme body #order-standard_cart .sidebar-collapsed .panel,
.sc-theme body #order-standard_cart .sidebar-collapsed {
    background: transparent;
}
.sc-theme body #order-standard_cart .sidebar-collapsed .card-header h3,
.sc-theme body #order-standard_cart .sidebar-collapsed .panel-title {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--sc-muted-2);
}
.sc-theme body #order-standard_cart .sidebar-collapsed .card-header i {
    display: none;
}

/* Récapitulatif */
.sc-theme body #order-standard_cart .order-summary {
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    overflow: hidden;
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
}
.sc-theme body #order-standard_cart .order-summary h2 {
    margin: 0;
    padding: 14px 18px;
    background: transparent;
    border-bottom: 1px solid var(--sc-stroke);
    color: var(--sc-muted-2);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-align: left;
}
.sc-theme body #order-standard_cart .summary-container {
    background: transparent;
    color: var(--sc-text-2);
    padding: 16px 18px;
    margin: 0;
    min-height: 0;
}
.sc-theme body #order-standard_cart .order-summary .product-name {
    color: var(--sc-text);
    font-size: 15px;
    font-weight: 700;
}
.sc-theme body #order-standard_cart .order-summary .product-group {
    color: var(--sc-muted-2);
}
.sc-theme body #order-standard_cart .order-summary .summary-totals,
.sc-theme body #order-standard_cart .order-summary .subtotal,
.sc-theme body #order-standard_cart .order-summary .bordered-totals,
.sc-theme body #order-standard_cart .order-summary .recurring-charges {
    border-color: var(--sc-stroke-soft) !important;
    color: var(--sc-text-2);
}
.sc-theme body #order-standard_cart .order-summary .total-due-today,
.sc-theme body #order-standard_cart .order-summary .total-due-today .amt {
    color: #fff;
}
.sc-theme body #order-standard_cart .order-summary .total-due-today .amt {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.sc-theme body #order-standard_cart .order-summary .loader {
    color: var(--sc-muted);
}
.sc-theme body #order-standard_cart .order-summary .btn-continue-shopping {
    color: var(--sc-muted);
}
.sc-theme body #order-standard_cart .order-summary .btn-continue-shopping:hover {
    color: #fff;
}
.sc-theme body #order-standard_cart .btn-checkout {
    width: 100%;
    padding: 12px 18px;
    font-size: 15px;
}

/* Configuration du produit */
.sc-theme body #order-standard_cart .product-info {
    padding: 16px 18px;
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    color: var(--sc-text-2);
}
.sc-theme body #order-standard_cart .product-info .product-title {
    color: var(--sc-text);
    font-weight: 700;
}
.sc-theme body #order-standard_cart .panel-addon {
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    color: var(--sc-text-2);
}
.sc-theme body #order-standard_cart .panel-addon .panel-body label {
    color: var(--sc-text);
}
.sc-theme body #order-standard_cart .panel-addon .panel-price {
    background: transparent;
    color: var(--sc-text);
    border-top: 1px solid var(--sc-stroke-soft);
}
.sc-theme body #order-standard_cart .panel-addon .panel-add {
    background: var(--sc-panel);
    color: var(--sc-text-2);
    border-radius: 0 0 var(--sc-radius-md) var(--sc-radius-md);
}
.sc-theme body #order-standard_cart .panel-addon-selected {
    border-color: rgba(255, 255, 255, .45);
}
.sc-theme body #order-standard_cart .panel-addon-selected .panel-add {
    background: rgba(255, 255, 255, .95);
    color: var(--sc-bg);
}
.sc-theme body #order-standard_cart .field-container,
.sc-theme body #order-standard_cart .addon-promo-container {
    color: var(--sc-text-2);
}
.sc-theme body #order-standard_cart .form-control,
.sc-theme body #order-standard_cart .form-control:focus {
    color: var(--sc-text);
    background-color: var(--sc-field);
}
.sc-theme body #order-standard_cart .field[disabled],
.sc-theme body #order-standard_cart .field[readonly],
.sc-theme body #order-standard_cart .form-control[disabled],
.sc-theme body #order-standard_cart .form-control[readonly] {
    background-color: rgba(255, 255, 255, .03);
    color: var(--sc-muted-2);
}
.sc-theme body #order-standard_cart .sub-heading span,
.sc-theme body #order-standard_cart .sub-heading-borderless span {
    background: var(--sc-bg) !important;
}
.sc-theme body #order-standard_cart .sub-heading {
    border-top-color: var(--sc-stroke);
}

/* Panier */
.sc-theme body #order-standard_cart .view-cart-items-header {
    padding: 12px 18px;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--sc-stroke);
    border-bottom: 0;
    border-radius: var(--sc-radius) var(--sc-radius) 0 0;
    color: var(--sc-muted-2);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.sc-theme body #order-standard_cart .view-cart-items {
    border: 1px solid var(--sc-stroke);
    border-radius: 0 0 var(--sc-radius) var(--sc-radius);
    overflow: hidden;
    background: var(--sc-surface);
}
.sc-theme body #order-standard_cart .view-cart-items .item,
.sc-theme body #order-standard_cart .view-cart-items .item:nth-child(even) {
    padding: 14px 18px;
    background: transparent;
    border-bottom: 1px solid var(--sc-stroke-soft);
    color: var(--sc-text-2);
}
.sc-theme body #order-standard_cart .view-cart-items .item:last-child {
    border-bottom: 0;
}
.sc-theme body #order-standard_cart .view-cart-items .item-title {
    color: var(--sc-text);
    font-weight: 700;
}
.sc-theme body #order-standard_cart .view-cart-items .item-group,
.sc-theme body #order-standard_cart .view-cart-items .item-domain {
    color: var(--sc-muted-2);
}
.sc-theme body #order-standard_cart .view-cart-items .item-price span:first-child {
    color: #fff;
    font-weight: 800;
}
.sc-theme body #order-standard_cart .view-cart-items .cycle {
    color: var(--sc-muted-2);
}
.sc-theme body #order-standard_cart .btn-remove-from-cart {
    color: var(--sc-muted-2);
}
.sc-theme body #order-standard_cart .btn-remove-from-cart:hover {
    color: #fca5a5;
}
.sc-theme body #order-standard_cart .view-cart-empty,
.sc-theme body #order-standard_cart .empty-cart {
    color: var(--sc-muted);
}
.sc-theme body #order-standard_cart .empty-cart .btn {
    background: var(--sc-panel);
    color: var(--sc-text-2);
    border: 1px solid var(--sc-stroke);
}
.sc-theme body #order-standard_cart .view-cart-tabs .nav-tabs a {
    color: var(--sc-muted);
}
.sc-theme body #order-standard_cart .view-cart-tabs .nav-tabs a[aria-selected="true"],
.sc-theme body #order-standard_cart .view-cart-tabs .nav-tabs a[aria-expanded="true"] {
    color: #fff;
    background: var(--sc-surface);
    border-color: var(--sc-stroke) var(--sc-stroke) transparent;
}
.sc-theme body #order-standard_cart .view-cart-tabs .tab-content {
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-top: 0;
    border-radius: 0 0 var(--sc-radius-md) var(--sc-radius-md);
    color: var(--sc-text-2);
}
.sc-theme body #order-standard_cart .view-cart-promotion-code {
    background: rgba(var(--sc-success-rgb), .10);
    border: 1px solid rgba(var(--sc-success-rgb), .28);
    color: #bbf7d0;
    border-radius: var(--sc-radius-sm);
}
.sc-theme body #order-standard_cart .view-cart-gateway-checkout {
    border-color: var(--sc-stroke);
}

/* Paiement / validation */
.sc-theme body #order-standard_cart .account-select-container div.account {
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    color: var(--sc-text-2);
}
.sc-theme body #order-standard_cart .account-select-container div.account.active {
    background: var(--sc-panel-strong);
    border-color: rgba(255, 255, 255, .45);
    color: #fff;
}
.sc-theme body #order-standard_cart .apply-credit-container,
.sc-theme body #order-standard_cart .cc-input-container {
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    color: var(--sc-text-2);
}
.sc-theme body #order-standard_cart .cc-input-container .existing-cc-grid {
    border-color: var(--sc-stroke-soft);
}
.sc-theme body #order-standard_cart .default-captcha {
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
}
.sc-theme body #order-standard_cart .checkout-security-msg {
    color: var(--sc-muted-2);
}

/* Recommandations & promotions */
.sc-theme .product-recommendations .product-recommendation,
.sc-theme body #order-standard_cart .mc-promo {
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    color: var(--sc-text-2);
}
.sc-theme .product-recommendations .product-recommendation .price,
.sc-theme body #order-standard_cart .mc-promo .price {
    color: #fff;
}

/* ---------------------------------------------------------------------
   Renouvellement des services (standard_cart : service-renewals.tpl)
   « Renouveler le service » (un service) et « Renouvellement des services »
   --------------------------------------------------------------------- */
.sc-theme body #order-standard_cart:has(.service-renewals) .cart-body > .header-lined {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
}
.sc-theme body #order-standard_cart:has(.service-renewals) .cart-body > .header-lined > [class*="col-"] {
    flex: 0 1 auto;
    width: auto;
    max-width: none;
    padding: 0;
}
.sc-theme body #order-standard_cart:has(.service-renewals) .cart-body > .header-lined > [class*="col-"]:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.sc-theme body #order-standard_cart:has(.service-renewals) .header-lined h1 {
    margin: 0;
    color: #fff;
    font-size: 28px !important;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.2;
}
.sc-theme body #order-standard_cart .service-renewals-quick-filter {
    width: auto !important;
    float: none !important;
    margin: 0;
}
.sc-theme body #order-standard_cart .form-control.service-renewals-filter {
    width: 220px !important;
    float: none !important;
    margin: 0;
}
/* « Affichage de 1 services sur 2. Afficher tout » */
.sc-theme body #order-standard_cart .secondary-cart-body > .text-center {
    margin: 0 0 10px;
    color: var(--sc-muted);
    font-size: 13px;
    text-align: left !important;
}
.sc-theme body #order-standard_cart .secondary-cart-body > .text-center #linkShowAll {
    display: inline-flex;
    margin-left: 6px;
    padding: 3px 10px;
    color: var(--sc-text);
    font-weight: 600;
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-pill);
    background: var(--sc-panel);
    text-decoration: none;
}
.sc-theme body #order-standard_cart .secondary-cart-body > .text-center #linkShowAll:hover {
    border-color: var(--sc-stroke-strong);
    background: var(--sc-panel-hover);
}

/* Liste : une carte par service */
.sc-theme body #order-standard_cart .service-renewals {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    border: 0;
    background: transparent;
}
.sc-theme body #order-standard_cart .service-renewals .service-renewal,
.sc-theme body #order-standard_cart .service-renewals .service-renewal:nth-child(even) {
    position: relative;
    margin: 0;
    padding: 18px;
    color: var(--sc-text-2);
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
}
.sc-theme body #order-standard_cart .service-renewals .service-renewal[style*="display: none"] {
    display: none !important;
}
/* icône Proxy / VPS, comme dans « Mes services » */
.sc-theme body #order-standard_cart .service-renewals > .service-renewal:is([data-product-name*="proxy" i], [data-product-name*="vps" i]) {
    padding-left: 76px;
}
.sc-theme body #order-standard_cart .service-renewals > .service-renewal:is([data-product-name*="proxy" i], [data-product-name*="vps" i])::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 18px;
    width: 42px;
    height: 42px;
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-sm);
    background: var(--sc-panel) center / 24px 24px no-repeat;
}
.sc-theme body #order-standard_cart .service-renewals > .service-renewal[data-product-name*="proxy" i]::before {
    background-image: url("https://www.shieldcore.io/img/proxy32.png");
}
.sc-theme body #order-standard_cart .service-renewals > .service-renewal[data-product-name*="vps" i]:not([data-product-name*="proxy" i])::before {
    background-image: url("https://www.shieldcore.io/img/vps32.png");
}
.sc-theme body #order-standard_cart .service-renewals .service-renewal > .float-right .label {
    border-radius: var(--sc-pill) !important;
}
.sc-theme body #order-standard_cart .service-renewals .service-renewal h3 {
    margin: 0;
    color: #fff;
    font-size: 18px !important;
    font-weight: 700;
    line-height: 1.3;
}
.sc-theme body #order-standard_cart .service-renewals .service-renewal h4 {
    margin: 3px 0 0;
    color: var(--sc-muted);
    font-family: var(--sc-mono);
    font-size: 13px !important;
    font-weight: 400;
}
.sc-theme body #order-standard_cart .service-renewals .service-renewal > p {
    margin: 10px 0 0;
    color: var(--sc-muted);
    font-size: 13px;
}
.sc-theme body #order-standard_cart .service-renewals .service-renewal > .clearfix {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--sc-stroke-soft);
}
.sc-theme body #order-standard_cart .service-renewals .service-renewal > .clearfix::after {
    content: none;
}
.sc-theme body #order-standard_cart .service-renewals .service-renewal > .clearfix > .float-left {
    float: none !important;
    color: var(--sc-text);
    font-size: 14px;
    font-weight: 600;
}
.sc-theme body #order-standard_cart .service-renewals .div-renewal-period-label {
    margin: 0 0 2px;
    color: var(--sc-muted-2);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sc-theme body #order-standard_cart .service-renewals .div-renewal-ineligible {
    color: var(--sc-muted);
    font-weight: 500;
}
.sc-theme body #order-standard_cart .service-renewals .btn-add-renewal-to-cart {
    float: none !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    color: var(--sc-bg);
    font-weight: 700;
    background: rgba(255, 255, 255, .95);
    border: 1px solid transparent;
    border-radius: var(--sc-pill);
}
.sc-theme body #order-standard_cart .service-renewals .btn-add-renewal-to-cart:hover {
    background: #fff;
}
/* ajouté au panier */
.sc-theme body #order-standard_cart .service-renewals .btn-add-renewal-to-cart:disabled,
.sc-theme body #order-standard_cart .service-renewals .btn-add-renewal-to-cart.checkout {
    color: #86efac;
    background: rgba(var(--sc-success-rgb), .12);
    border-color: rgba(var(--sc-success-rgb), .32);
    opacity: 1;
}
/* modules complémentaires du service */
.sc-theme body #order-standard_cart .service-renewals .addon-renewals {
    margin-top: 14px;
}
.sc-theme body #order-standard_cart .service-renewals .addon-renewals > h4 {
    margin: 0 0 8px;
    color: var(--sc-muted-2);
    font-family: inherit;
    font-size: 11px !important;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sc-theme body #order-standard_cart .service-renewals .addon-renewals .service-renewal {
    padding: 14px;
    background: rgba(255, 255, 255, .025);
    border-color: var(--sc-stroke-soft);
    border-radius: var(--sc-radius-md);
}
.sc-theme body #order-standard_cart .service-renewals .addon-renewals .service-renewal + .service-renewal {
    margin-top: 8px;
}

@media (max-width: 575.98px) {
    .sc-theme body #order-standard_cart .service-renewals > .service-renewal:is([data-product-name*="proxy" i], [data-product-name*="vps" i]) {
        padding-left: 18px;
    }
    .sc-theme body #order-standard_cart .service-renewals > .service-renewal::before {
        display: none;
    }
    .sc-theme body #order-standard_cart .service-renewals .service-renewal > .float-right {
        float: none !important;
        margin-bottom: 10px;
    }
    .sc-theme body #order-standard_cart .service-renewals .btn-add-renewal-to-cart {
        width: 100%;
        justify-content: center;
    }
}

/* Résumé : bouton « Afficher le panier » pleine largeur */
.sc-theme body #order-standard_cart:has(.service-renewals) #btnGoToCart {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 10px;
}

/* ---------------------------------------------------------------------
   20 bis. Boutique — orderform « Universal Slider »
   --------------------------------------------------------------------- */
/* style.css du slider met overflow-x:hidden sur html/body, ce qui casse
   l'en-tête collant : « clip » coupe le débordement sans créer de défilement */
html.sc-theme,
.sc-theme body {
    overflow-x: hidden;
    overflow-x: clip;
}

.sc-theme #btnShowSidebar {
    margin: 0 0 8px;
}

/* Menu des catégories toujours visible (au lieu du bouton « Afficher le menu »).
   Ne s'applique que si la barre latérale contient des catégories : sinon, ou sur
   un navigateur ancien sans :has(), le comportement d'origine est conservé. */
.sc-theme #btnShowSidebar:has(+ .row-product-selection .product-selection-sidebar .card) {
    display: none !important;
}
.sc-theme .row-product-selection:has(> .product-selection-sidebar .card) {
    left: 0 !important;
    row-gap: 18px;
}
.sc-theme .row-product-selection:has(> .product-selection-sidebar .card) > .product-selection-sidebar {
    position: relative;
    top: auto;
    left: auto;
    display: block !important;
    opacity: 1 !important;
    flex: 0 0 100%;
    max-width: 100%;
    width: auto;
    z-index: 1;
}
.sc-theme .row-product-selection:has(> .product-selection-sidebar .card) > .product-selection-sidebar .card:last-child {
    margin-bottom: 0 !important;
}
@media (min-width: 992px) {
    .sc-theme .row-product-selection:has(> .product-selection-sidebar .card) {
        flex-wrap: nowrap;
    }
    .sc-theme .row-product-selection:has(> .product-selection-sidebar .card) > .product-selection-sidebar {
        flex: 0 0 270px;
        max-width: 270px;
        position: sticky;
        top: 116px;
        align-self: flex-start;
    }
    .sc-theme .row-product-selection:has(> .product-selection-sidebar .card) > .col-md-12 {
        flex: 1 1 0;
        max-width: none;
        min-width: 0;
    }
    .sc-theme .row-product-selection:has(> .product-selection-sidebar .card) .group-headlines {
        margin-top: 0;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .sc-theme .row-product-selection:has(> .product-selection-sidebar .card) > .product-selection-sidebar {
        flex-basis: 240px;
        max-width: 240px;
    }
}

.sc-theme div#order-universal_slider {
    margin: 0 0 40px;
    color: var(--sc-text-2);
}

/* En-tête du groupe */
.sc-theme #order-universal_slider .group-headlines {
    max-width: 760px;
    margin: 4px auto 0;
    text-align: center;
}
.sc-theme #order-universal_slider .group-headlines h2 {
    margin: 0;
    color: var(--sc-text);
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.03em;
}
.sc-theme #order-universal_slider .group-headlines h5 {
    margin: 12px auto 0;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(15px, 1.8vw, 17px);
    font-weight: 300;
    line-height: 1.55;
}

/* Bande grise pleine largeur → panneau « configurateur » */
.sc-theme #order-universal_slider .striped-container {
    position: relative;
    margin: 30px auto 0;
    padding: 26px 30px 30px !important;
    max-width: 960px;
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    box-shadow: var(--sc-shadow);
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
}
.sc-theme #order-universal_slider .main-container {
    padding: 0;
}
.sc-theme #order-universal_slider .sc-slider-eyebrow {
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .6);
    text-align: center;
}

/* Le curseur (ion.rangeSlider) */
.sc-theme #order-universal_slider .product-selector {
    padding: 0;
}
.sc-theme #order-universal_slider .product-selector .irs,
.sc-theme #order-universal_slider .product-selector .irs-with-grid {
    margin: 0;
    height: 92px;
}
.sc-theme #order-universal_slider .product-selector .irs-line {
    top: 34px;
    height: 6px;
    border: 0;
    border-radius: 99px;
    background: rgba(255, 255, 255, .10);
    box-shadow: none;
}
.sc-theme #order-universal_slider .product-selector .irs-line-left,
.sc-theme #order-universal_slider .product-selector .irs-line-mid,
.sc-theme #order-universal_slider .product-selector .irs-line-right,
.sc-theme #order-universal_slider .product-selector .irs-line-left.last {
    background: transparent;
}
.sc-theme #order-universal_slider .product-selector .irs-bar {
    top: 34px;
    height: 6px;
    margin: 0;
    border: 0;
    border-radius: 99px 0 0 99px;
    background: linear-gradient(90deg, rgba(255, 255, 255, .45), rgba(255, 255, 255, .95));
}
.sc-theme #order-universal_slider .product-selector .irs-bar-edge {
    top: 34px;
    height: 6px;
    width: 12px;
    border: 0;
    border-radius: 99px 0 0 99px;
    background: rgba(255, 255, 255, .45);
}
.sc-theme #order-universal_slider .product-selector .irs-shadow,
.sc-theme #order-universal_slider .product-selector .irs-grid-pol,
.sc-theme #order-universal_slider .product-selector .irs-min,
.sc-theme #order-universal_slider .product-selector .irs-max {
    display: none;
}
.sc-theme #order-universal_slider .product-selector .irs-slider,
.sc-theme #order-universal_slider .product-selector .irs-slider:hover,
.sc-theme #order-universal_slider .irs-slider:hover {
    top: 26px;
    width: 22px !important;
    height: 22px;
    border: 0;
    border-radius: 50%;
    background: #fff !important;
    box-shadow: 0 0 0 5px rgba(255, 255, 255, .12), 0 8px 20px rgba(0, 0, 0, .55);
    cursor: grab;
    transition: box-shadow .2s ease;
}
.sc-theme #order-universal_slider .product-selector .irs-slider:hover,
.sc-theme #order-universal_slider .product-selector .irs-slider.state_hover {
    box-shadow: 0 0 0 8px rgba(255, 255, 255, .14), 0 8px 20px rgba(0, 0, 0, .55);
}
.sc-theme #order-universal_slider .product-selector .irs-line:focus,
.sc-theme #order-universal_slider .product-selector .irs-line:focus-visible {
    outline: 0;
}
.sc-theme #order-universal_slider .product-selector .irs:focus-within .irs-slider {
    box-shadow: 0 0 0 5px rgba(var(--sc-accent-rgb), .35), 0 8px 20px rgba(0, 0, 0, .55);
}

/* bulle de la valeur (sans JS) */
.sc-theme #order-universal_slider .product-selector .irs-single,
.sc-theme #order-universal_slider .product-selector .irs-from,
.sc-theme #order-universal_slider .product-selector .irs-to {
    top: 0;
    height: auto;
    padding: 3px 10px;
    border-radius: var(--sc-pill);
    background: rgba(255, 255, 255, .95);
    color: var(--sc-bg);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    text-shadow: none;
}

/* graduations */
.sc-theme #order-universal_slider .product-selector .irs-grid {
    top: 52px;
    bottom: auto;
    height: 40px;
}
.sc-theme #order-universal_slider .product-selector .irs-grid-text {
    top: 0;
    bottom: auto;
    color: var(--sc-muted-2);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.25;
    transition: color .2s ease;
}
.sc-theme #order-universal_slider .product-selector .irs-grid-text.sc-current {
    color: #fff;
}

/* version améliorée par js/shieldcore.js : libellés courts et cliquables */
.sc-theme #order-universal_slider .product-selector.sc-enhanced .irs-single {
    display: none;
}
.sc-theme #order-universal_slider .product-selector.sc-enhanced .irs-grid-text {
    margin-left: 0 !important;
    visibility: visible !important;
    transform: translateX(-50%);
    text-align: center;
    cursor: pointer;
    padding: 2px 4px;
}
.sc-theme #order-universal_slider .product-selector.sc-enhanced .irs-grid-text:hover {
    color: #fff;
}
.sc-theme #order-universal_slider .sc-tick-main {
    display: block;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.01em;
}
.sc-theme #order-universal_slider .sc-tick-sub {
    display: block;
    margin-top: 1px;
    font-size: 11.5px;
    font-weight: 500;
    color: var(--sc-faint);
}
.sc-theme #order-universal_slider .sc-current .sc-tick-sub {
    color: var(--sc-muted-2);
}

/* Carte du produit sélectionné */
.sc-theme #order-universal_slider .product-container {
    margin: 22px 0 0;
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    box-shadow: none;
    color: var(--sc-text-2);
    z-index: auto;
}
.sc-theme #order-universal_slider .feature-container {
    padding: 22px 24px 18px;
}
.sc-theme #order-universal_slider .feature-container > .row {
    align-items: center;
}
.sc-theme #order-universal_slider .feature-container .container-with-progress-bar {
    padding: 8px 0 12px;
}
.sc-theme #order-universal_slider .product-container .container-with-progress-bar {
    color: var(--sc-muted-2);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.6;
    text-transform: uppercase;
}
.sc-theme #order-universal_slider .product-container .container-with-progress-bar span {
    margin-top: 2px;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    text-transform: none;
}
.sc-theme #order-universal_slider .feature-container .progress.small-progress {
    height: 4px;
    margin: 10px auto 0;
    max-width: 120px;
    background: rgba(255, 255, 255, .08);
}
.sc-theme #order-universal_slider .feature-container .progress.small-progress .progress-bar {
    background: rgba(255, 255, 255, .85);
}

/* Prix + bouton */
.sc-theme #order-universal_slider .feature-container .price-container,
.sc-theme #order-universal_slider .price-container {
    margin: 0;
    padding: 0;
    color: var(--sc-muted-2);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.5;
    text-transform: none;
}
.sc-theme #order-universal_slider .product-container .container-with-progress-bar span.sc-plan-label,
.sc-theme #order-universal_slider .price-container .sc-plan-label {
    display: block;
    margin: 0;
    color: var(--sc-muted);
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.4;
    text-transform: none;
}
.sc-theme #order-universal_slider .product-container .price-container .price-cont,
.sc-theme #order-universal_slider .feature-container .price-container .price-cont {
    display: block;
    margin: 4px 0 14px;
    color: #fff;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
}
.sc-theme #order-universal_slider .product-container .price-container .price-cont span {
    display: inline;
    font-size: inherit;
    color: inherit;
}
.sc-theme #order-universal_slider .price-container .price-cont small {
    display: block;
    margin-top: 6px;
    color: var(--sc-muted-2);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
}
.sc-theme #order-universal_slider .product-container .order-button,
.sc-theme #order-universal_slider .product-container .order-button:hover {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 12px 20px;
    border: 0;
    border-radius: var(--sc-pill);
    background: rgba(255, 255, 255, .95) !important;
    color: var(--sc-bg) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0;
    text-transform: none;
    text-shadow: none;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.sc-theme #order-universal_slider .product-container .order-button:hover {
    background: #fff !important;
    transform: translateY(-1px);
    box-shadow: var(--sc-shadow-lg);
}
.sc-theme #order-universal_slider .product-container .order-button.unavailable,
.sc-theme #order-universal_slider .product-container .order-button.unavailable:hover {
    background: var(--sc-panel) !important;
    color: var(--sc-muted-2) !important;
    border: 1px solid var(--sc-stroke);
    transform: none;
    box-shadow: none;
    cursor: not-allowed;
}

/* Produit sans caractéristiques (ex. Reverse Proxy) : carte horizontale */
.sc-theme #order-universal_slider .sc-solo .feature-container .col-md-9 {
    display: none;
}
.sc-theme #order-universal_slider .sc-solo .feature-container .col-md-3 {
    flex: 0 0 100%;
    max-width: 100%;
}
@media (min-width: 768px) {
    .sc-theme #order-universal_slider .sc-solo .price-container {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        column-gap: 24px;
        text-align: left !important;
    }
    .sc-theme #order-universal_slider .sc-solo .price-container .sc-plan-label { grid-column: 1; grid-row: 1; }
    .sc-theme #order-universal_slider .sc-solo .price-container .price-cont { grid-column: 1; grid-row: 2; margin-bottom: 0; }
    .sc-theme #order-universal_slider .sc-solo .price-container .order-button {
        grid-column: 2;
        grid-row: 1 / span 2;
        width: auto;
        min-width: 200px;
    }
}

/* Description du produit */
.sc-theme #order-universal_slider .product-description {
    padding: 0 24px 22px;
    color: var(--sc-muted);
    font-size: 14px;
}
.sc-theme #order-universal_slider .sc-no-desc .product-description {
    padding-bottom: 0;
}
@media (max-width: 767.98px) {
    .sc-theme #order-universal_slider .product-description .price-container {
        margin-top: 14px;
        padding: 16px 0 4px;
        border-top: 1px solid var(--sc-stroke-soft);
    }
    .sc-theme #order-universal_slider .sc-no-desc .product-description {
        padding-bottom: 20px;
    }
    .sc-theme #order-universal_slider .sc-no-desc .product-description .price-container {
        margin-top: 0;
        border-top: 0;
    }
    .sc-theme #order-universal_slider .sc-solo .feature-container {
        display: none;
    }
    .sc-theme #order-universal_slider .sc-solo .product-description {
        padding-top: 20px;
    }
}

/* « Inclus avec tous les forfaits » */
.sc-theme #order-universal_slider .group-features {
    max-width: 960px;
    margin: 44px auto 0;
}
.sc-theme #order-universal_slider .group-features .title {
    display: flex;
    align-items: center;
    gap: 16px;
    background: none !important;
}
.sc-theme #order-universal_slider .group-features .title::before,
.sc-theme #order-universal_slider .group-features .title::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: var(--sc-stroke);
}
.sc-theme #order-universal_slider .group-features .title span {
    display: inline-block;
    padding: 0;
    background: transparent !important;
    color: rgba(255, 255, 255, .6);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.sc-theme #order-universal_slider .group-features ul.list-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    padding: 22px 0 0;
}
.sc-theme #order-universal_slider .group-features ul.list-features li {
    position: relative;
    display: block;
    width: auto;
    margin: 0;
    padding: 14px 16px 14px 46px;
    background: rgba(255, 255, 255, .03) !important;
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    color: var(--sc-text-2);
    font-size: 14px;
    line-height: 1.45;
}
.sc-theme #order-universal_slider .group-features ul.list-features li::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 15px;
    width: 20px;
    height: 20px;
    border-radius: 7px;
    border: 1px solid var(--sc-stroke);
    background: var(--sc-panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M2.5 6.2 5 8.6 9.6 3.6'/%3E%3C/svg%3E") no-repeat center / 12px 12px;
}

@media (max-width: 767.98px) {
    .sc-theme #order-universal_slider .striped-container {
        padding: 20px 16px 20px !important;
    }
    .sc-theme #order-universal_slider .feature-container {
        padding: 16px 16px 6px;
    }
    .sc-theme #order-universal_slider .product-description {
        padding: 0 16px 0;
    }
    .sc-theme #order-universal_slider .sc-tick-main {
        font-size: 13px;
    }
    .sc-theme #order-universal_slider .sc-tick-sub {
        display: none;
    }
}

/* ---------------------------------------------------------------------
   21. Composants ShieldCore (homepage)
   --------------------------------------------------------------------- */
.sc-theme .sc-home {
    padding-bottom: 8px;
}
.sc-theme .sc-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .60);
}

.sc-theme .sc-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 40px 0 28px;
    text-align: center;
}
.sc-theme .sc-hero__title {
    margin: 14px 0 0;
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.05;
    font-weight: 500;
    letter-spacing: -0.03em;
    color: rgba(255, 255, 255, .92);
}
.sc-theme .sc-hero__title span {
    color: rgba(255, 255, 255, .78);
}
.sc-theme .sc-lead {
    margin: 18px auto 0;
    max-width: 640px;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(15px, 2vw, 18px);
    font-weight: 300;
}
.sc-theme .sc-hero__cta {
    margin-top: 24px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}
.sc-theme .sc-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding: 7px 14px;
    border-radius: var(--sc-pill);
    border: 1px solid var(--sc-stroke);
    background: rgba(255, 255, 255, .04);
    color: rgba(255, 255, 255, .75);
    font-size: 13px;
    font-weight: 600;
    transition: background .2s ease, border-color .2s ease;
}
.sc-theme .sc-status-badge:hover {
    color: rgba(255, 255, 255, .92);
    background: rgba(255, 255, 255, .08);
    border-color: var(--sc-stroke-strong);
}
.sc-theme .sc-status-badge i {
    font-size: 10px;
    opacity: .6;
}
.sc-theme .sc-dot {
    display: inline-block;
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .3);
}
.sc-theme .sc-dot--ok {
    background: var(--sc-success);
    box-shadow: 0 0 0 3px rgba(var(--sc-success-rgb), .20);
    animation: scPulse 2.5s ease-in-out infinite;
}
@keyframes scPulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(34, 197, 94, .20); }
    50% { box-shadow: 0 0 0 6px rgba(34, 197, 94, .05); }
}

.sc-theme .sc-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
.sc-theme .sc-stat,
.sc-theme .sc-card {
    position: relative;
    border-radius: var(--sc-radius);
    border: 1px solid var(--sc-stroke);
    background: rgba(255, 255, 255, .05);
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
    box-shadow: var(--sc-shadow);
    transition: box-shadow .3s ease, border-color .3s ease;
}
.sc-theme .sc-stat::before,
.sc-theme .sc-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(120% 120% at 50% 0%, rgba(255, 255, 255, .06), transparent 60%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
}
.sc-theme .sc-stat:hover::before,
.sc-theme .sc-card:hover::before {
    opacity: 1;
}
.sc-theme .sc-stat:hover,
.sc-theme .sc-card:hover {
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 8px 30px rgba(0, 0, 0, .45);
}
.sc-theme .sc-stat {
    padding: 14px;
}
.sc-theme .sc-stat__k {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: rgba(255, 255, 255, .95);
}
.sc-theme .sc-stat__v {
    margin-top: 4px;
    font-size: 12px;
    color: rgba(255, 255, 255, .60);
}

.sc-theme .sc-section {
    padding: 48px 0 0;
}
.sc-theme .sc-section--compact {
    padding-top: 36px;
}
.sc-theme .sc-section__title {
    max-width: 760px;
    margin: 0 auto 22px;
    text-align: center;
}
.sc-theme .sc-section__title--left {
    margin: 0 0 14px;
    text-align: left;
}
.sc-theme .sc-section__title h2 {
    margin: 10px 0 0;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 500;
    letter-spacing: -0.02em;
}
.sc-theme .sc-section__title p {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, .70);
}

.sc-theme .sc-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
@media (min-width: 640px) {
    .sc-theme .sc-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 920px) {
    .sc-theme .sc-grid--products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .sc-theme .sc-grid--4 { grid-template-columns: repeat(4, 1fr); gap: 14px; }
}

.sc-theme .sc-card {
    display: flex;
    flex-direction: column;
    padding: 20px;
    color: var(--sc-text);
}
.sc-theme .sc-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
}
.sc-theme .sc-card h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.01em;
}
.sc-theme .sc-card p {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .70);
    font-size: 14px;
}
.sc-theme .sc-icon {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--sc-radius-md);
    border: 1px solid var(--sc-stroke);
    background: var(--sc-panel);
    color: rgba(255, 255, 255, .88);
    font-size: 15px;
}
.sc-theme .sc-list {
    margin: 14px 0 18px;
    padding: 0;
    list-style: none;
    color: rgba(255, 255, 255, .82);
    font-size: 14px;
    flex: 1 1 auto;
}
.sc-theme .sc-list li {
    position: relative;
    margin: 8px 0;
    padding-left: 22px;
}
.sc-theme .sc-list li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 6px;
    width: 10px;
    height: 6px;
    border-left: 2px solid rgba(255, 255, 255, .75);
    border-bottom: 2px solid rgba(255, 255, 255, .75);
    transform: rotate(-45deg);
}
.sc-theme .sc-product .sc-btn--block {
    margin-top: auto;
}
.sc-theme .sc-product p + .sc-btn--block,
.sc-theme .sc-product .sc-card__head + .sc-btn--block {
    margin-top: 18px;
}

.sc-theme .sc-link-card {
    gap: 6px;
    text-decoration: none;
    color: var(--sc-text);
}
.sc-theme .sc-link-card:hover {
    color: #fff;
    border-color: var(--sc-stroke-strong);
}
.sc-theme .sc-link-card .sc-icon {
    margin-bottom: 10px;
}
.sc-theme .sc-link-card__title {
    font-weight: 800;
    font-size: 15px;
}
.sc-theme .sc-link-card__desc {
    color: rgba(255, 255, 255, .62);
    font-size: 13.5px;
}
.sc-theme .sc-ext {
    font-size: 10px;
    opacity: .45;
    margin-left: 2px;
    vertical-align: 2px;
}

.sc-theme .sc-shortcut {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: var(--sc-radius-md);
    border: 1px solid var(--sc-stroke);
    background: rgba(255, 255, 255, .03);
    color: var(--sc-text-2);
    font-size: 14px;
    font-weight: 600;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.sc-theme .sc-shortcut i {
    width: 18px;
    text-align: center;
    color: var(--sc-muted-2);
}
.sc-theme .sc-shortcut:hover {
    color: #fff;
    background: var(--sc-panel);
    border-color: var(--sc-stroke-strong);
}
.sc-theme .sc-shortcut:hover i {
    color: #fff;
}

@media (min-width: 900px) {
    .sc-theme .sc-hero {
        grid-template-columns: 1.15fr .85fr;
        align-items: center;
        gap: 28px;
        padding: 56px 0 34px;
        text-align: left;
    }
    .sc-theme .sc-lead {
        margin-left: 0;
    }
    .sc-theme .sc-hero__cta {
        justify-content: flex-start;
    }
    .sc-theme .sc-stats {
        grid-template-columns: 1fr;
    }
    .sc-theme .sc-stat {
        padding: 16px 18px;
    }
}

/* ---------------------------------------------------------------------
   21 bis. Programme d'affiliation (affiliates.tpl, affiliatessignup.tpl)
   --------------------------------------------------------------------- */
.sc-theme .sc-aff {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-bottom: 8px;
}
.sc-theme .sc-btn--lg {
    padding: 13px 22px;
    font-size: 15px;
}

/* En-tête : promesse + lien, et pastille du taux */
.sc-theme .sc-aff-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    padding: 28px;
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(var(--sc-success-rgb), .10), transparent 55%),
        rgba(255, 255, 255, .05);
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
    overflow: hidden;
}
@media (min-width: 992px) {
    .sc-theme .sc-aff-hero {
        grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
        gap: 28px;
        padding: 36px;
    }
}
.sc-theme .sc-aff-hero__main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}
.sc-theme .sc-aff .sc-aff-hero__title {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .92);
    font-size: clamp(28px, 3.4vw, 40px);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -0.025em;
}
.sc-theme .sc-aff-hero__title strong {
    color: #86efac;
    font-weight: 800;
}
.sc-theme .sc-aff-hero__lead {
    margin: 14px 0 0;
    max-width: 620px;
    color: var(--sc-muted);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.6;
}
.sc-theme .sc-aff-hero__cta {
    margin-top: 22px;
}
.sc-theme .sc-aff-link__label {
    margin: 22px 0 8px;
    color: var(--sc-muted-2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sc-theme .sc-aff-link {
    display: flex;
    gap: 8px;
    max-width: 620px;
}
.sc-theme .sc-aff-link .form-control {
    flex: 1 1 auto;
    min-width: 0;
    height: auto;
    padding: 11px 14px;
    color: #fff;
    font-family: var(--sc-mono);
    font-size: 14px;
    background: var(--sc-field);
    border: 1px solid var(--sc-stroke-strong);
    border-radius: var(--sc-radius-md);
    cursor: text;
}
.sc-theme .sc-aff-link .sc-btn {
    flex: none;
    border-radius: var(--sc-radius-md);
    padding: 11px 18px;
}
.sc-theme .sc-aff-link .sc-btn.is-copied {
    color: #052e16 !important;
    background: #86efac !important;
}

.sc-theme .sc-aff-rate {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    border: 1px solid rgba(var(--sc-success-rgb), .28);
    border-radius: var(--sc-radius-md);
    background: rgba(var(--sc-success-rgb), .07);
}
.sc-theme .sc-aff-rate__value {
    color: #fff;
    font-size: clamp(64px, 8vw, 92px);
    font-weight: 800;
    line-height: .95;
    letter-spacing: -0.05em;
}
.sc-theme .sc-aff-rate__value small {
    margin-left: 4px;
    color: #86efac;
    font-size: .5em;
    font-weight: 700;
    letter-spacing: 0;
}
.sc-theme .sc-aff-rate__label {
    margin-top: 6px;
    color: #86efac;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sc-theme .sc-aff-rate__list {
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}
.sc-theme .sc-aff-rate__list li {
    position: relative;
    padding: 6px 0 6px 24px;
    color: var(--sc-text-2);
    font-size: 14px;
}
.sc-theme .sc-aff-rate__list li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 10px;
    width: 12px;
    height: 7px;
    border-left: 2px solid #86efac;
    border-bottom: 2px solid #86efac;
    transform: rotate(-45deg);
}

/* Étapes */
.sc-theme .sc-aff-steps {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}
@media (min-width: 768px) {
    .sc-theme .sc-aff-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.sc-theme .sc-aff-step__n {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-bottom: 14px;
    border-radius: 50%;
    color: var(--sc-bg);
    background: rgba(255, 255, 255, .92);
    font-size: 14px;
    font-weight: 800;
}
.sc-theme .sc-aff-step h3 {
    font-size: 17px;
}
.sc-theme .sc-aff-step p {
    margin-top: 8px;
}

/* Simulateur + activité */
.sc-theme .sc-aff-panels {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}
@media (min-width: 992px) {
    .sc-theme .sc-aff-panels {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    }
    .sc-theme .sc-aff-panels--signup {
        grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    }
}
.sc-theme .sc-aff-sim__field {
    margin-top: 18px;
}
.sc-theme .sc-aff-sim__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}
.sc-theme .sc-aff-sim__row label {
    margin: 0;
    color: var(--sc-muted);
    font-size: 13px;
    font-weight: 500;
}
.sc-theme .sc-aff-sim__row output {
    flex: none;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
.sc-theme .sc-aff-sim input[type="range"] {
    --sc-fill: 50%;
    width: 100%;
    height: 6px;
    margin: 0;
    border-radius: 99px;
    background: linear-gradient(to right, rgba(255, 255, 255, .85) var(--sc-fill), rgba(255, 255, 255, .12) var(--sc-fill));
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}
.sc-theme .sc-aff-sim input[type="range"]::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .15);
    -webkit-appearance: none;
    appearance: none;
}
.sc-theme .sc-aff-sim input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .15);
}
.sc-theme .sc-aff-sim input[type="range"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--sc-accent-rgb), .35);
}
.sc-theme .sc-aff-sim__result {
    margin-top: 22px;
    padding: 16px 18px;
    border: 1px solid rgba(var(--sc-success-rgb), .28);
    border-radius: var(--sc-radius-md);
    background: rgba(var(--sc-success-rgb), .07);
}
.sc-theme .sc-aff-sim__amount {
    color: #86efac;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -0.02em;
}
.sc-theme .sc-aff-sim__per {
    margin-left: 4px;
    color: var(--sc-muted);
    font-size: 14px;
}
.sc-theme .sc-aff-sim__year {
    margin-top: 2px;
    color: var(--sc-muted);
    font-size: 14px;
}
.sc-theme .sc-aff-sim__year strong {
    color: #fff;
}
.sc-theme .sc-card p.sc-aff-sim__note {
    margin-top: 12px;
    color: var(--sc-muted-2);
    font-size: 12px;
}

.sc-theme .sc-aff-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
}
@media (min-width: 576px) {
    .sc-theme .sc-aff-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.sc-theme .sc-aff-metric {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px;
    border: 1px solid var(--sc-stroke-soft);
    border-radius: var(--sc-radius-sm);
    background: rgba(255, 255, 255, .025);
}
.sc-theme .sc-aff-metric__v {
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}
.sc-theme .sc-aff-metric__k {
    color: var(--sc-muted-2);
    font-size: 12px;
    line-height: 1.35;
}
.sc-theme .sc-aff-metric--highlight {
    border-color: rgba(var(--sc-success-rgb), .30);
    background: rgba(var(--sc-success-rgb), .07);
}
.sc-theme .sc-aff-metric--highlight .sc-aff-metric__v {
    color: #86efac;
}
.sc-theme .sc-aff-withdraw {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--sc-stroke-soft);
}
.sc-theme .sc-aff-withdraw form {
    margin: 0;
}
.sc-theme .sc-aff-withdraw .sc-btn.disabled,
.sc-theme .sc-aff-withdraw .sc-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}
.sc-theme .sc-card p.sc-aff-withdraw__note {
    flex: 1 1 220px;
    margin: 0;
    color: var(--sc-muted-2);
    font-size: 13px;
}
.sc-theme .sc-aff-cta form {
    margin-top: auto;
    padding-top: 18px;
}

.sc-theme .sc-aff .sc-aff-title {
    margin: 22px 0 4px;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

/* ---------------------------------------------------------------------
   22. Pied de page
   --------------------------------------------------------------------- */
.sc-theme footer.footer {
    margin: 0;
    padding: 28px 0 18px;
    background: transparent;
    border-top: 1px solid var(--sc-stroke);
    color: var(--sc-muted);
    font-size: 14px;
}
.sc-theme .sc-footer__top {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.sc-theme .sc-footer__brand {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sc-theme .sc-footer__logo {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    height: 36px;
    padding: 0 12px;
    border-radius: var(--sc-radius-md);
    border: 1px solid var(--sc-stroke);
    background: var(--sc-panel);
}
.sc-theme .sc-footer__logo img {
    height: 20px;
    width: auto;
}
.sc-theme .sc-footer__tagline {
    margin: 0;
    max-width: 360px;
    color: var(--sc-muted-2);
    font-size: 13px;
}
.sc-theme .sc-footer__links {
    gap: 6px 18px;
    flex-wrap: wrap;
}
.sc-theme footer.footer .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 2px 0;
    color: rgba(255, 255, 255, .70);
    font-size: 14px;
}
.sc-theme footer.footer .nav-link:hover {
    color: #fff;
}
.sc-theme footer.footer .nav-link i {
    font-size: 13px;
    opacity: .85;
}
.sc-theme .sc-footer__bottom {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--sc-stroke);
}
.sc-theme footer.footer .copyright {
    margin: 0;
    color: var(--sc-muted-2);
    font-size: 12px;
    text-align: left;
}
.sc-theme .sc-footer__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.sc-theme .sc-footer__meta .list-inline-item {
    margin: 0;
}
.sc-theme footer.footer .btn {
    padding: 6px 12px;
    font-size: 12.5px;
    line-height: 1.2;
    border-color: var(--sc-stroke);
}
.sc-theme footer.footer .btn-icon {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--sc-panel);
    color: var(--sc-text-2);
    border: 1px solid var(--sc-stroke);
    border-radius: 10px;
    margin: 0 !important;
}
.sc-theme footer.footer .btn-icon:hover {
    color: #fff;
    border-color: var(--sc-stroke-strong);
}
.sc-theme footer.footer .iti-flag {
    margin-right: 2px;
    border-radius: 2px;
}
@media (min-width: 880px) {
    .sc-theme .sc-footer__top {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    .sc-theme .sc-footer__brand {
        flex: 0 1 340px;
    }
    .sc-theme .sc-footer__links {
        flex: 1 1 auto;
        justify-content: flex-end;
    }
    .sc-theme .sc-footer__bottom {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

/* ---------------------------------------------------------------------
   23. Divers WHMCS
   --------------------------------------------------------------------- */
.sc-theme #fullpage-overlay {
    background: rgba(var(--sc-bg-rgb), .85);
    color: var(--sc-text);
}
.sc-theme .btn-return-to-admin,
.sc-theme .btn-return-to-admin:hover {
    background: rgba(255, 255, 255, .95) !important;
    color: var(--sc-bg) !important;
}
.sc-theme .select-account {
    border-top-color: var(--sc-stroke);
}
.sc-theme .select-account a {
    color: var(--sc-text-2);
    border-bottom-color: var(--sc-stroke-soft);
}
.sc-theme .select-account a:hover {
    background: var(--sc-panel);
    color: #fff;
}
.sc-theme .email-verification,
.sc-theme .verification-banner {
    background: rgba(var(--sc-info-rgb), .10);
    border-bottom: 1px solid rgba(var(--sc-info-rgb), .25);
    color: #d6e4fd;
}
.sc-theme .email-verification .btn,
.sc-theme .verification-banner .btn {
    background: rgba(255, 255, 255, .95);
    color: var(--sc-bg);
}
.sc-theme .lightbox .lb-data .lb-caption,
.sc-theme .lightbox .lb-data .lb-number {
    color: var(--sc-text);
}
.sc-theme .jumbotron {
    background: var(--sc-surface);
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
}
.sc-theme .card-columns .card {
    margin-bottom: 14px;
}

/* ---------------------------------------------------------------------
   23 bis. Modules ModulesGarden (« Layers UI », ex. Proxmox VE VPS & Cloud)
   Ces modules sont pilotés par des variables CSS posées sur #layers2 :
   on les remplace par la palette du thème (spécificité supérieure à
   celle du module, donc prioritaire sur les couleurs réglées dans l'addon).
   --------------------------------------------------------------------- */
.sc-theme #layers2,
.sc-theme #layers2-body {
    /* bases */
    --color-grey: rgba(255, 255, 255, .10);
    --color-grey-light: rgba(255, 255, 255, .35);
    --color-grey-light-faded: rgba(255, 255, 255, .55);
    --color-grey-dark: rgba(255, 255, 255, .92);
    --text-white: #fff;
    --text-faded: rgba(255, 255, 255, .55);
    --text-default: rgba(255, 255, 255, .85);
    --text-module-name: rgba(255, 255, 255, .92);
    --text-module-version: rgba(255, 255, 255, .55);
    --text-headers: rgba(255, 255, 255, .92);
    --text-primary: var(--sc-accent);
    --app-background: transparent;
    --components-background: rgba(255, 255, 255, .04);
    --components-border: rgba(255, 255, 255, .10);
    --table-lines: rgba(255, 255, 255, .07);
    --icon-default: rgba(255, 255, 255, .55);
    --url-text: var(--sc-link);
    --url-text-hover: #fff;
    --url-text-active: #fff;

    /* couleurs sémantiques */
    --type-default: rgba(255, 255, 255, .08);
    --type-default-hover: rgba(255, 255, 255, .12);
    --type-default-active: rgba(255, 255, 255, .16);
    --type-default-faded: rgba(255, 255, 255, .05);
    --type-primary: #74a3f5;
    --type-primary-hover: #a9c6fb;
    --type-primary-active: #5b8def;
    --type-primary-faded: rgba(116, 163, 245, .15);
    --type-secondary: #74a3f5;
    --type-secondary-hover: #a9c6fb;
    --type-secondary-active: #5b8def;
    --type-secondary-faded: rgba(116, 163, 245, .15);
    --type-info: #74a3f5;
    --type-info-hover: #a9c6fb;
    --type-info-active: #5b8def;
    --type-info-faded: rgba(116, 163, 245, .14);
    --type-success: #22c55e;
    --type-success-hover: #4ade80;
    --type-success-active: #16a34a;
    --type-success-faded: rgba(34, 197, 94, .14);
    --type-warning: #f59e0b;
    --type-warning-hover: #fbbf24;
    --type-warning-active: #d97706;
    --type-warning-faded: rgba(245, 158, 11, .14);
    --type-danger: #ef4444;
    --type-danger-hover: #f87171;
    --type-danger-active: #dc2626;
    --type-danger-faded: rgba(239, 68, 68, .14);
    --type-critical: #dc2626;
    --type-critical-hover: #ef4444;
    --type-critical-active: #b91c1c;
    --type-critical-faded: rgba(220, 38, 38, .18);

    /* composants (remplacent aussi les couleurs réglées dans l'addon) */
    --menu-text: var(--text-default);
    --menu-icons: var(--icon-default);
    --menu-background: transparent;
    --menu-submenu-text: var(--text-default);
    --menu-submenu-background: var(--sc-elevated);
    --widget-text: var(--text-default);
    --widget-background: var(--components-background);
    --widget-border: var(--components-border);
    --modal-text: var(--text-default);
    --modal-background: var(--sc-elevated);
    --modal-border: var(--components-border);
    --dropdown-text: var(--text-default);
    --dropdown-background: var(--sc-elevated);
    --dropdown-border: var(--components-border);
    --input-text: var(--sc-text);
    --input-background: var(--sc-field);
    --input-border: var(--sc-stroke);
    --input-label-text: var(--text-default);
    --input-label-background: var(--sc-elevated);
    --select-dropdown-text: var(--sc-text);
    --select-dropdown-text-active: var(--type-primary);
    --select-dropdown-background: var(--sc-elevated);
    --select-items-text: var(--sc-text);
    --select-items-background: var(--type-default);
    --select-items-remove-button: var(--type-primary);
    --switcher-knob: #fff;
    --switcher-inactive-background: rgba(255, 255, 255, .18);
    --switcher-active-background: var(--sc-success);
    --code-box-text: var(--sc-text);
    --code-box-background: rgba(255, 255, 255, .06);
    --tooltip-icon: rgba(255, 255, 255, .45);
    --tooltip-text: var(--sc-bg);
    --tooltip-background: rgba(255, 255, 255, .95);

    --alert-default-text: var(--text-default);
    --alert-default-background: var(--type-default-faded);
    --alert-outline-default-text: var(--text-default);
    --alert-outline-default-border: var(--components-border);
    --alert-outline-default-background: transparent;
    --alert-info-background: var(--type-info-faded);
    --alert-outline-info-background: transparent;
    --alert-success-background: var(--type-success-faded);
    --alert-outline-success-background: transparent;
    --alert-warning-background: var(--type-warning-faded);
    --alert-outline-warning-background: transparent;
    --alert-danger-background: var(--type-danger-faded);
    --alert-outline-danger-background: transparent;

    --label-default-text: var(--text-default);
    --label-default-background: var(--type-default);
    --label-outline-default-text: var(--text-default);
    --label-outline-default-border: var(--components-border);
    --label-status-default-text: var(--text-default);
    --badge-default-text: var(--text-default);
    --badge-default-background: var(--type-default);
    --badge-default-border: var(--type-default);
    --badge-outline-default-text: var(--text-default);
    --badge-outline-default-border: var(--components-border);

    /* boutons : primaire blanc comme le reste du thème, autres discrets */
    --btn-plain-default-text: var(--sc-text);
    --btn-plain-default-background: var(--type-default);
    --btn-plain-default-background-hover: var(--type-default-hover);
    --btn-plain-default-background-active: var(--type-default-active);
    --btn-plain-primary-text: var(--sc-bg);
    --btn-plain-primary-background: rgba(255, 255, 255, .95);
    --btn-plain-primary-background-hover: #fff;
    --btn-plain-primary-background-active: rgba(255, 255, 255, .85);
    --btn-plain-success-text: var(--sc-bg);
    --btn-plain-success-background: rgba(255, 255, 255, .95);
    --btn-plain-success-background-hover: #fff;
    --btn-plain-success-background-active: rgba(255, 255, 255, .85);
    --btn-plain-info-text: #dbeafe;
    --btn-plain-info-background: rgba(var(--sc-info-rgb), .18);
    --btn-plain-info-background-hover: rgba(var(--sc-info-rgb), .26);
    --btn-plain-info-background-active: rgba(var(--sc-info-rgb), .32);
    --btn-plain-warning-text: #fde68a;
    --btn-plain-warning-background: rgba(var(--sc-warning-rgb), .16);
    --btn-plain-warning-background-hover: rgba(var(--sc-warning-rgb), .24);
    --btn-plain-warning-background-active: rgba(var(--sc-warning-rgb), .30);
    --btn-plain-danger-text: #fecaca;
    --btn-plain-danger-background: rgba(var(--sc-danger-rgb), .16);
    --btn-plain-danger-background-hover: rgba(var(--sc-danger-rgb), .26);
    --btn-plain-danger-background-active: rgba(var(--sc-danger-rgb), .32);
    --btn-plain-critical-text: #fecaca;
    --btn-plain-critical-background: rgba(var(--sc-danger-rgb), .22);
    --btn-plain-critical-background-hover: rgba(var(--sc-danger-rgb), .32);
    --btn-plain-critical-background-active: rgba(var(--sc-danger-rgb), .38);
    --btn-plain-secondary-text: var(--sc-text);
    --btn-plain-secondary-background: var(--type-default);
    --btn-plain-secondary-background-hover: var(--type-default-hover);
    --btn-plain-secondary-background-active: var(--type-default-active);
    --btn-outline-default-text: var(--text-default);
    --btn-outline-default-text-hover: #fff;
    --btn-outline-default-text-active: #fff;
    --btn-outline-default-border: var(--components-border);
    --btn-outline-default-border-hover: rgba(255, 255, 255, .18);
    --btn-outline-default-border-active: rgba(255, 255, 255, .24);
    --btn-outline-primary-text: var(--text-default);
    --btn-outline-primary-border: var(--components-border);
    --btn-outline-secondary-text: var(--text-default);
    --btn-outline-secondary-border: var(--components-border);
    --btn-outline-success-text: var(--text-default);
    --btn-outline-success-border: var(--components-border);
    --btn-outline-info-text: var(--text-default);
    --btn-outline-info-border: var(--components-border);
    --btn-outline-warning-text: var(--text-default);
    --btn-outline-warning-border: var(--components-border);
    --btn-outline-danger-text: var(--text-default);
    --btn-outline-danger-border: var(--components-border);
    --btn-link-default-text: var(--text-default);
    --btn-link-default-text-hover: #fff;
    --btn-link-default-text-active: #fff;
    --icon-btn-default-text: var(--icon-default);
    --icon-btn-default-text-hover: #fff;
    --icon-btn-primary-text: var(--icon-default);
    --icon-btn-secondary-text: var(--icon-default);
    --icon-btn-success-text: var(--icon-default);
    --icon-btn-info-text: var(--icon-default);
    --icon-btn-warning-text: var(--icon-default);
    --icon-btn-danger-text: var(--icon-default);

    --progressbar-default-fill: var(--sc-text);
    --progressbar-default-unfill: rgba(255, 255, 255, .10);
    --progressbar-primary-unfill: rgba(255, 255, 255, .10);
    --progressbar-success-unfill: rgba(255, 255, 255, .10);
    --progressbar-info-unfill: rgba(255, 255, 255, .10);
    --progressbar-warning-unfill: rgba(255, 255, 255, .10);
    --progressbar-danger-unfill: rgba(255, 255, 255, .10);
    --slider-primary-background: rgba(255, 255, 255, .10);
    --slider-primary-marks-text: var(--text-default);
    --slider-primary-marks-background: rgba(255, 255, 255, .18);
    --slider-primary-text: var(--text-default);
    --slider-danger-background: rgba(255, 255, 255, .10);
    --slider-danger-marks-text: var(--text-default);
    --slider-danger-marks-background: rgba(255, 255, 255, .18);
    --slider-danger-text: var(--text-default);
    --hint-default-text: var(--text-faded);
}

/* Titres de section (« Service Actions »…) */
.sc-theme #layers2 .lu-tiles-wrapper > .h4 {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--sc-muted-2);
}

/* Tuiles d'action : panneaux sombres, comme les cartes du thème */
.sc-theme #layers2 .lu-tile {
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius-md);
    background: var(--sc-panel);
    box-shadow: none;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.sc-theme #layers2 .lu-tile:hover,
.sc-theme #layers2 .lu-tile.lu-is-checked {
    background: var(--sc-panel-hover);
    border-color: var(--sc-stroke-strong);
    transform: translateY(-1px);
}
.sc-theme #layers2 .lu-tile .lu-tile__title {
    color: var(--sc-text-2);
    font-weight: 600;
}
.sc-theme #layers2 .lu-tile:hover .lu-tile__title {
    color: #fff;
}

/* Widgets (« Information »…) */
.sc-theme #layers2 .lu-widget {
    border-radius: var(--sc-radius-md);
    box-shadow: none;
    overflow: hidden;
}

/* Boutons : arrondis comme ceux du thème */
.sc-theme #layers2 .lu-btn,
.sc-theme #layers2-body .lu-btn {
    border-radius: var(--sc-pill);
}
.sc-theme #layers2 .lu-btn.lu-btn--icon,
.sc-theme #layers2-body .lu-btn.lu-btn--icon {
    border-radius: 10px;
}

/* Fenêtres modales : fond assombri (gris clair par défaut), coins arrondis */
.sc-theme #layers2 .lu-modal,
.sc-theme #layers2-body .lu-modal {
    background-color: rgba(0, 0, 0, .65);
}
.sc-theme #layers2 .lu-modal__content,
.sc-theme #layers2-body .lu-modal__content {
    border: 1px solid var(--sc-stroke);
    border-radius: var(--sc-radius);
    box-shadow: var(--sc-shadow-pop);
    overflow: hidden;
}

/* Chargement : voile sombre au lieu du voile blanc */
.sc-theme #layers2 .lu-preloader-container--overlay,
.sc-theme #layers2-body .lu-preloader-container--overlay {
    background-color: rgba(var(--sc-bg-rgb), .7);
}

/* Graphiques ApexCharts (pages « Graphs » des modules) : thème clair par défaut */
.sc-theme .apexcharts-gridline,
.sc-theme .apexcharts-grid-borders line {
    stroke: rgba(255, 255, 255, .07);
}
.sc-theme .apexcharts-xaxis line,
.sc-theme .apexcharts-xaxis-tick {
    stroke: rgba(255, 255, 255, .12);
}
.sc-theme .apexcharts-xaxis-label,
.sc-theme .apexcharts-yaxis-label,
.sc-theme .apexcharts-xaxis-title-text,
.sc-theme .apexcharts-yaxis-title-text,
.sc-theme .apexcharts-datalabel {
    fill: rgba(255, 255, 255, .55);
}
.sc-theme .apexcharts-title-text,
.sc-theme .apexcharts-subtitle-text {
    fill: var(--sc-text);
}
.sc-theme .apexcharts-legend-text {
    color: var(--sc-text-2) !important;
}
.sc-theme .apexcharts-xcrosshairs,
.sc-theme .apexcharts-ycrosshairs {
    stroke: rgba(255, 255, 255, .35);
}

/* infobulle au survol */
.sc-theme .apexcharts-tooltip.apexcharts-theme-light,
.sc-theme .apexcharts-tooltip.apexcharts-theme-dark {
    color: var(--sc-text-2);
    background: rgba(11, 17, 32, .96);
    border: 1px solid var(--sc-stroke);
    border-radius: 12px;
    box-shadow: var(--sc-shadow-pop);
    -webkit-backdrop-filter: var(--sc-blur);
    backdrop-filter: var(--sc-blur);
}
.sc-theme .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title,
.sc-theme .apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {
    color: var(--sc-text);
    background: rgba(255, 255, 255, .04);
    border-bottom: 1px solid var(--sc-stroke);
    font-weight: 600;
}
.sc-theme .apexcharts-tooltip .apexcharts-tooltip-text-y-label {
    color: var(--sc-muted);
}
.sc-theme .apexcharts-tooltip .apexcharts-tooltip-text-y-value,
.sc-theme .apexcharts-tooltip .apexcharts-tooltip-text-goals-value,
.sc-theme .apexcharts-tooltip .apexcharts-tooltip-text-z-value {
    color: #fff;
    font-weight: 700;
}

/* étiquette de l'axe (date sous le graphique) */
.sc-theme .apexcharts-xaxistooltip,
.sc-theme .apexcharts-yaxistooltip {
    color: var(--sc-text);
    background: var(--sc-elevated);
    border: 1px solid var(--sc-stroke-strong);
    border-radius: 8px;
}
.sc-theme .apexcharts-xaxistooltip-bottom::before { border-bottom-color: var(--sc-stroke-strong); }
.sc-theme .apexcharts-xaxistooltip-bottom::after { border-bottom-color: var(--sc-elevated); }
.sc-theme .apexcharts-xaxistooltip-top::before { border-top-color: var(--sc-stroke-strong); }
.sc-theme .apexcharts-xaxistooltip-top::after { border-top-color: var(--sc-elevated); }
.sc-theme .apexcharts-yaxistooltip-left::before { border-left-color: var(--sc-stroke-strong); }
.sc-theme .apexcharts-yaxistooltip-left::after { border-left-color: var(--sc-elevated); }
.sc-theme .apexcharts-yaxistooltip-right::before { border-right-color: var(--sc-stroke-strong); }
.sc-theme .apexcharts-yaxistooltip-right::after { border-right-color: var(--sc-elevated); }

/* menu d'export (≡) */
.sc-theme .apexcharts-menu {
    color: var(--sc-text-2);
    background: var(--sc-elevated);
    border: 1px solid var(--sc-stroke);
    border-radius: 10px;
    box-shadow: var(--sc-shadow-pop);
}
.sc-theme .apexcharts-menu-item:hover {
    color: #fff;
    background: var(--sc-panel-hover);
}
.sc-theme .apexcharts-toolbar svg {
    fill: rgba(255, 255, 255, .55);
}
.sc-theme .apexcharts-toolbar .apexcharts-selected svg,
.sc-theme .apexcharts-toolbar div:hover svg {
    fill: #fff;
}

/* ---------------------------------------------------------------------
   24. Accessibilité
   --------------------------------------------------------------------- */
.sc-theme a:focus-visible,
.sc-theme button:focus-visible,
.sc-theme .btn:focus-visible {
    outline: 2px solid rgba(var(--sc-accent-rgb), .8);
    outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    .sc-theme *,
    .sc-theme *::before,
    .sc-theme *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
