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

    ** TalCloud — charte du thème **

    Chargée après all.min.css et theme.min.css (la base
    du thème, issue de Twenty-One 9.0.6), cette feuille
    porte toute la charte. Pour l'adapter, modifier la
    section « 1. Réglages » suffit dans la plupart des
    cas — ou passer par le module « Thème TalCloud ».

    1.  Réglages (couleurs, polices, rayons)
    2.  Polices
    3.  Base
    4.  En-tête et navigation
    5.  Fil d'Ariane et mise en page
    6.  Cartes et menu latéral
    7.  Boutons
    8.  Formulaires
    9.  Tableau de bord
    10. Tableaux et listes
    11. Étiquettes, alertes, composants divers
    12. Pages publiques (accueil, connexion)
    13. Pied de page
    14. Tunnel de commande (standard_cart)
    15. Accessibilité
    16. Retouches issues de la vérification page par page
    17. Mode sombre et bouton clair / sombre

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

/* -----------------------------------------------------
   1. Réglages
----------------------------------------------------- */

html {
    font-size: 15px;
}

:root {
    /* Fonds */
    --tc-paper: #faf7f2;
    --tc-paper-2: #fffdf8;
    --tc-paper-3: #f1ece2;

    /* Textes */
    --tc-ink: #16130e;
    --tc-ink-soft: #4d4639;
    --tc-ink-muted: #7a7162;

    /* Filets */
    --tc-line: rgba(22, 19, 14, .16);
    --tc-line-strong: #16130e;

    /* Couleur de marque et accent */
    --tc-blue: #2b3cff;
    --tc-blue-deep: #1d2bd8;
    --tc-blue-tint: #e8eaff;
    --tc-blue-ring: rgba(43, 60, 255, .22);
    --tc-coral: #ff5c38;
    --tc-coral-ink: #cc3d18;

    /* États */
    --tc-success: #17744a;
    --tc-success-tint: #dff1e6;
    --tc-warning: #96590a;
    --tc-warning-tint: #fbe9c8;
    --tc-danger: #b8341a;
    --tc-danger-tint: #ffe2d9;
    --tc-neutral-tint: #ebe6dc;

    /* Typographie */
    --tc-serif: "Fraunces", Georgia, serif;
    --tc-sans: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;

    /* Formes */
    --tc-radius-card: 20px;
    --tc-radius-field: 12px;
    --tc-radius-pill: 999px;
    --tc-radius-btn: var(--tc-radius-pill);
    --tc-watermark: rgba(43, 60, 255, .06);
    --tc-shadow: 0 14px 40px rgba(22, 19, 14, .10);

    /* Rôles de couleur (redéfinis par le mode sombre, voir section 17) */
    --tc-on-blue: var(--tc-paper);      /* texte sur la couleur principale */
    --tc-blue-text: var(--tc-blue);     /* couleur principale employée comme texte */
    --tc-blue-ink: var(--tc-blue-deep); /* idem, plus contrastée (survol, pastilles) */
    --tc-field: #fff;                   /* fond des champs de formulaire */
    --tc-ease: cubic-bezier(.16, 1, .3, 1);

    /* Variables lues par le tunnel de commande Nexus Cart (WHMCS 9) */
    --white: #fff;
    --neutral-50: var(--tc-paper);
    --neutral-100: var(--tc-paper-3);
    --neutral-200: #e4ddd0;
    --neutral-300: #d2c9b9;
    --neutral-400: #a69c8a;
    --neutral-500: var(--tc-ink-muted);
    --neutral-600: #5f5748;
    --neutral-700: var(--tc-ink-soft);
    --neutral-800: #2b261d;
    --neutral-900: var(--tc-ink);
    --neutral-950: #0c0a07;

    --primary-50: #f3f4ff;
    --primary-100: var(--tc-blue-tint);
    --primary-200: #cdd1ff;
    --primary-300: #a5acff;
    --primary-400: #6f79ff;
    --primary-500: #4a57ff;
    --primary-600: var(--tc-blue);
    --primary-700: var(--tc-blue-deep);
    --primary-800: #1822ad;
    --primary-900: #121a82;
    --primary-950: #0b1052;

    --primary: var(--primary-600);
    --primary-lifted: var(--primary-700);
    --primary-accented: var(--primary-800);

    --secondary: var(--neutral-500);
    --secondary-lifted: var(--neutral-600);
    --secondary-accented: var(--neutral-700);

    --success: var(--tc-success);
    --success-lifted: #125f3c;
    --success-accented: #0d4a2f;

    --info: var(--tc-blue);
    --info-lifted: var(--tc-blue-deep);
    --info-accented: #1822ad;

    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    --warning: var(--tc-coral);
    --warning-lifted: var(--tc-coral-ink);
    --warning-accented: #a32f11;

    --error: var(--tc-danger);
    --error-lifted: #9a2a14;
    --error-accented: #7c2110;

    --grayscale: var(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    --text-inverted: var(--tc-paper);
    --text-muted: var(--neutral-400);
    --text-lifted: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text: var(--neutral-900);

    --border-muted: var(--neutral-200);
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    --bg: var(--tc-paper-2);
    --bg-muted: var(--neutral-50);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--neutral-900);

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

    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    --rounding-sm: 0.5rem;
    --rounding-md: 0.75rem;
    --rounding-lg: 1.25rem;

    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}

/* -----------------------------------------------------
   2. Polices (auto-hébergées, aucun appel externe)
----------------------------------------------------- */

@font-face {
    font-family: "Fraunces";
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url("../fonts/fraunces.woff2") format("woff2");
}

@font-face {
    font-family: "Fraunces";
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url("../fonts/fraunces-italic.woff2") format("woff2");
}

@font-face {
    font-family: "Instrument Sans";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../fonts/instrument-sans.woff2") format("woff2");
}

/* -----------------------------------------------------
   3. Base
----------------------------------------------------- */

body,
.popover,
.tooltip,
.popover-user-notifications {
    font-family: var(--tc-sans);
}

body {
    color: var(--tc-ink);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.primary-bg-color {
    background-color: var(--tc-paper);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--tc-serif);
    font-weight: 560;
    letter-spacing: -.02em;
    color: var(--tc-ink);
}

a {
    color: var(--tc-blue-text);
}

a:hover {
    color: var(--tc-blue-ink);
}

::selection {
    background: var(--tc-blue);
    color: var(--tc-on-blue);
}

hr {
    border-top-color: var(--tc-line);
}

.text-muted {
    color: var(--tc-ink-muted) !important;
}

.text-primary {
    color: var(--tc-blue-text) !important;
}

.bg-white,
.bg-light {
    background-color: var(--tc-paper-2) !important;
}

.bg-primary {
    background-color: var(--tc-blue) !important;
}

/* -----------------------------------------------------
   4. En-tête et navigation
----------------------------------------------------- */

header.header {
    background-color: transparent;
}

.tc-nav-wrap {
    padding: 20px 0 4px;
}

header.header .tc-nav {
    padding: .5rem .6rem .5rem 1.4rem;
    border: 1px solid var(--tc-line-strong);
    border-radius: 28px;
    background-color: var(--tc-paper-2);
    box-shadow: var(--tc-shadow);
}

header.header .tc-brand {
    margin-right: 1.8rem;
    padding: 0;
    font-family: var(--tc-serif);
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.2;
    color: var(--tc-ink);
}

header.header .tc-brand {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
}

header.header .tc-brand-icon {
    height: 2.2rem;
    width: auto;
}

header.header .tc-brand em {
    font-weight: 500;
    color: var(--tc-blue-text);
}

header.header .logo-img {
    max-width: 220px;
    max-height: 38px;
}

header.header .navbar a {
    color: var(--tc-ink-soft);
}

header.header .navbar-nav a {
    font-size: .95rem;
    font-weight: 500;
    text-decoration: none;
    transition: color .3s var(--tc-ease);
}

header.header .navbar-nav > li > a:hover,
header.header .navbar-nav > li.show > a {
    color: var(--tc-ink);
}

/* Panier et bouton menu */
header.header .toolbar .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.7rem;
    height: 2.7rem;
    padding: 0;
    border: 1px solid var(--tc-line-strong);
    border-radius: 50%;
    color: var(--tc-ink);
    overflow: visible;
    transition: background-color .3s var(--tc-ease);
}

header.header .toolbar .nav-link:hover {
    background-color: var(--tc-paper-3);
    color: var(--tc-ink);
}

/* Panneau des notifications */
header.header .tc-notif {
    position: relative;
}

.tc-notif-panel {
    position: absolute;
    top: calc(100% + 14px);
    right: -3.2rem;
    z-index: 1050;
    width: 360px;
    max-width: calc(100vw - 32px);
    max-height: 70vh;
    padding: .4rem;
    overflow-y: auto;
    border: 1px solid var(--tc-line-strong);
    border-radius: 18px;
    background-color: var(--tc-paper-2);
    box-shadow: var(--tc-shadow);
    font-size: .93rem;
    text-align: left;
    white-space: normal;
}

.tc-notif-panel ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tc-notif-panel .tc-notif-item {
    display: flex;
    align-items: flex-start;
    border-radius: 12px;
    transition: background-color .25s var(--tc-ease);
}

.tc-notif-panel .tc-notif-item + .tc-notif-item {
    margin-top: 2px;
}

.tc-notif-panel .tc-notif-item:hover {
    background-color: var(--tc-paper-3);
}

header.header .tc-notif-panel .tc-notif-item > a {
    display: flex;
    flex: 1;
    min-width: 0;
    gap: .7rem;
    padding: .7rem .4rem .7rem .8rem;
    color: var(--tc-ink);
    font-size: .93rem;
    font-weight: 500;
    line-height: 1.4;
}

.tc-notif-panel .tc-notif-item > a > i {
    margin-top: .2rem;
    color: var(--tc-blue-text);
}

.tc-notif-panel .tc-notif-success > a > i {
    color: var(--tc-success);
}

.tc-notif-panel .tc-notif-warning > a > i {
    color: var(--tc-warning);
}

.tc-notif-panel .tc-notif-danger > a > i {
    color: var(--tc-danger);
}

.tc-notif-panel .message {
    min-width: 0;
    overflow-wrap: anywhere;
}

.tc-notif-close {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    margin: .35rem .3rem 0 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: transparent;
    color: var(--tc-ink-muted);
    font-size: 1.3rem;
    line-height: 1;
    cursor: pointer;
}

.tc-notif-close:hover {
    background-color: var(--tc-neutral-tint);
    color: var(--tc-ink);
}

.tc-notif-panel li.none {
    padding: 1.1rem .8rem;
    color: var(--tc-ink-muted);
    text-align: center;
}

.tc-notif-panel [hidden],
#tcNotifCount[hidden] {
    display: none !important;
}

@media (max-width: 575.98px) {
    .tc-notif-panel {
        position: fixed;
        top: 88px;
        right: 16px;
        left: 16px;
        width: auto;
        max-width: none;
    }
}

header.header .toolbar .tc-admin-return {
    border-color: var(--tc-coral-ink);
    color: var(--tc-coral-ink);
}

header.header .toolbar .nav-link .badge {
    top: -4px;
    right: -6px;
    min-width: 18px;
    padding: 4px 5px;
    border-radius: var(--tc-radius-pill);
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
    opacity: 1;
}

header.header .search {
    width: auto;
    border-color: var(--tc-line);
    border-radius: var(--tc-radius-field);
    background-color: var(--tc-field);
    overflow: hidden;
}

header.header .search .btn {
    border-radius: 0;
    background-color: transparent;
    color: var(--tc-ink-muted);
}

header.header .search:focus-within {
    border-color: var(--tc-blue);
}

/* Menus déroulants */
.dropdown-menu {
    padding: .4rem;
    border: 1px solid var(--tc-line-strong);
    border-radius: 16px;
    background-color: var(--tc-paper-2);
    box-shadow: var(--tc-shadow);
    font-size: .95rem;
}

.dropdown-item {
    border-radius: 10px;
    color: var(--tc-ink-soft);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--tc-paper-3);
    color: var(--tc-ink);
}

.dropdown-item.active,
.dropdown-item:active,
header.header .dropdown-item.active,
header.header .dropdown-item:active {
    background-color: var(--tc-blue-tint);
    color: var(--tc-ink);
}

.dropdown-divider {
    border-top-color: var(--tc-line);
}

header.header li.dropdown-item {
    padding: .4rem .45rem;
}

header.header li.dropdown-item > a.dropdown-item,
header.header li.dropdown-item > a.dropdown-item:hover {
    background-color: transparent;
    color: inherit;
}

@media (min-width: 1200px) {
    header.header .tc-nav {
        border-radius: var(--tc-radius-pill);
    }

    /* whmcs.js replie les entrées dans « Plus » dès que #nav dépasse 30px
       de haut : ne pas ajouter de marge verticale à ces liens. */
    header.header #nav > li > a {
        padding-top: 0;
        padding-bottom: 0;
        line-height: 1.5;
    }

    /* Menu compte, à droite */
    header.header .navbar-collapse > .navbar-nav.ml-auto > li > a {
        display: inline-block;
        margin-right: .6rem;
        padding: .5rem 1.15rem;
        border-radius: var(--tc-radius-btn);
        background-color: var(--tc-blue);
        color: var(--tc-on-blue);
        font-weight: 600;
        transition: background-color .3s var(--tc-ease);
    }

    header.header .navbar-collapse > .navbar-nav.ml-auto > li > a:hover,
    header.header .navbar-collapse > .navbar-nav.ml-auto > li.show > a {
        background-color: var(--tc-blue-deep);
        color: var(--tc-on-blue);
    }
}

@media (max-width: 1199.98px) {
    header.header .tc-nav {
        padding: .6rem .7rem .6rem 1.2rem;
    }

    header.header .navbar-collapse {
        margin-top: .7rem;
        padding: .8rem .5rem .4rem 0;
        border-top: 1px solid var(--tc-line);
    }

    header.header .navbar-collapse .navbar-nav > li > a {
        display: block;
        padding: .5rem 0;
    }

    header.header .navbar-collapse .dropdown-menu {
        margin-bottom: .5rem;
        box-shadow: none;
    }
}

/* -----------------------------------------------------
   5. Fil d'Ariane et mise en page
----------------------------------------------------- */

.master-breadcrumb {
    background-color: transparent;
}

.master-breadcrumb .breadcrumb {
    padding: 20px 0 0;
    background-color: transparent;
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.breadcrumb-item a {
    color: var(--tc-ink-soft);
}

.breadcrumb-item.active {
    color: var(--tc-ink);
}

.breadcrumb-item + .breadcrumb-item::before {
    content: "\2726";
    color: var(--tc-coral);
    font-size: .8em;
}

section#main-body {
    padding: 24px 0 72px;
}

/* -----------------------------------------------------
   6. Cartes et menu latéral
----------------------------------------------------- */

.card {
    border: 1px solid var(--tc-line-strong);
    border-radius: var(--tc-radius-card);
    background-color: var(--tc-paper-2);
}

.card-header {
    padding: .95rem 1.25rem;
    border-bottom: 1px solid var(--tc-line);
    background-color: transparent;
}

.card-header:first-child {
    border-radius: calc(var(--tc-radius-card) - 1px) calc(var(--tc-radius-card) - 1px) 0 0;
}

.card-footer {
    border-top: 1px solid var(--tc-line);
    background-color: transparent;
}

.card-footer:last-child,
.card > .list-group:last-child {
    border-radius: 0 0 calc(var(--tc-radius-card) - 1px) calc(var(--tc-radius-card) - 1px);
}

.primary-content .card {
    margin-bottom: 16px;
}

.primary-content .card-title {
    font-size: 1.4rem;
}

[class*="card-accent-"] {
    border-top: 1px solid var(--tc-line-strong);
}

.list-group-item {
    border-color: var(--tc-line);
    background-color: transparent;
    color: var(--tc-ink);
}

.list-group-item-action:hover,
.list-group-item-action:focus {
    background-color: var(--tc-paper-3);
    color: var(--tc-ink);
}

.list-group-item.active {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

/* Menu latéral (espace client et catégories du panier) */
.card-sidebar .card-header {
    padding: 1.1rem 1.25rem .5rem;
    border-bottom: 0;
}

.card-sidebar .card-title,
.sidebar .card-title {
    font-family: var(--tc-sans);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--tc-ink-soft);
}

.card-sidebar .list-group {
    padding: 0 .55rem .6rem;
    font-size: .95rem;
}

.card-sidebar .list-group-item {
    margin-bottom: 2px;
    padding: .5rem .7rem;
    border: 0;
    border-radius: 10px;
    color: var(--tc-ink-soft);
    font-weight: 500;
    transition: background-color .25s var(--tc-ease), color .25s var(--tc-ease);
}

.card-sidebar .list-group-item:hover {
    background-color: var(--tc-paper-3);
    color: var(--tc-ink);
}

.card-sidebar .list-group-item.active,
.card-sidebar .list-group-item.active:hover,
.card-sidebar .list-group-item.active:focus {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

.card-sidebar .list-group-item .badge {
    border-radius: var(--tc-radius-pill);
    background-color: var(--tc-paper-3);
    color: var(--tc-ink-soft);
}

.card-sidebar .list-group-item.active .badge {
    background-color: rgba(255, 255, 255, .2);
    color: #fff;
}

.card-sidebar .list-group-item > i.far.fa-circle,
.card-sidebar .sidebar-menu-item-icon {
    color: inherit;
    opacity: .7;
}

.card-sidebar .sidebar-menu-item-icon-wrapper {
    margin-right: .55rem;
}

.card-sidebar .card-minimise {
    color: var(--tc-ink-muted);
}

/* -----------------------------------------------------
   7. Boutons
----------------------------------------------------- */

.btn {
    padding: .5rem 1.15rem;
    border-radius: var(--tc-radius-btn);
    font-weight: 600;
    transition: background-color .3s var(--tc-ease), border-color .3s var(--tc-ease), color .3s var(--tc-ease), box-shadow .3s var(--tc-ease);
}

.btn-sm,
.btn-group-sm > .btn {
    padding: .32rem .85rem;
    border-radius: var(--tc-radius-btn);
}

.btn-lg,
.btn-group-lg > .btn {
    padding: .75rem 1.7rem;
    border-radius: var(--tc-radius-btn);
}

.btn-xs,
.btn-group-xs > .btn {
    padding: .15rem .65rem;
    border-radius: var(--tc-radius-btn);
}

/* Pas de contour autour des boutons et des liens au clic. */
.btn:focus,
.btn.focus,
.btn:active:focus,
.btn:not(:disabled):not(.disabled):active:focus,
.show > .btn.dropdown-toggle:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

a:focus,
button:focus,
.dropdown-toggle:focus,
.list-group-item:focus,
.nav-link:focus,
.page-link:focus {
    outline: 0;
    box-shadow: none;
}

.btn-primary,
.btn-info {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle,
.btn-info:hover,
.btn-info:focus,
.btn-info:not(:disabled):not(.disabled):active,
.btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
    border-color: var(--tc-blue-deep);
    background-color: var(--tc-blue-deep);
    color: var(--tc-on-blue);
}

.btn-primary.disabled,
.btn-primary:disabled {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue);
}

.btn-default,
.btn-secondary,
.btn-light,
.btn-outline-secondary {
    border-color: var(--tc-line-strong);
    background-color: transparent;
    color: var(--tc-ink);
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle,
.btn-light:hover,
.btn-light:focus,
.btn-outline-secondary:hover {
    border-color: var(--tc-line-strong);
    background-color: var(--tc-paper-3);
    color: var(--tc-ink);
}

.btn-outline-primary {
    border-color: var(--tc-blue);
    color: var(--tc-blue-text);
}

.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

.btn-success {
    border-color: var(--tc-success);
    background-color: var(--tc-success);
    color: #fff;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:not(:disabled):not(.disabled):active {
    border-color: #125f3c;
    background-color: #125f3c;
    color: #fff;
}

.btn-danger {
    border-color: var(--tc-danger);
    background-color: var(--tc-danger);
    color: #fff;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:not(:disabled):not(.disabled):active {
    border-color: #9a2a14;
    background-color: #9a2a14;
    color: #fff;
}

.btn-warning {
    border-color: var(--tc-coral);
    background-color: var(--tc-coral);
    color: var(--tc-ink);
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:not(:disabled):not(.disabled):active {
    border-color: var(--tc-coral-ink);
    background-color: var(--tc-coral-ink);
    color: #fff;
}

.btn-link {
    color: var(--tc-blue-text);
}

.btn-link:hover {
    color: var(--tc-blue-ink);
}

/* -----------------------------------------------------
   8. Formulaires
----------------------------------------------------- */

label,
.form-control-label {
    font-weight: 600;
    font-size: .92rem;
}

.form-control,
.custom-select {
    border: 1px solid var(--tc-line);
    border-radius: var(--tc-radius-field);
    background-color: var(--tc-field);
    color: var(--tc-ink);
}

.form-control:not(.form-control-sm):not(.form-control-lg):not(textarea):not([multiple]) {
    height: calc(1.5em + 1rem + 2px);
    padding: .5rem .85rem;
}

.form-control:focus,
.custom-select:focus {
    border-color: var(--tc-blue);
    box-shadow: 0 0 0 .2rem var(--tc-blue-ring);
    color: var(--tc-ink);
}

.form-control::placeholder {
    color: var(--tc-ink-muted);
    opacity: .75;
}

.form-control:disabled,
.form-control[readonly] {
    background-color: var(--tc-paper-3);
}

.input-group-text {
    border-color: var(--tc-line);
    border-radius: var(--tc-radius-field);
    background-color: var(--tc-paper);
    color: var(--tc-ink-muted);
}

.input-group .btn {
    border-radius: var(--tc-radius-field);
}

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group .btn-default {
    border-color: var(--tc-line);
    background-color: var(--tc-field);
    color: var(--tc-ink-muted);
}

.custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue);
}

.md-editor {
    border-color: var(--tc-line);
    border-radius: var(--tc-radius-field);
    overflow: hidden;
}

.form-group .field-error-msg {
    color: var(--tc-danger);
}

/* -----------------------------------------------------
   9. Tableau de bord
----------------------------------------------------- */

.tiles .row {
    margin: -6px;
}

.tiles .row > div {
    padding: 6px;
}

.tiles .tile {
    height: 100%;
    padding: 18px 20px;
    border: 1px solid var(--tc-line-strong) !important;
    border-radius: var(--tc-radius-card);
    background-color: var(--tc-paper-2);
    transition: box-shadow .45s var(--tc-ease), transform .45s var(--tc-ease);
}

.tiles .tile:hover {
    background-color: var(--tc-paper-2);
    box-shadow: var(--tc-shadow);
    transform: translateY(-2px);
}

.tiles .tile i,
.tiles .tile:hover i {
    top: 18px;
    right: 20px;
    font-size: 22px;
    color: var(--tc-blue-text);
}

.tiles .tile .stat {
    margin-top: 30px;
    font-family: var(--tc-serif);
    font-size: 2.9rem;
    font-weight: 560;
    letter-spacing: -.03em;
    color: var(--tc-ink);
}

.tiles .tile .title {
    margin-top: 6px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    color: var(--tc-ink-soft);
}

.tiles .tile .highlight {
    display: none;
}

/* Première tuile mise en avant, comme l'offre « la plus choisie » du site */
.tiles .row > div:first-child .tile,
.tiles .row > div:first-child .tile:hover {
    border-color: var(--tc-blue-deep) !important;
    background-color: var(--tc-blue);
}

.tiles .row > div:first-child .tile .stat,
.tiles .row > div:first-child .tile i {
    color: var(--tc-on-blue);
}

.tiles .row > div:first-child .tile .title {
    color: rgba(250, 247, 242, .8);
}

.client-home-cards .card {
    margin-bottom: 16px;
    font-size: .95rem;
}

.client-home-cards .card-header {
    padding: 1.1rem 1.25rem .8rem;
    background-color: transparent;
}

.client-home-cards .card-title {
    font-size: 1.05rem;
    line-height: 1.6;
    font-weight: 560;
}

.client-home-cards .card-title > i {
    margin-right: .15rem;
    font-size: .9em;
    color: var(--tc-blue-text);
}

.client-home-cards .card-header .btn,
.client-home-cards .card-header .btn[class*="bg-color-"] {
    border: 1px solid var(--tc-line-strong);
    background-color: transparent;
    color: var(--tc-ink);
    font-family: var(--tc-sans);
    letter-spacing: 0;
}

.client-home-cards .card-header .btn:hover {
    background-color: var(--tc-ink);
    color: var(--tc-paper);
}

.client-home-cards .card-body p {
    padding: 4px 20px 10px;
}

.client-home-cards .list-group {
    max-height: 230px;
    border-top-color: var(--tc-line) !important;
    border-bottom-color: var(--tc-line) !important;
}

.client-home-cards .list-group .list-group-item {
    padding: 9px 20px;
    border-bottom-color: var(--tc-line);
}

.client-home-cards .card-footer {
    padding: .45rem 1.25rem;
}

.client-home-cards small {
    color: var(--tc-ink-muted);
}

/* -----------------------------------------------------
   10. Tableaux et listes
----------------------------------------------------- */

.table {
    color: var(--tc-ink);
}

.table th,
.table td {
    border-top-color: var(--tc-line);
}

.table thead th {
    border-bottom: 1px solid var(--tc-line-strong);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--tc-ink-soft);
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(22, 19, 14, .025);
}

.table-hover tbody tr:hover {
    background-color: var(--tc-paper-3);
    color: var(--tc-ink);
}

.table-container {
    padding: 1.1rem 1.25rem;
    border: 1px solid var(--tc-line-strong);
    border-radius: var(--tc-radius-card);
    background-color: var(--tc-paper-2);
}

.dataTables_wrapper table.table-list {
    border: 0;
    border-radius: 0;
}

.dataTables_wrapper table.table-list thead th,
table.table-list thead th {
    padding: 10px 8px;
    border-bottom: 1px solid var(--tc-line-strong);
    background-color: transparent;
    color: var(--tc-ink-soft);
    font-weight: 700;
}

.dataTables_wrapper table.table-list thead th.sorting_asc,
.dataTables_wrapper table.table-list thead th.sorting_desc {
    background-color: transparent;
    color: var(--tc-blue-text);
}

table.table-list tbody td {
    padding: 13px 8px;
    font-size: .95em;
}

.table-list > tbody > tr > td {
    background-color: transparent;
}

.table-list > tbody > tr:hover > td {
    background-color: var(--tc-paper-3);
}

.dataTables_wrapper .dataTables_info {
    color: var(--tc-ink-muted);
    font-size: .88rem;
}

.dataTables_wrapper .dataTables_filter label .form-control {
    max-width: 100%;
    border-radius: var(--tc-radius-pill);
}

.dataTables_wrapper .dataTables_length select {
    border: 1px solid var(--tc-line);
    border-radius: var(--tc-radius-field);
    background-color: var(--tc-field);
}

.pagination > li > a,
.pagination > li > span,
.page-link {
    margin: 0 2px;
    border: 1px solid var(--tc-line);
    border-radius: var(--tc-radius-pill) !important;
    background-color: transparent;
    color: var(--tc-ink);
}

.page-link:hover {
    border-color: var(--tc-line-strong);
    background-color: var(--tc-paper-3);
    color: var(--tc-ink);
}

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.page-item.active .page-link {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

.page-item.disabled .page-link {
    border-color: var(--tc-line);
    background-color: transparent;
    color: var(--tc-ink-muted);
}

/* -----------------------------------------------------
   11. Étiquettes, alertes, composants divers
----------------------------------------------------- */

.label {
    display: inline-block;
    padding: .38em .8em;
    border-radius: var(--tc-radius-pill);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.label-default,
.status-terminated,
.status-closed,
.status-cancelled,
.status-expired,
.status-transferred-away,
.status-collections {
    background-color: var(--tc-neutral-tint);
    color: var(--tc-ink-soft);
}

.label-success,
.status-active,
.status-open,
.status-completed,
.status-paid,
.status-accepted {
    background-color: var(--tc-success-tint);
    color: var(--tc-success);
}

.label-info,
.status-answered,
.status-onhold,
.status-inprogress,
.status-payment-pending,
.status-delivered {
    background-color: var(--tc-blue-tint);
    color: var(--tc-blue-ink);
}

.label-warning,
.status-pending,
.status-pending-transfer,
.status-pending-registration,
.status-suspended,
.status-customer-reply,
.status-redemption,
.status-grace,
.status-refunded {
    background-color: var(--tc-warning-tint);
    color: var(--tc-warning);
}

.label-danger,
.status-unpaid,
.status-fraud,
.status-lost,
.status-dead {
    background-color: var(--tc-danger-tint);
    color: var(--tc-danger);
}

.div-service-status .label {
    padding: .38em .8em;
    line-height: 1.2;
    color: var(--tc-ink-soft);
}

.div-service-status .label:not(.label-placeholder) {
    width: auto;
    min-width: 3.6rem;
}

.div-service-status .label.label-success {
    color: var(--tc-success);
}

.div-service-status .label.label-info {
    color: var(--tc-blue-ink);
}

.div-service-status .label.label-warning {
    color: var(--tc-warning);
}

.div-service-status .label.label-danger {
    color: var(--tc-danger);
}

.badge {
    border-radius: var(--tc-radius-pill);
}

.badge-info,
.badge-primary {
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

.alert {
    border-radius: 16px;
}

.alert-success {
    border-color: rgba(23, 116, 74, .3);
    background-color: var(--tc-success-tint);
    color: #0f4e32;
}

.alert-info {
    border-color: rgba(43, 60, 255, .25);
    background-color: var(--tc-blue-tint);
    color: #1822ad;
}

.alert-warning {
    border-color: rgba(150, 89, 10, .3);
    background-color: var(--tc-warning-tint);
    color: #6b3f05;
}

.alert-danger {
    border-color: rgba(184, 52, 26, .3);
    background-color: var(--tc-danger-tint);
    color: #8a2511;
}

.alert a,
.alert .alert-link {
    color: inherit;
    text-decoration: underline;
}

.modal-content {
    border: 1px solid var(--tc-line-strong);
    border-radius: 24px;
    background-color: var(--tc-paper-2);
    box-shadow: 0 28px 60px rgba(22, 19, 14, .2);
}

.modal-header,
.modal-footer {
    border-color: var(--tc-line);
}

.modal-localisation .modal-content {
    background-color: var(--tc-ink);
}

.modal-localisation .modal-footer .btn {
    border-color: var(--tc-paper);
    color: var(--tc-paper);
}

.modal-localisation .item-selector .item {
    border-color: rgba(250, 247, 242, .3);
    border-radius: 10px;
}

.modal-localisation .item-selector .item.active {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

.popover,
.popover-user-notifications {
    border: 1px solid var(--tc-line-strong);
    border-radius: 16px;
    background-color: var(--tc-paper-2);
    box-shadow: var(--tc-shadow);
}

.popover-user-notifications ul li {
    border-bottom-color: var(--tc-line);
}

.popover-user-notifications ul li a {
    border-radius: 10px;
    color: var(--tc-ink-soft);
}

.popover-user-notifications ul li a:hover {
    background-color: var(--tc-paper-3);
}

.nav-tabs {
    border-bottom-color: var(--tc-line);
}

.nav-tabs .nav-link {
    border: 0;
    border-bottom: 2px solid transparent;
    color: var(--tc-ink-soft);
    font-weight: 600;
}

.nav-tabs .nav-link:hover {
    border-bottom-color: var(--tc-line);
    color: var(--tc-ink);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    border-bottom-color: var(--tc-blue);
    background-color: transparent;
    color: var(--tc-ink);
}

.nav-pills .nav-link.active {
    background-color: var(--tc-blue);
}

.progress {
    border-radius: var(--tc-radius-pill);
    background-color: var(--tc-paper-3);
}

.progress-bar {
    background-color: var(--tc-blue);
}

.select-account,
.select-account a {
    border-color: var(--tc-line);
}

.select-account a:hover {
    background-color: var(--tc-paper-3);
}

.continue-container,
.invite-box {
    border: 1px solid var(--tc-line);
    border-radius: var(--tc-radius-card);
    background-color: var(--tc-paper-2);
}

/* Fenêtres, vérification du compte, double authentification */
.modal .modal-header {
    background-color: transparent;
}

.input-group .btn-reveal-pw:hover,
.input-group .btn-reveal-pw:active {
    border-color: var(--tc-line);
    background-color: var(--tc-field);
    color: var(--tc-blue-text);
}

.verification-banner {
    border-bottom-color: var(--tc-line);
    background-color: var(--tc-paper-3);
    color: var(--tc-ink);
}

.verification-banner .fas,
.verification-banner .fal,
.verification-banner .far {
    color: var(--tc-coral-ink);
}

.verification-banner.email-verification .btn.btn-action,
.verification-banner.email-verification .btn.btn-action:active,
.verification-banner.email-verification .btn.btn-action[disabled]:hover {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

.twofa-setup .activation-msg {
    border-color: var(--tc-line);
    border-radius: var(--tc-radius-field);
}

.twofa-setup .backup-code {
    border-radius: var(--tc-radius-field);
    background-color: var(--tc-paper-3);
    color: var(--tc-ink);
}

.twofa-module {
    border-color: var(--tc-line);
    border-radius: var(--tc-radius-field);
}

.twofa-module.active {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue-tint);
}

/* Tickets, base de connaissances, annonces */
.view-ticket .posted-by {
    background-color: var(--tc-paper-3);
    color: var(--tc-ink-soft);
}

.view-ticket .attachments,
.view-ticket .attachment-list li span {
    border-color: var(--tc-line);
}

.view-ticket .attachment-list li span {
    border-radius: var(--tc-radius-field);
}

.view-ticket .attachment-list li figure {
    background-color: var(--tc-paper-3);
}

.ticketfeedbackstaffcont {
    border-radius: var(--tc-radius-card);
    background-color: var(--tc-paper-3);
}

.md-preview h1, .markdown-content h1,
.md-preview h2, .markdown-content h2,
.md-preview h3, .markdown-content h3,
.md-preview h4, .markdown-content h4 {
    color: var(--tc-ink);
}

.md-preview pre,
.markdown-content pre {
    border-radius: var(--tc-radius-field);
    background-color: var(--tc-ink);
    color: var(--tc-paper);
}

.md-preview blockquote,
.markdown-content blockquote {
    border-left-color: var(--tc-blue);
}

.md-preview table,
.markdown-content table {
    border-color: var(--tc-line);
    background-color: var(--tc-paper-2);
}

.md-preview table > thead > tr > th,
.markdown-content table > thead > tr > th {
    border-color: var(--tc-line);
    background-color: var(--tc-paper-3);
}

.md-preview table > tbody > tr > td,
.markdown-content table > tbody > tr > td {
    border-color: var(--tc-line);
}

.markdown-editor-status {
    color: var(--tc-ink-muted);
}

.announcements .announcement article {
    border: 1px solid var(--tc-line);
    border-left: 4px solid var(--tc-blue);
    border-radius: var(--tc-radius-field);
    background-color: var(--tc-paper-2);
}

.kb-category a:hover,
.kb-article-item:hover {
    border-radius: 10px;
    background-color: var(--tc-paper-3);
}

.kb-article-item small {
    color: var(--tc-ink-muted);
}

/* Inscription et changement d'offre */
#registration label {
    font-size: .92rem;
    font-weight: 600;
    color: var(--tc-ink);
}

#registration .field,
#registration .form-control {
    border-color: var(--tc-line);
    border-radius: var(--tc-radius-field);
    color: var(--tc-ink);
}

#registration .field-icon i {
    color: var(--tc-ink-muted);
}

.upgrade .product-to-be-upgraded {
    border: 1px solid var(--tc-line);
    border-radius: var(--tc-radius-card);
    background-color: var(--tc-paper-2);
}

.upgrade .products .product {
    border: 1px solid var(--tc-line-strong);
    border-radius: var(--tc-radius-card);
    background-color: var(--tc-paper-2);
    overflow: hidden;
}

.upgrade .products .product .header {
    background-color: var(--tc-ink);
    color: var(--tc-paper);
}

.upgrade .products .product .current {
    background-color: var(--tc-coral);
    color: var(--tc-ink);
}

.upgrade .products .product .recommended {
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

.upgrade .products .product ul,
.upgrade .products .product ul li,
.upgrade .products .product .footer {
    border-color: var(--tc-line);
}

.upgrade .products .product ul li {
    color: var(--tc-ink-muted);
}

.upgrade .products .product ul li span {
    color: var(--tc-ink);
}

.upgrade .products .fa-check {
    color: var(--tc-success);
}

.upgrade .products .product .btn {
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

/* -----------------------------------------------------
   12. Pages publiques (accueil, connexion)
----------------------------------------------------- */

.login-form .card,
.primary-content .card.mw-540 {
    box-shadow: var(--tc-shadow);
}

.home-domain-search.bg-white {
    background-color: transparent !important;
}

.home-domain-search .input-group-wrapper {
    padding: 7px;
    border: 1px solid var(--tc-line-strong);
    border-radius: var(--tc-radius-pill);
    background-color: var(--tc-field);
    box-shadow: var(--tc-shadow);
}

.home-domain-search .input-group-wrapper .form-control {
    background-color: transparent;
}

.home-domain-search .input-group-wrapper .btn {
    border-radius: var(--tc-radius-pill) !important;
}

.home-domain-search .tld-logos {
    color: var(--tc-ink-soft);
}

.action-icon-btns a {
    padding: 14px 0 18px;
    border: 1px solid var(--tc-line-strong);
    border-radius: var(--tc-radius-card);
    background-color: var(--tc-paper-2);
    color: var(--tc-ink-soft);
    font-weight: 600;
    transition: box-shadow .45s var(--tc-ease), transform .45s var(--tc-ease);
}

.action-icon-btns a:hover {
    box-shadow: var(--tc-shadow);
    color: var(--tc-ink);
    transform: translateY(-2px);
}

.action-icon-btns a .ico-container,
.action-icon-btns a:hover .ico-container {
    font-size: 2.2em;
}

.action-icon-btns a .ico-container i {
    color: var(--tc-blue-text);
}

.card-columns.home {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    -moz-column-count: auto;
    column-count: auto;
}

.card-columns.home .card {
    flex: 1 1 240px;
    max-width: 360px;
    display: block;
    margin-bottom: 0 !important;
}

.card-columns.home .card-body {
    padding: 1.9rem 1.25rem !important;
}

.card-columns.home .card-title {
    font-size: 1.5rem;
}

/* -----------------------------------------------------
   13. Pied de page
----------------------------------------------------- */

footer.footer {
    position: relative;
    padding: 56px 0 28px;
    border-top: 1px solid var(--tc-line-strong);
    background-color: transparent;
    color: var(--tc-ink-soft);
    font-size: .95rem;
    overflow: hidden;
}

footer.footer .container {
    position: relative;
    z-index: 1;
}

.tc-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr);
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    gap: 2rem 2.5rem;
    padding-bottom: 2.5rem;
}

.tc-footer-brand,
.tc-footer-brand:hover {
    font-family: var(--tc-serif);
    font-size: 2.3rem;
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1;
    color: var(--tc-ink);
    text-decoration: none;
}

.tc-footer-brand em {
    font-weight: 500;
    color: var(--tc-blue-text);
}

.tc-footer-tagline {
    max-width: 30ch;
    margin: .9rem 0 1.1rem;
}

.tc-footer-title {
    margin-bottom: .8rem;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--tc-ink);
}

.tc-footer-col a {
    display: inline-block;
    padding: .22rem 0;
    color: var(--tc-ink-soft);
}

.tc-footer-col a:hover {
    color: var(--tc-blue-text);
    text-decoration: none;
}

footer.footer .btn {
    padding: .3rem .9rem;
    border: 1px solid var(--tc-line-strong);
    background-color: transparent;
    color: var(--tc-ink);
}

footer.footer .btn:hover {
    background-color: var(--tc-ink);
    color: var(--tc-paper);
}

footer.footer .btn-icon {
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    line-height: 2.5rem;
}

.tc-footer-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding-top: 1.4rem;
    border-top: 1px solid var(--tc-line);
}

footer.footer .copyright {
    margin: 0;
    font-size: .88rem;
    text-align: left;
}

.tc-footer-watermark {
    position: absolute;
    right: -1rem;
    bottom: -4.5rem;
    font-family: var(--tc-serif);
    font-size: clamp(8rem, 22vw, 18rem);
    font-style: italic;
    font-weight: 600;
    letter-spacing: -.05em;
    line-height: 1;
    white-space: nowrap;
    color: var(--tc-watermark);
    pointer-events: none;
    user-select: none;
}

@media (max-width: 991.98px) {
    .tc-footer-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-flow: row;
    }

    .tc-footer-about {
        grid-column: 1 / -1;
    }
}

/* -----------------------------------------------------
   14. Tunnel de commande (standard_cart)
   La feuille du panier est chargée après celle-ci : le préfixe « body »
   donne la priorité à ces règles.
----------------------------------------------------- */

body #order-standard_cart {
    font-size: 1rem;
}

body #order-standard_cart .header-lined h1 {
    border-bottom-color: var(--tc-line);
    font-size: 2rem;
}

body #order-standard_cart .cart-sidebar h3,
body #order-standard_cart .sidebar-collapsed h3 {
    font-size: .74rem;
}

body #order-standard_cart .cart-sidebar .list-group-item {
    margin-bottom: 2px;
    padding: .5rem .7rem;
    border: 0;
    border-radius: 10px;
}

/* Fiches produit : en-tête, description, puis prix et bouton en pied de carte */
body #order-standard_cart .products .product {
    display: flex;
    flex-direction: column;
    height: calc(100% - 20px);
    padding: 0;
    border: 1px solid var(--tc-line-strong);
    border-radius: var(--tc-radius-card);
    background: var(--tc-paper-2);
    transition: box-shadow .45s var(--tc-ease);
}

body #order-standard_cart .products .product:hover {
    box-shadow: var(--tc-shadow);
}

body #order-standard_cart .products .product header {
    margin: 0;
    padding: 16px 22px 12px;
    border-radius: calc(var(--tc-radius-card) - 1px) calc(var(--tc-radius-card) - 1px) 0 0;
    background: transparent;
}

body #order-standard_cart .products .product header span {
    font-family: var(--tc-serif);
    font-size: 1.45em;
    font-weight: 560;
    letter-spacing: -.02em;
    color: var(--tc-ink);
}

body #order-standard_cart .products .product header .qty {
    font-family: var(--tc-sans);
    font-size: .8em;
    letter-spacing: 0;
    color: var(--tc-ink-muted);
}

body #order-standard_cart .products .product div.product-desc {
    float: none;
    width: auto;
    padding: 0 22px 14px;
    font-size: .93em;
    color: var(--tc-ink-soft);
}

body #order-standard_cart .products .product div.product-desc ul {
    margin: 0;
    padding-left: 1.1rem;
}

body #order-standard_cart .products .product span.feature-value {
    color: var(--tc-ink);
}

body #order-standard_cart .products .product footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    float: none;
    width: auto;
    margin: auto 0 0;
    padding: 14px 22px 18px;
    border-top: 1px solid var(--tc-line);
    font-size: .88em;
    text-align: left;
    color: var(--tc-ink-soft);
}

body #order-standard_cart .products .product div.product-pricing {
    margin-bottom: 0;
}

body #order-standard_cart .products .product div.product-pricing span.price {
    font-family: var(--tc-serif);
    font-size: 1.9em;
    font-weight: 560;
    letter-spacing: -.02em;
    line-height: 1.2;
    color: var(--tc-ink);
}

body #order-standard_cart .btn-order-now,
body #order-standard_cart .btn-checkout {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
    white-space: nowrap;
}

body #order-standard_cart .btn-order-now:hover,
body #order-standard_cart .btn-checkout:hover {
    border-color: var(--tc-blue-deep);
    background-color: var(--tc-blue-deep);
    color: var(--tc-on-blue);
}

body #order-standard_cart .btn-order-now {
    padding: .5rem 1.1rem;
}

body #order-standard_cart .btn-checkout {
    display: block;
    width: 100%;
    padding: .8rem 1rem;
    font-size: 1.05rem;
    white-space: normal;
}

body #order-standard_cart .order-summary .btn-continue-shopping {
    white-space: normal;
}

body #order-standard_cart .sub-heading {
    border-top-color: var(--tc-line);
}

body #order-standard_cart .sub-heading span,
body #order-standard_cart .sub-heading-borderless span {
    background-color: var(--tc-paper) !important;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--tc-ink-soft);
}

body #order-standard_cart .field,
body #order-standard_cart .form-control {
    border-color: var(--tc-line);
    border-radius: var(--tc-radius-field);
    color: var(--tc-ink);
}

body #order-standard_cart .field:focus,
body #order-standard_cart .form-control:focus {
    border-color: var(--tc-blue);
}

body #order-standard_cart .field-icon i {
    color: var(--tc-ink-muted);
}

body #order-standard_cart .panel-addon .panel-price {
    background-color: var(--tc-paper-3);
}

body #order-standard_cart .panel-addon .panel-add,
body #order-standard_cart .panel-addon-selected .panel-add {
    background-color: var(--tc-blue);
    color: var(--tc-on-blue);
}

body #order-standard_cart .panel-addon-selected {
    border-color: var(--tc-blue);
}

body #order-standard_cart .domain-selection-options .option {
    margin-bottom: 8px;
    padding: 10px 20px;
    border: 1px solid var(--tc-line);
    border-radius: 14px;
    background-color: var(--tc-paper-2);
}

body #order-standard_cart .domain-selection-options .option-selected {
    border-color: var(--tc-blue);
    background-color: var(--tc-blue-tint);
}

body #order-standard_cart .domain-checker-available {
    color: var(--tc-success);
}

body #order-standard_cart .domain-checker-unavailable,
body #order-standard_cart .domain-checker-invalid {
    color: var(--tc-danger);
}

/* Récapitulatif */
body #order-standard_cart .order-summary {
    border: 1px solid var(--tc-line-strong);
    border-radius: var(--tc-radius-card);
    background-color: var(--tc-ink);
    overflow: hidden;
}

body #order-standard_cart .order-summary h2 {
    padding: 14px 12px;
    font-size: 1.15em;
    line-height: 1.25;
    font-weight: 560;
    color: var(--tc-paper);
}

body #order-standard_cart .summary-container {
    padding: 16px 18px;
    border-radius: 0;
    background-color: var(--tc-paper-2);
    font-size: .92em;
}

body #order-standard_cart .order-summary .subtotal,
body #order-standard_cart .order-summary .bordered-totals,
body #order-standard_cart .order-summary .summary-totals {
    border-color: var(--tc-line);
}

body #order-standard_cart .order-summary .recurring-charges {
    color: var(--tc-ink-muted);
}

body #order-standard_cart .order-summary .total-due-today .amt {
    font-size: 1.9em;
    overflow-wrap: anywhere;
    font-family: var(--tc-serif);
    font-weight: 560;
    letter-spacing: -.02em;
    color: var(--tc-blue-text);
}

/* Panier */
body #order-standard_cart .view-cart-items-header {
    padding: 12px 20px;
    border-radius: var(--tc-radius-card) var(--tc-radius-card) 0 0;
    background-color: var(--tc-ink);
    color: var(--tc-paper);
}

body #order-standard_cart .view-cart-items {
    border: 1px solid var(--tc-line-strong);
    border-top: 0;
    border-radius: 0 0 var(--tc-radius-card) var(--tc-radius-card);
    overflow: hidden;
}

body #order-standard_cart .view-cart-items .item {
    padding: 14px 20px;
    border-top: 1px solid var(--tc-line);
    background-color: var(--tc-paper-2);
    font-size: .9em;
}

body #order-standard_cart .view-cart-items .item:first-child {
    border-top: 0;
}

body #order-standard_cart .view-cart-items .item:nth-child(even) {
    background-color: var(--tc-paper-2);
}

body #order-standard_cart .view-cart-items .item-title {
    font-family: var(--tc-serif);
    font-size: 1.35em;
    font-weight: 560;
    letter-spacing: -.01em;
}

body #order-standard_cart .view-cart-items .item-group {
    font-size: 1em;
    color: var(--tc-ink-muted);
}

body #order-standard_cart .view-cart-items .item-domain {
    color: var(--tc-blue-text);
}

body #order-standard_cart .view-cart-items .item-price span {
    font-size: 1.3em;
    font-weight: 600;
}

body #order-standard_cart .view-cart-items .item-price .cycle {
    font-size: .9em;
    font-weight: 400;
    color: var(--tc-ink-muted);
}

body #order-standard_cart .empty-cart {
    margin: 8px 0 0;
}

body #order-standard_cart .empty-cart .btn {
    padding: 4px 12px;
    border: 1px solid var(--tc-line);
    border-radius: var(--tc-radius-btn);
    background-color: transparent;
    color: var(--tc-ink-soft);
}

body #order-standard_cart .view-cart-tabs .nav-tabs {
    padding-left: 0;
    font-size: .9em;
}

body #order-standard_cart .view-cart-tabs .nav-tabs a[aria-selected="true"],
body #order-standard_cart .view-cart-tabs .nav-tabs a[aria-expanded="true"] {
    border-color: transparent transparent var(--tc-blue);
    background-color: transparent;
}

body #order-standard_cart .view-cart-tabs .tab-content {
    padding: 16px 0 0;
    background-color: transparent;
}

@media (max-width: 575.98px) {
    body #order-standard_cart .products .product footer {
        flex-direction: column;
        align-items: stretch;
    }
}

/* -----------------------------------------------------
   15. Accessibilité
----------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

@media print {
    .tc-footer-watermark,
    .tc-footer-grid {
        display: none;
    }
}

/* -----------------------------------------------------
   16. Retouches issues de la vérification page par page
----------------------------------------------------- */

/* Listes (factures, services, tickets…) sur téléphone : un tableau plus large que l'écran
   défile dans sa carte au lieu d'élargir toute la page. */
@media (max-width: 767.98px) {
    .table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Actions groupées au-dessus d'une liste (domaines…) : sur téléphone, les boutons passent à la ligne. */
@media (max-width: 575.98px) {
    .btn-group.btn-group-sm.mb-3 {
        flex-wrap: wrap;
        row-gap: .4rem;
    }
}

/* Ticket : pastilles « Propriétaire », « Opérateur »… dans les teintes du thème, texte lisible. */
.view-ticket .requestor-badge {
    border-radius: var(--tc-radius-pill);
    font-weight: 600;
}

.requestor-type-operator {
    background-color: var(--tc-blue-tint);
    color: var(--tc-blue-ink);
}

.requestor-type-owner {
    background-color: var(--tc-success-tint);
    color: var(--tc-success);
}

.requestor-type-registereduser {
    background-color: var(--tc-warning-tint);
    color: var(--tc-warning);
}

.requestor-type-authorizeduser,
.requestor-type-subaccount,
.requestor-type-guest {
    background-color: var(--tc-neutral-tint);
    color: var(--tc-ink-soft);
}

/* Interrupteurs Oui / Non : position « oui » dans la couleur principale. */
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success,
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
    background-color: var(--tc-blue);
    color: #fff;
}

/* Fenêtre « voir l'e-mail » : fond du thème à la place du fond sombre d'origine. */
#popup-backdrop {
    background-color: var(--tc-paper);
}

/* -----------------------------------------------------
   17. Mode sombre et bouton clair / sombre

   Le mode sombre s'active par l'attribut data-tc-theme="dark" de <html>.
   Il est posé avant l'affichage par includes/tc-theme-mode.tpl :
   choix du visiteur (bouton soleil / lune, mémorisé dans localStorage
   sous la clé « tc-theme », valeurs light | dark), sinon mode par défaut
   réglé dans le module (clair, sombre ou selon le système).

   Les couleurs passent par les variables de la section 1, redéfinies
   ci-dessous ; les règles qui suivent ne reprennent que les couleurs
   écrites en dur dans la base Twenty-One, le panier Standard Cart et
   les modules tiers. À l'impression, la page reste toujours claire.
----------------------------------------------------- */

html {
    color-scheme: light;
}

/* Bouton soleil / lune : la lune propose le mode sombre, le soleil le mode clair. */
.tc-theme-toggle .tc-theme-icon-sun,
.tc-theme-toggle .tc-theme-text-dark,
.tc-only-dark {
    display: none !important;
}

header.header .tc-theme-mobile {
    padding: .6rem 0 .3rem;
    border-top: 1px solid var(--tc-line);
}

header.header .tc-theme-toggle-wide {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .45rem 1rem;
    border: 1px solid var(--tc-line-strong);
    background-color: transparent;
    color: var(--tc-ink);
    font-weight: 600;
}

header.header .tc-theme-toggle-wide:hover {
    background-color: var(--tc-paper-3);
    color: var(--tc-ink);
}

header.header .tc-theme-toggle i {
    font-size: 1.15rem;
}

header.header .tc-theme-toggle:focus-visible {
    outline: 2px solid var(--tc-blue-text);
    outline-offset: 2px;
}

/* Pendant la bascule, pas de fondu des couleurs (il serait partiel et saccadé). */
html.tc-theme-switching *,
html.tc-theme-switching *::before,
html.tc-theme-switching *::after {
    transition: none !important;
}

@media screen {

    /* Palette sombre. Le module recalcule ces valeurs si les couleurs sont modifiées. */
    html[data-tc-theme="dark"] {
        color-scheme: dark;

        --tc-paper: #16130e;
        --tc-paper-2: #201c15;
        --tc-paper-3: #312d26;

        --tc-ink: #f3eee5;
        --tc-ink-soft: #c2beb6;
        --tc-ink-muted: #96928b;

        --tc-line: rgba(243, 238, 229, .14);
        --tc-line-strong: #54504a;

        --tc-on-blue: #faf7f2;
        --tc-blue-text: #7c86ff;
        --tc-blue-ink: #a0a7ff;
        --tc-blue-tint: #222348;
        --tc-blue-wash: rgba(43, 60, 255, .14);
        --tc-blue-ring: rgba(124, 134, 255, .3);
        --tc-coral-ink: #ff7d60;
        --tc-field: var(--tc-paper);

        --tc-success: #6fd8a5;
        --tc-success-tint: rgba(79, 197, 139, .2);
        --tc-warning: #f2bf6c;
        --tc-warning-tint: rgba(229, 168, 75, .2);
        --tc-danger: #ff9a82;
        --tc-danger-tint: rgba(255, 130, 102, .2);
        --tc-neutral-tint: rgba(243, 238, 229, .14);
        --tc-field-line: rgba(243, 238, 229, .28);

        --tc-watermark: rgba(43, 60, 255, .1);
        --tc-shadow: 0 14px 40px rgba(0, 0, 0, .45);

        /* Nexus Cart */
        --white: var(--tc-paper-2);
        --neutral-200: #36312a;
        --neutral-300: #4a453d;
        --neutral-400: #7d786f;
        --neutral-600: #b3aea5;
        --neutral-800: #e2ddd4;
        --neutral-950: #fbf9f5;
        --primary-50: #1c1c35;
        --primary-200: #2d3280;
        --primary-800: #a0a7ff;
        --primary-900: #c3c8ff;
        --primary-950: #e0e3ff;
        --success-lifted: #6fd4a2;
        --success-accented: #93e0ba;
        --error-lifted: #ff9f88;
        --error-accented: #ffbcac;
    }

    /* Logo : variante claire du logo du thème, ou fond clair sous un logo importé dans WHMCS. */
    html[data-tc-theme="dark"] .tc-only-light {
        display: none !important;
    }

    html[data-tc-theme="dark"] .tc-only-dark {
        display: inline-block !important;
    }

    html[data-tc-theme="dark"] header.header .logo-img,
    html[data-tc-theme="dark"] .tc-logo-plate {
        padding: 4px 10px;
        border-radius: 10px;
        background-color: #faf7f2;
    }

    /* Icônes sombres de WHMCS (copier dans le presse-papiers, logos des extensions de domaine) :
       luminosité inversée, teintes conservées. */
    html[data-tc-theme="dark"] img[src$="clippy.svg"],
    html[data-tc-theme="dark"] .home-domain-search .tld-logos img {
        filter: invert(1) hue-rotate(180deg);
    }

    html[data-tc-theme="dark"] .tc-theme-toggle .tc-theme-icon-sun,
    html[data-tc-theme="dark"] .tc-theme-toggle .tc-theme-text-dark {
        display: inline-block !important;
    }

    html[data-tc-theme="dark"] .tc-theme-toggle .tc-theme-icon-moon,
    html[data-tc-theme="dark"] .tc-theme-toggle .tc-theme-text-light {
        display: none !important;
    }

    /* Base */
    html[data-tc-theme="dark"] body {
        background-color: var(--tc-paper);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] mark,
    html[data-tc-theme="dark"] .mark {
        background-color: var(--tc-warning-tint);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] pre {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] caption,
    html[data-tc-theme="dark"] .blockquote-footer,
    html[data-tc-theme="dark"] .figure-caption,
    html[data-tc-theme="dark"] .dropdown-header,
    html[data-tc-theme="dark"] .nav-link.disabled,
    html[data-tc-theme="dark"] .form-check-input:disabled ~ .form-check-label,
    html[data-tc-theme="dark"] .custom-control-input:disabled ~ .custom-control-label,
    html[data-tc-theme="dark"] .dropdown-item.disabled,
    html[data-tc-theme="dark"] .dropdown-item:disabled,
    html[data-tc-theme="dark"] .btn-link.disabled,
    html[data-tc-theme="dark"] .btn-link:disabled,
    html[data-tc-theme="dark"] .text-black-50,
    html[data-tc-theme="dark"] .text-secondary {
        color: var(--tc-ink-muted) !important;
    }

    html[data-tc-theme="dark"] .text-dark,
    html[data-tc-theme="dark"] .text-body {
        color: var(--tc-ink) !important;
    }

    html[data-tc-theme="dark"] .text-danger {
        color: var(--tc-danger) !important;
    }

    html[data-tc-theme="dark"] .text-success {
        color: var(--tc-success) !important;
    }

    html[data-tc-theme="dark"] .text-info {
        color: var(--tc-blue-text) !important;
    }

    html[data-tc-theme="dark"] .border,
    html[data-tc-theme="dark"] .border-top,
    html[data-tc-theme="dark"] .border-right,
    html[data-tc-theme="dark"] .border-bottom,
    html[data-tc-theme="dark"] .border-left {
        border-color: var(--tc-line) !important;
    }

    html[data-tc-theme="dark"] .img-thumbnail,
    html[data-tc-theme="dark"] .jumbotron,
    html[data-tc-theme="dark"] .mc-promo-manage,
    html[data-tc-theme="dark"] .mc-promo-login {
        border-color: var(--tc-line);
        background-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .jumbotron {
        background-color: var(--tc-paper-3);
    }

    html[data-tc-theme="dark"] .close,
    html[data-tc-theme="dark"] .close:hover {
        color: var(--tc-ink);
        text-shadow: none;
    }

    /* Boutons : fonds pleins conservés, texte lisible */
    html[data-tc-theme="dark"] :where(.btn:not([class*="btn-"])) {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .btn-success {
        border-color: #17744a;
        background-color: #17744a;
    }

    html[data-tc-theme="dark"] .btn-success:hover,
    html[data-tc-theme="dark"] .btn-success:focus,
    html[data-tc-theme="dark"] .btn-success:not(:disabled):not(.disabled):active {
        border-color: #1f8f5c;
        background-color: #1f8f5c;
    }

    html[data-tc-theme="dark"] .btn-danger {
        border-color: #b8341a;
        background-color: #b8341a;
    }

    html[data-tc-theme="dark"] .btn-danger:hover,
    html[data-tc-theme="dark"] .btn-danger:focus,
    html[data-tc-theme="dark"] .btn-danger:not(:disabled):not(.disabled):active {
        border-color: #d1442a;
        background-color: #d1442a;
    }

    html[data-tc-theme="dark"] .btn-warning,
    html[data-tc-theme="dark"] .btn-warning:hover,
    html[data-tc-theme="dark"] .btn-warning:focus,
    html[data-tc-theme="dark"] .btn-warning:not(:disabled):not(.disabled):active {
        color: #16130e;
    }

    /* Bouton par défaut : états focus / actif / désactivé de la base (gris clair) */
    html[data-tc-theme="dark"] .btn-default:focus,
    html[data-tc-theme="dark"] .btn-default.focus,
    html[data-tc-theme="dark"] .btn-default:active:hover,
    html[data-tc-theme="dark"] .btn-default.active:hover,
    html[data-tc-theme="dark"] .btn-default:active:focus,
    html[data-tc-theme="dark"] .btn-default.active:focus,
    html[data-tc-theme="dark"] .btn-default.disabled:hover,
    html[data-tc-theme="dark"] .btn-default[disabled]:hover,
    html[data-tc-theme="dark"] .btn-default.disabled:focus,
    html[data-tc-theme="dark"] .btn-default[disabled]:focus {
        border-color: var(--tc-line-strong);
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .btn-default.disabled,
    html[data-tc-theme="dark"] .btn-default[disabled] {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .btn-outline-dark {
        border-color: var(--tc-line-strong);
        color: var(--tc-ink);
    }

    /* Alertes */
    html[data-tc-theme="dark"] .alert-success {
        border-color: rgba(79, 197, 139, .35);
        color: #a6e6c6;
    }

    html[data-tc-theme="dark"] .alert-info {
        border-color: rgba(124, 134, 255, .4);
        color: #c3c8ff;
    }

    html[data-tc-theme="dark"] .alert-warning {
        border-color: rgba(229, 168, 75, .4);
        color: #f2d29f;
    }

    html[data-tc-theme="dark"] .alert-danger {
        border-color: rgba(255, 130, 102, .4);
        color: #ffc2b3;
    }

    /* Formulaires */
    html[data-tc-theme="dark"] .form-control:focus,
    html[data-tc-theme="dark"] select.form-control:focus::-ms-value {
        background-color: var(--tc-field);
    }

    html[data-tc-theme="dark"] .form-control-plaintext {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .custom-select {
        background-color: var(--tc-field);
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23c2beb6' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
    }

    html[data-tc-theme="dark"] .custom-select:disabled,
    html[data-tc-theme="dark"] .custom-file-input:disabled ~ .custom-file-label,
    html[data-tc-theme="dark"] .custom-control-input:disabled ~ .custom-control-label::before {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink-muted);
    }

    html[data-tc-theme="dark"] .custom-control-label::before {
        border-color: var(--tc-line-strong);
        background-color: var(--tc-field);
    }

    html[data-tc-theme="dark"] .custom-file-label {
        border-color: var(--tc-line);
        background-color: var(--tc-field);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .custom-file-label::after {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .custom-range::-webkit-slider-runnable-track {
        background-color: var(--tc-paper-3);
    }

    html[data-tc-theme="dark"] .custom-range::-moz-range-track {
        background-color: var(--tc-paper-3);
    }

    html[data-tc-theme="dark"] form[data-role=json-form] .has-error input.form-control,
    html[data-tc-theme="dark"] form[data-role=json-form] .has-error textarea.form-control,
    html[data-tc-theme="dark"] form[data-role=json-form] .has-error select {
        background-color: var(--tc-danger-tint);
    }

    html[data-tc-theme="dark"] #registration .field,
    html[data-tc-theme="dark"] #registration .form-control {
        background-color: var(--tc-field);
    }

    html[data-tc-theme="dark"] #registration .field[disabled],
    html[data-tc-theme="dark"] #registration .field[readonly],
    html[data-tc-theme="dark"] #registration .form-control[disabled],
    html[data-tc-theme="dark"] #registration .form-control[readonly] {
        background-color: var(--tc-paper-3);
    }

    html[data-tc-theme="dark"] #registration .sub-heading {
        border-top-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] #registration .sub-heading span {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .home-domain-search .input-group-wrapper .advanced-input label {
        color: var(--tc-ink-soft);
    }

    /* Éditeur Markdown (tickets) */
    html[data-tc-theme="dark"] .md-editor > .btn-toolbar,
    html[data-tc-theme="dark"] .md-editor > .md-header,
    html[data-tc-theme="dark"] .md-editor .md-footer {
        background-color: var(--tc-paper-3) !important;
        background: var(--tc-paper-3);
    }

    html[data-tc-theme="dark"] .md-editor > textarea,
    html[data-tc-theme="dark"] .md-editor > textarea:focus,
    html[data-tc-theme="dark"] .md-editor > textarea.markdown-editor,
    html[data-tc-theme="dark"] .md-editor > .md-preview,
    html[data-tc-theme="dark"] .md-editor.md-fullscreen-mode,
    html[data-tc-theme="dark"] .md-editor.md-fullscreen-mode .md-input,
    html[data-tc-theme="dark"] .md-editor.md-fullscreen-mode .md-preview,
    html[data-tc-theme="dark"] .md-editor.md-fullscreen-mode .md-input:focus,
    html[data-tc-theme="dark"] .md-editor.md-fullscreen-mode .md-input:hover {
        background: var(--tc-field) !important;
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .md-editor > textarea,
    html[data-tc-theme="dark"] .md-editor > .md-preview {
        border-top-color: var(--tc-line) !important;
        border-bottom-color: var(--tc-line) !important;
    }

    html[data-tc-theme="dark"] .md-editor .md-controls .md-control:hover,
    html[data-tc-theme="dark"] .md-editor.md-fullscreen-mode .md-fullscreen-controls a:hover {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .md-preview pre,
    html[data-tc-theme="dark"] .markdown-content pre {
        border: 1px solid var(--tc-line);
        background-color: var(--tc-paper);
        color: var(--tc-ink);
    }

    /* Tableaux */
    html[data-tc-theme="dark"] .table-hover tbody tr:hover,
    html[data-tc-theme="dark"] .table-bordered,
    html[data-tc-theme="dark"] .table-bordered th,
    html[data-tc-theme="dark"] .table-bordered td,
    html[data-tc-theme="dark"] .table tbody + tbody {
        border-color: var(--tc-line);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .table .thead-light th {
        border-color: var(--tc-line);
        background-color: var(--tc-paper-3);
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
        background-color: rgba(243, 238, 229, .03);
    }

    html[data-tc-theme="dark"] table.table-solid-bottom-border-light-gray,
    html[data-tc-theme="dark"] .table-list > tbody > tr > td a.border-left {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .dataTables_wrapper .dataTables_filter label .form-control {
        background-color: var(--tc-field);
    }

    html[data-tc-theme="dark"] table.dataTable > tbody > tr.selected a {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] div.dtr-modal div.dtr-modal-display {
        border-color: var(--tc-line-strong);
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] div.dtr-modal div.dtr-modal-close {
        border-color: var(--tc-line);
        background-color: var(--tc-paper-3);
    }

    /* Listes, menus, fenêtres, info-bulles */
    html[data-tc-theme="dark"] .sidebar .list-group-item {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .dropdown-item-text,
    html[data-tc-theme="dark"] .popover-body {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .list-group-item-action:not(.active):active {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .list-group-item.disabled,
    html[data-tc-theme="dark"] .list-group-item:disabled {
        background-color: transparent;
        color: var(--tc-ink-muted);
    }

    html[data-tc-theme="dark"] .popover-header {
        border-bottom-color: var(--tc-line);
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .bs-popover-top > .arrow::before,
    html[data-tc-theme="dark"] .bs-popover-auto[x-placement^="top"] > .arrow::before {
        border-top-color: var(--tc-line-strong);
    }

    html[data-tc-theme="dark"] .bs-popover-top > .arrow::after,
    html[data-tc-theme="dark"] .bs-popover-auto[x-placement^="top"] > .arrow::after {
        border-top-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .bs-popover-right > .arrow::before,
    html[data-tc-theme="dark"] .bs-popover-auto[x-placement^="right"] > .arrow::before {
        border-right-color: var(--tc-line-strong);
    }

    html[data-tc-theme="dark"] .bs-popover-right > .arrow::after,
    html[data-tc-theme="dark"] .bs-popover-auto[x-placement^="right"] > .arrow::after {
        border-right-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .bs-popover-bottom > .arrow::before,
    html[data-tc-theme="dark"] .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
        border-bottom-color: var(--tc-line-strong);
    }

    html[data-tc-theme="dark"] .bs-popover-bottom > .arrow::after,
    html[data-tc-theme="dark"] .bs-popover-auto[x-placement^="bottom"] > .arrow::after,
    html[data-tc-theme="dark"] .bs-popover-bottom .popover-header::before {
        border-bottom-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .bs-popover-left > .arrow::before,
    html[data-tc-theme="dark"] .bs-popover-auto[x-placement^="left"] > .arrow::before {
        border-left-color: var(--tc-line-strong);
    }

    html[data-tc-theme="dark"] .bs-popover-left > .arrow::after,
    html[data-tc-theme="dark"] .bs-popover-auto[x-placement^="left"] > .arrow::after {
        border-left-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .tooltip-inner {
        border: 1px solid var(--tc-field-line);
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .bs-tooltip-top .arrow::before,
    html[data-tc-theme="dark"] .bs-tooltip-auto[x-placement^="top"] .arrow::before {
        border-top-color: var(--tc-field-line);
    }

    html[data-tc-theme="dark"] .bs-tooltip-right .arrow::before,
    html[data-tc-theme="dark"] .bs-tooltip-auto[x-placement^="right"] .arrow::before {
        border-right-color: var(--tc-field-line);
    }

    html[data-tc-theme="dark"] .bs-tooltip-bottom .arrow::before,
    html[data-tc-theme="dark"] .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
        border-bottom-color: var(--tc-field-line);
    }

    html[data-tc-theme="dark"] .bs-tooltip-left .arrow::before,
    html[data-tc-theme="dark"] .bs-tooltip-auto[x-placement^="left"] .arrow::before {
        border-left-color: var(--tc-field-line);
    }

    html[data-tc-theme="dark"] .toast {
        border-color: var(--tc-line);
        background-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .toast-header {
        border-color: var(--tc-line);
        background-color: var(--tc-paper-3);
        color: var(--tc-ink-muted);
    }

    html[data-tc-theme="dark"] .modal-content {
        box-shadow: 0 28px 60px rgba(0, 0, 0, .6);
    }

    /* Voile derrière la fenêtre de promotion (module) : plus dense sur fond sombre. */
    html[data-tc-theme="dark"] .tc-promo-overlay {
        background: rgba(0, 0, 0, .65);
    }

    /* Fenêtre de choix de la langue et de la devise : fond sombre du thème au lieu de l'encre */
    html[data-tc-theme="dark"] .modal-localisation .modal-content {
        background-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .modal-localisation .modal-footer .btn {
        border-color: var(--tc-line-strong);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .modal-localisation .item-selector .item:hover {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    /* Onglets repliés des pages produit, sur téléphone */
    html[data-tc-theme="dark"] .responsive-tabs-sm,
    html[data-tc-theme="dark"] .responsive-tabs-sm .nav-item,
    html[data-tc-theme="dark"] .responsive-tabs-sm-connector .channel,
    html[data-tc-theme="dark"] .responsive-tabs-sm-connector .bottom-border {
        border-color: var(--tc-line) !important;
        background: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .responsive-tabs-sm .nav-item a:hover {
        background-color: var(--tc-paper-3);
    }

    html[data-tc-theme="dark"] .responsive-tabs-sm .nav-item a.active {
        background-color: var(--tc-paper-3) !important;
    }

    /* Espace client : produits, factures, paiement, domaines, tickets */
    html[data-tc-theme="dark"] .upgrade .products .product .header,
    html[data-tc-theme="dark"] body #order-standard_cart .order-summary,
    html[data-tc-theme="dark"] body #order-standard_cart .view-cart-items-header {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] body #order-standard_cart .order-summary h2 {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] div.product-details div.product-icon,
    html[data-tc-theme="dark"] div.credit-card,
    html[data-tc-theme="dark"] .invoice-summary-table td.total-row,
    html[data-tc-theme="dark"] tr.masspay-total td,
    html[data-tc-theme="dark"] .store-order-container .store-domain-tabs li a {
        border-color: var(--tc-line);
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] div.credit-card div.card-number {
        background-color: var(--tc-line-strong);
    }

    html[data-tc-theme="dark"] div.product-details-tab-container,
    html[data-tc-theme="dark"] .store-order-container .store-domain-tabs li.active a,
    html[data-tc-theme="dark"] .store-order-container .store-domain-tab-content {
        border-color: var(--tc-line);
        background-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .auth3d-area,
    html[data-tc-theme="dark"] .submit-3d,
    html[data-tc-theme="dark"] .view-ticket .card-body {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .client-home-cards div[menuitemname=ThreesixtymonitoringLogin] .threesixtymonitoring-metrics-row > div:not(:last-child) {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .featured-tld {
        background-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .featured-tld .price:not(.blog):not(.net) {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .domain-pricing .tld-row {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .domain-pricing .tld-row.highlighted {
        background: var(--tc-blue-wash);
    }

    html[data-tc-theme="dark"] .domain-pricing .tld-pricing-header div,
    html[data-tc-theme="dark"] .domain-pricing .tld-pricing-header div:nth-child(odd) {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .domain-pricing .two-row-center {
        border-color: var(--tc-line);
    }

    /* Indicatif téléphonique, interrupteurs, captcha */
    html[data-tc-theme="dark"] .intl-tel-input .country-list {
        border-color: var(--tc-line-strong);
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .intl-tel-input .country-list .country.highlight {
        background-color: var(--tc-paper-3);
    }

    html[data-tc-theme="dark"] .intl-tel-input .country-list .divider {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .intl-tel-input .country-list .country .dial-code {
        color: var(--tc-ink-muted);
    }

    html[data-tc-theme="dark"] .bootstrap-switch {
        border-color: var(--tc-line-strong);
    }

    html[data-tc-theme="dark"] .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-secondary,
    html[data-tc-theme="dark"] .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-secondary,
    html[data-tc-theme="dark"] .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,
    html[data-tc-theme="dark"] .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default,
    html[data-tc-theme="dark"] .bootstrap-switch .bootstrap-switch-label {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .captcha-overlay-popup {
        border-color: var(--tc-line-strong);
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    /* Panier Standard Cart (sa feuille est chargée après celle-ci) */
    html[data-tc-theme="dark"] #order-standard_cart :where(:not(.btn)) {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] body #order-standard_cart .view-cart-items,
    html[data-tc-theme="dark"] body #order-standard_cart .order-summary {
        border-color: var(--tc-line-strong);
    }

    html[data-tc-theme="dark"] body #order-standard_cart .panel-addon-selected {
        border-color: var(--tc-blue);
    }

    html[data-tc-theme="dark"] #order-standard_cart .account-select-container div.account {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] #order-standard_cart label,
    html[data-tc-theme="dark"] #order-standard_cart p.domain-renewal-desc,
    html[data-tc-theme="dark"] .service-renewals .div-renewal-period-label,
    html[data-tc-theme="dark"] #order-standard_cart .domain-checker-advanced label,
    html[data-tc-theme="dark"] #order-standard_cart .cc-input-container .existing-cc-grid,
    html[data-tc-theme="dark"] #order-standard_cart .order-summary .btn-continue-shopping {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] #order-standard_cart .domain-checker-advanced .multiselect,
    html[data-tc-theme="dark"] #order-standard_cart .panel-addon .panel-body label {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] #order-standard_cart .field,
    html[data-tc-theme="dark"] #order-standard_cart .form-control,
    html[data-tc-theme="dark"] #order-standard_cart .domain-checker-advanced input[type=checkbox] {
        background-color: var(--tc-field);
    }

    html[data-tc-theme="dark"] #order-standard_cart .field[disabled],
    html[data-tc-theme="dark"] #order-standard_cart .field[readonly],
    html[data-tc-theme="dark"] #order-standard_cart .form-control[disabled],
    html[data-tc-theme="dark"] #order-standard_cart .form-control[readonly],
    html[data-tc-theme="dark"] #order-standard_cart .product-info,
    html[data-tc-theme="dark"] #order-standard_cart .apply-credit-container,
    html[data-tc-theme="dark"] #order-standard_cart .cc-input-container,
    html[data-tc-theme="dark"] #order-standard_cart .view-cart-gateway-checkout,
    html[data-tc-theme="dark"] #order-standard_cart .default-captcha,
    html[data-tc-theme="dark"] #order-standard_cart .account-select-container div.account,
    html[data-tc-theme="dark"] div.domainresults div:not(.btn-group),
    html[data-tc-theme="dark"] .spotlight-tlds,
    html[data-tc-theme="dark"] .spotlight-tld .invalid,
    html[data-tc-theme="dark"] .spotlight-tld .unavailable,
    html[data-tc-theme="dark"] .suggested-domains .domain-lookup-suggestions-loader,
    html[data-tc-theme="dark"] .suggested-domains .domain-lookup-suggestions-message,
    html[data-tc-theme="dark"] .domain-promo-box,
    html[data-tc-theme="dark"] .addon-renewals .service-renewal,
    html[data-tc-theme="dark"] .domain-renewals,
    html[data-tc-theme="dark"] .service-renewals,
    html[data-tc-theme="dark"] .product-recommendations .product-recommendation .body {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] #order-standard_cart .account-select-container div.account.active,
    html[data-tc-theme="dark"] #order-standard_cart .view-cart-promotion-code,
    html[data-tc-theme="dark"] .domain-checker-container .input-group-box,
    html[data-tc-theme="dark"] .spotlight-tld,
    html[data-tc-theme="dark"] .addon-renewals .service-renewal:nth-child(even),
    html[data-tc-theme="dark"] .domain-renewals .domain-renewal:nth-child(even),
    html[data-tc-theme="dark"] .service-renewals .service-renewal:nth-child(even),
    html[data-tc-theme="dark"] .product-recommendations .product-recommendation {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] #order-standard_cart .transfer-eligible {
        background-color: var(--tc-success-tint);
        color: var(--tc-success);
    }

    html[data-tc-theme="dark"] #order-standard_cart .transfer-not-eligible {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] #order-standard_cart .btn-remove-from-cart,
    html[data-tc-theme="dark"] .service-renewals .div-renewal-ineligible {
        color: var(--tc-ink-muted);
    }

    html[data-tc-theme="dark"] #order-standard_cart .btn-remove-from-cart:hover {
        color: var(--tc-danger);
    }

    html[data-tc-theme="dark"] .form-control.domain-renewals-filter,
    html[data-tc-theme="dark"] .form-control.service-renewals-filter {
        background-color: var(--tc-field) !important;
    }

    /* Relecture du contraste : champs, listes, tableaux, cases à cocher */
    html[data-tc-theme="dark"] .form-control:not(:focus):not(.is-invalid):not(.is-valid),
    html[data-tc-theme="dark"] .custom-select:not(:focus),
    html[data-tc-theme="dark"] .input-group-text,
    html[data-tc-theme="dark"] .input-group .btn-default,
    html[data-tc-theme="dark"] .dataTables_wrapper .dataTables_length select,
    html[data-tc-theme="dark"] header.header .search:not(:focus-within),
    html[data-tc-theme="dark"] .page-link,
    html[data-tc-theme="dark"] .page-item.disabled .page-link {
        border-color: var(--tc-field-line);
    }

    /* whmcs.js pose en style en ligne un filet gris clair sous le dernier service affiché. */
    html[data-tc-theme="dark"] .client-home-cards .list-group .list-group-item,
    html[data-tc-theme="dark"] div[menuitemname="Active Products/Services"] .list-group-item {
        border-bottom-color: var(--tc-line) !important;
    }

    html[data-tc-theme="dark"] table a:not(.btn) {
        color: var(--tc-blue-text);
    }

    html[data-tc-theme="dark"] .label-default,
    html[data-tc-theme="dark"] .status-terminated,
    html[data-tc-theme="dark"] .status-closed,
    html[data-tc-theme="dark"] .status-cancelled,
    html[data-tc-theme="dark"] .status-expired,
    html[data-tc-theme="dark"] .status-transferred-away,
    html[data-tc-theme="dark"] .status-collections {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .custom-control-label::before {
        border-color: #8a847a;
    }

    html[data-tc-theme="dark"] .custom-control-input:disabled ~ .custom-control-label::before {
        border-color: var(--tc-line-strong);
    }

    /* Cases iCheck (image) : cadre éclairci sur fond sombre */
    html[data-tc-theme="dark"] .icheckbox_square-blue:not(.checked),
    html[data-tc-theme="dark"] .iradio_square-blue:not(.checked) {
        filter: brightness(1.25);
    }

    html[data-tc-theme="dark"] .domain-pricing .tld-pricing-header div {
        border-bottom-color: var(--tc-line-strong);
    }

    /* Pages des produits MarketConnect (store/) et encarts de promotion : mode sombre complet.
       Les règles ci-dessous sont générées à partir de css/store.css et store/dynamic/assets/dynamic-store.css :
       fonds clairs -> surfaces du thème, textes foncés -> textes clairs, filets clairs -> filets du thème.
       Les aplats de couleur des éditeurs (bandeaux, boutons de marque) sont conservés. */
    html[data-tc-theme="dark"] .landing-page .hero {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.mail-services .product-options :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.mail-services .product-options {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .landing-page .product-options .item {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page .product-options p {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page .product-options .price {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.mail-services .product-options .item {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.mail-services .product-options .btn-buy :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.mail-services .product-options .btn-buy {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .landing-page .navbar .navbar-nav > li > a {
        border-bottom-color: var(--tc-line);
    }

    @media (min-width: 768px) {
        html[data-tc-theme="dark"] .landing-page .navbar.navbar-expand-md .navbar-nav > li > a {
            border-left-color: var(--tc-line);
        }
        }

    @media (min-width: 768px) {
        html[data-tc-theme="dark"] .landing-page .navbar.navbar-expand-md .navbar-nav > li:last-child > a {
            border-right-color: var(--tc-line);
        }
        }

    @media (min-width: 768px) {
        html[data-tc-theme="dark"] .landing-page .navbar.navbar-expand .navbar-nav > li > a {
            border-left-color: var(--tc-line);
        }
        }

    @media (min-width: 768px) {
        html[data-tc-theme="dark"] .landing-page .navbar.navbar-expand .navbar-nav > li:last-child > a {
            border-right-color: var(--tc-line);
        }
        }

    html[data-tc-theme="dark"] .landing-page .navbar .navbar-nav > li.active > a {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page .light-grey-bg {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page .nav-tabs > li > a,
    html[data-tc-theme="dark"] .landing-page .nav-tabs > li > a:focus {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page .nav-tabs > li > a:hover {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page .nav-tabs > li.active > a,
    html[data-tc-theme="dark"] .landing-page .nav-tabs > li.active > a:focus,
    html[data-tc-theme="dark"] .landing-page .nav-tabs > li.active > a:hover {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page .tab-content {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.mail-services .benefits i {
        color: var(--tc-blue-ink);
    }

    html[data-tc-theme="dark"] .landing-page .pricing-item {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page .pricing-item ul li {
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page .pricing-item .feature-heading {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.weebly .weebly-lite-plan {
        background-color: var(--tc-paper-3);
        border-color: var(--tc-line);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page .features {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.weebly .faq {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .validation-levels .item {
        color: var(--tc-ink);
        background-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .what-is-ssl .fas,
    html[data-tc-theme="dark"] .landing-page.ssl .what-is-ssl .far {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .help-me-choose .ideal {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .ideal-for.dv i {
        color: var(--tc-blue-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .ssl-benefits .row {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .ssl-benefits i {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .browser-notice .wrapper {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .detailed-info {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .detailed-info .card-body {
        background-color: var(--tc-paper-2);
        border-color: var(--tc-line);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .standout-1 :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.ssl .standout-1 {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .landing-page.ssl .standout-2 {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ssl ul.ssl-certs-all li {
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.ssl ul.ssl-certs-all li.featured {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ssl ul.ssl-certs-all .price span {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .certificate-options.ov :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.ssl .certificate-options.ov {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .landing-page.ssl .certificate-options.ev :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.ssl .certificate-options.ev {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .landing-page.ssl .row-pricing-table ul li {
        background-color: var(--tc-paper-2);
        border-bottom-color: var(--tc-line);
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .certificate-options .btn {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ssl .dashed-border {
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .sitebuilder-upgrade-container,
    html[data-tc-theme="dark"] .weebly-upgrade-container {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .sitebuilder-upgrade-container .promo-wrapper,
    html[data-tc-theme="dark"] .weebly-upgrade-container .promo-wrapper {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelock .plans .plan {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelock .plans .plan ul li {
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.sitelock .plans .plan ul li span {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelock .features .fas,
    html[data-tc-theme="dark"] .landing-page.sitelock .features .far {
        color: var(--tc-blue-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelock .emergency .btn :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.sitelock .emergency .btn {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .landing-page.codeguard .overview-features span {
        color: var(--tc-ink-soft);
    }

    @media (min-width: 768px) {
        html[data-tc-theme="dark"] .landing-page.codeguard .overview-features li {
            border-right-color: var(--tc-line);
        }
        }

    @media (min-width: 768px) {
        html[data-tc-theme="dark"] .landing-page.codeguard .overview-features span {
            color: var(--tc-ink-soft);
        }
        }

    html[data-tc-theme="dark"] .landing-page.codeguard .faqs {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.codeguard .irs-line {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelockvpn .feature.alternate-bg {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelockvpn .feature.pricing .pricing-box {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelockvpn .feature.pricing .cycle {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelockvpn .feature.pricing .price {
        color: var(--tc-blue-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelockvpn .feature.pricing ul li {
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.sitelockvpn .btn-signup.highlight2 :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.sitelockvpn .btn-signup.highlight2 {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .landing-page.sitelockvpn .dividing-line {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelockvpn .feature.world span {
        color: var(--tc-blue-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitelockvpn .feature.countries {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.marketgoo .feature-wrapper {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.marketgoo .plan.marketgoo_pro .header h4 {
        color: var(--tc-blue-ink);
    }

    html[data-tc-theme="dark"] .landing-page.marketgoo .plan .pricing {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .landing-page.marketgoo .plan.marketgoo_pro ul {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.marketgoo .carousel .carousel-indicators li {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.marketgoo .testimonials .testimonial {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .landing-page.marketgoo .faqs {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ox .stand-out {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ox .stand-out h2 {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ox .pricing table {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ox .pricing td:not(.no-border),
    html[data-tc-theme="dark"] .landing-page.ox .pricing th {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.ox .pricing th.feature :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.ox .pricing th.feature {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .landing-page.ox .pricing table tr:nth-child(even) td:first-child {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.ox .faqs {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .intro {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .nav-tabs > li > a {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .nav-tabs a.active,
    html[data-tc-theme="dark"] .landing-page.sitebuilder .nav-tabs a.active:focus,
    html[data-tc-theme="dark"] .landing-page.sitebuilder .nav-tabs a.active:hover {
        background-color: var(--tc-paper-3);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .carousel-indicators li :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .carousel-indicators li {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .features p {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .templates {
        border-top-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .templates .previews img,
    html[data-tc-theme="dark"] .landing-page.sitebuilder .templates .previews .show-more div {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .templates .previews .thumb-wrapper .type-label {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .templates .previews .type-single .type-label :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .templates .previews .type-single .type-label {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .templates .previews .tplname {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .templates .previews a:hover .tplname {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .pricing-table {
        background-color: var(--tc-paper-2);
        border-color: var(--tc-line);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.sitebuilder .pricing-table-row:not(.col-heading):nth-child(even) {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .hero-image {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .body-intro {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .feature-block .title {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .pricing .starting-from {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .service-selector {
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .wp-toolkit .cart-items {
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .wp-toolkit .cart-items .item:nth-child(odd) {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .cart-totals {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .service-selector .service .btn.disabled {
        background-color: var(--tc-paper-3);
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .wp-toolkit .service-selector .product-name {
        color: var(--tc-blue-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .service-selector .divider {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .service-selector .domain-name {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .service-selector .price {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .faqs .border-line {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .wp-toolkit .faqs .faq-title {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.xovinow .btn-xovinow {
        color: var(--tc-ink);
        background-color: var(--tc-paper-2);
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.xovinow .feature-tabs .nav-tabs > li > a,
    html[data-tc-theme="dark"] .landing-page.xovinow .feature-tabs .nav-tabs > li > a:focus,
    html[data-tc-theme="dark"] .landing-page.xovinow .feature-tabs .nav-tabs > li > a:hover {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.xovinow .pricing .money-back {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.xovinow .pricing .money-back span {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.xovinow .pricing .plan-features {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.xovinow .pricing .plan .plan-name {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.xovinow .pricing .plan .plan-price {
        color: var(--tc-ink);
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.xovinow .pricing .plan-feature.row-highlight {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.xovinow .pricing .plan-feature i {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.nordvpn {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.nordvpn .hero {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.nordvpn .blue {
        color: var(--tc-blue-ink);
    }

    html[data-tc-theme="dark"] .landing-page.nordvpn .line-break {
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.nordvpn .hero .available .divider .line {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.nordvpn .feature.logo {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .keep-data-safe-card {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.nordvpn .feature.threat .threats-div .col-10 {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.nordvpn .comparison .col-12:nth-child(odd):not(:first-child):not(:last-child) {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.nordvpn .comparison .col-12 .col-2:nth-of-type(2) {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring h1,
    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring h2,
    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring h3,
    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .row-revenue {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .modal-results .modal-body,
    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .section-header,
    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .tab-website .section-monitoring {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .section-header {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .section-header .form-control {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .modal-results .div-modal-border {
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .nav-link {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .nav-primary .nav-link {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .nav-secondary .nav-link {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .nav-secondary .nav-link.active {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .section-features {
        background: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .row-revenue > div:first-child .row :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .row-revenue > div:first-child .row {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .div-pricing > div:nth-child(2) > div {
        border-top-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .div-pricing-container .div-feature-labels ul li:nth-child(2n+2) {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .div-pricing-container .div-feature-values ul li:nth-child(2n+2) {
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .div-feature-price {
        background-color: var(--tc-paper-3);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .section-faq .btn-link {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .section-faq .card-header {
        background-color: var(--tc-paper-2);
        border-bottom-color: var(--tc-line);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .background-gradient {
        background: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .hero-logo-container {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .pricing-card {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .cta-primary-button {
        background-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .cta-section--gradient .cta-primary-button {
        background-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .cta-secondary-button {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .cta-secondary-button:hover {
        background-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .table-wrapper {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .buy-row {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    /* Pages dynamiques : couleurs de l'éditeur passées en style en ligne par WHMCS */
    html[data-tc-theme="dark"] .dynamic-landing-page {
        --bg-color: var(--tc-paper) !important;
        --bg-light: var(--tc-paper-2) !important;
        --bg-dark: var(--tc-paper-3) !important;
        --text-color: var(--tc-ink) !important;
        --text-secondary: var(--tc-ink-soft) !important;
    }

    /* Menus des pages produit (barre « navbar-light » de Bootstrap) */
    html[data-tc-theme="dark"] .landing-page .navbar-light .navbar-nav .nav-link {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .landing-page .navbar-light .navbar-nav .active > .nav-link,
    html[data-tc-theme="dark"] .landing-page .navbar-light .navbar-nav .nav-link:hover {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .landing-page .navbar-light .navbar-toggler {
        border-color: var(--tc-line-strong);
        filter: invert(1);
    }

    /* 360 Monitoring : fonds illustrés clairs posés en style en ligne */
    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .section-header,
    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .section-monitoring,
    html[data-tc-theme="dark"] .landing-page.threesixtymonitoring .modal-body {
        background-image: none !important;
    }

    /* NordVPN : pictogrammes blancs que l'éditeur inverse pour son fond blanc ; logos « ils nous font confiance » */
    html[data-tc-theme="dark"] .landing-page.nordvpn .hero .available img {
        filter: none;
    }

    html[data-tc-theme="dark"] .landing-page .trusted-by img {
        opacity: .55;
    }

    /* SocialBee : feuille de style intégrée à store/socialbee/index.tpl */
    html[data-tc-theme="dark"] .social-bee {
        background: var(--tc-paper);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .social-bee .hero,
    html[data-tc-theme="dark"] .social-bee .hero h2,
    html[data-tc-theme="dark"] .social-bee .content-block h2,
    html[data-tc-theme="dark"] .social-bee .pricing__header h2,
    html[data-tc-theme="dark"] .social-bee .action-buttons button {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .social-bee .content-block.faq,
    html[data-tc-theme="dark"] .social-bee .features.wrapper {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] .social-bee .action-buttons,
    html[data-tc-theme="dark"] .social-bee .pricing-table__header-row,
    html[data-tc-theme="dark"] .social-bee .pricing-table__header-row.pricing-table__row:hover {
        background-color: var(--tc-paper-3);
    }

    html[data-tc-theme="dark"] .social-bee .action-buttons .active {
        border-color: var(--tc-line-strong);
        background-color: var(--tc-paper-2);
    }

    html[data-tc-theme="dark"] .social-bee .pricing-table__row:hover {
        background-color: rgba(255, 199, 0, .08);
    }

    html[data-tc-theme="dark"] .social-bee .pricing-table__icon--check {
        color: var(--tc-success);
    }

    html[data-tc-theme="dark"] .social-bee .pricing-table__icon--cross {
        color: var(--tc-danger);
    }

    html[data-tc-theme="dark"] .social-bee .content-block .content-block__text button,
    html[data-tc-theme="dark"] .social-bee .features.wrapper button,
    html[data-tc-theme="dark"] .social-bee .tab__close {
        color: #16130e;
    }

    /* Encarts MarketConnect : espace client, page produit, panier */
    html[data-tc-theme="dark"] .mc-promo-manage,

    html[data-tc-theme="dark"] .mc-promo-login {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .promo-container {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .promo-banner {
        background-color: var(--tc-paper-2);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .promo-banner.spamexperts .btn :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .promo-banner.spamexperts .btn {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .promo-banner.sitelock .btn :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .promo-banner.sitelock .btn {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .promo-banner.codeguard .btn :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .promo-banner.codeguard .btn {
        color: #16130e;
    }

    html[data-tc-theme="dark"] .promo-banner.ox a {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] .promo-banner.xovinow a {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .view-ticket .mc-promo-manage .content,

    html[data-tc-theme="dark"] .mc-promo-manage .view-ticket .content,

    html[data-tc-theme="dark"] .view-ticket .mc-promo-login .content,

    html[data-tc-theme="dark"] .mc-promo-login .view-ticket .content {
        border-bottom-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] #order-standard_cart .addon-promo-container {
        border-color: var(--tc-line);
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo {
        background-color: var(--tc-paper-2);
        border-color: var(--tc-line);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo .body {
        border-top-color: var(--tc-line);
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo .arrow :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo .arrow {
        color: #16130e;
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.weebly .expander,

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.weebly .price {
        color: var(--tc-ink-soft);
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.spamexperts .btn-add :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.spamexperts .btn-add {
        color: #16130e;
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.sitelock .btn-add :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.sitelock .btn-add {
        color: #16130e;
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.sitelock .arrow :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.sitelock .arrow {
        color: #16130e;
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.sitelockvpn .expander,

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.sitelockvpn .price {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.nordvpn .expander,

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.nordvpn .price {
        color: var(--tc-blue-ink);
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.marketgoo .expander,

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.marketgoo .price {
        color: var(--tc-blue-ink);
    }

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.xovinow .expander,

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.xovinow .fa-check,

    html[data-tc-theme="dark"] #order-standard_cart .mc-promo.xovinow .price {
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .product-recommendations .product-recommendation {
        background-color: var(--tc-paper-2);
        border-color: var(--tc-line);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .product-recommendations .product-recommendation .body {
        border-top-color: var(--tc-line);
        background-color: var(--tc-paper-3);
        color: var(--tc-ink);
    }

    html[data-tc-theme="dark"] .product-recommendations .product-recommendation .arrow :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3) {
        color: inherit;
    }

    html[data-tc-theme="dark"] .product-recommendations .product-recommendation .arrow {
        color: #16130e;
    }

    /* Images des éditeurs. Logos et pictogrammes à l'encre noire ou sur fond blanc : luminosité inversée,
       teintes conservées. Illustrations à traits sombres : fond clair discret. Captures d'écran : atténuées. */
    html[data-tc-theme="dark"] img[src*="codeguard/logo"],
    html[data-tc-theme="dark"] img[src*="sitelock/logo"],
    html[data-tc-theme="dark"] img[src*="sitebuilder/logo"],
    html[data-tc-theme="dark"] img[src*="sitebuilder/header-img"],
    html[data-tc-theme="dark"] img[src*="sitebuilder/icons/"],
    html[data-tc-theme="dark"] img[src*="threesixtymonitoring/logo"],
    html[data-tc-theme="dark"] img[src*="threesixtymonitoring/app_"],
    html[data-tc-theme="dark"] img[src*="nordvpn/vpn-"],
    html[data-tc-theme="dark"] img[src*="nordvpn/icon-"],
    html[data-tc-theme="dark"] img[src*="ox/icon-dark-"],
    html[data-tc-theme="dark"] img[src*="socialbee/"],
    html[data-tc-theme="dark"] img[src*="symantec/card-"],
    html[data-tc-theme="dark"] img[src*="symantec/padlock-x"],
    html[data-tc-theme="dark"] img[src*="symantec/multi-year-flow"],
    html[data-tc-theme="dark"] img[src*="symantec/safety-icon"],
    html[data-tc-theme="dark"] img[src*="wp-toolkit/plesk"],
    html[data-tc-theme="dark"] img[src*="img/payment/troy"],
    html[data-tc-theme="dark"] img[src*="symantec/rapidssl-logo"],
    html[data-tc-theme="dark"] img[src*="symantec/geotrust-logo"],
    html[data-tc-theme="dark"] img[src*="symantec/symantec-logo"],
    html[data-tc-theme="dark"] img[src*="spamexperts/logo"],
    html[data-tc-theme="dark"] img[src*="xovinow/logo.png"] {
        filter: invert(1) hue-rotate(180deg);
    }

    /* Pictogrammes sur fond blanc : une fois inversé, ce fond devient noir ; le mode « screen » l'efface. */
    html[data-tc-theme="dark"] img[src*="socialbee/"],
    html[data-tc-theme="dark"] img[src*="symantec/card-"],
    html[data-tc-theme="dark"] img[src*="symantec/padlock-x"],
    html[data-tc-theme="dark"] img[src*="symantec/multi-year-flow"],
    html[data-tc-theme="dark"] img[src*="symantec/safety-icon"] {
        mix-blend-mode: screen;
    }

    html[data-tc-theme="dark"] img[src*="sitebuilder/journey-builder"],
    html[data-tc-theme="dark"] img[src*="wp-toolkit/screen-04"] {
        padding: 10px;
        border-radius: var(--tc-radius-card);
        background-color: rgba(243, 238, 229, .9);
    }

    html[data-tc-theme="dark"] img[src*="weebly/dragdropeditor"],
    html[data-tc-theme="dark"] img[src*="nordvpn/img-"],
    html[data-tc-theme="dark"] img[src*="nordvpn/fast-vpn"],
    html[data-tc-theme="dark"] img[src*="nordvpn/vulnerability-detection"],
    html[data-tc-theme="dark"] img[src*="nordvpn/ad-blocker"],
    html[data-tc-theme="dark"] img[src*="marketgoo/1-"],
    html[data-tc-theme="dark"] img[src*="marketgoo/2-"],
    html[data-tc-theme="dark"] img[src*="marketgoo/3-"],
    html[data-tc-theme="dark"] img[src*="marketgoo/4-"],
    html[data-tc-theme="dark"] img[src*="marketgoo/5-"],
    html[data-tc-theme="dark"] img[src*="marketgoo/6-"],
    html[data-tc-theme="dark"] img[src*="xovinow/screenshots/"],
    html[data-tc-theme="dark"] img[src*="xovinow/faq-"],
    html[data-tc-theme="dark"] img[src*="marketgoo/user-testimonial"],
    html[data-tc-theme="dark"] img[src*="sitejet/preview_placeholder"],
    html[data-tc-theme="dark"] img[src*="symantec/browser-warning"],
    html[data-tc-theme="dark"] .dynamic-landing-page .showcase-image img {
        border-radius: 10px;
        filter: brightness(.88);
    }

}
