/* Fichier généré, ne pas éditer à la main. */

/* ═══ commercify_theme_tokens.css ═══ */
/* Fichier généré, ne pas éditer à la main. */

:root {
    --cfy-hr-ph-hover: rgba(255, 255, 255, 0.045);
    --cfy-hr-edge: 20px;
    --cfy-hr-edge-end: var(--cfy-header-edge-offset, 10px);
}

:root {  /* défaut = Or, mode clair (lumineux) */
    --cfy-hr-hd-bg: linear-gradient(135deg, #844b00 0%, #753e00 55%, #5c2b00 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #bba889;
    --cfy-hr-accent: #fac92b;
    --cfy-hr-accent-hi: #ffe49d;
    --cfy-hr-accent-lo: #deb000;
    --cfy-hr-accent-rgb: 250, 201, 43;
    --cfy-hr-on-accent: #1c1202;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #361100;
    --cfy-hr-ph-bg-2: #411902;
    --cfy-hr-ph-line: #4f280d;
    --cfy-hr-ph-line-2: #5d3619;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #80735d;
    --cfy-hr-panel-bg: #361100;
    --cfy-hr-tile-bg: #411902;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #f7c524;
    --cfy-hr-flat-hi: #ffdc7f;
    --cfy-hr-flat-lo: #f7c524;
    --cfy-hr-flat-rgb: 247, 197, 36;
    --cfy-hr-on-flat: #1c1202;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode, html.cfy-root-dark {  /* défaut = Or, mode sombre (profond) */
    --cfy-hr-hd-bg: #000000;
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #2e2e2e;
    --cfy-hr-ink-2: #e8ddca;
    --cfy-hr-hd-ink-3: #bba889;
    --cfy-hr-accent: #f5c31c;
    --cfy-hr-accent-hi: #ffdd84;
    --cfy-hr-accent-lo: #d8aa00;
    --cfy-hr-accent-rgb: 245, 195, 28;
    --cfy-hr-on-accent: #1c1202;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #0b0b0c;
    --cfy-hr-ph-bg-2: #141416;
    --cfy-hr-ph-line: #232227;
    --cfy-hr-ph-line-2: #2e2d33;
    --cfy-hr-ink: #fbf6ee;
    --cfy-hr-ink-muted: #e1d4bf;
    --cfy-hr-ink-faint: #80735d;
    --cfy-hr-panel-bg: #0b0b0c;
    --cfy-hr-tile-bg: #141416;
    --cfy-hr-accent-text: #ffd974;
    --cfy-hr-flat: #f7c520;
    --cfy-hr-flat-hi: #ffdc7e;
    --cfy-hr-flat-lo: #f7c520;
    --cfy-hr-flat-rgb: 247, 197, 32;
    --cfy-hr-on-flat: #1c1202;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Or --- */

body.cfy-ht-gold, html.cfy-root-ht-gold {
    --cfy-hr-hd-bg: linear-gradient(135deg, #844b00 0%, #753e00 55%, #5c2b00 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #bba889;
    --cfy-hr-accent: #fac92b;
    --cfy-hr-accent-hi: #ffe49d;
    --cfy-hr-accent-lo: #deb000;
    --cfy-hr-accent-rgb: 250, 201, 43;
    --cfy-hr-on-accent: #1c1202;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #361100;
    --cfy-hr-ph-bg-2: #411902;
    --cfy-hr-ph-line: #4f280d;
    --cfy-hr-ph-line-2: #5d3619;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #80735d;
    --cfy-hr-panel-bg: #361100;
    --cfy-hr-tile-bg: #411902;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #f7c524;
    --cfy-hr-flat-hi: #ffdc7f;
    --cfy-hr-flat-lo: #f7c524;
    --cfy-hr-flat-rgb: 247, 197, 36;
    --cfy-hr-on-flat: #1c1202;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-gold, html.cfy-root-dark.cfy-root-ht-gold {
    --cfy-hr-hd-bg: #000000;
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #2e2e2e;
    --cfy-hr-ink-2: #e8ddca;
    --cfy-hr-hd-ink-3: #bba889;
    --cfy-hr-accent: #f5c31c;
    --cfy-hr-accent-hi: #ffdd84;
    --cfy-hr-accent-lo: #d8aa00;
    --cfy-hr-accent-rgb: 245, 195, 28;
    --cfy-hr-on-accent: #1c1202;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #0b0b0c;
    --cfy-hr-ph-bg-2: #141416;
    --cfy-hr-ph-line: #232227;
    --cfy-hr-ph-line-2: #2e2d33;
    --cfy-hr-ink: #fbf6ee;
    --cfy-hr-ink-muted: #e1d4bf;
    --cfy-hr-ink-faint: #80735d;
    --cfy-hr-panel-bg: #0b0b0c;
    --cfy-hr-tile-bg: #141416;
    --cfy-hr-accent-text: #ffd974;
    --cfy-hr-flat: #f7c520;
    --cfy-hr-flat-hi: #ffdc7e;
    --cfy-hr-flat-lo: #f7c520;
    --cfy-hr-flat-rgb: 247, 197, 32;
    --cfy-hr-on-flat: #1c1202;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Orange --- */

body.cfy-ht-orange, html.cfy-root-ht-orange {
    --cfy-hr-hd-bg: linear-gradient(135deg, #973d00 0%, #833400 55%, #642600 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #fff7f3;
    --cfy-hr-hd-ink-3: #c6a292;
    --cfy-hr-accent: #ffc29e;
    --cfy-hr-accent-hi: #ffe1d0;
    --cfy-hr-accent-lo: #e4a985;
    --cfy-hr-accent-rgb: 255, 194, 158;
    --cfy-hr-on-accent: #210e06;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #361100;
    --cfy-hr-ph-bg-2: #411904;
    --cfy-hr-ph-line: #512712;
    --cfy-hr-ph-line-2: #5f341f;
    --cfy-hr-ink: #fff8f5;
    --cfy-hr-ink-muted: #fff2ec;
    --cfy-hr-ink-faint: #876e63;
    --cfy-hr-panel-bg: #361100;
    --cfy-hr-tile-bg: #411904;
    --cfy-hr-accent-text: #fff7f2;
    --cfy-hr-flat: #ffbd96;
    --cfy-hr-flat-hi: #ffd8c2;
    --cfy-hr-flat-lo: #ffbd96;
    --cfy-hr-flat-rgb: 255, 189, 150;
    --cfy-hr-on-flat: #210e06;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-orange, html.cfy-root-dark.cfy-root-ht-orange {
    --cfy-hr-hd-bg: linear-gradient(180deg, #3a1200 0%, #270900 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #41261a;
    --cfy-hr-ink-2: #efd9cf;
    --cfy-hr-hd-ink-3: #c6a292;
    --cfy-hr-accent: #ff7f11;
    --cfy-hr-accent-hi: #ffa56e;
    --cfy-hr-accent-lo: #dc6b00;
    --cfy-hr-accent-rgb: 255, 127, 17;
    --cfy-hr-on-accent: #210e06;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1d0700;
    --cfy-hr-ph-bg-2: #260e04;
    --cfy-hr-ph-line: #361d11;
    --cfy-hr-ph-line-2: #42281b;
    --cfy-hr-ink: #fef4f0;
    --cfy-hr-ink-muted: #e9d0c5;
    --cfy-hr-ink-faint: #876e63;
    --cfy-hr-panel-bg: #1d0700;
    --cfy-hr-tile-bg: #260e04;
    --cfy-hr-accent-text: #ffd6bf;
    --cfy-hr-flat: #b95900;
    --cfy-hr-flat-hi: #b45d1a;
    --cfy-hr-flat-lo: #9b4900;
    --cfy-hr-flat-rgb: 185, 89, 0;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Bleu --- */

body.cfy-ht-blue, html.cfy-root-ht-blue {
    --cfy-hr-hd-bg: linear-gradient(135deg, #1c45db 0%, #1334cb 55%, #0919ab 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #eef3ff;
    --cfy-hr-hd-ink-3: #9cabca;
    --cfy-hr-accent: #b7cdff;
    --cfy-hr-accent-hi: #d8e4ff;
    --cfy-hr-accent-lo: #9eb3e4;
    --cfy-hr-accent-rgb: 183, 205, 255;
    --cfy-hr-on-accent: #0c1323;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #0e1b3f;
    --cfy-hr-ph-bg-2: #162448;
    --cfy-hr-ph-line: #233258;
    --cfy-hr-ph-line-2: #2f4066;
    --cfy-hr-ink: #f3f7ff;
    --cfy-hr-ink-muted: #e4edff;
    --cfy-hr-ink-faint: #6a748a;
    --cfy-hr-panel-bg: #0e1b3f;
    --cfy-hr-tile-bg: #162448;
    --cfy-hr-accent-text: #eef3ff;
    --cfy-hr-flat: #b5ccff;
    --cfy-hr-flat-hi: #d2e0ff;
    --cfy-hr-flat-lo: #b5ccff;
    --cfy-hr-flat-rgb: 181, 204, 255;
    --cfy-hr-on-flat: #0c1323;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-blue, html.cfy-root-dark.cfy-root-ht-blue {
    --cfy-hr-hd-bg: linear-gradient(180deg, #071854 0%, #010744 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #232d45;
    --cfy-hr-ink-2: #d5def1;
    --cfy-hr-hd-ink-3: #9cabca;
    --cfy-hr-accent: #6d96ff;
    --cfy-hr-accent-hi: #8eafff;
    --cfy-hr-accent-lo: #567de3;
    --cfy-hr-accent-rgb: 109, 150, 255;
    --cfy-hr-on-accent: #0c1323;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #060d22;
    --cfy-hr-ph-bg-2: #0c152a;
    --cfy-hr-ph-line: #19233a;
    --cfy-hr-ph-line-2: #242e46;
    --cfy-hr-ink: #f3f7ff;
    --cfy-hr-ink-muted: #c8d3e8;
    --cfy-hr-ink-faint: #6a748a;
    --cfy-hr-panel-bg: #060d22;
    --cfy-hr-tile-bg: #0c152a;
    --cfy-hr-accent-text: #cbdbff;
    --cfy-hr-flat: #3f6bed;
    --cfy-hr-flat-hi: #446de4;
    --cfy-hr-flat-lo: #2d54d5;
    --cfy-hr-flat-rgb: 63, 107, 237;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Émeraude --- */

body.cfy-ht-emerald, html.cfy-root-ht-emerald {
    --cfy-hr-hd-bg: linear-gradient(135deg, #006547 0%, #00573c 55%, #00402b 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #edfff6;
    --cfy-hr-hd-ink-3: #90b5a3;
    --cfy-hr-accent: #1eeaa0;
    --cfy-hr-accent-hi: #71fdbc;
    --cfy-hr-accent-lo: #00cd8a;
    --cfy-hr-accent-rgb: 30, 234, 160;
    --cfy-hr-on-accent: #03190f;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #002517;
    --cfy-hr-ph-bg-2: #002f1f;
    --cfy-hr-ph-line: #003f2a;
    --cfy-hr-ph-line-2: #134c37;
    --cfy-hr-ink: #f3fcf8;
    --cfy-hr-ink-muted: #e8fff4;
    --cfy-hr-ink-faint: #617b6f;
    --cfy-hr-panel-bg: #002517;
    --cfy-hr-tile-bg: #002f1f;
    --cfy-hr-accent-text: #eefff5;
    --cfy-hr-flat: #19e89f;
    --cfy-hr-flat-hi: #5bfab5;
    --cfy-hr-flat-lo: #19e89f;
    --cfy-hr-flat-rgb: 25, 232, 159;
    --cfy-hr-on-flat: #03190f;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-emerald, html.cfy-root-dark.cfy-root-ht-emerald {
    --cfy-hr-hd-bg: linear-gradient(180deg, #002819 0%, #00190f 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #153528;
    --cfy-hr-ink-2: #d0e6db;
    --cfy-hr-hd-ink-3: #90b5a3;
    --cfy-hr-accent: #1fcb8b;
    --cfy-hr-accent-hi: #65dea6;
    --cfy-hr-accent-lo: #00af76;
    --cfy-hr-accent-rgb: 31, 203, 139;
    --cfy-hr-on-accent: #03190f;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #00130a;
    --cfy-hr-ph-bg-2: #001c11;
    --cfy-hr-ph-line: #0a2b1e;
    --cfy-hr-ph-line-2: #173629;
    --cfy-hr-ink: #f0f9f5;
    --cfy-hr-ink-muted: #c5dfd2;
    --cfy-hr-ink-faint: #617b6f;
    --cfy-hr-panel-bg: #00130a;
    --cfy-hr-tile-bg: #001c11;
    --cfy-hr-accent-text: #63fab7;
    --cfy-hr-flat: #4ae6a4;
    --cfy-hr-flat-hi: #72f8ba;
    --cfy-hr-flat-lo: #4ae6a4;
    --cfy-hr-flat-rgb: 74, 230, 164;
    --cfy-hr-on-flat: #03190f;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Rubis --- */

body.cfy-ht-ruby, html.cfy-root-ht-ruby {
    --cfy-hr-hd-bg: linear-gradient(135deg, #ad103b 0%, #990031 55%, #760024 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffeff0;
    --cfy-hr-hd-ink-3: #c79fa1;
    --cfy-hr-accent: #ffbdc1;
    --cfy-hr-accent-hi: #ffdfe0;
    --cfy-hr-accent-lo: #e4a4a8;
    --cfy-hr-accent-rgb: 255, 189, 193;
    --cfy-hr-on-accent: #210d0f;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #380c13;
    --cfy-hr-ph-bg-2: #42151b;
    --cfy-hr-ph-line: #522329;
    --cfy-hr-ph-line-2: #613035;
    --cfy-hr-ink: #fff4f4;
    --cfy-hr-ink-muted: #ffe6e7;
    --cfy-hr-ink-faint: #886c6e;
    --cfy-hr-panel-bg: #380c13;
    --cfy-hr-tile-bg: #42151b;
    --cfy-hr-accent-text: #ffeff0;
    --cfy-hr-flat: #ffbabf;
    --cfy-hr-flat-hi: #ffd7d9;
    --cfy-hr-flat-lo: #ffbabf;
    --cfy-hr-flat-rgb: 255, 186, 191;
    --cfy-hr-on-flat: #210d0f;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-ruby, html.cfy-root-dark.cfy-root-ht-ruby {
    --cfy-hr-hd-bg: linear-gradient(180deg, #440011 0%, #2e0008 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #422427;
    --cfy-hr-ink-2: #f0d7d8;
    --cfy-hr-hd-ink-3: #c79fa1;
    --cfy-hr-accent: #ff657b;
    --cfy-hr-accent-hi: #ff929c;
    --cfy-hr-accent-lo: #e24a64;
    --cfy-hr-accent-rgb: 255, 101, 123;
    --cfy-hr-on-accent: #210d0f;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1e0508;
    --cfy-hr-ph-bg-2: #270c0f;
    --cfy-hr-ph-line: #371a1d;
    --cfy-hr-ph-line-2: #432528;
    --cfy-hr-ink: #fff4f4;
    --cfy-hr-ink-muted: #e9ccce;
    --cfy-hr-ink-faint: #886c6e;
    --cfy-hr-panel-bg: #1e0508;
    --cfy-hr-tile-bg: #270c0f;
    --cfy-hr-accent-text: #ffcfd2;
    --cfy-hr-flat: #df2352;
    --cfy-hr-flat-hi: #d83356;
    --cfy-hr-flat-lo: #c20041;
    --cfy-hr-flat-rgb: 223, 35, 82;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Améthyste --- */

body.cfy-ht-amethyst, html.cfy-root-ht-amethyst {
    --cfy-hr-hd-bg: linear-gradient(135deg, #7c23ca 0%, #6f06bb 55%, #560092 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #f7f3ff;
    --cfy-hr-hd-ink-3: #b0a4c5;
    --cfy-hr-accent: #ddc4ff;
    --cfy-hr-accent-hi: #eee2ff;
    --cfy-hr-accent-lo: #c3abe4;
    --cfy-hr-accent-rgb: 221, 196, 255;
    --cfy-hr-on-accent: #171021;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #251439;
    --cfy-hr-ph-bg-2: #2d1d42;
    --cfy-hr-ph-line: #3b2a52;
    --cfy-hr-ph-line-2: #483760;
    --cfy-hr-ink: #f8f5fe;
    --cfy-hr-ink-muted: #f1e9ff;
    --cfy-hr-ink-faint: #787087;
    --cfy-hr-panel-bg: #251439;
    --cfy-hr-tile-bg: #2d1d42;
    --cfy-hr-accent-text: #f8f3ff;
    --cfy-hr-flat: #dac0ff;
    --cfy-hr-flat-hi: #e8daff;
    --cfy-hr-flat-lo: #dac0ff;
    --cfy-hr-flat-rgb: 218, 192, 255;
    --cfy-hr-on-flat: #171021;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-amethyst, html.cfy-root-dark.cfy-root-ht-amethyst {
    --cfy-hr-hd-bg: linear-gradient(180deg, #2b0a4b 0%, #1d0038 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #322841;
    --cfy-hr-ink-2: #e1daee;
    --cfy-hr-hd-ink-3: #b0a4c5;
    --cfy-hr-accent: #b97bff;
    --cfy-hr-accent-hi: #c89dff;
    --cfy-hr-accent-lo: #a062e3;
    --cfy-hr-accent-rgb: 185, 123, 255;
    --cfy-hr-on-accent: #171021;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #12091e;
    --cfy-hr-ph-bg-2: #1a1027;
    --cfy-hr-ph-line: #281e36;
    --cfy-hr-ph-line-2: #332a42;
    --cfy-hr-ink: #f8f5fe;
    --cfy-hr-ink-muted: #d8d0e7;
    --cfy-hr-ink-faint: #787087;
    --cfy-hr-panel-bg: #12091e;
    --cfy-hr-tile-bg: #1a1027;
    --cfy-hr-accent-text: #e5d4ff;
    --cfy-hr-flat: #994fe1;
    --cfy-hr-flat-hi: #9755d9;
    --cfy-hr-flat-lo: #8437c9;
    --cfy-hr-flat-rgb: 153, 79, 225;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Lagon --- */

body.cfy-ht-lagoon, html.cfy-root-ht-lagoon {
    --cfy-hr-hd-bg: linear-gradient(135deg, #006270 0%, #005461 55%, #003e48 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #f1fcff;
    --cfy-hr-hd-ink-3: #88b3bd;
    --cfy-hr-accent: #26e3f9;
    --cfy-hr-accent-hi: #99f2ff;
    --cfy-hr-accent-lo: #00c7dc;
    --cfy-hr-accent-rgb: 38, 227, 249;
    --cfy-hr-on-accent: #00181d;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #002329;
    --cfy-hr-ph-bg-2: #002c34;
    --cfy-hr-ph-line: #003b45;
    --cfy-hr-ph-line-2: #004a55;
    --cfy-hr-ink: #f1fcfe;
    --cfy-hr-ink-muted: #edfcff;
    --cfy-hr-ink-faint: #5c7a81;
    --cfy-hr-panel-bg: #002329;
    --cfy-hr-tile-bg: #002c34;
    --cfy-hr-accent-text: #effdff;
    --cfy-hr-flat: #1ee0f6;
    --cfy-hr-flat-hi: #7eefff;
    --cfy-hr-flat-lo: #1ee0f6;
    --cfy-hr-flat-rgb: 30, 224, 246;
    --cfy-hr-on-flat: #00181d;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-lagoon, html.cfy-root-dark.cfy-root-ht-lagoon {
    --cfy-hr-hd-bg: linear-gradient(180deg, #00262c 0%, #00181d 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #0c343b;
    --cfy-hr-ink-2: #cce5eb;
    --cfy-hr-hd-ink-3: #88b3bd;
    --cfy-hr-accent: #19c3d6;
    --cfy-hr-accent-hi: #63d7e7;
    --cfy-hr-accent-lo: #00a8b9;
    --cfy-hr-accent-rgb: 25, 195, 214;
    --cfy-hr-on-accent: #00181d;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #001216;
    --cfy-hr-ph-bg-2: #001a1f;
    --cfy-hr-ph-line: #002a31;
    --cfy-hr-ph-line-2: #0d353c;
    --cfy-hr-ink: #eef9fb;
    --cfy-hr-ink-muted: #c1dee4;
    --cfy-hr-ink-faint: #5c7a81;
    --cfy-hr-panel-bg: #001216;
    --cfy-hr-tile-bg: #001a1f;
    --cfy-hr-accent-text: #89f0ff;
    --cfy-hr-flat: #49dff2;
    --cfy-hr-flat-hi: #81f0ff;
    --cfy-hr-flat-lo: #49dff2;
    --cfy-hr-flat-rgb: 73, 223, 242;
    --cfy-hr-on-flat: #00181d;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Graphite --- */

body.cfy-ht-graphite, html.cfy-root-ht-graphite {
    --cfy-hr-hd-bg: linear-gradient(135deg, #54585f 0%, #484c52 55%, #35383e 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #ababab;
    --cfy-hr-accent: #ffffff;
    --cfy-hr-accent-hi: #fcfcfc;
    --cfy-hr-accent-lo: #e4e4e4;
    --cfy-hr-accent-rgb: 255, 255, 255;
    --cfy-hr-on-accent: #0b1423;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1b1e24;
    --cfy-hr-ph-bg-2: #23272c;
    --cfy-hr-ph-line: #31343a;
    --cfy-hr-ph-line-2: #3e4148;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #747474;
    --cfy-hr-panel-bg: #1b1e24;
    --cfy-hr-tile-bg: #23272c;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #ffffff;
    --cfy-hr-flat-hi: #ffffff;
    --cfy-hr-flat-lo: #e8e8e8;
    --cfy-hr-flat-rgb: 255, 255, 255;
    --cfy-hr-on-flat: #0b1423;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-graphite, html.cfy-root-dark.cfy-root-ht-graphite {
    --cfy-hr-hd-bg: linear-gradient(180deg, #1f2022 0%, #131416 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #2d2e30;
    --cfy-hr-ink-2: #e6e6e6;
    --cfy-hr-hd-ink-3: #ababab;
    --cfy-hr-accent: #e6e9ee;
    --cfy-hr-accent-hi: #fafcff;
    --cfy-hr-accent-lo: #cccfd4;
    --cfy-hr-accent-rgb: 230, 233, 238;
    --cfy-hr-on-accent: #0b1423;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #0d0e10;
    --cfy-hr-ph-bg-2: #151618;
    --cfy-hr-ph-line: #232426;
    --cfy-hr-ph-line-2: #2e2f31;
    --cfy-hr-ink: #f7f7f7;
    --cfy-hr-ink-muted: #dedede;
    --cfy-hr-ink-faint: #747474;
    --cfy-hr-panel-bg: #0d0e10;
    --cfy-hr-tile-bg: #151618;
    --cfy-hr-accent-text: #e6e9ee;
    --cfy-hr-flat: #e6e9ee;
    --cfy-hr-flat-hi: #fcfdff;
    --cfy-hr-flat-lo: #cfd2d7;
    --cfy-hr-flat-rgb: 230, 233, 238;
    --cfy-hr-on-flat: #0b1423;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Marine & Corail --- */

body.cfy-ht-navy-coral, html.cfy-root-ht-navy-coral {
    --cfy-hr-hd-bg: linear-gradient(135deg, #3054ac 0%, #25479d 55%, #143281 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #f0f5ff;
    --cfy-hr-hd-ink-3: #9cabca;
    --cfy-hr-accent: #ffc0b6;
    --cfy-hr-accent-hi: #ffe1dc;
    --cfy-hr-accent-lo: #e4a79d;
    --cfy-hr-accent-rgb: 255, 192, 182;
    --cfy-hr-on-accent: #0c1323;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #0d1c3f;
    --cfy-hr-ph-bg-2: #152448;
    --cfy-hr-ph-line: #223358;
    --cfy-hr-ph-line-2: #2e4066;
    --cfy-hr-ink: #f3f7ff;
    --cfy-hr-ink-muted: #e6eeff;
    --cfy-hr-ink-faint: #6a758a;
    --cfy-hr-panel-bg: #0d1c3f;
    --cfy-hr-tile-bg: #152448;
    --cfy-hr-accent-text: #fff3f1;
    --cfy-hr-flat: #ca4a3f;
    --cfy-hr-flat-hi: #c55045;
    --cfy-hr-flat-lo: #b2332a;
    --cfy-hr-flat-rgb: 202, 74, 63;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-navy-coral, html.cfy-root-dark.cfy-root-ht-navy-coral {
    --cfy-hr-hd-bg: linear-gradient(180deg, #051954 0%, #010844 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #222d45;
    --cfy-hr-ink-2: #d5def1;
    --cfy-hr-hd-ink-3: #9cabca;
    --cfy-hr-accent: #ff7a6b;
    --cfy-hr-accent-hi: #ffa295;
    --cfy-hr-accent-lo: #e36053;
    --cfy-hr-accent-rgb: 255, 122, 107;
    --cfy-hr-on-accent: #0c1323;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #050d22;
    --cfy-hr-ph-bg-2: #0c152a;
    --cfy-hr-ph-line: #19233a;
    --cfy-hr-ph-line-2: #242f46;
    --cfy-hr-ink: #f3f7ff;
    --cfy-hr-ink-muted: #c8d3e8;
    --cfy-hr-ink-faint: #6a758a;
    --cfy-hr-panel-bg: #050d22;
    --cfy-hr-tile-bg: #0c152a;
    --cfy-hr-accent-text: #ffd0c9;
    --cfy-hr-flat: #ca4a3f;
    --cfy-hr-flat-hi: #c55045;
    --cfy-hr-flat-lo: #b2332a;
    --cfy-hr-flat-rgb: 202, 74, 63;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Bordeaux & Champagne --- */

body.cfy-ht-bordeaux-champagne, html.cfy-root-ht-bordeaux-champagne {
    --cfy-hr-hd-bg: linear-gradient(135deg, #9a3350 0%, #8b2544 55%, #710f31 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #fffdfd;
    --cfy-hr-hd-ink-3: #c79fa5;
    --cfy-hr-accent: #ebcb7a;
    --cfy-hr-accent-hi: #fee39f;
    --cfy-hr-accent-lo: #d1b161;
    --cfy-hr-accent-rgb: 235, 203, 122;
    --cfy-hr-on-accent: #210d11;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #380c18;
    --cfy-hr-ph-bg-2: #411520;
    --cfy-hr-ph-line: #51232e;
    --cfy-hr-ph-line-2: #60303a;
    --cfy-hr-ink: #fffdfd;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #886c71;
    --cfy-hr-panel-bg: #380c18;
    --cfy-hr-tile-bg: #411520;
    --cfy-hr-accent-text: #fffefc;
    --cfy-hr-flat: #ebcb7a;
    --cfy-hr-flat-hi: #fddf95;
    --cfy-hr-flat-lo: #e8c877;
    --cfy-hr-flat-rgb: 235, 203, 122;
    --cfy-hr-on-flat: #210d11;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-bordeaux-champagne, html.cfy-root-dark.cfy-root-ht-bordeaux-champagne {
    --cfy-hr-hd-bg: linear-gradient(180deg, #430018 0%, #2d000e 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #41242a;
    --cfy-hr-ink-2: #f2d9dd;
    --cfy-hr-hd-ink-3: #c79fa5;
    --cfy-hr-accent: #ebcb7a;
    --cfy-hr-accent-hi: #fee39f;
    --cfy-hr-accent-lo: #d1b161;
    --cfy-hr-accent-rgb: 235, 203, 122;
    --cfy-hr-on-accent: #210d11;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1e050b;
    --cfy-hr-ph-bg-2: #260c12;
    --cfy-hr-ph-line: #361a20;
    --cfy-hr-ph-line-2: #42252b;
    --cfy-hr-ink: #fff4f5;
    --cfy-hr-ink-muted: #edd1d5;
    --cfy-hr-ink-faint: #886c71;
    --cfy-hr-panel-bg: #1e050b;
    --cfy-hr-tile-bg: #260c12;
    --cfy-hr-accent-text: #fddd8c;
    --cfy-hr-flat: #ebcb7a;
    --cfy-hr-flat-hi: #fddf95;
    --cfy-hr-flat-lo: #e8c877;
    --cfy-hr-flat-rgb: 235, 203, 122;
    --cfy-hr-on-flat: #210d11;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Forêt & Citron --- */

body.cfy-ht-forest-lemon, html.cfy-root-ht-forest-lemon {
    --cfy-hr-hd-bg: linear-gradient(135deg, #0b6636 0%, #00582c 55%, #00411f 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #95b49d;
    --cfy-hr-accent: #eef25a;
    --cfy-hr-accent-hi: #fdffdf;
    --cfy-hr-accent-lo: #d4d739;
    --cfy-hr-accent-rgb: 238, 242, 90;
    --cfy-hr-on-accent: #06180c;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #00260f;
    --cfy-hr-ph-bg-2: #003015;
    --cfy-hr-ph-line: #103e22;
    --cfy-hr-ph-line-2: #1f4c2f;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #657b6b;
    --cfy-hr-panel-bg: #00260f;
    --cfy-hr-tile-bg: #003015;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #eef25a;
    --cfy-hr-flat-hi: #fdffe2;
    --cfy-hr-flat-lo: #d7db3d;
    --cfy-hr-flat-rgb: 238, 242, 90;
    --cfy-hr-on-flat: #06180c;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-forest-lemon, html.cfy-root-dark.cfy-root-ht-forest-lemon {
    --cfy-hr-hd-bg: linear-gradient(180deg, #002911 0%, #001a08 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #1b3423;
    --cfy-hr-ink-2: #d9ecdd;
    --cfy-hr-hd-ink-3: #95b49d;
    --cfy-hr-accent: #eef25a;
    --cfy-hr-accent-hi: #fdffdf;
    --cfy-hr-accent-lo: #d4d739;
    --cfy-hr-accent-rgb: 238, 242, 90;
    --cfy-hr-on-accent: #06180c;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #001305;
    --cfy-hr-ph-bg-2: #031c0c;
    --cfy-hr-ph-line: #112a19;
    --cfy-hr-ph-line-2: #1c3624;
    --cfy-hr-ink: #f1f9f3;
    --cfy-hr-ink-muted: #cee4d5;
    --cfy-hr-ink-faint: #657b6b;
    --cfy-hr-panel-bg: #001305;
    --cfy-hr-tile-bg: #031c0c;
    --cfy-hr-accent-text: #eef25a;
    --cfy-hr-flat: #eef25a;
    --cfy-hr-flat-hi: #fdffe2;
    --cfy-hr-flat-lo: #d7db3d;
    --cfy-hr-flat-rgb: 238, 242, 90;
    --cfy-hr-on-flat: #06180c;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Aubergine & Menthe --- */

body.cfy-ht-aubergine-mint, html.cfy-root-ht-aubergine-mint {
    --cfy-hr-hd-bg: linear-gradient(135deg, #7c3e94 0%, #6f3086 55%, #581c6d 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #b7a2c0;
    --cfy-hr-accent: #7ff2c8;
    --cfy-hr-accent-hi: #c2ffe6;
    --cfy-hr-accent-lo: #63d7af;
    --cfy-hr-accent-rgb: 127, 242, 200;
    --cfy-hr-on-accent: #1a0f1e;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #2a1134;
    --cfy-hr-ph-bg-2: #331a3d;
    --cfy-hr-ph-line: #42284c;
    --cfy-hr-ph-line-2: #4f355a;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #7d6e83;
    --cfy-hr-panel-bg: #2a1134;
    --cfy-hr-tile-bg: #331a3d;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #7ff2c8;
    --cfy-hr-flat-hi: #b3ffe0;
    --cfy-hr-flat-lo: #6ee1b8;
    --cfy-hr-flat-rgb: 127, 242, 200;
    --cfy-hr-on-flat: #1a0f1e;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-aubergine-mint, html.cfy-root-dark.cfy-root-ht-aubergine-mint {
    --cfy-hr-hd-bg: linear-gradient(180deg, #330543 0%, #23002f 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #37273d;
    --cfy-hr-ink-2: #e7dbed;
    --cfy-hr-hd-ink-3: #b7a2c0;
    --cfy-hr-accent: #7ff2c8;
    --cfy-hr-accent-hi: #c2ffe6;
    --cfy-hr-accent-lo: #63d7af;
    --cfy-hr-accent-rgb: 127, 242, 200;
    --cfy-hr-on-accent: #1a0f1e;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #16071b;
    --cfy-hr-ph-bg-2: #1e0f24;
    --cfy-hr-ph-line: #2c1d33;
    --cfy-hr-ph-line-2: #38283e;
    --cfy-hr-ink: #faf4fc;
    --cfy-hr-ink-muted: #e1d3e8;
    --cfy-hr-ink-faint: #7d6e83;
    --cfy-hr-panel-bg: #16071b;
    --cfy-hr-tile-bg: #1e0f24;
    --cfy-hr-accent-text: #81f4ca;
    --cfy-hr-flat: #7ff2c8;
    --cfy-hr-flat-hi: #b3ffe0;
    --cfy-hr-flat-lo: #6ee1b8;
    --cfy-hr-flat-rgb: 127, 242, 200;
    --cfy-hr-on-flat: #1a0f1e;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Pétrole & Pêche --- */

body.cfy-ht-petrol-peach, html.cfy-root-ht-petrol-peach {
    --cfy-hr-hd-bg: linear-gradient(135deg, #17616d 0%, #005460 55%, #003e48 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #f1fcff;
    --cfy-hr-hd-ink-3: #88b4bc;
    --cfy-hr-accent: #ffc1a0;
    --cfy-hr-accent-hi: #ffe1d1;
    --cfy-hr-accent-lo: #e4a887;
    --cfy-hr-accent-rgb: 255, 193, 160;
    --cfy-hr-on-accent: #00181c;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #002329;
    --cfy-hr-ph-bg-2: #002c33;
    --cfy-hr-ph-line: #003c44;
    --cfy-hr-ph-line-2: #004a55;
    --cfy-hr-ink: #f1fcfe;
    --cfy-hr-ink-muted: #f2fdff;
    --cfy-hr-ink-faint: #5c7b81;
    --cfy-hr-panel-bg: #002329;
    --cfy-hr-tile-bg: #002c33;
    --cfy-hr-accent-text: #fffaf8;
    --cfy-hr-flat: #ffbd99;
    --cfy-hr-flat-hi: #ffd8c4;
    --cfy-hr-flat-lo: #ffbd99;
    --cfy-hr-flat-rgb: 255, 189, 153;
    --cfy-hr-on-flat: #00181c;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-petrol-peach, html.cfy-root-dark.cfy-root-ht-petrol-peach {
    --cfy-hr-hd-bg: linear-gradient(180deg, #00262c 0%, #00181c 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #0b343b;
    --cfy-hr-ink-2: #cce5eb;
    --cfy-hr-hd-ink-3: #88b4bc;
    --cfy-hr-accent: #ffb38a;
    --cfy-hr-accent-hi: #ffd3bd;
    --cfy-hr-accent-lo: #e49a71;
    --cfy-hr-accent-rgb: 255, 179, 138;
    --cfy-hr-on-accent: #00181c;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #001215;
    --cfy-hr-ph-bg-2: #001a1f;
    --cfy-hr-ph-line: #002a30;
    --cfy-hr-ph-line-2: #0d353c;
    --cfy-hr-ink: #eef9fb;
    --cfy-hr-ink-muted: #c1dee4;
    --cfy-hr-ink-faint: #5c7b81;
    --cfy-hr-panel-bg: #001215;
    --cfy-hr-tile-bg: #001a1f;
    --cfy-hr-accent-text: #ffdac7;
    --cfy-hr-flat: #ffbd99;
    --cfy-hr-flat-hi: #ffd8c4;
    --cfy-hr-flat-lo: #ffbd99;
    --cfy-hr-flat-rgb: 255, 189, 153;
    --cfy-hr-on-flat: #00181c;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Cacao & Turquoise --- */

body.cfy-ht-cocoa-turquoise, html.cfy-root-ht-cocoa-turquoise {
    --cfy-hr-hd-bg: linear-gradient(135deg, #7e4d31 0%, #714024 55%, #592d12 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #fffbf8;
    --cfy-hr-hd-ink-3: #c5a391;
    --cfy-hr-accent: #48e7d6;
    --cfy-hr-accent-hi: #82fbeb;
    --cfy-hr-accent-lo: #18cdbc;
    --cfy-hr-accent-rgb: 72, 231, 214;
    --cfy-hr-on-accent: #200f05;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #351300;
    --cfy-hr-ph-bg-2: #401a01;
    --cfy-hr-ph-line: #50280f;
    --cfy-hr-ph-line-2: #5e351d;
    --cfy-hr-ink: #fffbf9;
    --cfy-hr-ink-muted: #fffbf9;
    --cfy-hr-ink-faint: #876f62;
    --cfy-hr-panel-bg: #351300;
    --cfy-hr-tile-bg: #401a01;
    --cfy-hr-accent-text: #effffc;
    --cfy-hr-flat: #41e2d2;
    --cfy-hr-flat-hi: #6cf4e5;
    --cfy-hr-flat-lo: #41e2d2;
    --cfy-hr-flat-rgb: 65, 226, 210;
    --cfy-hr-on-flat: #200f05;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-cocoa-turquoise, html.cfy-root-dark.cfy-root-ht-cocoa-turquoise {
    --cfy-hr-hd-bg: linear-gradient(180deg, #381400 0%, #250b00 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #402719;
    --cfy-hr-ink-2: #f0dbd0;
    --cfy-hr-hd-ink-3: #c5a391;
    --cfy-hr-accent: #3fe0d0;
    --cfy-hr-accent-hi: #7bf4e5;
    --cfy-hr-accent-lo: #00c6b6;
    --cfy-hr-accent-rgb: 63, 224, 208;
    --cfy-hr-on-accent: #200f05;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1d0700;
    --cfy-hr-ph-bg-2: #260f03;
    --cfy-hr-ph-line: #351d0f;
    --cfy-hr-ph-line-2: #41281a;
    --cfy-hr-ink: #fef5f0;
    --cfy-hr-ink-muted: #ead2c6;
    --cfy-hr-ink-faint: #876f62;
    --cfy-hr-panel-bg: #1d0700;
    --cfy-hr-tile-bg: #260f03;
    --cfy-hr-accent-text: #5cf6e5;
    --cfy-hr-flat: #41e2d2;
    --cfy-hr-flat-hi: #6cf4e5;
    --cfy-hr-flat-lo: #41e2d2;
    --cfy-hr-flat-rgb: 65, 226, 210;
    --cfy-hr-on-flat: #200f05;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Indigo & Citron vert --- */

body.cfy-ht-indigo-lime, html.cfy-root-ht-indigo-lime {
    --cfy-hr-hd-bg: linear-gradient(135deg, #5042c8 0%, #4533b9 55%, #341b9b 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #fbfbff;
    --cfy-hr-hd-ink-3: #a4a8c9;
    --cfy-hr-accent: #b5ed1d;
    --cfy-hr-accent-hi: #d5ff8a;
    --cfy-hr-accent-lo: #9ed100;
    --cfy-hr-accent-rgb: 181, 237, 29;
    --cfy-hr-on-accent: #111223;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #19183e;
    --cfy-hr-ph-bg-2: #212147;
    --cfy-hr-ph-line: #2e2f57;
    --cfy-hr-ph-line-2: #3a3c65;
    --cfy-hr-ink: #fbfbff;
    --cfy-hr-ink-muted: #fbfbff;
    --cfy-hr-ink-faint: #70728a;
    --cfy-hr-panel-bg: #19183e;
    --cfy-hr-tile-bg: #212147;
    --cfy-hr-accent-text: #f5ffe6;
    --cfy-hr-flat: #b5ed1d;
    --cfy-hr-flat-hi: #ccff65;
    --cfy-hr-flat-lo: #a9df00;
    --cfy-hr-flat-rgb: 181, 237, 29;
    --cfy-hr-on-flat: #111223;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-indigo-lime, html.cfy-root-dark.cfy-root-ht-indigo-lime {
    --cfy-hr-hd-bg: linear-gradient(180deg, #1b1252 0%, #100242 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #292b44;
    --cfy-hr-ink-2: #dddff4;
    --cfy-hr-hd-ink-3: #a4a8c9;
    --cfy-hr-accent: #b5ed1d;
    --cfy-hr-accent-hi: #d5ff8a;
    --cfy-hr-accent-lo: #9ed100;
    --cfy-hr-accent-rgb: 181, 237, 29;
    --cfy-hr-on-accent: #111223;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #0b0b21;
    --cfy-hr-ph-bg-2: #12132a;
    --cfy-hr-ph-line: #202139;
    --cfy-hr-ph-line-2: #2b2c45;
    --cfy-hr-ink: #f5f6ff;
    --cfy-hr-ink-muted: #d5d7ef;
    --cfy-hr-ink-faint: #70728a;
    --cfy-hr-panel-bg: #0b0b21;
    --cfy-hr-tile-bg: #12132a;
    --cfy-hr-accent-text: #baf228;
    --cfy-hr-flat: #b5ed1d;
    --cfy-hr-flat-hi: #ccff65;
    --cfy-hr-flat-lo: #a9df00;
    --cfy-hr-flat-rgb: 181, 237, 29;
    --cfy-hr-on-flat: #111223;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Carbone & Écarlate --- */

body.cfy-ht-carbon-scarlet, html.cfy-root-ht-carbon-scarlet {
    --cfy-hr-hd-bg: linear-gradient(135deg, #39393c 0%, #2d2d31 55%, #1b1b1e 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #e5e5e5;
    --cfy-hr-hd-ink-3: #ababab;
    --cfy-hr-accent: #ff7c61;
    --cfy-hr-accent-hi: #ffa38f;
    --cfy-hr-accent-lo: #e36249;
    --cfy-hr-accent-rgb: 255, 124, 97;
    --cfy-hr-on-accent: #121123;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1e1e21;
    --cfy-hr-ph-bg-2: #262629;
    --cfy-hr-ph-line: #343437;
    --cfy-hr-ph-line-2: #414144;
    --cfy-hr-ink: #f7f7f7;
    --cfy-hr-ink-muted: #dedede;
    --cfy-hr-ink-faint: #747474;
    --cfy-hr-panel-bg: #1e1e21;
    --cfy-hr-tile-bg: #262629;
    --cfy-hr-accent-text: #ffddd5;
    --cfy-hr-flat: #dc3105;
    --cfy-hr-flat-hi: #d53d1d;
    --cfy-hr-flat-lo: #ba2600;
    --cfy-hr-flat-rgb: 220, 49, 5;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-carbon-scarlet, html.cfy-root-dark.cfy-root-ht-carbon-scarlet {
    --cfy-hr-hd-bg: linear-gradient(180deg, #202022 0%, #141416 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #2d2d30;
    --cfy-hr-ink-2: #dedede;
    --cfy-hr-hd-ink-3: #ababab;
    --cfy-hr-accent: #ff6546;
    --cfy-hr-accent-hi: #ff9179;
    --cfy-hr-accent-lo: #e24a2b;
    --cfy-hr-accent-rgb: 255, 101, 70;
    --cfy-hr-on-accent: #121123;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #0e0e10;
    --cfy-hr-ph-bg-2: #161618;
    --cfy-hr-ph-line: #242426;
    --cfy-hr-ph-line-2: #2f2f31;
    --cfy-hr-ink: #f7f7f7;
    --cfy-hr-ink-muted: #d3d3d3;
    --cfy-hr-ink-faint: #747474;
    --cfy-hr-panel-bg: #0e0e10;
    --cfy-hr-tile-bg: #161618;
    --cfy-hr-accent-text: #ffd2c7;
    --cfy-hr-flat: #dc3105;
    --cfy-hr-flat-hi: #d53d1d;
    --cfy-hr-flat-lo: #ba2600;
    --cfy-hr-flat-rgb: 220, 49, 5;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Olive & Fuchsia --- */

body.cfy-ht-olive-fuchsia, html.cfy-root-ht-olive-fuchsia {
    --cfy-hr-hd-bg: linear-gradient(135deg, #535d0e 0%, #475000 55%, #343b00 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #f3f8e3;
    --cfy-hr-hd-ink-3: #a8af8d;
    --cfy-hr-accent: #ffbbdf;
    --cfy-hr-accent-hi: #ffdfef;
    --cfy-hr-accent-lo: #e4a2c5;
    --cfy-hr-accent-rgb: 255, 187, 223;
    --cfy-hr-on-accent: #131603;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1d2100;
    --cfy-hr-ph-bg-2: #252a00;
    --cfy-hr-ph-line: #323805;
    --cfy-hr-ph-line-2: #3f4615;
    --cfy-hr-ink: #f6f8ef;
    --cfy-hr-ink-muted: #ecf2d9;
    --cfy-hr-ink-faint: #737860;
    --cfy-hr-panel-bg: #1d2100;
    --cfy-hr-tile-bg: #252a00;
    --cfy-hr-accent-text: #fff3f9;
    --cfy-hr-flat: #c83a93;
    --cfy-hr-flat-hi: #c34391;
    --cfy-hr-flat-lo: #b01e7e;
    --cfy-hr-flat-rgb: 200, 58, 147;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-olive-fuchsia, html.cfy-root-dark.cfy-root-ht-olive-fuchsia {
    --cfy-hr-hd-bg: linear-gradient(180deg, #1f2400 0%, #131600 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #2c3115;
    --cfy-hr-ink-2: #dce1cc;
    --cfy-hr-hd-ink-3: #a8af8d;
    --cfy-hr-accent: #ff6ec4;
    --cfy-hr-accent-hi: #ff9cd3;
    --cfy-hr-accent-lo: #e354ab;
    --cfy-hr-accent-rgb: 255, 110, 196;
    --cfy-hr-on-accent: #131603;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #0d1000;
    --cfy-hr-ph-bg-2: #151800;
    --cfy-hr-ph-line: #23270b;
    --cfy-hr-ph-line-2: #2d3217;
    --cfy-hr-ink: #f6f8ef;
    --cfy-hr-ink-muted: #d2d7c0;
    --cfy-hr-ink-faint: #737860;
    --cfy-hr-panel-bg: #0d1000;
    --cfy-hr-tile-bg: #151800;
    --cfy-hr-accent-text: #ffd0e8;
    --cfy-hr-flat: #c83a93;
    --cfy-hr-flat-hi: #c34391;
    --cfy-hr-flat-lo: #b01e7e;
    --cfy-hr-flat-rgb: 200, 58, 147;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Cobalt & Soleil --- */

body.cfy-ht-cobalt-sun, html.cfy-root-ht-cobalt-sun {
    --cfy-hr-hd-bg: linear-gradient(135deg, #194cce 0%, #0c3dbf 55%, #0025a0 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #f8faff;
    --cfy-hr-hd-ink-3: #9babca;
    --cfy-hr-accent: #ffd60a;
    --cfy-hr-accent-hi: #fff0ba;
    --cfy-hr-accent-lo: #e1bc00;
    --cfy-hr-accent-rgb: 255, 214, 10;
    --cfy-hr-on-accent: #0c1323;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #0c1c3f;
    --cfy-hr-ph-bg-2: #142548;
    --cfy-hr-ph-line: #213358;
    --cfy-hr-ph-line-2: #2e4066;
    --cfy-hr-ink: #f5f9ff;
    --cfy-hr-ink-muted: #f3f7ff;
    --cfy-hr-ink-faint: #6a758a;
    --cfy-hr-panel-bg: #0c1c3f;
    --cfy-hr-tile-bg: #142548;
    --cfy-hr-accent-text: #fff9e1;
    --cfy-hr-flat: #ffd60a;
    --cfy-hr-flat-hi: #ffedaa;
    --cfy-hr-flat-lo: #f0c900;
    --cfy-hr-flat-rgb: 255, 214, 10;
    --cfy-hr-on-flat: #0c1323;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-cobalt-sun, html.cfy-root-dark.cfy-root-ht-cobalt-sun {
    --cfy-hr-hd-bg: linear-gradient(180deg, #041954 0%, #000844 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #222d45;
    --cfy-hr-ink-2: #d8e1f4;
    --cfy-hr-hd-ink-3: #9babca;
    --cfy-hr-accent: #ffd60a;
    --cfy-hr-accent-hi: #fff0ba;
    --cfy-hr-accent-lo: #e1bc00;
    --cfy-hr-accent-rgb: 255, 214, 10;
    --cfy-hr-on-accent: #0c1323;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #050d22;
    --cfy-hr-ph-bg-2: #0b152a;
    --cfy-hr-ph-line: #19243a;
    --cfy-hr-ph-line-2: #232f46;
    --cfy-hr-ink: #f3f7ff;
    --cfy-hr-ink-muted: #cfd9ef;
    --cfy-hr-ink-faint: #6a758a;
    --cfy-hr-panel-bg: #050d22;
    --cfy-hr-tile-bg: #0b152a;
    --cfy-hr-accent-text: #ffde5e;
    --cfy-hr-flat: #ffd60a;
    --cfy-hr-flat-hi: #ffedaa;
    --cfy-hr-flat-lo: #f0c900;
    --cfy-hr-flat-rgb: 255, 214, 10;
    --cfy-hr-on-flat: #0c1323;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Terre cuite & Azur --- */

body.cfy-ht-terracotta-azure, html.cfy-root-ht-terracotta-azure {
    --cfy-hr-hd-bg: linear-gradient(135deg, #983b13 0%, #892d00 55%, #692100 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #fff6f3;
    --cfy-hr-hd-ink-3: #c6a194;
    --cfy-hr-accent: #8fd9ff;
    --cfy-hr-accent-hi: #c6ebff;
    --cfy-hr-accent-lo: #76bfe4;
    --cfy-hr-accent-rgb: 143, 217, 255;
    --cfy-hr-on-accent: #210e07;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #380f01;
    --cfy-hr-ph-bg-2: #421808;
    --cfy-hr-ph-line: #512616;
    --cfy-hr-ph-line-2: #603323;
    --cfy-hr-ink: #fff6f3;
    --cfy-hr-ink-muted: #fff2ee;
    --cfy-hr-ink-faint: #886e65;
    --cfy-hr-panel-bg: #380f01;
    --cfy-hr-tile-bg: #421808;
    --cfy-hr-accent-text: #eef9ff;
    --cfy-hr-flat: #87d7ff;
    --cfy-hr-flat-hi: #b8e7ff;
    --cfy-hr-flat-lo: #87d7ff;
    --cfy-hr-flat-rgb: 135, 215, 255;
    --cfy-hr-on-flat: #210e07;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-terracotta-azure, html.cfy-root-dark.cfy-root-ht-terracotta-azure {
    --cfy-hr-hd-bg: linear-gradient(180deg, #3d0f00 0%, #290700 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #41261c;
    --cfy-hr-ink-2: #f1dad2;
    --cfy-hr-hd-ink-3: #c6a194;
    --cfy-hr-accent: #6fd0ff;
    --cfy-hr-accent-hi: #ace2ff;
    --cfy-hr-accent-lo: #54b6e4;
    --cfy-hr-accent-rgb: 111, 208, 255;
    --cfy-hr-on-accent: #210e07;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1e0601;
    --cfy-hr-ph-bg-2: #270e05;
    --cfy-hr-ph-line: #361c13;
    --cfy-hr-ph-line-2: #42271d;
    --cfy-hr-ink: #fef4f1;
    --cfy-hr-ink-muted: #ebd1c8;
    --cfy-hr-ink-faint: #886e65;
    --cfy-hr-panel-bg: #1e0601;
    --cfy-hr-tile-bg: #270e05;
    --cfy-hr-accent-text: #b4e5ff;
    --cfy-hr-flat: #87d7ff;
    --cfy-hr-flat-hi: #b8e7ff;
    --cfy-hr-flat-lo: #87d7ff;
    --cfy-hr-flat-rgb: 135, 215, 255;
    --cfy-hr-on-flat: #210e07;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Sapin & Rose --- */

body.cfy-ht-fir-rose, html.cfy-root-ht-fir-rose {
    --cfy-hr-hd-bg: linear-gradient(135deg, #1c634d 0%, #085641 55%, #00402f 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #e6fdf3;
    --cfy-hr-hd-ink-3: #8eb5a5;
    --cfy-hr-accent: #ffbdd4;
    --cfy-hr-accent-hi: #ffe0ea;
    --cfy-hr-accent-lo: #e4a4ba;
    --cfy-hr-accent-rgb: 255, 189, 212;
    --cfy-hr-on-accent: #021911;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #00251a;
    --cfy-hr-ph-bg-2: #002f21;
    --cfy-hr-ph-line: #003f2d;
    --cfy-hr-ph-line-2: #0d4d3a;
    --cfy-hr-ink: #f0faf5;
    --cfy-hr-ink-muted: #e1fdf1;
    --cfy-hr-ink-faint: #607c70;
    --cfy-hr-panel-bg: #00251a;
    --cfy-hr-tile-bg: #002f21;
    --cfy-hr-accent-text: #fff6f9;
    --cfy-hr-flat: #ffbad3;
    --cfy-hr-flat-hi: #ffd8e6;
    --cfy-hr-flat-lo: #ffbad3;
    --cfy-hr-flat-rgb: 255, 186, 211;
    --cfy-hr-on-flat: #021911;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-fir-rose, html.cfy-root-dark.cfy-root-ht-fir-rose {
    --cfy-hr-hd-bg: linear-gradient(180deg, #00281c 0%, #001910 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #143529;
    --cfy-hr-ink-2: #cfe6dc;
    --cfy-hr-hd-ink-3: #8eb5a5;
    --cfy-hr-accent: #ff9cc2;
    --cfy-hr-accent-hi: #ffc2d7;
    --cfy-hr-accent-lo: #e383a9;
    --cfy-hr-accent-rgb: 255, 156, 194;
    --cfy-hr-on-accent: #021911;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #00130b;
    --cfy-hr-ph-bg-2: #001c12;
    --cfy-hr-ph-line: #082b20;
    --cfy-hr-ph-line-2: #15362b;
    --cfy-hr-ink: #f0faf5;
    --cfy-hr-ink-muted: #c4dfd3;
    --cfy-hr-ink-faint: #607c70;
    --cfy-hr-panel-bg: #00130b;
    --cfy-hr-tile-bg: #001c12;
    --cfy-hr-accent-text: #ffd6e4;
    --cfy-hr-flat: #ffbad3;
    --cfy-hr-flat-hi: #ffd8e6;
    --cfy-hr-flat-lo: #ffbad3;
    --cfy-hr-flat-rgb: 255, 186, 211;
    --cfy-hr-on-flat: #021911;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Prune & Abricot --- */

body.cfy-ht-plum-apricot, html.cfy-root-ht-plum-apricot {
    --cfy-hr-hd-bg: linear-gradient(135deg, #8d3975 0%, #7f2b68 55%, #661751 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #c19fb4;
    --cfy-hr-accent: #ffc593;
    --cfy-hr-accent-hi: #ffe4cd;
    --cfy-hr-accent-lo: #e4ab7a;
    --cfy-hr-accent-rgb: 255, 197, 147;
    --cfy-hr-on-accent: #1e0d19;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #330e28;
    --cfy-hr-ph-bg-2: #3c1731;
    --cfy-hr-ph-line: #4b243f;
    --cfy-hr-ph-line-2: #5a314c;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #846c7b;
    --cfy-hr-panel-bg: #330e28;
    --cfy-hr-tile-bg: #3c1731;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #ffc08a;
    --cfy-hr-flat-hi: #ffdbbd;
    --cfy-hr-flat-lo: #ffc08a;
    --cfy-hr-flat-rgb: 255, 192, 138;
    --cfy-hr-on-flat: #1e0d19;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-plum-apricot, html.cfy-root-dark.cfy-root-ht-plum-apricot {
    --cfy-hr-hd-bg: linear-gradient(180deg, #3e002f 0%, #29001f 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #3d2535;
    --cfy-hr-ink-2: #efdae7;
    --cfy-hr-hd-ink-3: #c19fb4;
    --cfy-hr-accent: #ffc08a;
    --cfy-hr-accent-hi: #ffdfc5;
    --cfy-hr-accent-lo: #e4a671;
    --cfy-hr-accent-rgb: 255, 192, 138;
    --cfy-hr-on-accent: #1e0d19;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1b0614;
    --cfy-hr-ph-bg-2: #230d1c;
    --cfy-hr-ph-line: #321b2b;
    --cfy-hr-ph-line-2: #3e2636;
    --cfy-hr-ink: #fdf4f9;
    --cfy-hr-ink-muted: #e9d2df;
    --cfy-hr-ink-faint: #846c7b;
    --cfy-hr-panel-bg: #1b0614;
    --cfy-hr-tile-bg: #230d1c;
    --cfy-hr-accent-text: #ffd8b9;
    --cfy-hr-flat: #ffc08a;
    --cfy-hr-flat-hi: #ffdbbd;
    --cfy-hr-flat-lo: #ffc08a;
    --cfy-hr-flat-rgb: 255, 192, 138;
    --cfy-hr-on-flat: #1e0d19;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Minuit & Cyan --- */

body.cfy-ht-midnight-cyan, html.cfy-root-ht-midnight-cyan {
    --cfy-hr-hd-bg: linear-gradient(135deg, #3a51ae 0%, #2f449f 55%, #1f2f83 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #9eaaca;
    --cfy-hr-accent: #22e8ff;
    --cfy-hr-accent-hi: #acf4ff;
    --cfy-hr-accent-lo: #00cce1;
    --cfy-hr-accent-rgb: 34, 232, 255;
    --cfy-hr-on-accent: #0d1323;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #111b3f;
    --cfy-hr-ph-bg-2: #192348;
    --cfy-hr-ph-line: #263158;
    --cfy-hr-ph-line-2: #323f66;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #6c748a;
    --cfy-hr-panel-bg: #111b3f;
    --cfy-hr-tile-bg: #192348;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #22e8ff;
    --cfy-hr-flat-hi: #9ff2ff;
    --cfy-hr-flat-lo: #08e1f8;
    --cfy-hr-flat-rgb: 34, 232, 255;
    --cfy-hr-on-flat: #0d1323;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-midnight-cyan, html.cfy-root-dark.cfy-root-ht-midnight-cyan {
    --cfy-hr-hd-bg: linear-gradient(180deg, #0e1754 0%, #060644 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #252d45;
    --cfy-hr-ink-2: #dbe3f6;
    --cfy-hr-hd-ink-3: #9eaaca;
    --cfy-hr-accent: #22e8ff;
    --cfy-hr-accent-hi: #acf4ff;
    --cfy-hr-accent-lo: #00cce1;
    --cfy-hr-accent-rgb: 34, 232, 255;
    --cfy-hr-on-accent: #0d1323;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #070c22;
    --cfy-hr-ph-bg-2: #0e142a;
    --cfy-hr-ph-line: #1b233a;
    --cfy-hr-ph-line-2: #262e46;
    --cfy-hr-ink: #f3f7ff;
    --cfy-hr-ink-muted: #d2dbf1;
    --cfy-hr-ink-faint: #6c748a;
    --cfy-hr-panel-bg: #070c22;
    --cfy-hr-tile-bg: #0e142a;
    --cfy-hr-accent-text: #91f1ff;
    --cfy-hr-flat: #22e8ff;
    --cfy-hr-flat-hi: #9ff2ff;
    --cfy-hr-flat-lo: #08e1f8;
    --cfy-hr-flat-rgb: 34, 232, 255;
    --cfy-hr-on-flat: #0d1323;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Kaki & Mandarine --- */

body.cfy-ht-khaki-tangerine, html.cfy-root-ht-khaki-tangerine {
    --cfy-hr-hd-bg: linear-gradient(135deg, #5e5a26 0%, #524e19 55%, #3e3904 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #fefde7;
    --cfy-hr-hd-ink-3: #afad8a;
    --cfy-hr-accent: #ffc38d;
    --cfy-hr-accent-hi: #ffe2c8;
    --cfy-hr-accent-lo: #e4a974;
    --cfy-hr-accent-rgb: 255, 195, 141;
    --cfy-hr-on-accent: #161502;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #221f00;
    --cfy-hr-ph-bg-2: #2b2800;
    --cfy-hr-ph-line: #3a3600;
    --cfy-hr-ph-line-2: #47430f;
    --cfy-hr-ink: #fdfcf3;
    --cfy-hr-ink-muted: #fdfce4;
    --cfy-hr-ink-faint: #77765e;
    --cfy-hr-panel-bg: #221f00;
    --cfy-hr-tile-bg: #2b2800;
    --cfy-hr-accent-text: #fffbf7;
    --cfy-hr-flat: #ffbf84;
    --cfy-hr-flat-hi: #ffdab9;
    --cfy-hr-flat-lo: #ffbf84;
    --cfy-hr-flat-rgb: 255, 191, 132;
    --cfy-hr-on-flat: #161502;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-khaki-tangerine, html.cfy-root-dark.cfy-root-ht-khaki-tangerine {
    --cfy-hr-hd-bg: linear-gradient(180deg, #242100 0%, #171500 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #312f12;
    --cfy-hr-ink-2: #e2e1cc;
    --cfy-hr-hd-ink-3: #afad8a;
    --cfy-hr-accent: #ffa23f;
    --cfy-hr-accent-hi: #ffc38d;
    --cfy-hr-accent-lo: #e3891a;
    --cfy-hr-accent-rgb: 255, 162, 63;
    --cfy-hr-on-accent: #161502;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #110f00;
    --cfy-hr-ph-bg-2: #191700;
    --cfy-hr-ph-line: #272508;
    --cfy-hr-ph-line-2: #323014;
    --cfy-hr-ink: #f8f7ee;
    --cfy-hr-ink-muted: #dadac2;
    --cfy-hr-ink-faint: #77765e;
    --cfy-hr-panel-bg: #110f00;
    --cfy-hr-tile-bg: #191700;
    --cfy-hr-accent-text: #ffd9b8;
    --cfy-hr-flat: #ffbf84;
    --cfy-hr-flat-hi: #ffdab9;
    --cfy-hr-flat-lo: #ffbf84;
    --cfy-hr-flat-rgb: 255, 191, 132;
    --cfy-hr-on-flat: #161502;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Violet royal & Vanille --- */

body.cfy-ht-royal-vanilla, html.cfy-root-ht-royal-vanilla {
    --cfy-hr-hd-bg: linear-gradient(135deg, #6e39bd 0%, #6229ae 55%, #4d0e91 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #ada5c6;
    --cfy-hr-accent: #ffefc2;
    --cfy-hr-accent-hi: #fffcf2;
    --cfy-hr-accent-lo: #e4d5a8;
    --cfy-hr-accent-rgb: 255, 239, 194;
    --cfy-hr-on-accent: #151022;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #22153b;
    --cfy-hr-ph-bg-2: #2a1e44;
    --cfy-hr-ph-line: #382b53;
    --cfy-hr-ph-line-2: #453962;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #767088;
    --cfy-hr-panel-bg: #22153b;
    --cfy-hr-tile-bg: #2a1e44;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #ffefc2;
    --cfy-hr-flat-hi: #ffffff;
    --cfy-hr-flat-lo: #e8d8ac;
    --cfy-hr-flat-rgb: 255, 239, 194;
    --cfy-hr-on-flat: #151022;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-royal-vanilla, html.cfy-root-dark.cfy-root-ht-royal-vanilla {
    --cfy-hr-hd-bg: linear-gradient(180deg, #280c4d 0%, #1b003b 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #302942;
    --cfy-hr-ink-2: #e6e2f6;
    --cfy-hr-hd-ink-3: #ada5c6;
    --cfy-hr-accent: #ffefc2;
    --cfy-hr-accent-hi: #fffcf2;
    --cfy-hr-accent-lo: #e4d5a8;
    --cfy-hr-accent-rgb: 255, 239, 194;
    --cfy-hr-on-accent: #151022;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #11091f;
    --cfy-hr-ph-bg-2: #181128;
    --cfy-hr-ph-line: #261f37;
    --cfy-hr-ph-line-2: #312a43;
    --cfy-hr-ink: #f7f5fe;
    --cfy-hr-ink-muted: #ded8f0;
    --cfy-hr-ink-faint: #767088;
    --cfy-hr-panel-bg: #11091f;
    --cfy-hr-tile-bg: #181128;
    --cfy-hr-accent-text: #ffefc2;
    --cfy-hr-flat: #ffefc2;
    --cfy-hr-flat-hi: #ffffff;
    --cfy-hr-flat-lo: #e8d8ac;
    --cfy-hr-flat-rgb: 255, 239, 194;
    --cfy-hr-on-flat: #151022;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Cramoisi & Neige --- */

body.cfy-ht-crimson-snow, html.cfy-root-ht-crimson-snow {
    --cfy-hr-hd-bg: linear-gradient(135deg, #ab1d25 0%, #9b0117 55%, #78000f 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #c8a09c;
    --cfy-hr-accent: #ffffff;
    --cfy-hr-accent-hi: #fcfcfc;
    --cfy-hr-accent-lo: #e4e4e4;
    --cfy-hr-accent-rgb: 255, 255, 255;
    --cfy-hr-on-accent: #210d0c;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #390d0c;
    --cfy-hr-ph-bg-2: #431614;
    --cfy-hr-ph-line: #522421;
    --cfy-hr-ph-line-2: #61312e;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #896d6a;
    --cfy-hr-panel-bg: #390d0c;
    --cfy-hr-tile-bg: #431614;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #ffffff;
    --cfy-hr-flat-hi: #ffffff;
    --cfy-hr-flat-lo: #e8e8e8;
    --cfy-hr-flat-rgb: 255, 255, 255;
    --cfy-hr-on-flat: #210d0c;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-crimson-snow, html.cfy-root-dark.cfy-root-ht-crimson-snow {
    --cfy-hr-hd-bg: linear-gradient(180deg, #450005 0%, #2e0002 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #422522;
    --cfy-hr-ink-2: #f7dedc;
    --cfy-hr-hd-ink-3: #c8a09c;
    --cfy-hr-accent: #ffffff;
    --cfy-hr-accent-hi: #fcfcfc;
    --cfy-hr-accent-lo: #e4e4e4;
    --cfy-hr-accent-rgb: 255, 255, 255;
    --cfy-hr-on-accent: #210d0c;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1e0505;
    --cfy-hr-ph-bg-2: #270d0b;
    --cfy-hr-ph-line: #371b19;
    --cfy-hr-ph-line-2: #432623;
    --cfy-hr-ink: #fff4f3;
    --cfy-hr-ink-muted: #f1d5d2;
    --cfy-hr-ink-faint: #896d6a;
    --cfy-hr-panel-bg: #1e0505;
    --cfy-hr-tile-bg: #270d0b;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #ffffff;
    --cfy-hr-flat-hi: #ffffff;
    --cfy-hr-flat-lo: #e8e8e8;
    --cfy-hr-flat-rgb: 255, 255, 255;
    --cfy-hr-on-flat: #210d0c;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Ardoise & Vert néon --- */

body.cfy-ht-slate-neon, html.cfy-root-ht-slate-neon {
    --cfy-hr-hd-bg: linear-gradient(135deg, #395b7e 0%, #2d4e71 55%, #1b3a59 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #95aec9;
    --cfy-hr-accent: #6cff6c;
    --cfy-hr-accent-hi: #d5ffd3;
    --cfy-hr-accent-lo: #4de450;
    --cfy-hr-accent-rgb: 108, 255, 108;
    --cfy-hr-on-accent: #071523;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #001f3d;
    --cfy-hr-ph-bg-2: #062747;
    --cfy-hr-ph-line: #153656;
    --cfy-hr-ph-line-2: #224365;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #657689;
    --cfy-hr-panel-bg: #001f3d;
    --cfy-hr-tile-bg: #062747;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #6cff6c;
    --cfy-hr-flat-hi: #caffc7;
    --cfy-hr-flat-lo: #51e754;
    --cfy-hr-flat-rgb: 108, 255, 108;
    --cfy-hr-on-flat: #071523;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-slate-neon, html.cfy-root-dark.cfy-root-ht-slate-neon {
    --cfy-hr-hd-bg: linear-gradient(180deg, #06213c 0%, #00142c 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #1c2f44;
    --cfy-hr-ink-2: #d8e7f8;
    --cfy-hr-hd-ink-3: #95aec9;
    --cfy-hr-accent: #6cff6c;
    --cfy-hr-accent-hi: #d5ffd3;
    --cfy-hr-accent-lo: #4de450;
    --cfy-hr-accent-rgb: 108, 255, 108;
    --cfy-hr-on-accent: #071523;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #010f21;
    --cfy-hr-ph-bg-2: #05172a;
    --cfy-hr-ph-line: #122539;
    --cfy-hr-ph-line-2: #1d3145;
    --cfy-hr-ink: #f1f8ff;
    --cfy-hr-ink-muted: #cedef1;
    --cfy-hr-ink-faint: #657689;
    --cfy-hr-panel-bg: #010f21;
    --cfy-hr-tile-bg: #05172a;
    --cfy-hr-accent-text: #81ff7f;
    --cfy-hr-flat: #6cff6c;
    --cfy-hr-flat-hi: #caffc7;
    --cfy-hr-flat-lo: #51e754;
    --cfy-hr-flat-rgb: 108, 255, 108;
    --cfy-hr-on-flat: #071523;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Framboise & Glacier --- */

body.cfy-ht-raspberry-ice, html.cfy-root-ht-raspberry-ice {
    --cfy-hr-hd-bg: linear-gradient(135deg, #a41f65 0%, #950759 55%, #740043 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #fff8fa;
    --cfy-hr-hd-ink-3: #c49fad;
    --cfy-hr-accent: #a8f3ff;
    --cfy-hr-accent-hi: #f4feff;
    --cfy-hr-accent-lo: #8ed8e4;
    --cfy-hr-accent-rgb: 168, 243, 255;
    --cfy-hr-on-accent: #200d15;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #360c20;
    --cfy-hr-ph-bg-2: #3f1529;
    --cfy-hr-ph-line: #4f2336;
    --cfy-hr-ph-line-2: #5d3043;
    --cfy-hr-ink: #fff8fa;
    --cfy-hr-ink-muted: #fff8fa;
    --cfy-hr-ink-faint: #866c76;
    --cfy-hr-panel-bg: #360c20;
    --cfy-hr-tile-bg: #3f1529;
    --cfy-hr-accent-text: #effdff;
    --cfy-hr-flat: #a8f3ff;
    --cfy-hr-flat-hi: #eafcff;
    --cfy-hr-flat-lo: #91dce8;
    --cfy-hr-flat-rgb: 168, 243, 255;
    --cfy-hr-on-flat: #200d15;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-raspberry-ice, html.cfy-root-dark.cfy-root-ht-raspberry-ice {
    --cfy-hr-hd-bg: linear-gradient(180deg, #410023 0%, #2c0016 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #40242f;
    --cfy-hr-ink-2: #f1dae2;
    --cfy-hr-hd-ink-3: #c49fad;
    --cfy-hr-accent: #a8f3ff;
    --cfy-hr-accent-hi: #f4feff;
    --cfy-hr-accent-lo: #8ed8e4;
    --cfy-hr-accent-rgb: 168, 243, 255;
    --cfy-hr-on-accent: #200d15;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1c0510;
    --cfy-hr-ph-bg-2: #250c17;
    --cfy-hr-ph-line: #351a25;
    --cfy-hr-ph-line-2: #412530;
    --cfy-hr-ink: #fef4f7;
    --cfy-hr-ink-muted: #ecd1da;
    --cfy-hr-ink-faint: #866c76;
    --cfy-hr-panel-bg: #1c0510;
    --cfy-hr-tile-bg: #250c17;
    --cfy-hr-accent-text: #a8f3ff;
    --cfy-hr-flat: #a8f3ff;
    --cfy-hr-flat-hi: #eafcff;
    --cfy-hr-flat-lo: #91dce8;
    --cfy-hr-flat-rgb: 168, 243, 255;
    --cfy-hr-on-flat: #200d15;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Magenta & Mimosa --- */

body.cfy-ht-magenta-mimosa, html.cfy-root-ht-magenta-mimosa {
    --cfy-hr-hd-bg: linear-gradient(135deg, #982491 0%, #8a0f84 55%, #6c0068 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #fffdff;
    --cfy-hr-hd-ink-3: #bda0b9;
    --cfy-hr-accent: #ffe14d;
    --cfy-hr-accent-hi: #fff9dc;
    --cfy-hr-accent-lo: #e4c727;
    --cfy-hr-accent-rgb: 255, 225, 77;
    --cfy-hr-on-accent: #1d0e1b;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #300f2d;
    --cfy-hr-ph-bg-2: #391836;
    --cfy-hr-ph-line: #482645;
    --cfy-hr-ph-line-2: #563352;
    --cfy-hr-ink: #fffdff;
    --cfy-hr-ink-muted: #fffdff;
    --cfy-hr-ink-faint: #816d7e;
    --cfy-hr-panel-bg: #300f2d;
    --cfy-hr-tile-bg: #391836;
    --cfy-hr-accent-text: #fffffe;
    --cfy-hr-flat: #ffe14d;
    --cfy-hr-flat-hi: #fff6cb;
    --cfy-hr-flat-lo: #e8ca2d;
    --cfy-hr-flat-rgb: 255, 225, 77;
    --cfy-hr-on-flat: #1d0e1b;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-magenta-mimosa, html.cfy-root-dark.cfy-root-ht-magenta-mimosa {
    --cfy-hr-hd-bg: linear-gradient(180deg, #3b0138 0%, #270025 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #3b2538;
    --cfy-hr-ink-2: #eeddec;
    --cfy-hr-hd-ink-3: #bda0b9;
    --cfy-hr-accent: #ffe14d;
    --cfy-hr-accent-hi: #fff9dc;
    --cfy-hr-accent-lo: #e4c727;
    --cfy-hr-accent-rgb: 255, 225, 77;
    --cfy-hr-on-accent: #1d0e1b;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #190617;
    --cfy-hr-ph-bg-2: #210e1f;
    --cfy-hr-ph-line: #301c2e;
    --cfy-hr-ph-line-2: #3c273a;
    --cfy-hr-ink: #fcf4fb;
    --cfy-hr-ink-muted: #e8d3e5;
    --cfy-hr-ink-faint: #816d7e;
    --cfy-hr-panel-bg: #190617;
    --cfy-hr-tile-bg: #210e1f;
    --cfy-hr-accent-text: #ffe14d;
    --cfy-hr-flat: #ffe14d;
    --cfy-hr-flat-hi: #fff6cb;
    --cfy-hr-flat-lo: #e8ca2d;
    --cfy-hr-flat-rgb: 255, 225, 77;
    --cfy-hr-on-flat: #1d0e1b;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Brique & Crème --- */

body.cfy-ht-brick-cream, html.cfy-root-ht-brick-cream {
    --cfy-hr-hd-bg: linear-gradient(135deg, #943f00 0%, #813600 55%, #632800 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #c5a291;
    --cfy-hr-accent: #fff1d6;
    --cfy-hr-accent-hi: #fffbf4;
    --cfy-hr-accent-lo: #e4d7bc;
    --cfy-hr-accent-rgb: 255, 241, 214;
    --cfy-hr-on-accent: #200e06;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #351200;
    --cfy-hr-ph-bg-2: #411902;
    --cfy-hr-ph-line: #502711;
    --cfy-hr-ph-line-2: #5f341e;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #876e62;
    --cfy-hr-panel-bg: #351200;
    --cfy-hr-tile-bg: #411902;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #fff1d6;
    --cfy-hr-flat-hi: #ffffff;
    --cfy-hr-flat-lo: #e8dabf;
    --cfy-hr-flat-rgb: 255, 241, 214;
    --cfy-hr-on-flat: #200e06;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-brick-cream, html.cfy-root-dark.cfy-root-ht-brick-cream {
    --cfy-hr-hd-bg: linear-gradient(180deg, #391400 0%, #260a00 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #402719;
    --cfy-hr-ink-2: #f7e1d6;
    --cfy-hr-hd-ink-3: #c5a291;
    --cfy-hr-accent: #fff1d6;
    --cfy-hr-accent-hi: #fffbf4;
    --cfy-hr-accent-lo: #e4d7bc;
    --cfy-hr-accent-rgb: 255, 241, 214;
    --cfy-hr-on-accent: #200e06;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1d0700;
    --cfy-hr-ph-bg-2: #260f03;
    --cfy-hr-ph-line: #361d10;
    --cfy-hr-ph-line-2: #42281b;
    --cfy-hr-ink: #fef5f0;
    --cfy-hr-ink-muted: #f3d9ce;
    --cfy-hr-ink-faint: #876e62;
    --cfy-hr-panel-bg: #1d0700;
    --cfy-hr-tile-bg: #260f03;
    --cfy-hr-accent-text: #fff1d6;
    --cfy-hr-flat: #fff1d6;
    --cfy-hr-flat-hi: #ffffff;
    --cfy-hr-flat-lo: #e8dabf;
    --cfy-hr-flat-rgb: 255, 241, 214;
    --cfy-hr-on-flat: #200e06;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Bronze & Lilas --- */

body.cfy-ht-bronze-lilac, html.cfy-root-ht-bronze-lilac {
    --cfy-hr-hd-bg: linear-gradient(135deg, #7f4d22 0%, #734016 55%, #5c2b07 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #bda78a;
    --cfy-hr-accent: #dbc6ff;
    --cfy-hr-accent-hi: #ede3ff;
    --cfy-hr-accent-lo: #c1ade4;
    --cfy-hr-accent-rgb: 219, 198, 255;
    --cfy-hr-on-accent: #1d1102;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #371000;
    --cfy-hr-ph-bg-2: #411903;
    --cfy-hr-ph-line: #50280f;
    --cfy-hr-ph-line-2: #5e361b;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #81725d;
    --cfy-hr-panel-bg: #371000;
    --cfy-hr-tile-bg: #411903;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #d9c2ff;
    --cfy-hr-flat-hi: #e8dbff;
    --cfy-hr-flat-lo: #d9c2ff;
    --cfy-hr-flat-rgb: 217, 194, 255;
    --cfy-hr-on-flat: #1d1102;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-bronze-lilac, html.cfy-root-dark.cfy-root-ht-bronze-lilac {
    --cfy-hr-hd-bg: linear-gradient(180deg, #3b1200 0%, #280800 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #3b2a12;
    --cfy-hr-ink-2: #ecdfcd;
    --cfy-hr-hd-ink-3: #bda78a;
    --cfy-hr-accent: #d9c2ff;
    --cfy-hr-accent-hi: #ebdfff;
    --cfy-hr-accent-lo: #bfa9e4;
    --cfy-hr-accent-rgb: 217, 194, 255;
    --cfy-hr-on-accent: #1d1102;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1e0601;
    --cfy-hr-ph-bg-2: #260e05;
    --cfy-hr-ph-line: #361d11;
    --cfy-hr-ph-line-2: #42281a;
    --cfy-hr-ink: #fcf6ee;
    --cfy-hr-ink-muted: #e7d7c2;
    --cfy-hr-ink-faint: #81725d;
    --cfy-hr-panel-bg: #1e0601;
    --cfy-hr-tile-bg: #260e05;
    --cfy-hr-accent-text: #e8dbff;
    --cfy-hr-flat: #d9c2ff;
    --cfy-hr-flat-hi: #e8dbff;
    --cfy-hr-flat-lo: #d9c2ff;
    --cfy-hr-flat-rgb: 217, 194, 255;
    --cfy-hr-on-flat: #1d1102;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Mousse & Ciel --- */

body.cfy-ht-moss-sky, html.cfy-root-ht-moss-sky {
    --cfy-hr-hd-bg: linear-gradient(135deg, #3c6200 0%, #335400 55%, #243e00 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #a0b192;
    --cfy-hr-accent: #9adcff;
    --cfy-hr-accent-hi: #d0eeff;
    --cfy-hr-accent-lo: #81c2e4;
    --cfy-hr-accent-rgb: 154, 220, 255;
    --cfy-hr-on-accent: #0e1706;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #132400;
    --cfy-hr-ph-bg-2: #1a2d02;
    --cfy-hr-ph-line: #273b11;
    --cfy-hr-ph-line-2: #34481f;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #6d7963;
    --cfy-hr-panel-bg: #132400;
    --cfy-hr-tile-bg: #1a2d02;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #9adcff;
    --cfy-hr-flat-hi: #c8ecff;
    --cfy-hr-flat-lo: #94d5f8;
    --cfy-hr-flat-rgb: 154, 220, 255;
    --cfy-hr-on-flat: #0e1706;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-moss-sky, html.cfy-root-dark.cfy-root-ht-moss-sky {
    --cfy-hr-hd-bg: linear-gradient(180deg, #142600 0%, #0b1800 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #26321a;
    --cfy-hr-ink-2: #dde7d4;
    --cfy-hr-hd-ink-3: #a0b192;
    --cfy-hr-accent: #9adcff;
    --cfy-hr-accent-hi: #d0eeff;
    --cfy-hr-accent-lo: #81c2e4;
    --cfy-hr-accent-rgb: 154, 220, 255;
    --cfy-hr-on-accent: #0e1706;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #071200;
    --cfy-hr-ph-bg-2: #0f1a04;
    --cfy-hr-ph-line: #1c2810;
    --cfy-hr-ph-line-2: #27341b;
    --cfy-hr-ink: #f4f9f0;
    --cfy-hr-ink-muted: #d3e0ca;
    --cfy-hr-ink-faint: #6d7963;
    --cfy-hr-panel-bg: #071200;
    --cfy-hr-tile-bg: #0f1a04;
    --cfy-hr-accent-text: #c5eaff;
    --cfy-hr-flat: #9adcff;
    --cfy-hr-flat-hi: #c8ecff;
    --cfy-hr-flat-lo: #94d5f8;
    --cfy-hr-flat-rgb: 154, 220, 255;
    --cfy-hr-on-flat: #0e1706;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Lie-de-vin & Sauge --- */

body.cfy-ht-wine-sage, html.cfy-root-ht-wine-sage {
    --cfy-hr-hd-bg: linear-gradient(135deg, #8d3f52 0%, #7e3246 55%, #651f33 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #ffffff;
    --cfy-hr-hd-ink-3: #c79fa6;
    --cfy-hr-accent: #b9d7a8;
    --cfy-hr-accent-hi: #d2ecc4;
    --cfy-hr-accent-lo: #a0bd8f;
    --cfy-hr-accent-rgb: 185, 215, 168;
    --cfy-hr-on-accent: #210d11;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #380c18;
    --cfy-hr-ph-bg-2: #411521;
    --cfy-hr-ph-line: #51232e;
    --cfy-hr-ph-line-2: #60303b;
    --cfy-hr-ink: #ffffff;
    --cfy-hr-ink-muted: #ffffff;
    --cfy-hr-ink-faint: #886c71;
    --cfy-hr-panel-bg: #380c18;
    --cfy-hr-tile-bg: #411521;
    --cfy-hr-accent-text: #ffffff;
    --cfy-hr-flat: #b9d7a8;
    --cfy-hr-flat-hi: #ceeabe;
    --cfy-hr-flat-lo: #b6d4a5;
    --cfy-hr-flat-rgb: 185, 215, 168;
    --cfy-hr-on-flat: #210d11;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-wine-sage, html.cfy-root-dark.cfy-root-ht-wine-sage {
    --cfy-hr-hd-bg: linear-gradient(180deg, #430018 0%, #2d000e 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #41242a;
    --cfy-hr-ink-2: #f2d9dd;
    --cfy-hr-hd-ink-3: #c79fa6;
    --cfy-hr-accent: #b9d7a8;
    --cfy-hr-accent-hi: #d2ecc4;
    --cfy-hr-accent-lo: #a0bd8f;
    --cfy-hr-accent-rgb: 185, 215, 168;
    --cfy-hr-on-accent: #210d11;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #1e050b;
    --cfy-hr-ph-bg-2: #260c13;
    --cfy-hr-ph-line: #361a20;
    --cfy-hr-ph-line-2: #42252b;
    --cfy-hr-ink: #fff4f5;
    --cfy-hr-ink-muted: #ebcfd3;
    --cfy-hr-ink-faint: #886c71;
    --cfy-hr-panel-bg: #1e050b;
    --cfy-hr-tile-bg: #260c13;
    --cfy-hr-accent-text: #c9e7b8;
    --cfy-hr-flat: #b9d7a8;
    --cfy-hr-flat-hi: #ceeabe;
    --cfy-hr-flat-lo: #b6d4a5;
    --cfy-hr-flat-rgb: 185, 215, 168;
    --cfy-hr-on-flat: #210d11;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

/* --- Acier & Orchidée --- */

body.cfy-ht-steel-orchid, html.cfy-root-ht-steel-orchid {
    --cfy-hr-hd-bg: linear-gradient(135deg, #3a5a7e 0%, #2e4e71 55%, #1c3959 100%);
    --cfy-hr-halo-a: .30;
    --cfy-hr-rule: rgba(255, 255, 255, 0.16);
    --cfy-hr-ink-2: #f1f8ff;
    --cfy-hr-hd-ink-3: #95adc9;
    --cfy-hr-accent: #ffb7ee;
    --cfy-hr-accent-hi: #ffddf6;
    --cfy-hr-accent-lo: #e49ed4;
    --cfy-hr-accent-rgb: 255, 183, 238;
    --cfy-hr-on-accent: #071523;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #001e3e;
    --cfy-hr-ph-bg-2: #072747;
    --cfy-hr-ph-line: #163557;
    --cfy-hr-ph-line-2: #234365;
    --cfy-hr-ink: #f1f8ff;
    --cfy-hr-ink-muted: #e9f3ff;
    --cfy-hr-ink-faint: #657689;
    --cfy-hr-panel-bg: #001e3e;
    --cfy-hr-tile-bg: #072747;
    --cfy-hr-accent-text: #fff4fc;
    --cfy-hr-flat: #c03fab;
    --cfy-hr-flat-hi: #bb47a7;
    --cfy-hr-flat-lo: #a82595;
    --cfy-hr-flat-rgb: 192, 63, 171;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}

body.dark-mode.cfy-ht-steel-orchid, html.cfy-root-dark.cfy-root-ht-steel-orchid {
    --cfy-hr-hd-bg: linear-gradient(180deg, #0d2137 0%, #021429 100%);
    --cfy-hr-halo-a: .18;
    --cfy-hr-rule: #1c2f44;
    --cfy-hr-ink-2: #d1e0f1;
    --cfy-hr-hd-ink-3: #95adc9;
    --cfy-hr-accent: #ff7ae6;
    --cfy-hr-accent-hi: #ffa9ec;
    --cfy-hr-accent-lo: #e360cc;
    --cfy-hr-accent-rgb: 255, 122, 230;
    --cfy-hr-on-accent: #071523;
    --cfy-hr-pill-bg: rgba(0, 0, 0, 0.30);
    --cfy-hr-ph-bg: #010f21;
    --cfy-hr-ph-bg-2: #05172a;
    --cfy-hr-ph-line: #132539;
    --cfy-hr-ph-line-2: #1e3045;
    --cfy-hr-ink: #f1f8ff;
    --cfy-hr-ink-muted: #c7d8eb;
    --cfy-hr-ink-faint: #657689;
    --cfy-hr-panel-bg: #010f21;
    --cfy-hr-tile-bg: #05172a;
    --cfy-hr-accent-text: #ffd0f3;
    --cfy-hr-flat: #c03fab;
    --cfy-hr-flat-hi: #bb47a7;
    --cfy-hr-flat-lo: #a82595;
    --cfy-hr-flat-rgb: 192, 63, 171;
    --cfy-hr-on-flat: #ffffff;
    --cfy-hr-accent-top: color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff);
}



:root {  /* défaut = Or clair */
    --cfy-t-surface: #fffcfa;
    --cfy-t-surface-2: #fcf6f2;
    --cfy-t-surface-3: #f7eee8;
    --cfy-t-line: #ebdfd6;
    --cfy-t-line-2: #dccabc;
    --cfy-t-ink: #1d140d;
    --cfy-t-ink-2: #493a2d;
    --cfy-t-muted: #706052;
    --cfy-t-faint: #aea298;
    --cfy-t-accent: #7d4500;
    --cfy-t-accent-rgb: 125, 69, 0;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe8d6;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #753e00;
    --cfy-t-fill-hi: #844b00;
    --cfy-t-fill-lo: #5c2b00;
    --cfy-t-on-fill: #ffeab2;
    --cfy-t-fill-rgb: 117, 62, 0;
}

body.dark-mode, html.cfy-root-dark {  /* défaut = Or sombre */
    --cfy-t-surface: #0e0e10;
    --cfy-t-surface-2: #141416;
    --cfy-t-surface-3: #1b1b1e;
    --cfy-t-line: #232227;
    --cfy-t-line-2: #2e2d33;
    --cfy-t-ink: #f3f0ea;
    --cfy-t-ink-2: #e4ddd1;
    --cfy-t-muted: #cec4b4;
    --cfy-t-faint: #706859;
    --cfy-t-accent: #ffcd30;
    --cfy-t-accent-rgb: 255, 205, 48;
    --cfy-t-on-accent: #1c1202;
    --cfy-t-accent-soft: #352e1a;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #f7c520;
    --cfy-t-fill-hi: #ffdc7e;
    --cfy-t-fill-lo: #f7c520;
    --cfy-t-on-fill: #1c1202;
    --cfy-t-fill-rgb: 247, 197, 32;
}

/* --- Or --- */

body.cfy-ht-gold, html.cfy-root-ht-gold {
    --cfy-t-surface: #fffcfa;
    --cfy-t-surface-2: #fcf6f2;
    --cfy-t-surface-3: #f7eee8;
    --cfy-t-line: #ebdfd6;
    --cfy-t-line-2: #dccabc;
    --cfy-t-ink: #1d140d;
    --cfy-t-ink-2: #493a2d;
    --cfy-t-muted: #706052;
    --cfy-t-faint: #aea298;
    --cfy-t-accent: #7d4500;
    --cfy-t-accent-rgb: 125, 69, 0;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe8d6;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #753e00;
    --cfy-t-fill-hi: #844b00;
    --cfy-t-fill-lo: #5c2b00;
    --cfy-t-on-fill: #ffeab2;
    --cfy-t-fill-rgb: 117, 62, 0;
}

body.dark-mode.cfy-ht-gold, html.cfy-root-dark.cfy-root-ht-gold {
    --cfy-t-surface: #0e0e10;
    --cfy-t-surface-2: #141416;
    --cfy-t-surface-3: #1b1b1e;
    --cfy-t-line: #232227;
    --cfy-t-line-2: #2e2d33;
    --cfy-t-ink: #f3f0ea;
    --cfy-t-ink-2: #e4ddd1;
    --cfy-t-muted: #cec4b4;
    --cfy-t-faint: #706859;
    --cfy-t-accent: #ffcd30;
    --cfy-t-accent-rgb: 255, 205, 48;
    --cfy-t-on-accent: #1c1202;
    --cfy-t-accent-soft: #352e1a;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #f7c520;
    --cfy-t-fill-hi: #ffdc7e;
    --cfy-t-fill-lo: #f7c520;
    --cfy-t-on-fill: #1c1202;
    --cfy-t-fill-rgb: 247, 197, 32;
}

/* --- Orange --- */

body.cfy-ht-orange, html.cfy-root-ht-orange {
    --cfy-t-surface: #fffcfb;
    --cfy-t-surface-2: #fcf6f3;
    --cfy-t-surface-3: #f8eee9;
    --cfy-t-line: #ecded8;
    --cfy-t-line-2: #dec9bf;
    --cfy-t-ink: #1e130e;
    --cfy-t-ink-2: #4b3830;
    --cfy-t-muted: #725e55;
    --cfy-t-faint: #b0a19a;
    --cfy-t-accent: #8a3700;
    --cfy-t-accent-rgb: 138, 55, 0;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe7dd;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #b95900;
    --cfy-t-fill-hi: #b45d1a;
    --cfy-t-fill-lo: #9b4900;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 185, 89, 0;
}

body.dark-mode.cfy-ht-orange, html.cfy-root-dark.cfy-root-ht-orange {
    --cfy-t-surface: #1a120e;
    --cfy-t-surface-2: #221814;
    --cfy-t-surface-3: #2b201b;
    --cfy-t-line: #3a2d27;
    --cfy-t-line-2: #4c3c34;
    --cfy-t-ink: #f5efec;
    --cfy-t-ink-2: #e9dbd4;
    --cfy-t-muted: #d6c3ba;
    --cfy-t-faint: #76655d;
    --cfy-t-accent: #ffccad;
    --cfy-t-accent-rgb: 255, 204, 173;
    --cfy-t-on-accent: #210e06;
    --cfy-t-accent-soft: #413129;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #b95900;
    --cfy-t-fill-hi: #b45d1a;
    --cfy-t-fill-lo: #9b4900;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 185, 89, 0;
}

/* --- Bleu --- */

body.cfy-ht-blue, html.cfy-root-ht-blue {
    --cfy-t-surface: #fcfdff;
    --cfy-t-surface-2: #f5f7fd;
    --cfy-t-surface-3: #ecf0f9;
    --cfy-t-line: #dbe1ee;
    --cfy-t-line-2: #c5cee1;
    --cfy-t-ink: #12161f;
    --cfy-t-ink-2: #353d4d;
    --cfy-t-muted: #5b6375;
    --cfy-t-faint: #9fa5b2;
    --cfy-t-accent: #183ed4;
    --cfy-t-accent-rgb: 24, 62, 212;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #e4edff;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #3f6bed;
    --cfy-t-fill-hi: #446de4;
    --cfy-t-fill-lo: #2d54d5;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 63, 107, 237;
}

body.dark-mode.cfy-ht-blue, html.cfy-root-dark.cfy-root-ht-blue {
    --cfy-t-surface: #10141b;
    --cfy-t-surface-2: #171b23;
    --cfy-t-surface-3: #1e232d;
    --cfy-t-line: #2b303c;
    --cfy-t-line-2: #39404e;
    --cfy-t-ink: #edf0f6;
    --cfy-t-ink-2: #d8deea;
    --cfy-t-muted: #bfc8d8;
    --cfy-t-faint: #626978;
    --cfy-t-accent: #c4d6ff;
    --cfy-t-accent-rgb: 196, 214, 255;
    --cfy-t-on-accent: #0c1323;
    --cfy-t-accent-soft: #2f3542;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #3f6bed;
    --cfy-t-fill-hi: #446de4;
    --cfy-t-fill-lo: #2d54d5;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 63, 107, 237;
}

/* --- Émeraude --- */

body.cfy-ht-emerald, html.cfy-root-ht-emerald {
    --cfy-t-surface: #fafefc;
    --cfy-t-surface-2: #f3f9f6;
    --cfy-t-surface-3: #e9f3ee;
    --cfy-t-line: #d7e5de;
    --cfy-t-line-2: #bed4c9;
    --cfy-t-ink: #0d1914;
    --cfy-t-ink-2: #2e4239;
    --cfy-t-muted: #54695f;
    --cfy-t-faint: #9aa9a1;
    --cfy-t-accent: #006345;
    --cfy-t-accent-rgb: 0, 99, 69;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #d9f5e7;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #00573c;
    --cfy-t-fill-hi: #006547;
    --cfy-t-fill-lo: #00402b;
    --cfy-t-on-fill: #91ffc9;
    --cfy-t-fill-rgb: 0, 87, 60;
}

body.dark-mode.cfy-ht-emerald, html.cfy-root-dark.cfy-root-ht-emerald {
    --cfy-t-surface: #0d1612;
    --cfy-t-surface-2: #131d18;
    --cfy-t-surface-3: #1a2620;
    --cfy-t-line: #26342d;
    --cfy-t-line-2: #33443c;
    --cfy-t-ink: #ecf2ef;
    --cfy-t-ink-2: #d4e2db;
    --cfy-t-muted: #b9cdc3;
    --cfy-t-faint: #5c6e65;
    --cfy-t-accent: #57f0ae;
    --cfy-t-accent-rgb: 87, 240, 174;
    --cfy-t-on-accent: #03190f;
    --cfy-t-accent-soft: #1d3b2d;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #4ae6a4;
    --cfy-t-fill-hi: #72f8ba;
    --cfy-t-fill-lo: #4ae6a4;
    --cfy-t-on-fill: #03190f;
    --cfy-t-fill-rgb: 74, 230, 164;
}

/* --- Rubis --- */

body.cfy-ht-ruby, html.cfy-root-ht-ruby {
    --cfy-t-surface: #fffcfc;
    --cfy-t-surface-2: #fdf5f6;
    --cfy-t-surface-3: #f9eded;
    --cfy-t-line: #eddddd;
    --cfy-t-line-2: #e0c7c8;
    --cfy-t-ink: #1e1213;
    --cfy-t-ink-2: #4c3738;
    --cfy-t-muted: #735d5e;
    --cfy-t-faint: #b1a0a1;
    --cfy-t-accent: #9e0033;
    --cfy-t-accent-rgb: 158, 0, 51;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe6e7;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #df2352;
    --cfy-t-fill-hi: #d83356;
    --cfy-t-fill-lo: #c20041;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 223, 35, 82;
}

body.dark-mode.cfy-ht-ruby, html.cfy-root-dark.cfy-root-ht-ruby {
    --cfy-t-surface: #1a1111;
    --cfy-t-surface-2: #221718;
    --cfy-t-surface-3: #2c1f20;
    --cfy-t-line: #3b2c2d;
    --cfy-t-line-2: #4d3a3b;
    --cfy-t-ink: #f5eeee;
    --cfy-t-ink-2: #ead9da;
    --cfy-t-muted: #d7c2c3;
    --cfy-t-faint: #776364;
    --cfy-t-accent: #ffc8cb;
    --cfy-t-accent-rgb: 255, 200, 203;
    --cfy-t-on-accent: #210d0f;
    --cfy-t-accent-soft: #413031;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #df2352;
    --cfy-t-fill-hi: #d83356;
    --cfy-t-fill-lo: #c20041;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 223, 35, 82;
}

/* --- Améthyste --- */

body.cfy-ht-amethyst, html.cfy-root-ht-amethyst {
    --cfy-t-surface: #fdfcff;
    --cfy-t-surface-2: #f8f6fc;
    --cfy-t-surface-3: #f1eef8;
    --cfy-t-line: #e3dfec;
    --cfy-t-line-2: #d1cade;
    --cfy-t-ink: #18141e;
    --cfy-t-ink-2: #403a4b;
    --cfy-t-muted: #665f72;
    --cfy-t-faint: #a7a2af;
    --cfy-t-accent: #7211bf;
    --cfy-t-accent-rgb: 114, 17, 191;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #f0e8ff;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #994fe1;
    --cfy-t-fill-hi: #9755d9;
    --cfy-t-fill-lo: #8437c9;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 153, 79, 225;
}

body.dark-mode.cfy-ht-amethyst, html.cfy-root-dark.cfy-root-ht-amethyst {
    --cfy-t-surface: #15121a;
    --cfy-t-surface-2: #1c1922;
    --cfy-t-surface-3: #24212b;
    --cfy-t-line: #322e3a;
    --cfy-t-line-2: #423d4b;
    --cfy-t-ink: #f1eff5;
    --cfy-t-ink-2: #e0dbe8;
    --cfy-t-muted: #cbc5d7;
    --cfy-t-faint: #6b6675;
    --cfy-t-accent: #e1cdff;
    --cfy-t-accent-rgb: 225, 205, 255;
    --cfy-t-on-accent: #171021;
    --cfy-t-accent-soft: #383241;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #994fe1;
    --cfy-t-fill-hi: #9755d9;
    --cfy-t-fill-lo: #8437c9;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 153, 79, 225;
}

/* --- Lagon --- */

body.cfy-ht-lagoon, html.cfy-root-ht-lagoon {
    --cfy-t-surface: #fafdfe;
    --cfy-t-surface-2: #f2f9fb;
    --cfy-t-surface-3: #e7f3f5;
    --cfy-t-line: #d5e5e8;
    --cfy-t-line-2: #bad3d8;
    --cfy-t-ink: #0b181b;
    --cfy-t-ink-2: #2a4146;
    --cfy-t-muted: #50686d;
    --cfy-t-faint: #97a8ac;
    --cfy-t-accent: #005e6c;
    --cfy-t-accent-rgb: 0, 94, 108;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #d3f4fb;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #005461;
    --cfy-t-fill-hi: #006270;
    --cfy-t-fill-lo: #003e48;
    --cfy-t-on-fill: #b3f5ff;
    --cfy-t-fill-rgb: 0, 84, 97;
}

body.dark-mode.cfy-ht-lagoon, html.cfy-root-dark.cfy-root-ht-lagoon {
    --cfy-t-surface: #0b1618;
    --cfy-t-surface-2: #111d1f;
    --cfy-t-surface-3: #172528;
    --cfy-t-line: #233337;
    --cfy-t-line-2: #304448;
    --cfy-t-ink: #eaf2f3;
    --cfy-t-ink-2: #d1e1e5;
    --cfy-t-muted: #b6ccd1;
    --cfy-t-faint: #596d71;
    --cfy-t-accent: #54e8fb;
    --cfy-t-accent-rgb: 84, 232, 251;
    --cfy-t-on-accent: #00181d;
    --cfy-t-accent-soft: #1a393e;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #49dff2;
    --cfy-t-fill-hi: #81f0ff;
    --cfy-t-fill-lo: #49dff2;
    --cfy-t-on-fill: #00181d;
    --cfy-t-fill-rgb: 73, 223, 242;
}

/* --- Graphite --- */

body.cfy-ht-graphite, html.cfy-root-ht-graphite {
    --cfy-t-surface: #fdfdfd;
    --cfy-t-surface-2: #f7f7f7;
    --cfy-t-surface-3: #f0f0f0;
    --cfy-t-line: #e1e1e1;
    --cfy-t-line-2: #cecece;
    --cfy-t-ink: #161616;
    --cfy-t-ink-2: #3d3d3d;
    --cfy-t-muted: #636363;
    --cfy-t-faint: #a4a4a4;
    --cfy-t-accent: #2c333d;
    --cfy-t-accent-rgb: 44, 51, 61;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ededed;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #484c52;
    --cfy-t-fill-hi: #54585f;
    --cfy-t-fill-lo: #35383e;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 72, 76, 82;
}

body.dark-mode.cfy-ht-graphite, html.cfy-root-dark.cfy-root-ht-graphite {
    --cfy-t-surface: #141414;
    --cfy-t-surface-2: #1b1b1b;
    --cfy-t-surface-3: #232323;
    --cfy-t-line: #303030;
    --cfy-t-line-2: #404040;
    --cfy-t-ink: #f0f0f0;
    --cfy-t-ink-2: #dedede;
    --cfy-t-muted: #c7c7c7;
    --cfy-t-faint: #696969;
    --cfy-t-accent: #e6e9ee;
    --cfy-t-accent-rgb: 230, 233, 238;
    --cfy-t-on-accent: #0b1423;
    --cfy-t-accent-soft: #373839;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #e6e9ee;
    --cfy-t-fill-hi: #fcfdff;
    --cfy-t-fill-lo: #cfd2d7;
    --cfy-t-on-fill: #0b1423;
    --cfy-t-fill-rgb: 230, 233, 238;
}

/* --- Marine & Corail --- */

body.cfy-ht-navy-coral, html.cfy-root-ht-navy-coral {
    --cfy-t-surface: #fcfdff;
    --cfy-t-surface-2: #f5f7fd;
    --cfy-t-surface-3: #ecf0f9;
    --cfy-t-line: #dbe1ee;
    --cfy-t-line-2: #c5cee1;
    --cfy-t-ink: #11161f;
    --cfy-t-ink-2: #353d4d;
    --cfy-t-muted: #5b6375;
    --cfy-t-faint: #9ea5b2;
    --cfy-t-accent: #1a3a8f;
    --cfy-t-accent-rgb: 26, 58, 143;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #e4edff;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #ca4a3f;
    --cfy-t-fill-hi: #c55045;
    --cfy-t-fill-lo: #b2332a;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 202, 74, 63;
}

body.dark-mode.cfy-ht-navy-coral, html.cfy-root-dark.cfy-root-ht-navy-coral {
    --cfy-t-surface: #10141b;
    --cfy-t-surface-2: #161b23;
    --cfy-t-surface-3: #1e232d;
    --cfy-t-line: #2b303c;
    --cfy-t-line-2: #39404e;
    --cfy-t-ink: #edf0f6;
    --cfy-t-ink-2: #d8deea;
    --cfy-t-muted: #bfc8d8;
    --cfy-t-faint: #626978;
    --cfy-t-accent: #ffc9c1;
    --cfy-t-accent-rgb: 255, 201, 193;
    --cfy-t-on-accent: #0c1323;
    --cfy-t-accent-soft: #373339;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #ca4a3f;
    --cfy-t-fill-hi: #c55045;
    --cfy-t-fill-lo: #b2332a;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 202, 74, 63;
}

/* --- Bordeaux & Champagne --- */

body.cfy-ht-bordeaux-champagne, html.cfy-root-ht-bordeaux-champagne {
    --cfy-t-surface: #fffcfc;
    --cfy-t-surface-2: #fdf5f6;
    --cfy-t-surface-3: #f9edee;
    --cfy-t-line: #eddddf;
    --cfy-t-line-2: #dfc7ca;
    --cfy-t-ink: #1e1214;
    --cfy-t-ink-2: #4b373a;
    --cfy-t-muted: #735c60;
    --cfy-t-faint: #b1a0a2;
    --cfy-t-accent: #7a1236;
    --cfy-t-accent-rgb: 122, 18, 54;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe5e9;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #8b2544;
    --cfy-t-fill-hi: #9a3350;
    --cfy-t-fill-lo: #710f31;
    --cfy-t-on-fill: #ffeab7;
    --cfy-t-fill-rgb: 139, 37, 68;
}

body.dark-mode.cfy-ht-bordeaux-champagne, html.cfy-root-dark.cfy-root-ht-bordeaux-champagne {
    --cfy-t-surface: #1a1112;
    --cfy-t-surface-2: #221719;
    --cfy-t-surface-3: #2c1f21;
    --cfy-t-line: #3a2c2e;
    --cfy-t-line-2: #4c3a3d;
    --cfy-t-ink: #f5eeef;
    --cfy-t-ink-2: #e9d9dc;
    --cfy-t-muted: #d8c2c6;
    --cfy-t-faint: #766366;
    --cfy-t-accent: #f2d280;
    --cfy-t-accent-rgb: 242, 210, 128;
    --cfy-t-on-accent: #210d11;
    --cfy-t-accent-soft: #3f3127;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #ebcb7a;
    --cfy-t-fill-hi: #fddf95;
    --cfy-t-fill-lo: #e8c877;
    --cfy-t-on-fill: #210d11;
    --cfy-t-fill-rgb: 235, 203, 122;
}

/* --- Forêt & Citron --- */

body.cfy-ht-forest-lemon, html.cfy-root-ht-forest-lemon {
    --cfy-t-surface: #fbfefb;
    --cfy-t-surface-2: #f4f9f5;
    --cfy-t-surface-3: #eaf3ec;
    --cfy-t-line: #d9e5dc;
    --cfy-t-line-2: #c1d3c5;
    --cfy-t-ink: #0f1912;
    --cfy-t-ink-2: #314236;
    --cfy-t-muted: #57685b;
    --cfy-t-faint: #9ca89f;
    --cfy-t-accent: #026232;
    --cfy-t-accent-rgb: 2, 98, 50;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #dcf4e2;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #00582c;
    --cfy-t-fill-hi: #0b6636;
    --cfy-t-fill-lo: #00411f;
    --cfy-t-on-fill: #eef25a;
    --cfy-t-fill-rgb: 0, 88, 44;
}

body.dark-mode.cfy-ht-forest-lemon, html.cfy-root-dark.cfy-root-ht-forest-lemon {
    --cfy-t-surface: #0e1610;
    --cfy-t-surface-2: #141d17;
    --cfy-t-surface-3: #1c261e;
    --cfy-t-line: #28342b;
    --cfy-t-line-2: #364439;
    --cfy-t-ink: #ecf2ee;
    --cfy-t-ink-2: #d6e2d8;
    --cfy-t-muted: #bbccbf;
    --cfy-t-faint: #5e6d62;
    --cfy-t-accent: #eef25a;
    --cfy-t-accent-rgb: 238, 242, 90;
    --cfy-t-on-accent: #06180c;
    --cfy-t-accent-soft: #333b20;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #eef25a;
    --cfy-t-fill-hi: #fdffe2;
    --cfy-t-fill-lo: #d7db3d;
    --cfy-t-on-fill: #06180c;
    --cfy-t-fill-rgb: 238, 242, 90;
}

/* --- Aubergine & Menthe --- */

body.cfy-ht-aubergine-mint, html.cfy-root-ht-aubergine-mint {
    --cfy-t-surface: #fefcff;
    --cfy-t-surface-2: #faf6fb;
    --cfy-t-surface-3: #f4eef6;
    --cfy-t-line: #e6deea;
    --cfy-t-line-2: #d5c9da;
    --cfy-t-ink: #1a131c;
    --cfy-t-ink-2: #433848;
    --cfy-t-muted: #6a5e6f;
    --cfy-t-faint: #aaa1ad;
    --cfy-t-accent: #5a1a70;
    --cfy-t-accent-rgb: 90, 26, 112;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #f6e6fd;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #6f3086;
    --cfy-t-fill-hi: #7c3e94;
    --cfy-t-fill-lo: #581c6d;
    --cfy-t-on-fill: #8fffd5;
    --cfy-t-fill-rgb: 111, 48, 134;
}

body.dark-mode.cfy-ht-aubergine-mint, html.cfy-root-dark.cfy-root-ht-aubergine-mint {
    --cfy-t-surface: #171219;
    --cfy-t-surface-2: #1e1820;
    --cfy-t-surface-3: #272029;
    --cfy-t-line: #352d38;
    --cfy-t-line-2: #453c49;
    --cfy-t-ink: #f2eff4;
    --cfy-t-ink-2: #e3dbe6;
    --cfy-t-muted: #d0c4d4;
    --cfy-t-faint: #6f6573;
    --cfy-t-accent: #7ff2c8;
    --cfy-t-accent-rgb: 127, 242, 200;
    --cfy-t-on-accent: #1a0f1e;
    --cfy-t-accent-soft: #2c3738;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #7ff2c8;
    --cfy-t-fill-hi: #b3ffe0;
    --cfy-t-fill-lo: #6ee1b8;
    --cfy-t-on-fill: #1a0f1e;
    --cfy-t-fill-rgb: 127, 242, 200;
}

/* --- Pétrole & Pêche --- */

body.cfy-ht-petrol-peach, html.cfy-root-ht-petrol-peach {
    --cfy-t-surface: #fafefe;
    --cfy-t-surface-2: #f2f9fa;
    --cfy-t-surface-3: #e7f3f5;
    --cfy-t-line: #d4e5e8;
    --cfy-t-line-2: #bad3d8;
    --cfy-t-ink: #0b191b;
    --cfy-t-ink-2: #2a4246;
    --cfy-t-muted: #50686d;
    --cfy-t-faint: #97a8ac;
    --cfy-t-accent: #0b5a66;
    --cfy-t-accent-rgb: 11, 90, 102;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #d3f4fa;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #005460;
    --cfy-t-fill-hi: #17616d;
    --cfy-t-fill-lo: #003e48;
    --cfy-t-on-fill: #ffe5d7;
    --cfy-t-fill-rgb: 0, 84, 96;
}

body.dark-mode.cfy-ht-petrol-peach, html.cfy-root-dark.cfy-root-ht-petrol-peach {
    --cfy-t-surface: #0b1618;
    --cfy-t-surface-2: #111d1f;
    --cfy-t-surface-3: #172628;
    --cfy-t-line: #233337;
    --cfy-t-line-2: #304448;
    --cfy-t-ink: #eaf2f3;
    --cfy-t-ink-2: #d1e1e5;
    --cfy-t-muted: #b5ccd1;
    --cfy-t-faint: #596d71;
    --cfy-t-accent: #ffcaaf;
    --cfy-t-accent-rgb: 255, 202, 175;
    --cfy-t-on-accent: #00181c;
    --cfy-t-accent-soft: #323533;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #ffbd99;
    --cfy-t-fill-hi: #ffd8c4;
    --cfy-t-fill-lo: #ffbd99;
    --cfy-t-on-fill: #00181c;
    --cfy-t-fill-rgb: 255, 189, 153;
}

/* --- Cacao & Turquoise --- */

body.cfy-ht-cocoa-turquoise, html.cfy-root-ht-cocoa-turquoise {
    --cfy-t-surface: #fffcfa;
    --cfy-t-surface-2: #fcf6f3;
    --cfy-t-surface-3: #f8eee9;
    --cfy-t-line: #ecded7;
    --cfy-t-line-2: #dec9be;
    --cfy-t-ink: #1e130e;
    --cfy-t-ink-2: #4a392f;
    --cfy-t-muted: #725f54;
    --cfy-t-faint: #b0a19a;
    --cfy-t-accent: #6a3a1e;
    --cfy-t-accent-rgb: 106, 58, 30;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe7db;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #714024;
    --cfy-t-fill-hi: #7e4d31;
    --cfy-t-fill-lo: #592d12;
    --cfy-t-on-fill: #7fffef;
    --cfy-t-fill-rgb: 113, 64, 36;
}

body.dark-mode.cfy-ht-cocoa-turquoise, html.cfy-root-dark.cfy-root-ht-cocoa-turquoise {
    --cfy-t-surface: #1a120d;
    --cfy-t-surface-2: #221813;
    --cfy-t-surface-3: #2b201a;
    --cfy-t-line: #3a2d27;
    --cfy-t-line-2: #4b3c34;
    --cfy-t-ink: #f5efeb;
    --cfy-t-ink-2: #e9dbd4;
    --cfy-t-muted: #d7c4bb;
    --cfy-t-faint: #75655c;
    --cfy-t-accent: #4fecdc;
    --cfy-t-accent-rgb: 79, 236, 220;
    --cfy-t-on-accent: #200f05;
    --cfy-t-accent-soft: #28362f;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #41e2d2;
    --cfy-t-fill-hi: #6cf4e5;
    --cfy-t-fill-lo: #41e2d2;
    --cfy-t-on-fill: #200f05;
    --cfy-t-fill-rgb: 65, 226, 210;
}

/* --- Indigo & Citron vert --- */

body.cfy-ht-indigo-lime, html.cfy-root-ht-indigo-lime {
    --cfy-t-surface: #fcfcff;
    --cfy-t-surface-2: #f6f7fd;
    --cfy-t-surface-3: #eeeff9;
    --cfy-t-line: #dfe0ed;
    --cfy-t-line-2: #cacce0;
    --cfy-t-ink: #14151f;
    --cfy-t-ink-2: #3a3c4d;
    --cfy-t-muted: #606274;
    --cfy-t-faint: #a2a3b1;
    --cfy-t-accent: #3a20a8;
    --cfy-t-accent-rgb: 58, 32, 168;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #e9ebff;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #4533b9;
    --cfy-t-fill-hi: #5042c8;
    --cfy-t-fill-lo: #341b9b;
    --cfy-t-on-fill: #c5fe3d;
    --cfy-t-fill-rgb: 69, 51, 185;
}

body.dark-mode.cfy-ht-indigo-lime, html.cfy-root-dark.cfy-root-ht-indigo-lime {
    --cfy-t-surface: #12131b;
    --cfy-t-surface-2: #191a23;
    --cfy-t-surface-3: #21222c;
    --cfy-t-line: #2e2f3b;
    --cfy-t-line-2: #3d3e4e;
    --cfy-t-ink: #eff0f6;
    --cfy-t-ink-2: #dbddea;
    --cfy-t-muted: #c4c6d7;
    --cfy-t-faint: #666877;
    --cfy-t-accent: #b5ed1d;
    --cfy-t-accent-rgb: 181, 237, 29;
    --cfy-t-on-accent: #111223;
    --cfy-t-accent-soft: #2f3822;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #b5ed1d;
    --cfy-t-fill-hi: #ccff65;
    --cfy-t-fill-lo: #a9df00;
    --cfy-t-on-fill: #111223;
    --cfy-t-fill-rgb: 181, 237, 29;
}

/* --- Carbone & Écarlate --- */

body.cfy-ht-carbon-scarlet, html.cfy-root-ht-carbon-scarlet {
    --cfy-t-surface: #fdfdfd;
    --cfy-t-surface-2: #f7f7f7;
    --cfy-t-surface-3: #f0f0f0;
    --cfy-t-line: #e1e1e1;
    --cfy-t-line-2: #cecece;
    --cfy-t-ink: #161616;
    --cfy-t-ink-2: #3d3d3d;
    --cfy-t-muted: #636363;
    --cfy-t-faint: #a4a4a4;
    --cfy-t-accent: #9b1d00;
    --cfy-t-accent-rgb: 155, 29, 0;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ededed;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #dc3105;
    --cfy-t-fill-hi: #d53d1d;
    --cfy-t-fill-lo: #ba2600;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 220, 49, 5;
}

body.dark-mode.cfy-ht-carbon-scarlet, html.cfy-root-dark.cfy-root-ht-carbon-scarlet {
    --cfy-t-surface: #141414;
    --cfy-t-surface-2: #1b1b1b;
    --cfy-t-surface-3: #232323;
    --cfy-t-line: #303030;
    --cfy-t-line-2: #404040;
    --cfy-t-ink: #f0f0f0;
    --cfy-t-ink-2: #dedede;
    --cfy-t-muted: #c7c7c7;
    --cfy-t-faint: #696969;
    --cfy-t-accent: #ffcbbf;
    --cfy-t-accent-rgb: 255, 203, 191;
    --cfy-t-on-accent: #121123;
    --cfy-t-accent-soft: #3b3432;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #dc3105;
    --cfy-t-fill-hi: #d53d1d;
    --cfy-t-fill-lo: #ba2600;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 220, 49, 5;
}

/* --- Olive & Fuchsia --- */

body.cfy-ht-olive-fuchsia, html.cfy-root-ht-olive-fuchsia {
    --cfy-t-surface: #fcfdfa;
    --cfy-t-surface-2: #f7f8f2;
    --cfy-t-surface-3: #eff1e8;
    --cfy-t-line: #e0e3d6;
    --cfy-t-line-2: #ccd0bc;
    --cfy-t-ink: #111810;
    --cfy-t-ink-2: #374030;
    --cfy-t-muted: #5e6754;
    --cfy-t-faint: #a3a699;
    --cfy-t-accent: #505a09;
    --cfy-t-accent-rgb: 80, 90, 9;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ebf0d6;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #c83a93;
    --cfy-t-fill-hi: #c34391;
    --cfy-t-fill-lo: #b01e7e;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 200, 58, 147;
}

body.dark-mode.cfy-ht-olive-fuchsia, html.cfy-root-dark.cfy-root-ht-olive-fuchsia {
    --cfy-t-surface: #13150d;
    --cfy-t-surface-2: #1a1c12;
    --cfy-t-surface-3: #222419;
    --cfy-t-line: #2f3225;
    --cfy-t-line-2: #3f4232;
    --cfy-t-ink: #f0f1eb;
    --cfy-t-ink-2: #dde0d3;
    --cfy-t-muted: #c6cab7;
    --cfy-t-faint: #686b5b;
    --cfy-t-accent: #ffc8e4;
    --cfy-t-accent-rgb: 255, 200, 228;
    --cfy-t-on-accent: #131603;
    --cfy-t-accent-soft: #3a342f;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #c83a93;
    --cfy-t-fill-hi: #c34391;
    --cfy-t-fill-lo: #b01e7e;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 200, 58, 147;
}

/* --- Cobalt & Soleil --- */

body.cfy-ht-cobalt-sun, html.cfy-root-ht-cobalt-sun {
    --cfy-t-surface: #fcfdff;
    --cfy-t-surface-2: #f5f7fd;
    --cfy-t-surface-3: #ecf0f9;
    --cfy-t-line: #dbe1ee;
    --cfy-t-line-2: #c4cee1;
    --cfy-t-ink: #11161f;
    --cfy-t-ink-2: #353d4d;
    --cfy-t-muted: #5b6375;
    --cfy-t-faint: #9ea5b2;
    --cfy-t-accent: #1344c6;
    --cfy-t-accent-rgb: 19, 68, 198;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #e4edff;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #0c3dbf;
    --cfy-t-fill-hi: #194cce;
    --cfy-t-fill-lo: #0025a0;
    --cfy-t-on-fill: #ffeba2;
    --cfy-t-fill-rgb: 12, 61, 191;
}

body.dark-mode.cfy-ht-cobalt-sun, html.cfy-root-dark.cfy-root-ht-cobalt-sun {
    --cfy-t-surface: #10141b;
    --cfy-t-surface-2: #161b23;
    --cfy-t-surface-3: #1e232d;
    --cfy-t-line: #2b303c;
    --cfy-t-line-2: #39404e;
    --cfy-t-ink: #edf0f6;
    --cfy-t-ink-2: #d8deea;
    --cfy-t-muted: #bfc8d8;
    --cfy-t-faint: #626978;
    --cfy-t-accent: #ffd60a;
    --cfy-t-accent-rgb: 255, 214, 10;
    --cfy-t-on-accent: #0c1323;
    --cfy-t-accent-soft: #37351f;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #ffd60a;
    --cfy-t-fill-hi: #ffedaa;
    --cfy-t-fill-lo: #f0c900;
    --cfy-t-on-fill: #0c1323;
    --cfy-t-fill-rgb: 255, 214, 10;
}

/* --- Terre cuite & Azur --- */

body.cfy-ht-terracotta-azure, html.cfy-root-ht-terracotta-azure {
    --cfy-t-surface: #fffcfb;
    --cfy-t-surface-2: #fdf6f3;
    --cfy-t-surface-3: #f8edea;
    --cfy-t-line: #edded8;
    --cfy-t-line-2: #dfc8c0;
    --cfy-t-ink: #1e130f;
    --cfy-t-ink-2: #4b3831;
    --cfy-t-muted: #735e56;
    --cfy-t-faint: #b0a19b;
    --cfy-t-accent: #903307;
    --cfy-t-accent-rgb: 144, 51, 7;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe7de;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #892d00;
    --cfy-t-fill-hi: #983b13;
    --cfy-t-fill-lo: #692100;
    --cfy-t-on-fill: #d1efff;
    --cfy-t-fill-rgb: 137, 45, 0;
}

body.dark-mode.cfy-ht-terracotta-azure, html.cfy-root-dark.cfy-root-ht-terracotta-azure {
    --cfy-t-surface: #1a110e;
    --cfy-t-surface-2: #221814;
    --cfy-t-surface-3: #2b201b;
    --cfy-t-line: #3a2d28;
    --cfy-t-line-2: #4c3b35;
    --cfy-t-ink: #f5eeec;
    --cfy-t-ink-2: #e9dad5;
    --cfy-t-muted: #d6c3bb;
    --cfy-t-faint: #76645e;
    --cfy-t-accent: #a0deff;
    --cfy-t-accent-rgb: 160, 222, 255;
    --cfy-t-on-accent: #210e07;
    --cfy-t-accent-soft: #343435;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #87d7ff;
    --cfy-t-fill-hi: #b8e7ff;
    --cfy-t-fill-lo: #87d7ff;
    --cfy-t-on-fill: #210e07;
    --cfy-t-fill-rgb: 135, 215, 255;
}

/* --- Sapin & Rose --- */

body.cfy-ht-fir-rose, html.cfy-root-ht-fir-rose {
    --cfy-t-surface: #fafefc;
    --cfy-t-surface-2: #f3f9f6;
    --cfy-t-surface-3: #e8f3ee;
    --cfy-t-line: #d7e5df;
    --cfy-t-line-2: #bdd4ca;
    --cfy-t-ink: #0d1914;
    --cfy-t-ink-2: #2e423a;
    --cfy-t-muted: #536960;
    --cfy-t-faint: #99a9a2;
    --cfy-t-accent: #0f5a44;
    --cfy-t-accent-rgb: 15, 90, 68;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #d7f5e8;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #085641;
    --cfy-t-fill-hi: #1c634d;
    --cfy-t-fill-lo: #00402f;
    --cfy-t-on-fill: #ffe2ec;
    --cfy-t-fill-rgb: 8, 86, 65;
}

body.dark-mode.cfy-ht-fir-rose, html.cfy-root-dark.cfy-root-ht-fir-rose {
    --cfy-t-surface: #0d1612;
    --cfy-t-surface-2: #121d19;
    --cfy-t-surface-3: #192621;
    --cfy-t-line: #26342e;
    --cfy-t-line-2: #32443d;
    --cfy-t-ink: #ebf2ef;
    --cfy-t-ink-2: #d3e2dc;
    --cfy-t-muted: #b8cdc4;
    --cfy-t-faint: #5c6e66;
    --cfy-t-accent: #ffc7db;
    --cfy-t-accent-rgb: 255, 199, 219;
    --cfy-t-on-accent: #021911;
    --cfy-t-accent-soft: #333534;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #ffbad3;
    --cfy-t-fill-hi: #ffd8e6;
    --cfy-t-fill-lo: #ffbad3;
    --cfy-t-on-fill: #021911;
    --cfy-t-fill-rgb: 255, 186, 211;
}

/* --- Prune & Abricot --- */

body.cfy-ht-plum-apricot, html.cfy-root-ht-plum-apricot {
    --cfy-t-surface: #fffcfe;
    --cfy-t-surface-2: #fbf5f9;
    --cfy-t-surface-3: #f7edf3;
    --cfy-t-line: #eadde5;
    --cfy-t-line-2: #dbc7d3;
    --cfy-t-ink: #1c1219;
    --cfy-t-ink-2: #483742;
    --cfy-t-muted: #705d68;
    --cfy-t-faint: #aea0a8;
    --cfy-t-accent: #6e1a58;
    --cfy-t-accent-rgb: 110, 26, 88;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #fee4f4;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #7f2b68;
    --cfy-t-fill-hi: #8d3975;
    --cfy-t-fill-lo: #661751;
    --cfy-t-on-fill: #ffe6d1;
    --cfy-t-fill-rgb: 127, 43, 104;
}

body.dark-mode.cfy-ht-plum-apricot, html.cfy-root-dark.cfy-root-ht-plum-apricot {
    --cfy-t-surface: #191116;
    --cfy-t-surface-2: #21171d;
    --cfy-t-surface-3: #2a1f26;
    --cfy-t-line: #382c34;
    --cfy-t-line-2: #4a3a44;
    --cfy-t-ink: #f4eef2;
    --cfy-t-ink-2: #e7dae2;
    --cfy-t-muted: #d5c3cd;
    --cfy-t-faint: #73646d;
    --cfy-t-accent: #ffcba0;
    --cfy-t-accent-rgb: 255, 203, 160;
    --cfy-t-on-accent: #1e0d19;
    --cfy-t-accent-soft: #40302f;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #ffc08a;
    --cfy-t-fill-hi: #ffdbbd;
    --cfy-t-fill-lo: #ffc08a;
    --cfy-t-on-fill: #1e0d19;
    --cfy-t-fill-rgb: 255, 192, 138;
}

/* --- Minuit & Cyan --- */

body.cfy-ht-midnight-cyan, html.cfy-root-ht-midnight-cyan {
    --cfy-t-surface: #fcfdff;
    --cfy-t-surface-2: #f5f7fd;
    --cfy-t-surface-3: #ecf0f9;
    --cfy-t-line: #dce1ee;
    --cfy-t-line-2: #c6cde1;
    --cfy-t-ink: #12161f;
    --cfy-t-ink-2: #373d4d;
    --cfy-t-muted: #5c6375;
    --cfy-t-faint: #9fa4b2;
    --cfy-t-accent: #16207a;
    --cfy-t-accent-rgb: 22, 32, 122;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #e6edff;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #2f449f;
    --cfy-t-fill-hi: #3a51ae;
    --cfy-t-fill-lo: #1f2f83;
    --cfy-t-on-fill: #b2f5ff;
    --cfy-t-fill-rgb: 47, 68, 159;
}

body.dark-mode.cfy-ht-midnight-cyan, html.cfy-root-dark.cfy-root-ht-midnight-cyan {
    --cfy-t-surface: #11141b;
    --cfy-t-surface-2: #171a23;
    --cfy-t-surface-3: #1f232d;
    --cfy-t-line: #2c303c;
    --cfy-t-line-2: #3a3f4e;
    --cfy-t-ink: #eef0f6;
    --cfy-t-ink-2: #d9deea;
    --cfy-t-muted: #c0c7d8;
    --cfy-t-faint: #636978;
    --cfy-t-accent: #38e9ff;
    --cfy-t-accent-rgb: 56, 233, 255;
    --cfy-t-on-accent: #0d1323;
    --cfy-t-accent-soft: #1c3742;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #22e8ff;
    --cfy-t-fill-hi: #9ff2ff;
    --cfy-t-fill-lo: #08e1f8;
    --cfy-t-on-fill: #0d1323;
    --cfy-t-fill-rgb: 34, 232, 255;
}

/* --- Kaki & Mandarine --- */

body.cfy-ht-khaki-tangerine, html.cfy-root-ht-khaki-tangerine {
    --cfy-t-surface: #fdfdfa;
    --cfy-t-surface-2: #f8f8f2;
    --cfy-t-surface-3: #f1f1e7;
    --cfy-t-line: #e3e2d5;
    --cfy-t-line-2: #d0cfba;
    --cfy-t-ink: #1c150c;
    --cfy-t-ink-2: #463b2c;
    --cfy-t-muted: #6b6250;
    --cfy-t-faint: #a6a597;
    --cfy-t-accent: #5b5723;
    --cfy-t-accent-rgb: 91, 87, 35;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #f0efd4;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #524e19;
    --cfy-t-fill-hi: #5e5a26;
    --cfy-t-fill-lo: #3e3904;
    --cfy-t-on-fill: #ffe6d0;
    --cfy-t-fill-rgb: 82, 78, 25;
}

body.dark-mode.cfy-ht-khaki-tangerine, html.cfy-root-dark.cfy-root-ht-khaki-tangerine {
    --cfy-t-surface: #15140c;
    --cfy-t-surface-2: #1c1b11;
    --cfy-t-surface-3: #242318;
    --cfy-t-line: #323124;
    --cfy-t-line-2: #424131;
    --cfy-t-ink: #f1f0ea;
    --cfy-t-ink-2: #dfdfd1;
    --cfy-t-muted: #cac9b6;
    --cfy-t-faint: #6b6a5a;
    --cfy-t-accent: #ffcc9f;
    --cfy-t-accent-rgb: 255, 204, 159;
    --cfy-t-on-accent: #161502;
    --cfy-t-accent-soft: #3c3425;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #ffbf84;
    --cfy-t-fill-hi: #ffdab9;
    --cfy-t-fill-lo: #ffbf84;
    --cfy-t-on-fill: #161502;
    --cfy-t-fill-rgb: 255, 191, 132;
}

/* --- Violet royal & Vanille --- */

body.cfy-ht-royal-vanilla, html.cfy-root-ht-royal-vanilla {
    --cfy-t-surface: #fdfcff;
    --cfy-t-surface-2: #f8f6fc;
    --cfy-t-surface-3: #f1eef8;
    --cfy-t-line: #e2dfec;
    --cfy-t-line-2: #cfcade;
    --cfy-t-ink: #17141e;
    --cfy-t-ink-2: #3e3a4b;
    --cfy-t-muted: #656073;
    --cfy-t-faint: #a5a2b0;
    --cfy-t-accent: #5b1fa6;
    --cfy-t-accent-rgb: 91, 31, 166;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #eee9ff;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #6229ae;
    --cfy-t-fill-hi: #6e39bd;
    --cfy-t-fill-lo: #4d0e91;
    --cfy-t-on-fill: #ffefc2;
    --cfy-t-fill-rgb: 98, 41, 174;
}

body.dark-mode.cfy-ht-royal-vanilla, html.cfy-root-dark.cfy-root-ht-royal-vanilla {
    --cfy-t-surface: #14121a;
    --cfy-t-surface-2: #1b1922;
    --cfy-t-surface-3: #24212b;
    --cfy-t-line: #312e3a;
    --cfy-t-line-2: #413d4c;
    --cfy-t-ink: #f0eff5;
    --cfy-t-ink-2: #dfdce9;
    --cfy-t-muted: #c9c5d6;
    --cfy-t-faint: #6a6676;
    --cfy-t-accent: #ffefc2;
    --cfy-t-accent-rgb: 255, 239, 194;
    --cfy-t-on-accent: #151022;
    --cfy-t-accent-soft: #3b3738;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #ffefc2;
    --cfy-t-fill-hi: #ffffff;
    --cfy-t-fill-lo: #e8d8ac;
    --cfy-t-on-fill: #151022;
    --cfy-t-fill-rgb: 255, 239, 194;
}

/* --- Cramoisi & Neige --- */

body.cfy-ht-crimson-snow, html.cfy-root-ht-crimson-snow {
    --cfy-t-surface: #fffcfc;
    --cfy-t-surface-2: #fdf5f5;
    --cfy-t-surface-3: #f9edec;
    --cfy-t-line: #eddddb;
    --cfy-t-line-2: #e0c7c5;
    --cfy-t-ink: #1e1311;
    --cfy-t-ink-2: #4c3735;
    --cfy-t-muted: #745d5b;
    --cfy-t-faint: #b1a09e;
    --cfy-t-accent: #9e0719;
    --cfy-t-accent-rgb: 158, 7, 25;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe6e4;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #9b0117;
    --cfy-t-fill-hi: #ab1d25;
    --cfy-t-fill-lo: #78000f;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 155, 1, 23;
}

body.dark-mode.cfy-ht-crimson-snow, html.cfy-root-dark.cfy-root-ht-crimson-snow {
    --cfy-t-surface: #1a1110;
    --cfy-t-surface-2: #221716;
    --cfy-t-surface-3: #2c1f1e;
    --cfy-t-line: #3b2c2b;
    --cfy-t-line-2: #4d3b39;
    --cfy-t-ink: #f5eeed;
    --cfy-t-ink-2: #eadad8;
    --cfy-t-muted: #d9c3c1;
    --cfy-t-faint: #776462;
    --cfy-t-accent: #ffffff;
    --cfy-t-accent-rgb: 255, 255, 255;
    --cfy-t-on-accent: #210d0c;
    --cfy-t-accent-soft: #413737;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #ffffff;
    --cfy-t-fill-hi: #ffffff;
    --cfy-t-fill-lo: #e8e8e8;
    --cfy-t-on-fill: #210d0c;
    --cfy-t-fill-rgb: 255, 255, 255;
}

/* --- Ardoise & Vert néon --- */

body.cfy-ht-slate-neon, html.cfy-root-ht-slate-neon {
    --cfy-t-surface: #fbfefc;
    --cfy-t-surface-2: #f3f9f5;
    --cfy-t-surface-3: #eaf3ec;
    --cfy-t-line: #d8e5dc;
    --cfy-t-line-2: #c0d4c6;
    --cfy-t-ink: #0f1912;
    --cfy-t-ink-2: #304237;
    --cfy-t-muted: #56695c;
    --cfy-t-faint: #9ba99f;
    --cfy-t-accent: #006137;
    --cfy-t-accent-rgb: 0, 97, 55;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #dbf4e3;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #2d4e71;
    --cfy-t-fill-hi: #395b7e;
    --cfy-t-fill-lo: #1b3a59;
    --cfy-t-on-fill: #a3ff9f;
    --cfy-t-fill-rgb: 45, 78, 113;
}

body.dark-mode.cfy-ht-slate-neon, html.cfy-root-dark.cfy-root-ht-slate-neon {
    --cfy-t-surface: #0e141b;
    --cfy-t-surface-2: #141b23;
    --cfy-t-surface-3: #1c242c;
    --cfy-t-line: #28313b;
    --cfy-t-line-2: #36414d;
    --cfy-t-ink: #ecf1f5;
    --cfy-t-ink-2: #d6dfea;
    --cfy-t-muted: #bbc9d7;
    --cfy-t-faint: #5f6a77;
    --cfy-t-accent: #6cff6c;
    --cfy-t-accent-rgb: 108, 255, 108;
    --cfy-t-on-accent: #071523;
    --cfy-t-accent-soft: #203b2d;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #6cff6c;
    --cfy-t-fill-hi: #caffc7;
    --cfy-t-fill-lo: #51e754;
    --cfy-t-on-fill: #071523;
    --cfy-t-fill-rgb: 108, 255, 108;
}

/* --- Framboise & Glacier --- */

body.cfy-ht-raspberry-ice, html.cfy-root-ht-raspberry-ice {
    --cfy-t-surface: #fffcfd;
    --cfy-t-surface-2: #fcf5f8;
    --cfy-t-surface-3: #f8edf1;
    --cfy-t-line: #ecdde2;
    --cfy-t-line-2: #dec7cf;
    --cfy-t-ink: #1d1217;
    --cfy-t-ink-2: #4a373e;
    --cfy-t-muted: #725c64;
    --cfy-t-faint: #afa0a5;
    --cfy-t-accent: #970d5b;
    --cfy-t-accent-rgb: 151, 13, 91;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe5ee;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #950759;
    --cfy-t-fill-hi: #a41f65;
    --cfy-t-fill-lo: #740043;
    --cfy-t-on-fill: #baf5ff;
    --cfy-t-fill-rgb: 149, 7, 89;
}

body.dark-mode.cfy-ht-raspberry-ice, html.cfy-root-dark.cfy-root-ht-raspberry-ice {
    --cfy-t-surface: #1a1114;
    --cfy-t-surface-2: #22171b;
    --cfy-t-surface-3: #2b1f23;
    --cfy-t-line: #3a2c31;
    --cfy-t-line-2: #4b3a41;
    --cfy-t-ink: #f5eef0;
    --cfy-t-ink-2: #e8d9df;
    --cfy-t-muted: #d7c2c9;
    --cfy-t-faint: #75636a;
    --cfy-t-accent: #a8f3ff;
    --cfy-t-accent-rgb: 168, 243, 255;
    --cfy-t-on-accent: #200d15;
    --cfy-t-accent-soft: #35363b;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #a8f3ff;
    --cfy-t-fill-hi: #eafcff;
    --cfy-t-fill-lo: #91dce8;
    --cfy-t-on-fill: #200d15;
    --cfy-t-fill-rgb: 168, 243, 255;
}

/* --- Magenta & Mimosa --- */

body.cfy-ht-magenta-mimosa, html.cfy-root-ht-magenta-mimosa {
    --cfy-t-surface: #fefcfe;
    --cfy-t-surface-2: #fbf6fa;
    --cfy-t-surface-3: #f6edf4;
    --cfy-t-line: #e9dde7;
    --cfy-t-line-2: #d9c7d6;
    --cfy-t-ink: #1b131a;
    --cfy-t-ink-2: #473845;
    --cfy-t-muted: #6e5d6b;
    --cfy-t-faint: #aca0aa;
    --cfy-t-accent: #8a1084;
    --cfy-t-accent-rgb: 138, 16, 132;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #fbe5f8;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #8a0f84;
    --cfy-t-fill-hi: #982491;
    --cfy-t-fill-lo: #6c0068;
    --cfy-t-on-fill: #ffec94;
    --cfy-t-fill-rgb: 138, 15, 132;
}

body.dark-mode.cfy-ht-magenta-mimosa, html.cfy-root-dark.cfy-root-ht-magenta-mimosa {
    --cfy-t-surface: #181117;
    --cfy-t-surface-2: #20181f;
    --cfy-t-surface-3: #291f27;
    --cfy-t-line: #372c36;
    --cfy-t-line-2: #483b46;
    --cfy-t-ink: #f3eef3;
    --cfy-t-ink-2: #e5dae4;
    --cfy-t-muted: #d3c3d1;
    --cfy-t-faint: #726470;
    --cfy-t-accent: #ffe14d;
    --cfy-t-accent-rgb: 255, 225, 77;
    --cfy-t-on-accent: #1d0e1b;
    --cfy-t-accent-soft: #3f3425;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #ffe14d;
    --cfy-t-fill-hi: #fff6cb;
    --cfy-t-fill-lo: #e8ca2d;
    --cfy-t-on-fill: #1d0e1b;
    --cfy-t-fill-rgb: 255, 225, 77;
}

/* --- Brique & Crème --- */

body.cfy-ht-brick-cream, html.cfy-root-ht-brick-cream {
    --cfy-t-surface: #fffcfb;
    --cfy-t-surface-2: #fcf6f3;
    --cfy-t-surface-3: #f8eee9;
    --cfy-t-line: #ecded7;
    --cfy-t-line-2: #dec9be;
    --cfy-t-ink: #1e130e;
    --cfy-t-ink-2: #4b3930;
    --cfy-t-muted: #725e55;
    --cfy-t-faint: #b0a19a;
    --cfy-t-accent: #873900;
    --cfy-t-accent-rgb: 135, 57, 0;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe7dc;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #813600;
    --cfy-t-fill-hi: #943f00;
    --cfy-t-fill-lo: #632800;
    --cfy-t-on-fill: #fff1d6;
    --cfy-t-fill-rgb: 129, 54, 0;
}

body.dark-mode.cfy-ht-brick-cream, html.cfy-root-dark.cfy-root-ht-brick-cream {
    --cfy-t-surface: #1a120e;
    --cfy-t-surface-2: #221813;
    --cfy-t-surface-3: #2b201b;
    --cfy-t-line: #3a2d27;
    --cfy-t-line-2: #4c3c34;
    --cfy-t-ink: #f5efec;
    --cfy-t-ink-2: #e9dbd4;
    --cfy-t-muted: #d8c4bb;
    --cfy-t-faint: #76655d;
    --cfy-t-accent: #fff1d6;
    --cfy-t-accent-rgb: 255, 241, 214;
    --cfy-t-on-accent: #200e06;
    --cfy-t-accent-soft: #41362e;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #fff1d6;
    --cfy-t-fill-hi: #ffffff;
    --cfy-t-fill-lo: #e8dabf;
    --cfy-t-on-fill: #200e06;
    --cfy-t-fill-rgb: 255, 241, 214;
}

/* --- Bronze & Lilas --- */

body.cfy-ht-bronze-lilac, html.cfy-root-ht-bronze-lilac {
    --cfy-t-surface: #fffcfa;
    --cfy-t-surface-2: #fcf6f2;
    --cfy-t-surface-3: #f7eee8;
    --cfy-t-line: #ebdfd6;
    --cfy-t-line-2: #ddcabc;
    --cfy-t-ink: #1d140d;
    --cfy-t-ink-2: #4a392e;
    --cfy-t-muted: #715f53;
    --cfy-t-faint: #afa299;
    --cfy-t-accent: #7a471d;
    --cfy-t-accent-rgb: 122, 71, 29;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe8d8;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #734016;
    --cfy-t-fill-hi: #7f4d22;
    --cfy-t-fill-lo: #5c2b07;
    --cfy-t-on-fill: #f0e7ff;
    --cfy-t-fill-rgb: 115, 64, 22;
}

body.dark-mode.cfy-ht-bronze-lilac, html.cfy-root-dark.cfy-root-ht-bronze-lilac {
    --cfy-t-surface: #18130c;
    --cfy-t-surface-2: #201911;
    --cfy-t-surface-3: #292118;
    --cfy-t-line: #372f24;
    --cfy-t-line-2: #483e31;
    --cfy-t-ink: #f3efea;
    --cfy-t-ink-2: #e5ddd1;
    --cfy-t-muted: #d1c6b6;
    --cfy-t-faint: #726759;
    --cfy-t-accent: #e0cfff;
    --cfy-t-accent-rgb: 224, 207, 255;
    --cfy-t-on-accent: #1d1102;
    --cfy-t-accent-soft: #3b3232;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #d9c2ff;
    --cfy-t-fill-hi: #e8dbff;
    --cfy-t-fill-lo: #d9c2ff;
    --cfy-t-on-fill: #1d1102;
    --cfy-t-fill-rgb: 217, 194, 255;
}

/* --- Mousse & Ciel --- */

body.cfy-ht-moss-sky, html.cfy-root-ht-moss-sky {
    --cfy-t-surface: #fcfdfb;
    --cfy-t-surface-2: #f5f9f3;
    --cfy-t-surface-3: #edf2e9;
    --cfy-t-line: #dde4d8;
    --cfy-t-line-2: #c7d2bf;
    --cfy-t-ink: #0d1914;
    --cfy-t-ink-2: #314236;
    --cfy-t-muted: #596859;
    --cfy-t-faint: #a0a79a;
    --cfy-t-accent: #3a5f00;
    --cfy-t-accent-rgb: 58, 95, 0;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #e5f2da;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #335400;
    --cfy-t-fill-hi: #3c6200;
    --cfy-t-fill-lo: #243e00;
    --cfy-t-on-fill: #d0eeff;
    --cfy-t-fill-rgb: 51, 84, 0;
}

body.dark-mode.cfy-ht-moss-sky, html.cfy-root-dark.cfy-root-ht-moss-sky {
    --cfy-t-surface: #11150e;
    --cfy-t-surface-2: #181c14;
    --cfy-t-surface-3: #1f251b;
    --cfy-t-line: #2c3327;
    --cfy-t-line-2: #3b4334;
    --cfy-t-ink: #eef1ec;
    --cfy-t-ink-2: #dae1d4;
    --cfy-t-muted: #c2cbba;
    --cfy-t-faint: #646c5d;
    --cfy-t-accent: #a2dfff;
    --cfy-t-accent-rgb: 162, 223, 255;
    --cfy-t-on-accent: #0e1706;
    --cfy-t-accent-soft: #2b3735;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #9adcff;
    --cfy-t-fill-hi: #c8ecff;
    --cfy-t-fill-lo: #94d5f8;
    --cfy-t-on-fill: #0e1706;
    --cfy-t-fill-rgb: 154, 220, 255;
}

/* --- Lie-de-vin & Sauge --- */

body.cfy-ht-wine-sage, html.cfy-root-ht-wine-sage {
    --cfy-t-surface: #fffcfc;
    --cfy-t-surface-2: #fdf5f6;
    --cfy-t-surface-3: #f9edee;
    --cfy-t-line: #eddddf;
    --cfy-t-line-2: #dfc7ca;
    --cfy-t-ink: #1e1214;
    --cfy-t-ink-2: #4b373a;
    --cfy-t-muted: #735c60;
    --cfy-t-faint: #b0a0a2;
    --cfy-t-accent: #5a1028;
    --cfy-t-accent-rgb: 90, 16, 40;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #ffe5e9;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #7e3246;
    --cfy-t-fill-hi: #8d3f52;
    --cfy-t-fill-lo: #651f33;
    --cfy-t-on-fill: #d4f3c3;
    --cfy-t-fill-rgb: 126, 50, 70;
}

body.dark-mode.cfy-ht-wine-sage, html.cfy-root-dark.cfy-root-ht-wine-sage {
    --cfy-t-surface: #1a1113;
    --cfy-t-surface-2: #221719;
    --cfy-t-surface-3: #2c1f21;
    --cfy-t-line: #3a2c2e;
    --cfy-t-line-2: #4c3a3d;
    --cfy-t-ink: #f5eeef;
    --cfy-t-ink-2: #e9d9dc;
    --cfy-t-muted: #d8c2c6;
    --cfy-t-faint: #766366;
    --cfy-t-accent: #c1e0b0;
    --cfy-t-accent-rgb: 193, 224, 176;
    --cfy-t-on-accent: #210d11;
    --cfy-t-accent-soft: #38332e;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #b9d7a8;
    --cfy-t-fill-hi: #ceeabe;
    --cfy-t-fill-lo: #b6d4a5;
    --cfy-t-on-fill: #210d11;
    --cfy-t-fill-rgb: 185, 215, 168;
}

/* --- Acier & Orchidée --- */

body.cfy-ht-steel-orchid, html.cfy-root-ht-steel-orchid {
    --cfy-t-surface: #fffcfe;
    --cfy-t-surface-2: #fbf5fa;
    --cfy-t-surface-3: #f6edf4;
    --cfy-t-line: #e9dde6;
    --cfy-t-line-2: #dac7d5;
    --cfy-t-ink: #1c131a;
    --cfy-t-ink-2: #473743;
    --cfy-t-muted: #6f5d6a;
    --cfy-t-faint: #ada0aa;
    --cfy-t-accent: #90007f;
    --cfy-t-accent-rgb: 144, 0, 127;
    --cfy-t-on-accent: #ffffff;
    --cfy-t-accent-soft: #fde5f6;
    --cfy-t-backdrop: rgba(16, 18, 24, 0.45);
    --cfy-t-shadow: 0 24px 60px -20px rgba(16, 18, 24, 0.35);
    --cfy-t-fill: #c03fab;
    --cfy-t-fill-hi: #bb47a7;
    --cfy-t-fill-lo: #a82595;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 192, 63, 171;
}

body.dark-mode.cfy-ht-steel-orchid, html.cfy-root-dark.cfy-root-ht-steel-orchid {
    --cfy-t-surface: #0f141b;
    --cfy-t-surface-2: #151b23;
    --cfy-t-surface-3: #1c242c;
    --cfy-t-line: #28313b;
    --cfy-t-line-2: #36414d;
    --cfy-t-ink: #ecf1f5;
    --cfy-t-ink-2: #d6dfea;
    --cfy-t-muted: #bcc9d7;
    --cfy-t-faint: #5f6a77;
    --cfy-t-accent: #ffc6f2;
    --cfy-t-accent-rgb: 255, 198, 242;
    --cfy-t-on-accent: #071523;
    --cfy-t-accent-soft: #363340;
    --cfy-t-backdrop: rgba(0, 0, 0, 0.66);
    --cfy-t-shadow: 0 24px 60px -18px rgba(0, 0, 0, 0.8);
    --cfy-t-fill: #c03fab;
    --cfy-t-fill-hi: #bb47a7;
    --cfy-t-fill-lo: #a82595;
    --cfy-t-on-fill: #ffffff;
    --cfy-t-fill-rgb: 192, 63, 171;
}

/* ═══ commercify_theme_modals.css ═══ */
/* ═══════════════ Défilement confiné ═══════════════ */
/* Faire défiler une modale ne fait jamais défiler la page derrière elle. */
.modal,
.modal .modal-body,
.swal2-container,
.swal2-html-container {
    overscroll-behavior: contain;
}

/* ═══════════════ Voile ═══════════════ */
html body[class*="cfy-ht-"] .modal-backdrop.show {
    background-color: var(--cfy-t-backdrop) !important;
    opacity: 1 !important;
}

/* Flou systématique du reste de l'écran derrière toute modale : voile Bootstrap standard et
   fenêtres SweetAlert2 (hors toasts : leur conteneur ne couvre que la notification). Les modales plein écran qui masquent
   le voile Bootstrap portent déjà leur propre flou de 12px. Neutralisé par le mode performance. */
html body .modal-backdrop.show,
html body:not(.swal2-toast-shown) .swal2-container.swal2-backdrop-show:not(.swal2-no-backdrop) {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

/* ═══════════════ Socle commun des modales « dashboard » ═══════════════ */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-modal {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), 0.6) !important;
    box-shadow: var(--cfy-t-shadow) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-body,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content .modal-body,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-modal-body,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-search-wrapper-desktop {
    background: color-mix(in srgb, var(--cfy-t-fill) 3%, var(--cfy-t-surface)) !important;
    color: var(--cfy-t-ink) !important;
}

/* En-tête : même fond que le header du site (toujours sombre, dans les deux modes) + liseré d'accent */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-header {
    background: var(--cfy-hr-hd-bg) !important;
    color: var(--cfy-hr-ink) !important;
    border-bottom: 1px solid var(--cfy-hr-rule) !important;
    box-shadow: inset 0 2px 0 var(--cfy-hr-accent) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-title,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-title .dashboard-modal-title-text {
    color: var(--cfy-hr-ink) !important;
    letter-spacing: 0.04em;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-title::after {
    background: var(--cfy-hr-accent) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-section-title::after {
    background: var(--cfy-t-fill) !important;
}
/* Logo à lettrage blanc sur l'en-tête sombre : pas d'inversion en mode clair */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-header img.dashboard-modal-logo {
    filter: none !important;
}
/* Boutons d'en-tête (langue, recherche, jour/nuit) */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-lang-btn,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-search-btn,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-theme-btn {
    background: var(--cfy-hr-pill-bg) !important;
    color: var(--cfy-hr-ink-2) !important;
    border: 1px solid var(--cfy-hr-rule) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-lang-btn:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-search-btn:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-theme-btn:hover {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo)) !important;
    border-color: var(--cfy-hr-flat-lo) !important;
    color: var(--cfy-hr-on-flat) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-lang-btn svg,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-search-btn svg,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-theme-btn svg {
    stroke: currentColor !important;
}
/* Croix de fermeture */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-close {
    background: var(--cfy-hr-pill-bg) !important;
    color: var(--cfy-hr-ink) !important;
    border: 1px solid var(--cfy-hr-rule) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-close:hover {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo)) !important;
    border-color: var(--cfy-hr-flat-lo) !important;
    color: var(--cfy-hr-on-flat) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-close svg,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-close .icon {
    stroke: currentColor !important;
    color: inherit !important;
}

/* Pied de modale */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer {
    background: color-mix(in srgb, var(--cfy-t-fill) 8%, var(--cfy-t-surface-2)) !important;
    color: var(--cfy-t-ink-2) !important;
    border-top: 1px solid rgba(var(--cfy-t-accent-rgb), 0.35) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer-nav-link {
    color: var(--cfy-t-ink-2) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer-nav-link:hover {
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer-nav-sep,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer-actions-sep {
    color: var(--cfy-t-faint) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer-back-btn {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer-back-btn .dashboard-modal-footer-back-btn-text {
    color: inherit !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer-back-btn:not(.dashboard-modal-footer-back-btn-disabled):hover {
    border-color: var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer-back-btn-disabled {
    color: var(--cfy-t-faint) !important;
    border-color: var(--cfy-t-line) !important;
}

/* Bouton « Fermer » global (commercify_modal_btn_fermer.css) = bouton plein du thème */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .commercify-modal-btn-fermer,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .commercify-modal-btn-fermer ,html body[class*="cfy-ht-"] .commercify-modal-btn-fermer{
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .commercify-modal-btn-fermer:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .commercify-modal-btn-fermer:hover ,
html body[class*="cfy-ht-"] .commercify-modal-btn-fermer:hover{
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-accent) !important;
    border-color: var(--cfy-t-accent) !important;
}

/* Titres de section */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-section-title {
    color: var(--cfy-t-ink) !important;
}

/* ═══════════════ Cartes (tableau de bord) ═══════════════ */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) a.dashboard-card {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line) !important;
    box-shadow: none !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) a.dashboard-card:hover {
    border-color: rgba(var(--cfy-t-fill-rgb), 0.65) !important;
    background: linear-gradient(180deg, var(--cfy-t-surface-2), rgba(var(--cfy-t-fill-rgb), 0.08)) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-t-fill) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card-title,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card-title *,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card .dashboard-btn-text {
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card-description,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card p {
    color: var(--cfy-t-muted) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card svg:not([fill]:not([fill="none"])),
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card .dashboard-card-icon {
    color: var(--cfy-t-accent) !important;
    stroke: var(--cfy-t-accent);
}
/* Cartes mises en avant (Publier une annonce, Mes transactions…) : aplat du thème */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card.dashboard-card-highlight,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card.dashboard-card-highlight-orange {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    border-color: var(--cfy-t-fill-lo) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card.dashboard-card-highlight *,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card.dashboard-card-highlight-orange * {
    color: var(--cfy-t-on-fill) !important;
    stroke: var(--cfy-t-on-fill) !important;
}
/* Survol d'une carte : la description passe au texte secondaire (le dégradé de survol l'atténuait trop) */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card:not(.dashboard-card-highlight):not(.dashboard-card-highlight-orange):hover :is(.dashboard-card-description, p) {
    color: var(--cfy-t-ink-2) !important;
}
/* Survol d'une carte mise en avant : l'aplat reste (la règle générique du survol, plus spécifique sur <a>,
   posait le fond « surface » sous un texte prévu pour l'aplat). */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card.dashboard-card-highlight:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) a.dashboard-card.dashboard-card-highlight:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-card.dashboard-card-highlight-orange:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) a.dashboard-card.dashboard-card-highlight-orange:hover {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill-hi) 45%, var(--cfy-t-fill)) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-t-fill-lo) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-jump-actions-separator {
    background: var(--cfy-t-line-2) !important;
}
/* Boutons carrés du haut du tableau de bord (carte du monde, exporter, jeux) */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-worldmap-btn,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-export-btn,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-quick-vignette-btn,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-games-btn {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-worldmap-btn:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-export-btn:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-quick-vignette-btn:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-games-btn:hover {
    border-color: var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-worldmap-btn *,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-export-btn *,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-quick-vignette-btn * {
    color: inherit !important;
}

/* Champs de formulaire des modales */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content .form-select,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content select,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content input[type="text"],
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content input[type="search"],
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content input[type="number"],
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content input[type="email"],
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content .form-control,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content textarea {
    background-color: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    box-shadow: none !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content .form-select:focus,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content .form-control:focus,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content input:focus,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content textarea:focus {
    border-color: var(--cfy-t-accent) !important;
    box-shadow: 0 0 0 2px rgba(var(--cfy-t-accent-rgb), 0.2) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content option {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content ::placeholder {
    color: var(--cfy-t-faint) !important;
}
/* Cases et interrupteurs Bootstrap à l'intérieur des modales */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content .form-check-input {
    background-color: var(--cfy-t-surface) !important;
    border-color: var(--cfy-t-line-2) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content .form-check-input:checked {
    background-color: var(--cfy-t-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content .form-check-label,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content label {
    color: var(--cfy-t-ink-2) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content .text-primary,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-content label.text-primary {
    color: var(--cfy-t-accent) !important;
}

/* ═══════════════ Langues ═══════════════ */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card:hover {
    border-color: rgba(var(--cfy-t-fill-rgb), 0.65) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-t-fill) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card.active {
    background: rgba(var(--cfy-t-fill-rgb), 0.12) !important;
    border-color: var(--cfy-t-fill) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-t-fill) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card--rtl {
    background: var(--cfy-t-surface-3) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card h4,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card .language-name {
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card p,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card small {
    color: var(--cfy-t-muted) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-badge,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-badge--rtl {
    background: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-grid-separator {
    background: var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-current-session-label {
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-current-session-name,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-modal-body-mappemonde-link {
    color: var(--cfy-t-muted) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-search-input {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-accent) !important;
}

/* ═══════════════ Recherche avancée ═══════════════ */
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .card,
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .rayon-card,
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .devise-card,
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .langue-card,
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .category-card,
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) [class*="-card"].bg-light {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .card-header,
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) [class*="section-header"],
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) [class*="card-title"] {
    background: var(--cfy-t-surface-3) !important;
    color: var(--cfy-t-accent) !important;
    border-color: var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) span[class$="-name"],
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) span[class$="-code"],
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) span[class$="-sigle"] {
    color: var(--cfy-t-ink-2) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .btn-toggle-option {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .btn-toggle-option.active,
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .btn-toggle-option[aria-pressed="true"] {
    background: rgba(var(--cfy-t-fill-rgb), 0.14) !important;
    border-color: var(--cfy-t-fill) !important;
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .btn-primary,
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .btn-warning,
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) button[type="submit"] {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
}

/* ═══════════════ Export ═══════════════ */
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .export-card {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .export-card:hover,
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) input:checked + .export-card,
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .export-card:has(input:checked) {
    background: rgba(var(--cfy-t-fill-rgb), 0.12) !important;
    border-color: var(--cfy-t-fill) !important;
}
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .export-card-icon {
    background: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill) !important;
}
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .export-card-icon svg {
    stroke: var(--cfy-t-on-fill) !important;
}
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .export-card-description {
    color: var(--cfy-t-muted) !important;
}
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .form-label {
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .alert-info {
    background: var(--cfy-t-accent-soft) !important;
    color: var(--cfy-t-ink-2) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), 0.35) !important;
}
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .btn-export-primary {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
}

/* ═══════════════ Carte du monde (panneaux ; la choroplèthe suit le thème via ses niveaux d'activité) ═══════════════ */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-view-toggle,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-legend,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-tooltip,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-float-search-results {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-canvas-stats-overlay {
    background: color-mix(in srgb, var(--cfy-t-surface) 85%, transparent) !important;
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-view-btn,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-legend-tab {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-view-btn.is-active,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-legend-tab.active {
    background: rgba(var(--cfy-t-fill-rgb), 0.14) !important;
    color: var(--cfy-t-accent) !important;
    border-color: var(--cfy-t-fill) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-float-search-input {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-legend-label,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-legend-sublabel {
    color: var(--cfy-t-muted) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-legend-stat,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-reg,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-name,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-stat-label,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-reg-name,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-reg-ads {
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-legend-stat:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-reg:hover {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-catalog {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    border-color: var(--cfy-t-fill-lo) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-catalog,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-catalog * {
    color: var(--cfy-t-on-fill) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-canvas-stats-overlay-spinner {
    border-color: var(--cfy-t-line-2) !important;
    border-top-color: var(--cfy-t-accent) !important;
}

/* ═══════════════ .commercify-modal (certification, vendeur, parrainage, publisher) ═══════════════ */
html body[class*="cfy-ht-"] .commercify-modal .modal-content {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), 0.6) !important;
    box-shadow: var(--cfy-t-shadow) !important;
}
html body[class*="cfy-ht-"] .commercify-modal .modal-header {
    background: var(--cfy-hr-hd-bg) !important;
    color: var(--cfy-hr-ink) !important;
    border-bottom: 1px solid var(--cfy-hr-rule) !important;
    box-shadow: inset 0 2px 0 var(--cfy-hr-accent) !important;
}
html body[class*="cfy-ht-"] .commercify-modal .modal-header *:not(.btn-close):not(svg):not(path) {
    color: var(--cfy-hr-ink) !important;
}
html body[class*="cfy-ht-"] .commercify-modal .modal-body {
    background: color-mix(in srgb, var(--cfy-t-fill) 3%, var(--cfy-t-surface)) !important;
    color: var(--cfy-t-ink-2) !important;
}
html body[class*="cfy-ht-"] .commercify-modal .modal-footer {
    background: color-mix(in srgb, var(--cfy-t-fill) 8%, var(--cfy-t-surface-2)) !important;
    border-top: 1px solid rgba(var(--cfy-t-accent-rgb), 0.35) !important;
}
html body[class*="cfy-ht-"] .commercify-modal .btn-primary,
html body[class*="cfy-ht-"] .commercify-modal .btn-warning {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
}
html body[class*="cfy-ht-"] .commercify-modal .btn-secondary,
html body[class*="cfy-ht-"] .commercify-modal .btn-outline-secondary {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
}
html body[class*="cfy-ht-"] .commercify-modal .btn-close {
    filter: invert(1) grayscale(1) !important;
    opacity: 0.8;
}
html body.dark-mode[class*="cfy-ht-"] .commercify-modal .btn-close {
    filter: invert(1) grayscale(1);
}

/* Export : titres des cartes (or #ffcc00 en dur dans commercify_modal_export_ads.css) */
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .export-card-title,
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .export-card strong,
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .export-card span:not(.export-card-description) {
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .alert-info,
html body[class*="cfy-ht-"] #modalExportAds:not(#cfy-b1):not(#cfy-b2) .alert-info * {
    color: var(--cfy-t-ink-2) !important;
}

/* Recherche avancée : blocs de filtres (Quoi ? / Où ? / Rechercher dans / Prix…) */
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .filter-section-container {
    background: var(--cfy-t-surface-2) !important;
    border-color: var(--cfy-t-line) !important;
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .filter-section-label {
    color: var(--cfy-t-ink) !important;
    /* bande d'en-tête : #101924 !important d'origine en mode sombre (bleu marine DashLite) */
    background: var(--cfy-t-surface-3) !important;
    border-bottom-color: var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .filter-section-label-text {
    color: var(--cfy-t-ink-2) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .filter-section-title {
    color: var(--cfy-t-accent) !important;
    border-color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .filter-section-container .form-control,
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .filter-section-container input {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border-color: var(--cfy-t-line-2) !important;
}

/* Océan / fond du canevas de la carte */
html body[class*="cfy-ht-"] #mappemonde:not(#cfy-b1):not(#cfy-b2) .map-canvas {
    background-color: var(--cfy-t-surface-2) !important;
}
html body[class*="cfy-ht-"] #mappemonde:not(#cfy-b1):not(#cfy-b2) .map-legend a,
html body[class*="cfy-ht-"] #mappemonde:not(#cfy-b1):not(#cfy-b2) .map-legend [class*="link"] {
    color: var(--cfy-t-accent) !important;
}

/* ═══════════════ Jeux de Commercify (#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal) ═══════════════
   En-tête / pied déjà couverts par le socle. Ici : fond, cartes de jeux, boutons « Jouer », pastilles
   du HUD (score, temps, fléchettes, objectif, tension). Le canvas, les sprites et la jauge de
   tension (dégradé de données) ne sont PAS touchés. */
html body[class*="cfy-ht-"] :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) .games-modal-content,
html body[class*="cfy-ht-"] :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) .games-modal-body {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) .games-modal-disclaimer {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-muted) !important;
    border-color: var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) .games-modal-disclaimer p {
    color: var(--cfy-t-muted) !important;
}
/* Cartes de jeux */
html body[class*="cfy-ht-"] #gamesCommercifyModal:not(#cfy-b1):not(#cfy-b2) .game-card {
    background: var(--cfy-t-surface-2) !important;
    border: 1px solid var(--cfy-t-line) !important;
    box-shadow: none !important;
}
html body[class*="cfy-ht-"] #gamesCommercifyModal:not(#cfy-b1):not(#cfy-b2) .game-card:hover {
    border-color: rgba(var(--cfy-t-fill-rgb), 0.65) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-t-fill) !important;
}
html body[class*="cfy-ht-"] #gamesCommercifyModal:not(#cfy-b1):not(#cfy-b2) .game-card-icon,
html body[class*="cfy-ht-"] #gamesCommercifyModal:not(#cfy-b1):not(#cfy-b2) .game-card-icon svg {
    color: var(--cfy-t-accent) !important;
    stroke: var(--cfy-t-accent);
}
html body[class*="cfy-ht-"] #gamesCommercifyModal:not(#cfy-b1):not(#cfy-b2) .game-card-title {
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] #gamesCommercifyModal:not(#cfy-b1):not(#cfy-b2) .game-card-desc {
    color: var(--cfy-t-muted) !important;
}
/* Boutons « Partie express / Partie libre / Mode classique / Mode survie / Contre la montre » */
html body[class*="cfy-ht-"] #gamesCommercifyModal:not(#cfy-b1):not(#cfy-b2) .btn-play-game {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] #gamesCommercifyModal:not(#cfy-b1):not(#cfy-b2) .btn-play-game:hover {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-accent) !important;
    border-color: var(--cfy-t-accent) !important;
}
/* HUD des 2 jeux : rangée transparente, pastilles aux surfaces du thème au-dessus du canvas */
html body[class*="cfy-ht-"] :is(#gameHUD, #shootGameHUD):not(#cfy-b1):not(#cfy-b2) > div {
    background: transparent !important;
    border: 0 !important;
    gap: 8px !important;
}
html body[class*="cfy-ht-"] :is(#gameHUD, #shootGameHUD):not(#cfy-b1):not(#cfy-b2) > div > div {
    background: color-mix(in srgb, var(--cfy-t-surface) 92%, transparent) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    box-shadow: inset 0 2px 0 var(--cfy-t-fill) !important;
    color: var(--cfy-t-ink) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] :is(#gameHUD, #shootGameHUD):not(#cfy-b1):not(#cfy-b2) span {
    color: var(--cfy-t-muted) !important;
}
html body[class*="cfy-ht-"] :is(#gameHUD, #shootGameHUD):not(#cfy-b1):not(#cfy-b2) span[id] {
    color: var(--cfy-t-accent) !important;
    font-family: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    font-weight: 700;
}
/* Pastilles passées en flex par le jeu (temps, objectif) : libellé et valeur sur la même ligne de base, espacés */
html body[class*="cfy-ht-"] :is(#shootGameTimerWrapper, #shootGameTargetWrapper):not(#cfy-b1):not(#cfy-b2) {
    align-items: baseline !important;
    gap: 4px !important;
}
/* Piste de la jauge de tension (le dégradé de la jauge reste une couleur de données) */
html body[class*="cfy-ht-"] #gameHUD:not(#cfy-b1):not(#cfy-b2) div:has(> #gameTensionBar) {
    background: var(--cfy-t-surface-3) !important;
    border: 1px solid var(--cfy-t-line) !important;
    border-radius: 0 !important;
}

/* Écrans d'aide et de fin de partie des 2 jeux : voile, panneau aux surfaces du thème */
html body[class*="cfy-ht-"] :is(#gameHelp, #shootGameHelp, #gameEndMessage, #shootGameEndMessage):not(#cfy-b1):not(#cfy-b2) {
    background: var(--cfy-t-backdrop) !important;
}
html body[class*="cfy-ht-"] :is(#gameHelp, #shootGameHelp, #gameEndMessage, #shootGameEndMessage):not(#cfy-b1):not(#cfy-b2) > div {
    background: color-mix(in srgb, var(--cfy-t-fill) 3%, var(--cfy-t-surface)) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), 0.6) !important;
    box-shadow: inset 0 2px 0 var(--cfy-t-fill), var(--cfy-t-shadow) !important;
    border-radius: 0 !important;
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(#gameHelp, #shootGameHelp, #gameEndMessage, #shootGameEndMessage):not(#cfy-b1):not(#cfy-b2) h3 {
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(#gameHelp, #shootGameHelp, #gameEndMessage, #shootGameEndMessage):not(#cfy-b1):not(#cfy-b2) :is(p, div) {
    color: var(--cfy-t-ink-2) !important;
}
html body[class*="cfy-ht-"] :is(#gameHelp, #shootGameHelp):not(#cfy-b1):not(#cfy-b2) strong,
html body[class*="cfy-ht-"] :is(#gameEndMessage, #shootGameEndMessage):not(#cfy-b1):not(#cfy-b2) span[id] {
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] :is(#gameHelp, #shootGameHelp):not(#cfy-b1):not(#cfy-b2) p[style*="italic"] {
    color: var(--cfy-t-muted) !important;
}
/* Légende des cibles : la couleur de la cible (donnée du jeu) passe en liseré, le texte suit le thème */
html body[class*="cfy-ht-"] #shootGameHelp:not(#cfy-b1):not(#cfy-b2) > div > div[style*="#2a2a2a"] {
    background: var(--cfy-t-surface-2) !important;
    border: 1px solid var(--cfy-t-line) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] #shootGameHelp:not(#cfy-b1):not(#cfy-b2) p:is([style*="#ff9800"], [style*="#4CAF50"], [style*="#f44336"]) {
    color: var(--cfy-t-ink) !important;
    padding-inline-start: 8px;
}
html body[class*="cfy-ht-"] #shootGameHelp:not(#cfy-b1):not(#cfy-b2) p[style*="#ff9800"] { border-inline-start: 4px solid #ff9800; }
html body[class*="cfy-ht-"] #shootGameHelp:not(#cfy-b1):not(#cfy-b2) p[style*="#4CAF50"] { border-inline-start: 4px solid #4CAF50; }
html body[class*="cfy-ht-"] #shootGameHelp:not(#cfy-b1):not(#cfy-b2) p[style*="#f44336"] { border-inline-start: 4px solid #f44336; }
html body[class*="cfy-ht-"] #shootGameHelp:not(#cfy-b1):not(#cfy-b2) p[style*="#ccc"] {
    color: var(--cfy-t-muted) !important;
    padding-inline-start: 12px;
}
/* Boutons : Fermer l'aide / Rejouer = aplat, Fermer = secondaire */
html body[class*="cfy-ht-"] :is(#btnCloseHelp, #shootBtnCloseHelp, #btnRestartGame, #shootBtnRestartGame):not(#cfy-b1):not(#cfy-b2) {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
    border-radius: 0 !important;
    min-height: 40px;
}
html body[class*="cfy-ht-"] :is(#gameEndMessage, #shootGameEndMessage):not(#cfy-b1):not(#cfy-b2) button[data-bs-dismiss] {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-radius: 0 !important;
    min-height: 40px;
}
html body[class*="cfy-ht-"] :is(#gameHelp, #shootGameHelp, #gameEndMessage, #shootGameEndMessage):not(#cfy-b1):not(#cfy-b2) button:is(:hover, :focus-visible) {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-accent) !important;
    border-color: var(--cfy-t-accent) !important;
    outline: 0;
}

/* ═══════════════ .commercify-modal : renfort (+2 id) ═══════════════
   publisher_index_modal.css / publisher_ad_modal.css ciblent par id (#followModal …, fond #0a0a0a,
   titres #ffcc00, bouton Fermer jaune) : même motif de renfort que les autres modales.
   Couleurs sémantiques conservées : .text-danger (avertissement), .alert-info. */
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-content {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), 0.6) !important;
    box-shadow: var(--cfy-t-shadow) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-header {
    background: var(--cfy-hr-hd-bg) !important;
    color: var(--cfy-hr-ink) !important;
    border-bottom: 1px solid var(--cfy-hr-rule) !important;
    box-shadow: inset 0 2px 0 var(--cfy-hr-accent) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-title,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-title * {
    color: var(--cfy-hr-ink) !important;
}
/* Pictogramme du titre (svg / icône) : accent du header */
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-title :is(svg, .icon, i, [class*="bi-"]) {
    color: var(--cfy-hr-accent-text) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-body {
    background: color-mix(in srgb, var(--cfy-t-fill) 3%, var(--cfy-t-surface)) !important;
    color: var(--cfy-t-ink-2) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-footer {
    background: color-mix(in srgb, var(--cfy-t-fill) 8%, var(--cfy-t-surface-2)) !important;
    border-top: 1px solid rgba(var(--cfy-t-accent-rgb), 0.35) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-modal-close {
    background: var(--cfy-hr-pill-bg) !important;
    color: var(--cfy-hr-ink) !important;
    border: 1px solid var(--cfy-hr-rule) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-modal-close:hover {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo)) !important;
    border-color: var(--cfy-hr-flat-lo) !important;
    color: var(--cfy-hr-on-flat) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-modal-btn-fermer,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-footer .btn-outline-success,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-footer .btn-primary {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-footer .btn-outline-success *,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-modal-btn-fermer * {
    color: inherit !important;
}
html body.dark-mode[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .btn-close {
    filter: invert(1) grayscale(1) !important;
}
/* Contenus internes */
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .bg-white,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .bg-light:not(.modal-footer),
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .list-group-item {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink-2) !important;
    border: 1px solid var(--cfy-t-line) !important;
    box-shadow: none !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .text-primary,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .text-primary *,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .text-warning,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .publisher-slug {
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .publisher-slogan,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .text-muted {
    color: var(--cfy-t-muted) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .rounded-circle.bg-primary {
    background: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .rounded-circle.bg-primary * {
    color: var(--cfy-t-on-fill) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) :is(.rounded-3, .rounded-circle:not(.bg-primary), .rounded) {
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-score-value {
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-modal-score-calc {
    background: var(--cfy-t-surface-2) !important;
    border: 1px solid var(--cfy-t-line) !important;
    color: var(--cfy-t-ink-2) !important;
    border-radius: 0 !important;
}

/* ═══════════════ Modale d'accueil « Inscriptions ouvertes » (#modalInscriptionsOuvertes, mobile/tablette) ═══════════════
   Fond vidéo + voile sombre conservés (texte clair sur vidéo) ; accents or -> accent du thème
   (famille header --cfy-hr-*, pensée pour fond sombre). */
html body[class*="cfy-ht-"] #modalInscriptionsOuvertes:not(#cfy-b1):not(#cfy-b2) .welcome-modal-content {
    border-color: var(--cfy-hr-accent) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] #modalInscriptionsOuvertes:not(#cfy-b1):not(#cfy-b2) .welcome-modal-title {
    color: var(--cfy-hr-accent-text) !important;
}
html body[class*="cfy-ht-"] #modalInscriptionsOuvertes:not(#cfy-b1):not(#cfy-b2) .welcome-modal-close {
    border-color: rgba(var(--cfy-hr-accent-rgb), 0.7) !important;
}
html body[class*="cfy-ht-"] #modalInscriptionsOuvertes:not(#cfy-b1):not(#cfy-b2) .welcome-modal-close:hover {
    background: var(--cfy-hr-flat) !important;
    color: var(--cfy-hr-on-flat) !important;
}
html body[class*="cfy-ht-"] #modalInscriptionsOuvertes:not(#cfy-b1):not(#cfy-b2) .welcome-modal-footer {
    border-color: rgba(var(--cfy-hr-accent-rgb), 0.6) !important;
}
html body[class*="cfy-ht-"] #modalInscriptionsOuvertes:not(#cfy-b1):not(#cfy-b2) .welcome-btn-primary {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 55%, var(--cfy-hr-flat-lo)) !important;
    color: var(--cfy-hr-on-flat) !important;
    border: 1px solid var(--cfy-hr-flat-lo) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] #modalInscriptionsOuvertes:not(#cfy-b1):not(#cfy-b2) .welcome-btn-primary * {
    color: inherit !important;
}

/* ── Restes relevés à l'audit 2026-09-25 ── */
/* Soulignement des titres de la famille « dashboard » (or rgba(255,204,0,.55) d'origine) */
html body[class*="cfy-ht-"] :is(.modal, .map-modal-overlay) .dashboard-modal-title:not(#cfy-b1) {
    border-bottom-color: rgba(var(--cfy-hr-accent-rgb), .7) !important;
}
/* Recherche avancée : étiquettes d'input-group (Date de début, Trier par…), filets, liste des villes */
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .input-group-text {
    background: var(--cfy-t-surface-3) !important;
    color: var(--cfy-t-ink-2) !important;
    border-color: var(--cfy-t-line-2) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .filter-section-label {
    border-top-color: var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer {
    border-bottom-color: var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) :is(#search-cities-results, #search-cities-loading) {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) #search-cities-results .list-group-item {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2) !important;
    border-color: var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) #search-cities-results .list-group-item:is(:hover, .active) {
    background: var(--cfy-t-surface-3) !important;
    color: var(--cfy-t-accent) !important;
}

/* ═══════════════ Finitions : dernières couleurs historiques en dur (or, bleu, vert) ═══════════════
   Au repos comme au survol et au focus : chaque règle ramène un reste sur les tokens du thème. */

/* Tableau de bord : encadré « Mes écrans de gestion » (fond et filet or) */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-grid-quick-management {
    background: rgba(var(--cfy-t-fill-rgb), 0.05) !important;
    border: 1px solid rgba(var(--cfy-t-fill-rgb), 0.22) !important;
}
/* Bouton « Importer » (désactivé) : surface neutre, aucun survol */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) #dashboard-import-btn,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) #dashboard-import-btn:is(:hover, :focus) {
    background: var(--cfy-t-surface-3) !important;
    border-color: var(--cfy-t-line) !important;
    color: var(--cfy-t-faint) !important;
    box-shadow: none !important;
}

/* Anneaux de focus (or 0 0 0 3px historique, bleu Bootstrap sur .btn-close) */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) :is(.dashboard-modal-lang-btn, .dashboard-modal-search-btn, .dashboard-modal-theme-btn, .dashboard-modal-close, .dashboard-card, .btn, .language-card, .language-modal-body-mappemonde-link, .commercify-modal-btn-fermer):focus,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) :is(.btn, .btn-close, .commercify-modal-close, .commercify-modal-btn-fermer):focus,
html body[class*="cfy-ht-"] .modal:not(#cfy-b1):not(#cfy-b2) .btn-close:focus {
    box-shadow: 0 0 0 3px rgba(var(--cfy-t-fill-rgb), 0.35) !important;
    outline: none !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) :is(.map-float-search-input, .language-search-input):focus {
    box-shadow: 0 0 0 3px rgba(var(--cfy-t-fill-rgb), 0.2) !important;
}

/* Boutons carrés du haut du tableau de bord : halo or au survol / focus clavier */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) :is(#dashboard-mappemonde-btn, #dashboard-export-btn, .dashboard-quick-vignette-btn):is(:hover, :focus, :focus-visible) {
    box-shadow: 0 0 0 2px rgba(var(--cfy-t-fill-rgb), 0.35) !important;
}

/* Pied : soulignement des liens Accueil / Documentation au survol */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-footer-nav-link:is(:hover, :focus) {
    border-bottom-color: rgba(var(--cfy-t-accent-rgb), 0.55) !important;
}

/* Filet sous les titres de zone (or 40 % en clair) */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-section-title {
    border-bottom-color: var(--cfy-t-line-2) !important;
}

/* Langues : loupe du champ, liseré des cartes RTL, coche de la langue active, badges, lien carte du monde */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-search-icon,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card.active .language-check,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-modal-body-mappemonde-link:hover,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) #noResultsMessage .text-center h4 {
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card--rtl,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-card--rtl:hover {
    box-shadow: inset 4px 0 0 0 rgba(var(--cfy-t-fill-rgb), 0.45) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .language-badge:not(.language-badge--rtl) {
    color: var(--cfy-t-accent) !important;
    border-color: rgba(var(--cfy-t-accent-rgb), 0.45) !important;
}

/* Carte du monde : chiffre de complétude (bleu #2563eb), titres de légende (neutres en dur),
   ombre verte du bouton « Voir tout le catalogue » */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-legend-with-data {
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) :is(.map-legend-title, .map-legend-group-title) {
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-catalog,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .map-country-info-catalog:is(:hover, :focus-visible) {
    box-shadow: 0 2px 8px rgba(var(--cfy-t-fill-rgb), 0.25) !important;
}

/* Export : ombre verte du bouton « Exporter » (le fond suit déjà l'aplat du thème) */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) #btnConfirmExport,
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) #btnConfirmExport:is(:hover, :focus) {
    box-shadow: 0 2px 6px rgba(var(--cfy-t-fill-rgb), 0.35) !important;
}

/* Modales publisher : halo or du bouton désactivé « Suivre cet éditeur » */
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .btn:is(.disabled, :disabled) {
    box-shadow: none !important;
}

/* ═══════════════ Écrans de transition (changement de langue, changement de profil éditeur) ═══════════════
   Plein écran or sur noir : ils prennent le fond du header du thème (famille --cfy-hr-*, toujours
   sombre) ; le logo à lettrage blanc y reste lisible, comme dans le header. */
html body[class*="cfy-ht-"] :is(#language-loading-overlay, #publisher-switch-loading-overlay, .language-loading-overlay):not(#cfy-b1) {
    background: var(--cfy-hr-hd-bg) !important;
    color: var(--cfy-hr-ink) !important;
}
html body[class*="cfy-ht-"] :is(#language-loading-overlay, #publisher-switch-loading-overlay, .language-loading-overlay):not(#cfy-b1) :is(.language-loading-container, .publisher-switch-loading-container, .language-loading-text, h3, .language-loading-title, strong, .loading-dots span) {
    color: var(--cfy-hr-accent-text) !important;
}
html body[class*="cfy-ht-"] :is(#language-loading-overlay, #publisher-switch-loading-overlay, .language-loading-overlay):not(#cfy-b1) :is(p, .language-loading-subtitle) {
    color: var(--cfy-hr-ink-2) !important;
}
html body[class*="cfy-ht-"] :is(#language-loading-overlay, #publisher-switch-loading-overlay):not(#cfy-b1) .spinner-ring {
    border-top-color: var(--cfy-hr-accent) !important;
}
html body[class*="cfy-ht-"] :is(#language-loading-overlay, #publisher-switch-loading-overlay):not(#cfy-b1) .spinner-ring:nth-child(2) {
    border-top-color: var(--cfy-hr-accent-lo) !important;
}
html body[class*="cfy-ht-"] :is(#language-loading-overlay, #publisher-switch-loading-overlay):not(#cfy-b1) .spinner-ring:nth-child(3) {
    border-top-color: var(--cfy-hr-accent-hi) !important;
}
html body[class*="cfy-ht-"] .language-loading-overlay:not(#cfy-b1) .language-loading-spinner {
    border-color: rgba(var(--cfy-hr-accent-rgb), 0.18) !important;
    border-top-color: var(--cfy-hr-accent) !important;
}

/* Anneau de focus des boutons posés sur l'en-tête sombre */
html body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-header :is(button, a):focus,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-header :is(button, a, .btn-close):focus {
    box-shadow: 0 0 0 3px rgba(var(--cfy-hr-accent-rgb), 0.45) !important;
    outline: none !important;
}

/* Recherche avancée : halos dorés d'origine du bouton « Rechercher » et des options à bascule (survol, appui,
   actif, focus) remplacés par la couleur d'aplat du thème */
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .search-btn:is(:hover, :focus, :focus-visible):not(:disabled) {
    box-shadow: 0 6px 25px rgba(var(--cfy-t-fill-rgb), 0.45) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .search-btn:active:not(:disabled) {
    box-shadow: 0 3px 15px rgba(var(--cfy-t-fill-rgb), 0.4) !important;
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) .btn-toggle-option:hover:not(:disabled) {
    box-shadow: 0 4px 8px rgba(var(--cfy-t-fill-rgb), 0.3);
}
html body[class*="cfy-ht-"] #modalSearchAdvanced:not(#cfy-b1):not(#cfy-b2) :is(.btn-toggle-option.active, .btn-toggle-option:focus) {
    box-shadow: 0 0 0 2px rgba(var(--cfy-t-fill-rgb), 0.5);
}

/* ═══════════════ Modale de signalement : bloc « force du badge » + lien support ═══════════════ */
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-force {
  margin-top: var(--cfy-sp-4, 16px) !important;
  padding: var(--cfy-sp-3, 12px) var(--cfy-sp-4, 16px) !important;
  background: var(--cfy-t-surface) !important;
  border: 1px solid var(--cfy-t-line) !important;
  border-inline-start: 3px solid var(--cfy-t-accent) !important;
  border-radius: 0 !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-force__title {
  margin: 0 0 var(--cfy-sp-1, 4px) !important;
  font-size: var(--cfy-fs-base, 14px) !important;
  font-weight: var(--cfy-fw-semibold, 600) !important;
  line-height: var(--cfy-lh-snug, 1.3) !important;
  color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-force__text {
  margin: 0 0 var(--cfy-sp-3, 12px) !important;
  font-size: var(--cfy-fs-sm, 13px) !important;
  line-height: var(--cfy-lh-body, 1.5) !important;
  color: var(--cfy-t-muted) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-force__hint {
  display: inline-block !important;
  max-width: 100% !important;
  cursor: not-allowed !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-force__btn,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-force__btn:disabled {
  max-width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
  font-size: var(--cfy-fs-sm, 13px) !important;
  font-weight: var(--cfy-fw-semibold, 600) !important;
  background: var(--cfy-t-surface-3) !important;
  color: var(--cfy-t-muted) !important;
  border: 1px solid var(--cfy-t-line-2) !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  pointer-events: none !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-footer .cfy-report-support {
  background: var(--cfy-t-surface) !important;
  color: var(--cfy-t-ink-2) !important;
  border: 1px solid var(--cfy-t-line-2) !important;
  border-radius: 0 !important;
  text-decoration: none !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-footer .cfy-report-support:hover,
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .modal-footer .cfy-report-support:focus-visible {
  border-color: var(--cfy-t-accent) !important;
  color: var(--cfy-t-accent) !important;
}

/* Tableau de bord : langue de l'éditeur actif sous le @slug de la carte éditeur */
html body #dashboardModal:not(#cfy-b1) .dashboard-quick-vignette-editor .dashboard-quick-vignette-editor-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: var(--cfy-sp-1, 4px) !important;
}
html body #dashboardModal:not(#cfy-b1) .dashboard-quick-vignette-editor-lang {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-1, 4px);
    max-width: 100%;
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-medium);
    line-height: var(--cfy-lh-tight);
    color: var(--cfy-t-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
html body #dashboardModal:not(#cfy-b1) .dashboard-quick-vignette-editor-flag {
    flex: 0 0 auto;
    width: var(--cfy-flag-sm-w, 24px);
    height: var(--cfy-flag-sm-h, 18px);
    object-fit: cover;
    border-radius: 0;
    box-shadow: 0 0 0 1px var(--cfy-t-line-2);
}

/* Tableau de bord : barre « Notifications » (une ligne, segments icône + nombre) */
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    border: 1px solid var(--cfy-t-line-2);
    background: var(--cfy-t-surface);
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-head,
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-seg {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-1, 4px);
    min-height: 32px;
    padding: 0 var(--cfy-sp-2, 8px);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    line-height: 1;
    white-space: nowrap;
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-head {
    background: color-mix(in srgb, var(--cfy-t-fill) 8%, var(--cfy-t-surface-2));
    color: var(--cfy-t-ink);
    border-inline-end: 1px solid var(--cfy-t-line-2);
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-head .cfy-ic {
    color: var(--cfy-t-accent);
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-total {
    min-width: 20px;
    padding: 2px var(--cfy-sp-1, 4px);
    border: 1px solid var(--cfy-t-line-2);
    color: var(--cfy-t-muted);
    text-align: center;
    font-variant-numeric: tabular-nums;
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-total.has-count {
    background: var(--cfy-t-fill);
    border-color: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-seg {
    color: var(--cfy-t-muted);
    text-decoration: none;
    border-inline-end: 1px solid var(--cfy-t-line);
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-seg:last-child {
    border-inline-end: 0;
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-num {
    font-variant-numeric: tabular-nums;
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-seg.has-count {
    color: var(--cfy-t-ink);
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-seg.has-count .cfy-ic {
    color: var(--cfy-t-accent);
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-seg:hover,
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-seg:focus-visible {
    background: var(--cfy-t-surface-3);
    color: var(--cfy-t-accent);
}
html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-seg:focus-visible {
    outline: 2px solid var(--cfy-t-accent);
    outline-offset: -2px;
}
@media (max-width: 575.98px) {
    html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-head .cfy-dnotif-title {
        display: none;
    }
    html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-head,
    html body #dashboardModal:not(#cfy-b1) .cfy-dnotif-seg {
        gap: 2px;
        padding: 0 4px;
    }
}

/* ═══════════════ Signaler une annonce frauduleuse : refonte large (2026-10-08) ═══════════════ */
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report__intro {
    font-size: var(--cfy-fs-md, 15px) !important;
    color: var(--cfy-t-ink-2) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-card {
    margin-top: 0 !important;
    padding: var(--cfy-sp-4, 16px) !important;
    background: var(--cfy-t-surface) !important;
    border: 1px solid var(--cfy-t-line) !important;
    border-inline-start: 3px solid var(--cfy-t-accent) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-card--warn {
    border-inline-start-color: var(--bs-danger, #dc3545) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-card__title {
    font-size: var(--cfy-fs-base, 14px) !important;
    font-weight: var(--cfy-fw-semibold, 600) !important;
    line-height: var(--cfy-lh-snug, 1.3) !important;
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-card--warn .cfy-report-card__title svg {
    color: var(--bs-danger, #dc3545) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) :is(.cfy-report-card__text, .cfy-report-step__text) {
    font-size: var(--cfy-fs-sm, 13px) !important;
    line-height: var(--cfy-lh-body, 1.5) !important;
    color: var(--cfy-t-muted) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-step__num {
    font-size: var(--cfy-fs-sm, 13px) !important;
    font-weight: var(--cfy-fw-semibold, 600) !important;
    background: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill) !important;
}

/* Score annonce : résultat mis en évidence (2026-10-08) */
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-score-calc-result {
    font-weight: var(--cfy-fw-bold, 700) !important;
    background: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-score-result {
    background: var(--cfy-t-surface) !important;
    border: 1px solid var(--cfy-t-line) !important;
    border-inline-start: 4px solid var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-score-result__label {
    font-size: var(--cfy-fs-md, 15px) !important;
    font-weight: var(--cfy-fw-semibold, 600) !important;
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-score-result__value {
    font-size: var(--cfy-fs-h2, 28px) !important;
    font-weight: var(--cfy-fw-bold, 700) !important;
    line-height: 1 !important;
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-score-result--danger {
    border-inline-start-color: var(--bs-danger, #dc3545) !important;
}
html body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-score-result--danger .commercify-score-result__value {
    color: var(--bs-danger, #dc3545) !important;
}

/* Modale Langues : sens de lecture de la langue actuelle — barre segmentée compacte (32 px) collée au nom de la
   langue ; seule sur sa ligne quand la ligne de la langue actuelle est masquée (< 992 px). Angles droits, thème. */
html body #languageModal .language-dir-switch {
    display: inline-flex;
    flex: none;
    margin-inline-start: var(--cfy-sp-2);
    border: 1px solid var(--cfy-t-line);
}
html body #languageModal .language-dir-btn {
    height: var(--cfy-ctl-sm);
    padding: 0 var(--cfy-sp-2);
    border: 0;
    border-inline-end: 1px solid var(--cfy-t-line);
    border-radius: 0;
    background: transparent;
    color: var(--cfy-tx-ink-2);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
}
html body #languageModal .language-dir-btn:last-child { border-inline-end: 0; }
html body #languageModal .language-dir-btn:hover { background: var(--cfy-t-surface-3); color: var(--cfy-tx-ink); }
html body #languageModal .language-dir-btn:focus-visible { outline: 2px solid var(--cfy-t-fill); outline-offset: -2px; }
html body #languageModal .language-dir-btn.is-active {
    background: rgba(var(--cfy-t-fill-rgb), 0.12);
    box-shadow: inset 0 -2px 0 var(--cfy-t-fill);
    color: var(--cfy-tx-ink);
    cursor: default;
}
html body #languageModal .language-dir-switch[aria-busy='true'] .language-dir-btn { opacity: .6; pointer-events: none; }
html body #languageModal .language-dir-switch-m { display: none; }
@media (max-width: 991.98px) {
    html body #languageModal .language-dir-switch-m { display: flex; align-items: center; justify-content: center; gap: var(--cfy-sp-2); margin: 0 0 var(--cfy-sp-3); }
    html body #languageModal .language-dir-switch-m-label { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); color: var(--cfy-tx-ink-2); }
    html body #languageModal .language-dir-switch-m .language-dir-switch { margin-inline-start: 0; }
}

/* ═══ commercify_theme_panels.css ═══ */
/**
 * Panneaux flottants aux couleurs du thème actif (2026-09-24) : modales PIN SweetAlert2, chatbot
 * « Assistant Commercify ». REDESIGN CSS UNIQUEMENT (aucun PHP / JS modifié).
 */

body[class*="cfy-ht-"] {
    --hp-accent: var(--cfy-t-fill);
    --hp-accent-strong: var(--cfy-t-fill-lo);
    --hp-accent-tint: rgba(var(--cfy-t-fill-rgb), 0.16);
    --hp-on-accent: var(--cfy-t-on-fill);
    --hp-modal-surface: var(--cfy-t-surface);
    --hp-modal-text: var(--cfy-t-ink);
}

/* ═══════════════ Modales PIN (SweetAlert2) ═══════════════
   Les blancs translucides en dur de commercify_swal_pin_theme.css supposaient une surface
   toujours sombre : remplacés par les tokens (lisible en mode clair comme en sombre). */
body[class*="cfy-ht-"] .swal-popup-custom {
    border-radius: 0 !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-top: 3px solid var(--cfy-t-fill) !important;
    box-shadow: var(--cfy-t-shadow) !important;
}
body[class*="cfy-ht-"] .swal-popup-custom .swal2-html-container,
body[class*="cfy-ht-"] .swal-popup-custom #swal2-html-container {
    color: var(--cfy-t-ink-2) !important;
}
body[class*="cfy-ht-"] .swal-close-custom,
body[class*="cfy-ht-"] .swal-popup-custom .swal2-close {
    color: var(--cfy-t-muted) !important;
}
body[class*="cfy-ht-"] .swal-icon-custom.swal2-icon {
    border-color: var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
}
body[class*="cfy-ht-"] .swal-input-custom.swal2-input,
body[class*="cfy-ht-"] .swal-popup-custom .swal2-input {
    background: var(--cfy-t-surface-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-radius: 0 !important;
    color: var(--cfy-t-ink) !important;
}
body[class*="cfy-ht-"] .swal-input-custom.swal2-input::placeholder,
body[class*="cfy-ht-"] .swal-popup-custom .swal2-input::placeholder {
    color: var(--cfy-t-faint) !important;
}
body[class*="cfy-ht-"] .swal-input-custom.swal2-input:focus,
body[class*="cfy-ht-"] .swal-popup-custom .swal2-input:focus {
    border-color: var(--cfy-t-accent) !important;
    box-shadow: 0 0 0 2px rgba(var(--cfy-t-accent-rgb), 0.2) !important;
}
body[class*="cfy-ht-"] .swal-container-custom.swal2-container {
    background:
        radial-gradient(circle at 50% 35%, rgba(var(--cfy-t-fill-rgb), 0.14), transparent 60%),
        var(--cfy-t-backdrop) !important;
}
body[class*="cfy-ht-"] .swal-popup-custom .swal-confirm-custom,
body[class*="cfy-ht-"] .swal-popup-custom .swal-confirm-custom.btn-primary,
body[class*="cfy-ht-"] .swal-popup-custom .swal-confirm-custom.btn-secondary {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
    border-radius: 0 !important;
    color: var(--cfy-t-on-fill) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}
body[class*="cfy-ht-"] .swal-popup-custom .swal-cancel-custom,
body[class*="cfy-ht-"] .swal-popup-custom .swal-cancel-custom.btn-outline-light,
body[class*="cfy-ht-"] .swal-popup-custom .swal-cancel-custom.btn-outline-secondary {
    border: 1px solid var(--cfy-t-line-2) !important;
    border-radius: 0 !important;
    color: var(--cfy-t-ink-2) !important;
}
body[class*="cfy-ht-"] .swal-popup-custom .swal-cancel-custom:hover,
body[class*="cfy-ht-"] .swal-popup-custom .swal-cancel-custom.btn-outline-light:hover,
body[class*="cfy-ht-"] .swal-popup-custom .swal-cancel-custom.btn-outline-secondary:hover {
    background: var(--cfy-t-surface-2) !important;
    border-color: var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
}
body[class*="cfy-ht-"] .swal-popup-custom .swal-deny-custom,
body[class*="cfy-ht-"] .swal-popup-custom .swal-deny-custom.btn-outline-light,
body[class*="cfy-ht-"] .swal-popup-custom .swal-deny-custom.btn-outline-secondary {
    border-radius: 0 !important;
    color: var(--cfy-t-ink) !important;
}
body[class*="cfy-ht-"] .swal-error-custom {
    border-radius: 0 !important;
    border-top: 3px solid #dc3545 !important; /* erreur : rouge sémantique conservé */
}

/* ═══════════════ Chatbot « Assistant Commercify » (chatbot_assistant.css) ═══════════════
   Ses accents utilisent var(--bs-warning) : redéfinie dans la seule portée du panneau. Le marine
   #1f2b3a / #101924 en dur est surchargé. En-tête = teinte du header (comme la maquette). */
body[class*="cfy-ht-"] .cfy-assistant__panel {
    --bs-warning: var(--cfy-t-fill);
    --cfy-assistant-bg: var(--cfy-t-surface);
    --cfy-assistant-fg: var(--cfy-t-ink);
    --cfy-assistant-muted: var(--cfy-t-muted);
    --cfy-assistant-row-bg: var(--cfy-t-surface-2);
    --cfy-assistant-hover: rgba(var(--cfy-t-fill-rgb), 0.16);
    border: 1px solid var(--cfy-t-line-2) !important;
    box-shadow: var(--cfy-t-shadow) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__header {
    background: var(--cfy-hr-hd-bg) !important;
    color: #ffffff !important;
}
body[class*="cfy-ht-"] .cfy-assistant__header-avatar {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 55%, var(--cfy-hr-flat-lo)) !important;
    border-color: var(--cfy-hr-flat-lo) !important;
    color: var(--cfy-hr-on-flat) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__voice-btn {
    background: transparent !important;
    border-color: rgba(var(--cfy-hr-accent-rgb), 0.6) !important;
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__voice-btn:hover,
body[class*="cfy-ht-"] .cfy-assistant__voice-btn[aria-pressed='true'] {
    background: var(--cfy-hr-flat) !important;
    color: var(--cfy-hr-on-flat) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__close {
    color: rgba(255, 255, 255, 0.8) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__close:hover {
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__msg--bot {
    border: 1px solid var(--cfy-t-line) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__msg-icon {
    background: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__msg--user {
    background: rgba(var(--cfy-t-fill-rgb), 0.14) !important;
    border: 1px solid rgba(var(--cfy-t-fill-rgb), 0.45) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__msg--greeting {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink) !important;
    border-inline-start: 2px solid var(--cfy-t-fill) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__listen-btn[data-playing='true'] {
    color: var(--cfy-t-on-fill) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__form {
    border-top: 1px solid var(--cfy-t-line) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__input {
    background: var(--cfy-t-surface-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    color: var(--cfy-t-ink) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__input:focus {
    border-color: var(--cfy-t-accent) !important;
}
body[class*="cfy-ht-"] .cfy-assistant__send-btn {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
}

/* Panneau « Votre activité » : même astuce --bs-warning pour les restes non couverts */
body[class*="cfy-ht-"] .cfy-social-panel {
    --bs-warning: var(--cfy-t-fill);
    --bs-dark: var(--cfy-t-surface-3);
}

/* ═══════════════ Message plateforme : une ligne de texte sous le bas du header ═══════════════
   Hors du header et hors du flux : ne l'agrandit pas, ne fait rien défiler. Sous 1200px il se pose
   juste sous le header (conteneur de hauteur nulle, texte en absolu) ; à partir de 1200px il est fixé dans
   la bande qui va du bas du header au bas de la plaque du logo, à gauche de la plaque, au-dessus de
   la barre des catalogues. Texte seul (14px sur la bande de 24px, 13px sur 12px, 12px sur 10px), couleur : erreur rouge, avertissement orange, le reste à l'accent du thème ; fond = fond de page (lisible si du
   contenu défile dessous). */
html body .system-message-wrapper {
    position: relative;
    z-index: 1011;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    height: 0;
    margin-inline: 16px;
    pointer-events: none;
}
html body .system-message-wrapper #alertMessage {
    --cfy-msg-tx: var(--cfy-tx-link);
    position: absolute !important;
    top: 0;
    inset-inline-start: 0;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    min-width: 0;
    max-width: 100%;
    height: 12px;
    margin: 0 !important;
    padding: 0 6px !important;
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-msg-tx) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: var(--cfy-fs-sm) !important;
    line-height: 1 !important;
    white-space: nowrap;
    pointer-events: auto;
}
/* Couleurs : erreur rouge franc, avertissement orange (>= 4.6:1 sur le fond de page des 33 thèmes,
   clair et sombre) ; succès et information = accent du thème. */
html body .system-message-wrapper {
    --cfy-msg-red: #d11a1a;
    --cfy-msg-orange: #c2410c;
}
body.dark-mode .system-message-wrapper {
    --cfy-msg-red: #ff6b6b;
    --cfy-msg-orange: #ff9f43;
}
html body .system-message-wrapper #alertMessage.msg--warning { --cfy-msg-tx: var(--cfy-msg-orange); }
html body .system-message-wrapper #alertMessage.msg--error   { --cfy-msg-tx: var(--cfy-msg-red); }
html body .system-message-wrapper #alertMessage > .icon {
    position: static !important;
    flex: 0 0 auto;
    width: 12px !important;
    height: 12px !important;
    margin: 0 !important;
    color: var(--cfy-msg-tx) !important;
    stroke: var(--cfy-msg-tx) !important;
    transform: none !important;
}
html body .system-message-wrapper #alertMessage strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--cfy-msg-tx) !important;
    font-size: inherit !important;
    font-weight: var(--cfy-fw-semibold) !important;
}
html body .system-message-wrapper #alertMessage :is(small, #countdown) {
    flex: 0 0 auto;
    position: static !important;
    padding: 0 !important;
    color: var(--cfy-tx-muted) !important;
    font-family: var(--cfy-font-mono);
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-regular) !important;
}
html body .system-message-wrapper #alertMessage .close {
    position: static !important;
    flex: 0 0 auto;
    float: none;
    width: auto;
    height: auto;
    margin: 0 !important;
    padding: 0 2px !important;
    border: 0;
    background: none;
    color: var(--cfy-tx-muted) !important;
    font-size: var(--cfy-fs-base) !important;
    line-height: 1 !important;
    opacity: 1 !important;
    text-shadow: none;
    cursor: pointer;
}
html body .system-message-wrapper #alertMessage .close span {
    color: inherit !important;
}
html body .system-message-wrapper #alertMessage .close:is(:hover, :focus-visible) {
    color: var(--cfy-msg-tx) !important;
}
html body .system-message-wrapper #alertMessage .close:focus-visible {
    outline: 1px solid var(--cfy-msg-tx);
    outline-offset: 1px;
}
body:not(.performance-mode) .system-message-wrapper {
    transition: opacity 0.25s ease;
}
@media (max-width: 767.98px) {
    /* 10px d'écart entre le header et la barre des catalogues : le fond ne doit pas mordre sur son liseré */
    html body .system-message-wrapper #alertMessage {
        height: 10px;
        font-size: var(--cfy-fs-caption) !important;
    }
}
@media (min-width: 1200px) {
    /* Bande « bas du header → bas de la plaque » (104px → 104px + débord), bornée à gauche par le
       menu latéral et à droite par la plaque du logo (mêmes variables que le header). */
    html body .system-message-wrapper {
        position: fixed;
        z-index: 1016;
        top: 104px;
        height: var(--cfy-pr-drop, 24px);
        margin: 0;
        inset-inline-start: calc(var(--cfy-pr-sb, 0px) + 24px);
        inset-inline-end: calc((100% - var(--cfy-pr-sb, 0px)) / 2 + var(--cfy-pr-off, 0px) / 2 + var(--cfy-pr-w, 470px) / 2 + 16px);
    }
    html body .system-message-wrapper #alertMessage {
        position: static !important;
        height: 18px;
        font-size: var(--cfy-fs-base) !important;
    }
    html body .system-message-wrapper #alertMessage > .icon {
        width: 16px !important;
        height: 16px !important;
    }
    html body .system-message-wrapper #alertMessage :is(small, #countdown) {
        font-size: var(--cfy-fs-sm) !important;
    }
    html body .system-message-wrapper #alertMessage .close {
        font-size: var(--cfy-fs-md) !important;
    }
    /* Pages à barre d'outils HyperProfil fixe (sa carte commence 12px sous le header) : bande de 12px */
    html.cfy-pg-hyperprofil-toolbar body .system-message-wrapper {
        top: 105px;
        height: 12px;
    }
    html.cfy-pg-hyperprofil-toolbar body .system-message-wrapper #alertMessage {
        height: 12px;
        font-size: var(--cfy-fs-sm) !important;
    }
    html.cfy-pg-hyperprofil-toolbar body .system-message-wrapper #alertMessage > .icon {
        width: 12px !important;
        height: 12px !important;
    }
    html.cfy-pg-hyperprofil-toolbar body .system-message-wrapper #alertMessage :is(small, #countdown) {
        font-size: var(--cfy-fs-caption) !important;
    }
}

body[class*="cfy-ht-"] #cfy-maintenance-wrap:not(#cfy-b1) {
    background:
        radial-gradient(circle at 12% 15%, rgba(var(--cfy-hr-accent-rgb), .16) 0%, transparent 42%),
        radial-gradient(circle at 88% 85%, rgba(var(--cfy-hr-accent-rgb), .10) 0%, transparent 45%),
        var(--cfy-hr-ph-bg) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-card:not(#cfy-b1) {
    background: var(--cfy-hr-panel-bg) !important;
    color: var(--cfy-hr-ink) !important;
    border: 1px solid var(--cfy-hr-ph-line-2) !important;
    border-top: 3px solid var(--cfy-hr-accent) !important;
    border-radius: 0 !important;
    box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .8), 0 0 0 1px rgba(var(--cfy-hr-accent-rgb), .18) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-card:not(#cfy-b1)::before {
    background: linear-gradient(120deg, transparent 30%, rgba(var(--cfy-hr-accent-rgb), .06) 50%, transparent 70%) !important;
    background-size: 200% 200% !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-title:not(#cfy-b1) {
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-caption:not(#cfy-b1) {
    color: var(--cfy-hr-ink-muted) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-ring-track:not(#cfy-b1) {
    stroke: var(--cfy-hr-ph-line) !important;
}
/* Dégradé de l'anneau : stop-color en CSS bat l'attribut de présentation SVG */
body[class*="cfy-ht-"] #cfyMaintenanceRingGradient stop:nth-child(1) { stop-color: var(--cfy-hr-accent-lo) !important; }
body[class*="cfy-ht-"] #cfyMaintenanceRingGradient stop:nth-child(2) { stop-color: var(--cfy-hr-accent) !important; }
body[class*="cfy-ht-"] #cfyMaintenanceRingGradient stop:nth-child(3) { stop-color: var(--cfy-hr-accent-hi) !important; }
body[class*="cfy-ht-"] #cfy-maintenance-ring-number:not(#cfy-b1) {
    color: var(--cfy-hr-ink) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-skip:not(#cfy-b1) {
    background: transparent !important;
    color: var(--cfy-hr-accent-text) !important;
    border: 2px solid var(--cfy-hr-accent) !important;
    border-radius: 0 !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-skip:not(#cfy-b1):hover,
body[class*="cfy-ht-"] #cfy-maintenance-skip:not(#cfy-b1):focus-visible {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo)) !important;
    color: var(--cfy-hr-on-flat) !important;
    border-color: var(--cfy-hr-flat-hi) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-right:not(#cfy-b1) {
    background: var(--cfy-hr-ph-bg-2) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-right:not(#cfy-b1)::before {
    background:
        radial-gradient(circle at 30% 30%, rgba(var(--cfy-hr-accent-rgb), .30) 0%, transparent 55%),
        radial-gradient(circle at 75% 70%, rgba(var(--cfy-hr-accent-rgb), .18) 0%, transparent 55%) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-map:not(#cfy-b1) {
    filter: grayscale(1) brightness(1.6) contrast(1.15) drop-shadow(0 0 24px rgba(var(--cfy-hr-accent-rgb), .3)) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-right .cfy-map-pin:not(#cfy-b1) {
    background: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-accent-text) !important;
    box-shadow: 0 0 10px 2px rgba(var(--cfy-hr-accent-rgb), .7) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-right .cfy-map-pin.cfy-pin-orange:not(#cfy-b1) {
    background: var(--cfy-hr-accent-hi) !important;
    color: var(--cfy-hr-accent-hi) !important;
}
body[class*="cfy-ht-"] #cfy-maintenance-right .cfy-map-pin.cfy-pin-cyan:not(#cfy-b1) {
    background: var(--cfy-hr-accent-lo) !important;
    color: var(--cfy-hr-accent-lo) !important;
}

/* ═══════════════ Assistant IA de la recherche rapide (#commercify-ia-overlay, commercify_quicksearch_ia.css
   chargé à la volée par le JS) : scène toujours sombre, teintée du thème (--cfy-hr-*) ; les accents
   or/orange (#FFD700, #FF9A3E, #FF6B35, #FFA500) passent à l'accent du thème. Neutres blancs conservés. ═══════════════ */
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-canvas {
    background:
        radial-gradient(ellipse 65% 50% at 50% 0%, rgba(var(--cfy-hr-accent-rgb), .16), transparent 62%),
        var(--cfy-hr-ph-bg) !important;
}
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-close:is(:hover, :focus-visible),
body[class*="cfy-ht-"] #commercify-ia-overlay :is(.cfy-ia-result-card, .cfy-ia-publisher-card, .cfy-ia-chip):is(:hover, :focus-visible) {
    border-color: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] #commercify-ia-overlay :is(.cfy-ia-publisher-card, .cfy-ia-chip):is(:hover, :focus-visible) {
    background: rgba(var(--cfy-hr-accent-rgb), .1) !important;
}
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-close { border-radius: 0 !important; }
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-shutter { background: var(--cfy-hr-ph-bg) !important; }
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-shutter-l { border-right-color: var(--cfy-hr-accent) !important; }
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-shutter-r { border-left-color: var(--cfy-hr-accent) !important; }
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-shutter-flash {
    background: var(--cfy-hr-accent-hi) !important;
    box-shadow: 0 0 50px 12px rgba(var(--cfy-hr-accent-rgb), .95) !important;
}
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-portrait {
    filter: drop-shadow(0 0 55px rgba(var(--cfy-hr-accent-rgb), .3)) !important;
}
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-eye { fill: var(--cfy-hr-accent) !important; }
body[class*="cfy-ht-"] #commercify-ia-overlay :is(.cfy-ia-portrait-caption-title, .cfy-ia-chat-title, .cfy-ia-result-publisher) {
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-chat-title-dot {
    background: var(--cfy-hr-accent) !important;
    box-shadow: 0 0 10px var(--cfy-hr-accent) !important;
}
body[class*="cfy-ht-"] #commercify-ia-overlay :is(.cfy-ia-bubble, .cfy-ia-thinking-bubble) {
    border-left-color: var(--cfy-hr-accent) !important;
    border-radius: 0 !important;
}
body[class*="cfy-ht-"] #commercify-ia-overlay :is(.cfy-ia-cursor, .cfy-ia-thinking-dots span) {
    background: var(--cfy-hr-accent) !important;
}
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-result-card { background: var(--cfy-hr-tile-bg) !important; }
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-view-all {
    border-color: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-accent-text) !important;
    border-radius: 0 !important;
}
body[class*="cfy-ht-"] #commercify-ia-overlay .cfy-ia-view-all:is(:hover, :focus-visible) {
    background: var(--cfy-hr-flat) !important;
    color: var(--cfy-hr-on-flat) !important;
}

body[class*="cfy-ht-"] .cfy-catalog-retry-panel {
    background: var(--cfy-hr-panel-bg) !important;
    border: 1px solid var(--cfy-hr-ph-line-2) !important;
    border-top: 3px solid var(--cfy-hr-accent) !important;
    border-radius: 0 !important;
}
body[class*="cfy-ht-"] .cfy-catalog-retry-panel .cfy-catalog-empty-title,
body[class*="cfy-ht-"] .cfy-catalog-retry-ring-number { color: var(--cfy-hr-ink) !important; }
/* le panneau d'attente est posé dans l'état vide, dont le titre suit les surfaces claires : renfort pour garder le texte du fond sombre */
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-retry-panel .cfy-catalog-empty-title { color: var(--cfy-hr-ink) !important; }
body[class*="cfy-ht-"] .cfy-catalog-retry-title { color: var(--cfy-hr-accent-text) !important; }
body[class*="cfy-ht-"] .cfy-catalog-retry-caption { color: var(--cfy-hr-ink-muted) !important; }
body[class*="cfy-ht-"] .cfy-catalog-retry-ring-track { stroke: var(--cfy-hr-ph-line) !important; }
body[class*="cfy-ht-"] #cfyCatalogRetryRingGradient stop:nth-child(1) { stop-color: var(--cfy-hr-accent-lo) !important; }
body[class*="cfy-ht-"] #cfyCatalogRetryRingGradient stop:nth-child(2) { stop-color: var(--cfy-hr-accent) !important; }
body[class*="cfy-ht-"] #cfyCatalogRetryRingGradient stop:nth-child(3) { stop-color: var(--cfy-hr-accent-hi) !important; }
body[class*="cfy-ht-"] .cfy-catalog-retry-skip {
    border-color: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-accent-text) !important;
    background: transparent !important;
}
body[class*="cfy-ht-"] .cfy-catalog-retry-skip:is(:hover, :focus-visible) {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo)) !important;
    border-color: var(--cfy-hr-flat-hi) !important;
    color: var(--cfy-hr-on-flat) !important;
}

html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-card {
    background: var(--cfy-t-surface) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    box-shadow: inset 0 3px 0 var(--cfy-t-fill), var(--cfy-t-shadow) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-title { color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-desc { color: var(--cfy-t-muted) !important; }
/* Icône : centrée (la carte .card est en flex colonne, le wrap s'étirait à gauche), carré teinté */
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-icon-wrap {
    align-self: center;
    padding: 14px;
    background: var(--cfy-t-accent-soft);
    border: 1px solid rgba(var(--cfy-t-accent-rgb), .25);
}
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-icon { color: var(--cfy-t-accent) !important; }
/* Bouton plein */
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-btn-primary {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
}
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-btn-primary:is(:hover, :focus-visible) {
    background: var(--cfy-t-fill-lo) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
}
/* Bouton secondaire */
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-btn-outline {
    background: var(--cfy-t-surface) !important;
    border-color: var(--cfy-t-line-2) !important;
    color: var(--cfy-t-ink-2) !important;
}
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-btn-outline:is(:hover, :focus-visible) {
    background: var(--cfy-t-surface-3) !important;
    border-color: var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
}
/* Variante catalogues publisher (public / restreint / privé) : liseré, halo, slug, note filtres.
   Les liserés ::before des 3 onglets deviennent un aplat du thème (niveaux d'accès déjà signalés ailleurs). */
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-card--publisher {
    background: radial-gradient(ellipse at 50% -10%, rgba(var(--cfy-t-fill-rgb), .14) 0%, rgba(var(--cfy-t-fill-rgb), 0) 55%), var(--cfy-t-surface) !important;
    box-shadow: var(--cfy-t-shadow) !important;
}
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-catalog-empty-card--publisher::before {
    background: linear-gradient(90deg, var(--cfy-t-fill-lo), var(--cfy-t-fill) 50%, var(--cfy-t-fill-hi)) !important;
}
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-publisher-empty-halo-ring { border-color: rgba(var(--cfy-t-accent-rgb), .45) !important; }
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-publisher-empty-halo-disc {
    background: linear-gradient(135deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 55%, var(--cfy-t-fill-lo)) !important;
    box-shadow: 0 10px 30px rgba(var(--cfy-t-fill-rgb), .3) !important;
    color: var(--cfy-t-on-fill) !important;
}
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-publisher-empty-slug {
    color: var(--cfy-t-muted) !important;
    border-color: var(--cfy-t-line-2) !important;
    background: var(--cfy-t-surface-2);
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] .cfy-catalog-empty-state:not(#cfy-b1) .cfy-publisher-empty-filter-note {
    color: var(--cfy-t-ink-2) !important;
    background: var(--cfy-t-accent-soft) !important;
    border-left-color: var(--cfy-t-accent) !important;
}

/* ═══ commercify_theme_footer.css ═══ */

body[class*="cfy-ht-"] footer.modern-footer {
    background: linear-gradient(180deg, var(--cfy-hr-ph-bg-2), var(--cfy-hr-ph-bg)) !important;
    color: var(--cfy-hr-ink) !important;
    border-top: 0 !important;
    position: relative;
}
body[class*="cfy-ht-"] footer.modern-footer::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(var(--cfy-hr-accent-rgb), 0.55) 18%, var(--cfy-hr-accent-hi) 50%, rgba(var(--cfy-hr-accent-rgb), 0.55) 82%, transparent 100%);
    box-shadow: 0 0 14px 0 rgba(var(--cfy-hr-accent-rgb), 0.35);
    pointer-events: none;
}

/* Blocs (marque, navigation, communauté, vidéo) */
body[class*="cfy-ht-"] footer.modern-footer .footer-brand-section,
body[class*="cfy-ht-"] footer.modern-footer .footer-nav-section,
body[class*="cfy-ht-"] footer.modern-footer .footer-community-section {
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid var(--cfy-hr-ph-line) !important;
}

/* Titres de section et wordmark */
body[class*="cfy-ht-"] footer.modern-footer .footer-section-title,
body[class*="cfy-ht-"] footer.modern-footer .footer-section-title--blue,
body[class*="cfy-ht-"] footer.modern-footer .footer-section-subtitle,
body[class*="cfy-ht-"] footer.modern-footer .footer-wordmark {
    color: var(--cfy-hr-accent-text) !important;
    -webkit-text-fill-color: currentColor;
}
body[class*="cfy-ht-"] footer.modern-footer .footer-section-title::after,
body[class*="cfy-ht-"] footer.modern-footer .footer-wordmark::after {
    background: var(--cfy-hr-accent) !important;
}
body[class*="cfy-ht-"] footer.modern-footer h2,
body[class*="cfy-ht-"] footer.modern-footer h3,
body[class*="cfy-ht-"] footer.modern-footer h4 {
    color: var(--cfy-hr-accent-text) !important;
}

/* Liens */
body[class*="cfy-ht-"] footer.modern-footer .nav-link-modern,
body[class*="cfy-ht-"] footer.modern-footer .community-link,
body[class*="cfy-ht-"] footer.modern-footer .legal-link-inline {
    color: var(--cfy-hr-ink-2) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .nav-link-modern svg,
body[class*="cfy-ht-"] footer.modern-footer .community-link svg,
body[class*="cfy-ht-"] footer.modern-footer .legal-link-inline svg {
    stroke: var(--cfy-hr-ink-muted) !important;
    color: var(--cfy-hr-ink-muted) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .nav-link-modern:hover,
body[class*="cfy-ht-"] footer.modern-footer .nav-link-modern.active,
body[class*="cfy-ht-"] footer.modern-footer .community-link:hover,
body[class*="cfy-ht-"] footer.modern-footer .community-link.active,
body[class*="cfy-ht-"] footer.modern-footer a.legal-link-inline:hover {
    color: var(--cfy-hr-accent-text) !important;
    border-color: rgba(var(--cfy-hr-accent-rgb), 0.55) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .nav-link-modern:hover svg,
body[class*="cfy-ht-"] footer.modern-footer .nav-link-modern.active svg,
body[class*="cfy-ht-"] footer.modern-footer .community-link:hover svg,
body[class*="cfy-ht-"] footer.modern-footer .community-link.active svg {
    stroke: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .community-link.active,
body[class*="cfy-ht-"] footer.modern-footer [class*="community"] .active {
    border-inline-start-color: var(--cfy-hr-accent) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .legal-link-inline {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid var(--cfy-hr-ph-line-2) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .legal-link-inline--disabled {
    color: var(--cfy-hr-ink-faint) !important;
}
body[class*="cfy-ht-"] footer.modern-footer hr,
body[class*="cfy-ht-"] footer.modern-footer .mt-3.pt-3,
body[class*="cfy-ht-"] footer.modern-footer .mt-2.pt-3 {
    border-color: var(--cfy-hr-ph-line-2) !important;
}

/* Badges (#C2C, #HYPERPROFIL…) et éditeurs démo */
body[class*="cfy-ht-"] footer.modern-footer .badge.bg-primary,
body[class*="cfy-ht-"] footer.modern-footer .badge.bg-secondary {
    background: rgba(var(--cfy-hr-accent-rgb), 0.14) !important;
    border: 1px solid rgba(var(--cfy-hr-accent-rgb), 0.5) !important;
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] footer.modern-footer a.badge.bg-secondary-dim {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--cfy-hr-ph-line-2) !important;
    color: var(--cfy-hr-ink-2) !important;
}
body[class*="cfy-ht-"] footer.modern-footer a.badge.bg-secondary-dim:hover {
    border-color: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-accent-text) !important;
}

/* Icônes sociales : cadres du thème, couleurs de marque au survol conservées (règles d'origine) */
body[class*="cfy-ht-"] footer.modern-footer .social-icon {
    background: rgba(255, 255, 255, 0.03) !important;
    border-color: var(--cfy-hr-ph-line-2) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .fbv-arrow {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid var(--cfy-hr-ph-line-2) !important;
    color: var(--cfy-hr-ink) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .fbv-arrow:hover {
    border-color: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-accent-text) !important;
}

/* Cartes « Informations plateforme » : même famille, accent du thème */
body[class*="cfy-ht-"] footer.modern-footer .stat-card {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid var(--cfy-hr-ph-line-2) !important;
    box-shadow: none !important;
}
body[class*="cfy-ht-"] footer.modern-footer .stat-card:hover {
    border-color: rgba(var(--cfy-hr-accent-rgb), 0.6) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-hr-accent) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .stat-label {
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .stat-value,
body[class*="cfy-ht-"] footer.modern-footer .stat-card h4,
body[class*="cfy-ht-"] footer.modern-footer .stat-card h5 {
    color: #ffffff !important;
}
body[class*="cfy-ht-"] footer.modern-footer .stat-icon,
body[class*="cfy-ht-"] footer.modern-footer .stat-icon svg {
    color: var(--cfy-hr-accent-text) !important;
    stroke: var(--cfy-hr-accent) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .stat-card .progress,
body[class*="cfy-ht-"] footer.modern-footer .stat-card [class*="badge"] {
    background: rgba(var(--cfy-hr-accent-rgb), 0.16) !important;
    color: var(--cfy-hr-accent-text) !important;
}

/* Bouton de soutien (vert) + bouton YouTube d'abonnement */
body[class*="cfy-ht-"] footer.modern-footer .donate-btn,
body[class*="cfy-ht-"] footer.modern-footer a[class*="donate"] {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi) 0%, var(--cfy-hr-flat) 55%, var(--cfy-hr-flat-lo) 100%) !important;
    border: 1px solid var(--cfy-hr-flat-lo) !important;
    color: var(--cfy-hr-on-flat) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 8px 22px -10px rgba(var(--cfy-hr-flat-rgb), 0.7) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .donate-btn *,
body[class*="cfy-ht-"] footer.modern-footer a[class*="donate"] * {
    color: inherit !important;
    stroke: currentColor !important;
}
body[class*="cfy-ht-"] footer.modern-footer [class*="youtube-subscribe"],
body[class*="cfy-ht-"] footer.modern-footer .btn-subscribe {
    border-color: var(--cfy-hr-ph-line-2) !important;
    color: var(--cfy-hr-ink) !important;
}

/* Pastille « desktop | 1600 x 900 » et liens de crédit */
body[class*="cfy-ht-"] footer.modern-footer a:not([class]) {
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] footer.modern-footer [class*="viewport"],
body[class*="cfy-ht-"] footer.modern-footer [class*="device-info"] {
    border-color: rgba(var(--cfy-hr-accent-rgb), 0.45) !important;
    color: var(--cfy-hr-accent-text) !important;
    background: rgba(var(--cfy-hr-accent-rgb), 0.08) !important;
}

/* Compléments (classes relevées sur la page) */
body[class*="cfy-ht-"] footer.modern-footer a.donation-btn {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi) 0%, var(--cfy-hr-flat) 55%, var(--cfy-hr-flat-lo) 100%) !important;
    border: 1px solid var(--cfy-hr-flat-lo) !important;
    color: var(--cfy-hr-on-flat) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 8px 22px -10px rgba(var(--cfy-hr-flat-rgb), 0.7) !important;
}
body[class*="cfy-ht-"] footer.modern-footer a.donation-btn * {
    color: inherit !important;
    stroke: currentColor !important;
}
body[class*="cfy-ht-"] footer.modern-footer .footer-badge {
    background: rgba(var(--cfy-hr-accent-rgb), 0.08) !important;
    border: 1px solid rgba(var(--cfy-hr-accent-rgb), 0.35) !important;
}
body[class*="cfy-ht-"] footer.modern-footer #screen-resolution,
body[class*="cfy-ht-"] footer.modern-footer #viewport-info-container {
    color: var(--cfy-hr-accent-text) !important;
}
/* Texte courant du copyright : blanc translucide d'origine trop faible (contraste perceptuel) */
body[class*="cfy-ht-"] footer.modern-footer .copyright-text {
    color: var(--cfy-hr-ink-2) !important;
}

body[class*="cfy-ht-"] footer.modern-footer .copyright-section a {
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] footer.modern-footer h3 + div[style*="background"],
body[class*="cfy-ht-"] footer.modern-footer h3 + .section-underline,
body[class*="cfy-ht-"] footer.modern-footer [class*="title-underline"],
body[class*="cfy-ht-"] footer.modern-footer [class*="section-divider"] {
    background: var(--cfy-hr-accent) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .stats-header h3 {
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] footer.modern-footer .stats-header div {
    background: var(--cfy-hr-accent) !important;
}
body[class*="cfy-ht-"] footer.modern-footer #viewport-info-container * {
    color: var(--cfy-hr-accent-text) !important;
}


/* Badge « application Commercify » de la colonne de marque (façon magasin d'applications) */
footer .cfy-footer-app {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 1.5rem;
}
footer .cfy-footer-app-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 260px;
    max-width: 100%;
    padding: 10px 16px 10px 10px;
    border: 1px solid var(--cfy-hr-rule);
    border-radius: 0;
    background: var(--cfy-hr-tile-bg);
    color: var(--cfy-hr-ink);
    text-align: left;
    cursor: pointer;
}
footer .cfy-footer-app-btn:hover,
footer .cfy-footer-app-btn:focus-visible {
    border-color: var(--cfy-hr-accent);
    box-shadow: inset 0 -2px 0 var(--cfy-hr-accent);
    outline: none;
}
body:not(.performance-mode) footer .cfy-footer-app-btn {
    transition: border-color .2s ease, box-shadow .2s ease;
}
footer .cfy-footer-app-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 0;
    border: 1px solid var(--cfy-hr-rule);
}
footer .cfy-footer-app-txt {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.25;
}
footer .cfy-footer-app-kicker {
    font-size: var(--cfy-fs-caption, 12px);
    font-weight: var(--cfy-fw-semibold, 600);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--cfy-hr-ink-muted);
}
footer .cfy-footer-app-cta {
    font-size: var(--cfy-fs-md, 16px);
    font-weight: var(--cfy-fw-bold, 700);
    color: var(--cfy-hr-ink);
}
footer .cfy-footer-app-arrow {
    flex: 0 0 auto;
    color: var(--cfy-hr-accent-text);
}
footer .cfy-footer-app-os {
    margin: 0;
    font-size: var(--cfy-fs-caption, 12px);
    color: var(--cfy-hr-ink-muted);
    text-align: center;
}
footer .cfy-footer-os {
    position: relative;
    display: inline-block;
    padding-bottom: 3px;
}
footer .cfy-footer-os.is-current {
    color: var(--cfy-hr-ink);
    font-weight: var(--cfy-fw-semibold, 600);
}
footer .cfy-footer-os.is-current::after {
    content: '';
    position: absolute;
    left: -2px;
    right: -2px;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--cfy-hr-accent-text) 20%, var(--cfy-hr-accent-text) 80%, transparent);
}
body:not(.performance-mode) footer .cfy-footer-os.is-current::after {
    transform: scaleX(0);
    animation: cfy-footer-os-underline .5s ease-out .3s forwards;
}
@keyframes cfy-footer-os-underline {
    to { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
    body:not(.performance-mode) footer .cfy-footer-os.is-current::after {
        transform: none;
        animation: none;
    }
}
footer .cfy-footer-device {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    max-width: 100%;
    padding-top: 6px;
    border-top: 1px solid var(--cfy-hr-rule);
    font-size: var(--cfy-fs-caption, 12px);
    line-height: 1.4;
    color: var(--cfy-hr-ink-muted);
    text-align: center;
}
footer .cfy-footer-device[hidden],
footer .cfy-footer-device-item[hidden] {
    display: none;
}
footer .cfy-footer-device-line {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 14px;
    row-gap: 3px;
    margin: 0;
}
footer .cfy-footer-device-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
footer .cfy-footer-device-item .cfy-ic {
    flex: 0 0 auto;
    color: var(--cfy-hr-accent-text);
}
html.cfy-pwa-standalone footer .cfy-footer-app,
html.cfy-pwa-installed footer .cfy-footer-app {
    display: none;
}
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui), (display-mode: window-controls-overlay) {
    footer .cfy-footer-app {
        display: none;
    }
}
@media (max-width: 575.98px) {
    footer .cfy-footer-app-btn {
        min-width: 0;
        width: 100%;
    }
}

/* Cartes de compteurs d'annonces : une ligne par compteur, libellé à gauche, valeur à droite */
footer.modern-footer .cfy-stat-split {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    width: 100%;
}
footer.modern-footer .cfy-stat-split-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}
footer.modern-footer .cfy-stat-split-label {
    min-width: 0;
    font-size: var(--cfy-fs-sm, 13px);
    font-weight: var(--cfy-fw-regular, 400);
    line-height: 1.3;
    opacity: 0.9;
}
footer.modern-footer .cfy-stat-split-value {
    flex: 0 0 auto;
    font-size: var(--cfy-fs-md, 16px);
    font-weight: var(--cfy-fw-semibold, 600);
    line-height: 1.2;
    color: #ffffff;
    font-variant-numeric: tabular-nums;
}
/* Dernière ligne de la première carte : le total, détaché par un filet */
footer.modern-footer .cfy-stat-split-row:nth-child(5) {
    margin-top: 0.25rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

/* Carrousel vidéo du footer (2026-10-09) : logo YouTube incrusté discret + titre fondu en bas de la vignette.
   Les !important l'emportent sur les styles en ligne posés par le gabarit et par le script de lecture. */
footer.modern-footer .footer-brand-video-carousel .fbv-slide {
    position: relative;
}
footer.modern-footer .footer-brand-video-carousel .youtube-play-overlay {
    bottom: 8px !important;
    left: auto !important;
    inset-inline-start: 8px !important;
    width: 34px !important;
    height: 24px !important;
    background: rgba(0, 0, 0, 0.55) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    z-index: 7 !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}
footer.modern-footer .footer-brand-video-carousel .youtube-play-overlay svg {
    width: 14px;
    height: 14px;
    margin: 0 !important;
}
footer.modern-footer .footer-brand-video-carousel .youtube-play-overlay span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}
footer.modern-footer .footer-brand-video-carousel .youtube-video-container:hover .youtube-play-overlay {
    background: #ff0000 !important; /* rouge de marque YouTube, au survol seulement */
    border-color: #ff0000 !important;
}
footer.modern-footer .footer-brand-video-carousel .fbv-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 6;
    padding: 28px 10px 10px;
    padding-inline-start: 50px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.72) 100%);
    color: #ffffff; /* texte posé sur l'image de la vidéo, identique dans les 33 thèmes */
    font-size: var(--cfy-fs-sm, 13px);
    font-weight: var(--cfy-fw-semibold, 600);
    line-height: var(--cfy-lh-snug, 1.3);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    pointer-events: none;
    transition: opacity 0.3s ease;
}
footer.modern-footer .footer-brand-video-carousel .fbv-caption > span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}
footer.modern-footer .footer-brand-video-carousel .youtube-video-container.cfy-yt-active + .fbv-caption {
    opacity: 0;
}

/* Carte « Éditeurs plateforme » : éditeurs en pastilles (avatar + nom entier, retour à la ligne libre) */
footer.modern-footer .cfy-stat-avatars {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}
footer.modern-footer .cfy-stat-avatar {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 3px 8px 3px 3px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.04);
    color: var(--cfy-hr-ink, #ffffff);
    font-size: var(--cfy-fs-caption, 12px);
    font-weight: var(--cfy-fw-medium, 500);
    line-height: 1.3;
    text-decoration: none;
    overflow-wrap: anywhere;
}
footer.modern-footer .cfy-stat-avatar img {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    object-fit: cover;
    border-radius: 0;
}
footer.modern-footer .cfy-stat-avatar:is(:hover, :focus-visible, .active) {
    border-color: var(--cfy-hr-accent-text, #ffd34d);
    background: rgba(255, 255, 255, 0.09);
    color: var(--cfy-hr-ink, #ffffff);
}

/* Carte « Informations complémentaires » : nom de la version, lignes libellé / valeur, puis infos du navigateur */
footer.modern-footer .version-card {
    display: flex;
    flex-direction: column;
}
footer.modern-footer .version-card .cfy-info-version {
    align-self: flex-start;
    margin-bottom: 0.625rem;
    padding: 2px 8px;
    border-inline-start: 3px solid var(--cfy-hr-accent-text, #ffd34d);
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
    font-size: var(--cfy-fs-sm, 13px);
    font-weight: var(--cfy-fw-bold, 700);
    letter-spacing: 0.12em;
    line-height: 1.5;
}
footer.modern-footer .version-card .cfy-info-rows .cfy-stat-split-row:nth-child(5) {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}
footer.modern-footer .version-card .cfy-info-rows .cfy-stat-split-value {
    font-size: var(--cfy-fs-base, 14px);
    text-align: end;
}
footer.modern-footer .version-card .cfy-info-device {
    align-items: stretch;
    gap: 0.375rem;
    margin-top: 0.625rem;
    padding-top: 0.625rem;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    font-size: var(--cfy-fs-sm, 13px);
    color: inherit;
    text-align: start;
}
footer.modern-footer .version-card .cfy-info-device .cfy-footer-device-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.35;
}
footer.modern-footer .version-card .cfy-info-device .cfy-footer-device-item[hidden] {
    display: none;
}
footer.modern-footer .version-card .cfy-info-device .cfy-footer-device-item .cfy-ic {
    margin-top: 2px;
}
footer.modern-footer .version-card .cfy-info-device .cfy-footer-device-val {
    min-width: 0;
    overflow-wrap: anywhere;
    opacity: 0.9;
}
footer.modern-footer .version-card .version-badge {
    margin-top: auto;
}
footer.modern-footer .version-card .cfy-info-device + .version-badge,
footer.modern-footer .version-card .cfy-info-rows + .version-badge {
    margin-top: 0.875rem;
}

/* Carte « Pré-inscription » : bouton de don sous l'année */
footer.modern-footer .prereg-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
footer.modern-footer .prereg-card a.cfy-prereg-donation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    align-self: stretch;
    margin-top: auto;
    padding: 10px 12px;
    border-radius: 0;
    background-color: #198754;
    color: #ffffff;
    font-size: var(--cfy-fs-sm, 13px);
    font-weight: var(--cfy-fw-semibold, 600);
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}
footer.modern-footer .prereg-card .cfy-prereg-year + a.cfy-prereg-donation {
    margin-top: 1rem;
}
footer.modern-footer .prereg-card .cfy-prereg-donation-ic {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
}
footer.modern-footer .prereg-card .cfy-prereg-donation-txt {
    min-width: 0;
}

/* ═══ commercify_theme_pages.css ═══ */
/**
 * Pages publisher/*, login/badge et HyperProfil aux couleurs du thème actif (2026-09-24).
 * REDESIGN CSS UNIQUEMENT (aucun PHP). Ciblage par les enveloppes existantes :
 * .page-publisher-typology (6 pages publisher), .hyperprofil-content-wrap / [id^="hyperprofil_toolbar_"]
 * (8 pages HyperProfil), .pg-auth / structure login. Les pages dash/* ne portent aucune de ces
 * enveloppes : elles ne sont pas touchées.
 * Couleurs sémantiques conservées : cadenas HyperProfil (rouge verrouillé / vert déverrouillé),
 * alertes, badges de statut.
 */

/* ═══════════════ PUBLISHER : système --pub-index-* (publisherHeaderThemes, figé « slate ») ═══════════════
   Le <style id="publisher-header-theme-vars"> inline déclare ces variables sur .page-publisher-typology
   et .dark-mode .page-publisher-typology ; le préfixe body[class*="cfy-ht-"] l'emporte. */
body[class*="cfy-ht-"] .page-publisher-typology {
    --pub-index-blue: var(--cfy-t-accent);
    --pub-index-blue-light: var(--cfy-t-fill);
    --pub-index-blue-bg: rgba(var(--cfy-t-accent-rgb), 0.07);
    --pub-index-gold: var(--cfy-t-accent);
    --pub-index-gold-dark: var(--cfy-t-accent);
    --pub-index-gold-bg: rgba(var(--cfy-t-accent-rgb), 0.08);
    --pub-index-orange: var(--cfy-t-muted);
    --pub-index-orange-bg: var(--cfy-t-surface-2);
    --pub-index-bg-card: var(--cfy-t-surface);
    --pub-index-bg-subtle: var(--cfy-t-surface-2);
    --pub-index-text: var(--cfy-t-ink);
    --pub-index-text-muted: var(--cfy-t-muted);
    --pub-index-border: var(--cfy-t-line);
    --pub-index-border-strong: var(--cfy-t-line-2);
    --pub-index-shadow: none;
    --pub-index-shadow-lg: var(--cfy-t-shadow);
    --pub-index-header-bg: var(--cfy-t-surface-2);
    --pub-index-header-gradient-start: rgba(var(--cfy-t-fill-rgb), 0.12);
    --pub-index-header-gradient-end: rgba(var(--cfy-t-fill-rgb), 0.02);
    --pub-index-toggle-border: var(--cfy-t-fill-lo);
    --pub-index-toggle-bg: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo));
    --pub-index-toggle-color: var(--cfy-t-on-fill);
    --pub-index-toggle-hover-border: var(--cfy-t-accent);
    --pub-index-toggle-hover-bg: var(--cfy-t-surface);
    --pub-index-toggle-hover-color: var(--cfy-t-accent);
    --pub-index-toggle-expanded-bg: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo));
    --pub-index-toggle-expanded-border: var(--cfy-t-fill-lo);
    --pub-index-toggle-expanded-color: var(--cfy-t-on-fill);
}

/* ═══════════════ PUBLISHER : navigation Profil / Annonces publiques / restreintes / privées ═══════════════
   Onglets au thème ; la couleur du NIVEAU d'accès (profil bleu, public vert, restreint orange, privé
   gris) est conservée comme information, en liseré sous l'onglet inactif. */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-nav__link:not(.publisher-nav__link--current) {
    background-color: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-pub-tier, var(--cfy-t-line-2));
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-nav__link--profil { --cfy-pub-tier: #3399ff; }
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-nav__link--ads    { --cfy-pub-tier: #28a745; }
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-nav__link--adr    { --cfy-pub-tier: #ff9800; }
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-nav__link--adp    { --cfy-pub-tier: #6c757d; }
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-nav__link:not(.publisher-nav__link--current):hover {
    border-color: var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
    background-color: var(--cfy-t-surface-2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-nav__link:not(.publisher-nav__link--current) * {
    color: inherit !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-nav__link.publisher-nav__link--current,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-nav__link.publisher-nav__link--current:hover {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-nav__link.publisher-nav__link--current * {
    color: inherit !important;
}

/* En-tête publisher (carte, avatar, slug) */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-header-card {
    border: 1px solid var(--cfy-t-line) !important;
    border-top: 2px solid var(--cfy-t-fill) !important;
    background: var(--cfy-t-surface-2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-avatar {
    border-color: var(--cfy-t-line-2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-header-slug,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-text-brand,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-slug {
    color: var(--cfy-t-accent) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-slogan {
    color: var(--cfy-t-muted) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-header-details-collapse {
    border-color: var(--cfy-t-line) !important;
}

/* Classes « or » de publisher-dark-mode-fixes.css */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-text-brand-gold,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-link-gold,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-link-gold-opacity {
    color: var(--cfy-t-accent) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-badge-gold {
    background: var(--cfy-t-accent-soft) !important;
    color: var(--cfy-t-accent) !important;
    border-color: rgba(var(--cfy-t-accent-rgb), 0.45) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .publisher-modal-header-gold {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink) !important;
    border-bottom: 1px solid var(--cfy-t-line) !important;
    box-shadow: inset 0 2px 0 var(--cfy-t-fill) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .publisher-input-gold,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .publisher-number-spinner-input {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border-color: var(--cfy-t-line-2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .publisher-input-gold:focus {
    border-color: var(--cfy-t-accent) !important;
    box-shadow: 0 0 0 2px rgba(var(--cfy-t-accent-rgb), 0.2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .publisher-number-spinner-btn {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-accent) !important;
    border-color: var(--cfy-t-line-2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .btn.publisher-btn-private-access:not(.disabled):not(:disabled),
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .publisher-btn-private-access:not(.disabled):not(:disabled) {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
}

/* Fiche annonce (/publisher/ad/) : titres, liste d'infos, boutons copier, localité */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .nk-block-title.page-title,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .page-title {
    color: var(--cfy-t-accent) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .product-details.entry ul.list-checked li,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .cfy-infos-link,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .cfy-infos-sublink {
    color: var(--cfy-t-accent) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .cfy-copy-btn,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .cfy-catalog-btn {
    background: var(--cfy-t-accent-soft) !important;
    color: var(--cfy-t-accent) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), 0.45) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .cfy-copy-btn:hover:not(:disabled),
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .cfy-catalog-btn:hover {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .cfy-copy-btn-label {
    color: var(--cfy-t-muted) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .commercify-score-value {
    color: var(--cfy-t-accent) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .btn-cfy-accent {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .cfy-ad-action-btn:not(.cfy-ad-action-btn--positive):not(.cfy-ad-action-btn--negative) {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink-2) !important;
    border-color: var(--cfy-t-line-2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .cfy-ad-action-btn:not(.cfy-ad-action-btn--positive):not(.cfy-ad-action-btn--negative):hover {
    border-color: var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
}

body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="color: #DAA520" i],
body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="color:#DAA520" i],
body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="color: #B8860B" i] {
    color: var(--cfy-t-accent) !important;
}
body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="background: rgba(218,165,32" i],
body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="background-color: rgba(218, 165, 32" i],
body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="rgba(218, 165, 32, 0.1) 0%" i] {
    background: rgba(var(--cfy-t-accent-rgb), 0.1) !important;
}
body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="border-bottom: 1px solid rgba(218,165,32" i] {
    border-bottom-color: var(--cfy-t-line) !important;
}
body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="border: 1px solid rgba(218,165,32" i],
body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="border: 1px solid #DAA520" i],
body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="border: 2px solid #DAA520" i] {
    border-color: rgba(var(--cfy-t-accent-rgb), 0.5) !important;
}
body[class*="cfy-ht-"] :is(.cfy-pg-publisher-typology .nk-content, .commercify-modal) [style*="background-color: #2563eb" i] {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content span.badge[style*="DAA520" i],
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content span.badge[style*="218,165,32" i] {
    color: var(--cfy-t-accent) !important;
    border-color: rgba(var(--cfy-t-accent-rgb), 0.5) !important;
}
/* Pastilles Type / Tags / Livraison de la fiche : fond inline #1f2937 (sombre) → pastille teintée
   (illisible en mode clair sinon). Arrondis inline 4-6px → 0. */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content span.badge[style*="#1f2937" i] {
    background-color: var(--cfy-t-accent-soft) !important;
    color: var(--cfy-t-accent) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), 0.35) !important;
    border-radius: 0 !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content span[style*="background: rgba(218,165,32" i] {
    border-radius: 0 !important;
}
/* Formulaire de commentaire : champs inline fond noir / texte blanc / bordure noire (y compris en mode clair) */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content :is(input, textarea, select).form-control:not(#cfy-b1) {
    background-color: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-radius: 0 !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content :is(input, textarea, select).form-control:not(#cfy-b1):focus {
    border-color: var(--cfy-t-accent) !important;
    box-shadow: 0 0 0 2px rgba(var(--cfy-t-accent-rgb), 0.2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content :is(input, textarea).form-control::placeholder {
    color: var(--cfy-t-faint) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--cfy-t-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
}
/* Rubrique Commentaires : carte du formulaire nette (filet, sans ombre diffuse) */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .card:has(> div > #reviewForm) {
    background: var(--cfy-t-surface) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-top: 2px solid var(--cfy-t-fill) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: var(--cfy-sp-4) var(--cfy-sp-5) var(--cfy-sp-5) !important;
}
body[class*="cfy-ht-"] #reviewForm .form-label {
    color: var(--cfy-tx-ink-2) !important;
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    letter-spacing: var(--cfy-ls-caps);
    text-transform: uppercase;
}
body[class*="cfy-ht-"] #reviewForm :is(input, textarea, select).form-control:disabled {
    cursor: not-allowed;
    opacity: 0.7;
}
/* Case « commentaire anonyme » + bouton d'aide « ? » (rond inline) : carré, bordé */
body[class*="cfy-ht-"] #reviewForm .custom-control.custom-checkbox {
    display: flex !important;
    align-items: center;
    gap: var(--cfy-sp-2);
}
body[class*="cfy-ht-"] #reviewForm .custom-control .btn[data-bs-toggle="popover"] {
    width: 24px;
    height: 24px;
    padding: 0 !important;
    margin-left: var(--cfy-sp-1) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-radius: 0 !important;
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink-2) !important;
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
}
body[class*="cfy-ht-"] #reviewForm .custom-control .btn[data-bs-toggle="popover"]:hover {
    border-color: var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
}
/* Message « Vous ne pouvez pas… » (small rouge inline) : bandeau d'avis pleine largeur avec cadenas */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content :is(#reviewForm small[style*="ff6b6b" i], .product-details small[style*="color: red" i]) {
    display: flex;
    align-items: flex-start;
    gap: var(--cfy-sp-3);
    width: 100%;
    margin-top: var(--cfy-sp-3);
    padding: var(--cfy-sp-3) var(--cfy-sp-4);
    background: color-mix(in oklab, var(--cfy-tx-danger) 8%, var(--cfy-t-surface-2)) !important;
    border: 1px solid color-mix(in oklab, var(--cfy-tx-danger) 35%, var(--cfy-t-line-2));
    border-left: 3px solid var(--cfy-tx-danger);
    border-radius: 0;
    color: var(--cfy-tx-danger) !important;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-medium);
    line-height: var(--cfy-lh-snug);
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content :is(#reviewForm small[style*="ff6b6b" i], .product-details small[style*="color: red" i])::before {
    content: "";
    flex: 0 0 16px;
    height: 16px;
    margin-top: 1px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8h-1V6A5 5 0 0 0 7 6v2H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2zM9 6a3 3 0 0 1 6 0v2H9V6zm4 9.73V18h-2v-2.27a2 2 0 1 1 2 0z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8h-1V6A5 5 0 0 0 7 6v2H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2zM9 6a3 3 0 0 1 6 0v2H9V6zm4 9.73V18h-2v-2.27a2 2 0 1 1 2 0z'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Appel à l'action sous le message : obtenir un badge pour pouvoir commenter */
#reviewForm .cfy-review-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: var(--cfy-sp-2);
    margin-top: var(--cfy-sp-3);
}
/* Signaler l'annonce : bouton secondaire, pictogramme d'avertissement sémantique */
#reviewForm .cfy-review-report {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2);
    padding: var(--cfy-sp-2) var(--cfy-sp-4);
    background: var(--cfy-t-surface);
    color: var(--cfy-t-ink-2);
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-medium);
    line-height: var(--cfy-lh-snug);
    cursor: pointer;
    transition: border-color .15s ease, color .15s ease;
}
#reviewForm .cfy-review-report svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: var(--cfy-tx-warning);
}
#reviewForm .cfy-review-report:is(:hover, :focus-visible) {
    border-color: var(--cfy-t-accent);
    color: var(--cfy-t-accent);
}
#reviewForm .cfy-review-report:focus-visible {
    outline: 2px solid var(--cfy-t-accent);
    outline-offset: 2px;
}
@media (max-width: 575.98px) {
    #reviewForm .cfy-review-actions > * {
        flex: 1 1 100%;
        justify-content: center;
        text-align: left;
    }
}
#reviewForm .cfy-review-cta {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2);
    padding: var(--cfy-sp-2) var(--cfy-sp-5);
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo));
    color: var(--cfy-t-on-fill) !important;
    border: 1px solid var(--cfy-t-fill-lo);
    border-radius: 0;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    text-decoration: none !important;
    transition: filter .15s ease, box-shadow .15s ease;
}
#reviewForm .cfy-review-cta svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}
#reviewForm .cfy-review-cta:is(:hover, :focus-visible) {
    filter: brightness(1.08);
    box-shadow: 0 0 0 2px rgba(var(--cfy-t-fill-rgb), .3);
    color: var(--cfy-t-on-fill) !important;
}
#reviewForm .cfy-review-cta:focus-visible {
    outline: 2px solid var(--cfy-t-accent);
    outline-offset: 2px;
}
/* Cartes de commentaires publiés (styles inline : arrondi 12px, fond #1f2937, textes or/gris) :
   carrées et thémées ; les avis négatifs gardent leur fond rouge sémantique. */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="border-radius: 12px"][onmouseover] {
    border-radius: 0 !important;
    box-shadow: none !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="background: #1f2937"][onmouseover] {
    background: var(--cfy-t-surface) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-left: 3px solid var(--cfy-t-fill) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="background: #1f2937"][onmouseover] > div:first-child {
    border-bottom-color: var(--cfy-t-line) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="background: #1f2937"][onmouseover] :is(h5, span[style*="DAA520" i], i[style*="DAA520" i]) {
    color: var(--cfy-t-accent) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="background: #1f2937"][onmouseover] :is(span[style*="#888"], span[style*="#666"]) {
    color: var(--cfy-tx-muted) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="background: #1f2937"][onmouseover] p[style*="#CCC" i] {
    color: var(--cfy-tx-ink-2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="border-radius: 12px"][onmouseover] :is(.badge, img) {
    border-radius: 0 !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="background: #1f2937"][onmouseover] .badge[style*="#f59e0b" i] {
    background: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="border-radius: 12px"][onmouseover] .badge[style*="#f59e0b" i] {
    border: 0 !important;
}
/* Avis négatif (fond rouge sémantique) : texte blanc inline écrasé en gris par les règles de la fiche */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="background: #b91c1c"][onmouseover] :is(h5, span, a, p, i)[style*="#fff" i],
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="background: #b91c1c"][onmouseover] span[style*="#fff" i] a {
    color: #fff !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content div[style*="background: #b91c1c"][onmouseover] {
    border-left: 3px solid #7f1414 !important;
}
/* Rubrique Infos : pastille catalogue et vignette de carte (fond or translucide) */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .cfy-infos-catalog-badge {
    background: var(--cfy-t-accent-soft) !important;
    color: var(--cfy-t-ink-2) !important;
    border-radius: 0 !important;
}

/* Modales publisher (.commercify-modal-content, en-têtes dégradés « primary ») -- limitées aux pages
   publisher (body:has(.page-publisher-typology)) : la page dash/publisher/ad partage ces classes. */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .commercify-modal-content {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .commercify-modal-header,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .modal-header.bg-gradient-primary {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink) !important;
    border-bottom: 1px solid var(--cfy-t-line) !important;
    box-shadow: inset 0 2px 0 var(--cfy-t-fill) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .commercify-modal-title {
    color: var(--cfy-t-ink) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .commercify-modal-close {
    color: var(--cfy-t-ink-2) !important;
    border-color: var(--cfy-t-line-2) !important;
    background: var(--cfy-t-surface) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .commercify-modal-close:hover {
    color: var(--cfy-t-accent) !important;
    border-color: var(--cfy-t-accent) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content ~ .modal .rounded-circle.bg-primary,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .modal .list-group .rounded-circle.bg-primary {
    background: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .modal .display-1.text-primary,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .modal .bi-person-check {
    color: var(--cfy-t-accent) !important;
}

/* Fiche annonce : bloc prix (fond or translucide) -> teinte du thème ; prix en vert conservé */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .price-container,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .price-details {
    background: rgba(var(--cfy-t-accent-rgb), 0.06) !important;
    border-color: rgba(var(--cfy-t-accent-rgb), 0.25) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content ul.rating {
    color: var(--cfy-t-accent) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .product-details.entry p[style*="color: #666"] {
    color: var(--cfy-t-ink-2) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .product-rating {
    background-color: rgba(var(--cfy-t-accent-rgb), 0.07) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), 0.3) !important;
    border-radius: 0 !important;
}

body[class*="cfy-ht-"] .hyperprofil-content-wrap,
body[class*="cfy-ht-"] .hyperprofil-city-search-zone-wrap {
    --hpv-page: var(--cfy-t-surface-2);
    --hpv-surface: var(--cfy-t-surface);
    --hpv-surface-2: var(--cfy-t-surface-2);
    --hpv-media: var(--cfy-t-surface-3);
    --hpv-border: var(--cfy-t-line);
    --hpv-border-strong: var(--cfy-t-line-2);
    --hpv-text: var(--cfy-t-ink);
    --hpv-text-soft: var(--cfy-t-muted);
    --hpv-bar: var(--cfy-t-fill);
    --hpv-link-hover: var(--cfy-t-accent);
    --hpv-sel: var(--cfy-t-accent);
    --hpv-sel-tint: rgba(var(--cfy-t-accent-rgb), 0.12);
    --hpv-badge-bg: var(--cfy-t-fill);
    --hpv-badge-fg: var(--cfy-t-on-fill);
    --hpv-shadow: var(--cfy-t-shadow);
}
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"] {
    background: var(--cfy-t-surface-2) !important;
    border-bottom: 1px solid var(--cfy-t-line);
}
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"] .card {
    background: var(--cfy-t-surface) !important;
    border-color: var(--cfy-t-line) !important;
}
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) .eg-swal-report:not(:disabled):not(.disabled),
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) .hyperprofil-update-btn:not(:disabled):not(.disabled),
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) .btn-primary:not(:disabled):not(.disabled) {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
}
/* Bouton de mise à jour inactif (rien à enregistrer) : surface neutre, texte atténué lisible */
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) :is(.eg-swal-report, .hyperprofil-update-btn, .btn-primary):is(:disabled, .disabled) {
    background: var(--cfy-t-surface-3) !important;
    border-color: var(--cfy-t-line-2) !important;
    color: var(--cfy-t-muted) !important;
    opacity: 1 !important;
}
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) .hyperprofil-reset-btn,
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) .hyperprofil-check-all-btn,
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) .hyperprofil-uncheck-all-btn {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2) !important;
    border-color: var(--cfy-t-line-2) !important;
}
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) .hyperprofil-reset-btn:not(:disabled):hover,
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) .hyperprofil-check-all-btn:not(:disabled):hover,
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) .hyperprofil-uncheck-all-btn:not(:disabled):hover {
    border-color: var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
}
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) input[type="search"]:not(:disabled) {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border-color: var(--cfy-t-line-2) !important;
}
body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1) input[type="search"]:not(:disabled):focus {
    border-color: var(--cfy-t-accent) !important;
    box-shadow: 0 0 0 2px rgba(var(--cfy-t-accent-rgb), 0.2) !important;
}
body[class*="cfy-ht-"] .hyperprofil-content-wrap .text-primary,
body[class*="cfy-ht-"] .hyperprofil-content-wrap .bi-info-circle-fill {
    color: var(--cfy-t-accent) !important;
}
body[class*="cfy-ht-"] .hyperprofil-content-wrap .badge.text-primary {
    color: var(--cfy-t-accent) !important;
    border-color: rgba(var(--cfy-t-accent-rgb), 0.5) !important;
}

/* ═══════════════ Zone des catalogues < 1200px (tablette / smartphone) ═══════════════
   Au-dessus de 1200px, commercify_header_refresh.css la redessine entièrement. En dessous, le layout
   historique est conservé mais ses variables de couleur (fil d'Ariane, barre pré-vignettes, boutons
   d'action) suivent le thème : même teinte profonde que le post-header desktop. */
@media (max-width: 1199.98px) {
    body[class*="cfy-ht-"] {
        --cfy-catalog-navbar-bg: rgba(var(--cfy-hr-accent-rgb), 0.08);
        --cfy-catalog-navbar-border: rgba(var(--cfy-hr-accent-rgb), 0.3);
        --cfy-catalog-navbar-fg: var(--cfy-hr-accent);
        --cfy-catalog-navbar-hover-bg: rgba(var(--cfy-hr-accent-rgb), 0.18);
        --cfy-catalog-navbar-hover-border: var(--cfy-hr-accent);
        --cfy-catalog-navbar-focus-ring: rgba(var(--cfy-hr-accent-rgb), 0.25);
        --cfy-catalog-navbar-option-bg: var(--cfy-hr-panel-bg);
        --cfy-catalog-navbar-option-fg: var(--cfy-hr-ink);
    }
    body[class*="cfy-ht-"] .cfy-vignettes-pre-banner {
        --cfy-vpre-banner-bg: var(--cfy-hr-ph-bg);
        --cfy-catalog-action-bg: var(--cfy-hr-ph-bg-2);
        --cfy-catalog-action-fg: var(--cfy-hr-accent);
        --cfy-catalog-action-border: rgba(var(--cfy-hr-accent-rgb), 0.55);
        --cfy-catalog-action-hover-bg: rgba(var(--cfy-hr-accent-rgb), 0.16);
        --cfy-catalog-action-hover-fg: var(--cfy-hr-accent);
        --cfy-catalog-action-active-bg: var(--cfy-hr-ph-bg-2);
        --cfy-catalog-action-active-fg: var(--cfy-hr-accent);
        --cfy-catalog-action-disabled-bg: var(--cfy-hr-ph-bg);
        --cfy-catalog-action-disabled-fg: var(--cfy-hr-ink-faint);
        --cfy-catalog-action-disabled-border: var(--cfy-hr-ph-line-2);
    }
}

/* Header < 1200px : layout historique, boutons Tableau de bord / Connexion à l'accent du thème */
@media (max-width: 1199.98px) {
    body[class*="cfy-ht-"] .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet {
        background: transparent !important;
        color: var(--cfy-hr-accent-text) !important;
        border-color: rgba(var(--cfy-hr-accent-rgb), 0.55) !important;
    }
    body[class*="cfy-ht-"] .catalog-header.cfy-hr .btn-visitor-header,
    body[class*="cfy-ht-"] .catalog-header.cfy-hr .btn-visitor-header.btn-visitor-no-modal {
        background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 55%, var(--cfy-hr-flat-lo)) !important;
        color: var(--cfy-hr-on-flat) !important;
        border-color: var(--cfy-hr-flat-lo) !important;
    }
    body[class*="cfy-ht-"] .catalog-header.cfy-hr .btn-visitor-header * {
        color: inherit !important;
    }
    /* Lien « Options » (ex-« Carte du monde », 2026-09-25) : neutralise le blanc en dur de
       commercify_header_simplified.css. */
    body[class*="cfy-ht-"] .catalog-header.cfy-hr .header-actions .cfy-header-options-link {
        color: var(--cfy-hr-ink-2) !important;
        /* pas de soulignement (underline / underline double de commercify_header_simplified.css) */
        text-decoration: none !important;
    }
    body[class*="cfy-ht-"] .catalog-header.cfy-hr .header-actions .cfy-header-options-link:hover,
    body[class*="cfy-ht-"] .catalog-header.cfy-hr .header-actions .cfy-header-options-link:focus-visible {
        color: var(--cfy-hr-accent-text) !important;
        background: transparent !important;
        box-shadow: none !important;
        text-decoration: none !important;
    }
    html body .catalog-header #mappemonde-link.cfy-header-map-btn:not([style*="display: none"]):not([style*="display:none"]) {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    html body .catalog-header #mappemonde-link.cfy-header-map-btn {
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: 36px;
        height: 36px;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--cfy-hr-hd-ink-3);
        /* après le logo : .logo-wrapper reçoit order:1 sous 1200px (commercify_topheaderlogo_beta.css) */
        order: 2 !important;
    }
    html body .catalog-header #mappemonde-link.cfy-header-map-btn:hover,
    html body .catalog-header #mappemonde-link.cfy-header-map-btn:focus-visible {
        color: var(--cfy-hr-accent-text);
    }
    html body .catalog-header #mappemonde-link.cfy-header-map-btn .cfy-header-map-icon {
        width: 20px;
        height: 20px;
    }
    /* Masquage instantané par le réglage worldmap-display-btn (style.display='none' sans !important,
       commercify_filters_instant.js) : sinon battu par .header-action-btn { display:inline-flex !important }. */
    html body .catalog-header #mappemonde-link.cfy-header-map-btn:is([style*="display: none"], [style*="display:none"]) {
        display: none !important;
    }
}

/* Boutons Suivre / Liste noire : désactivés (visiteur) = neutre du thème, jamais l'aplat actif */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .page-publisher-typology .btn.btn-secondary.disabled.publisher-btn-private-access,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .page-publisher-typology .btn.btn-secondary:disabled.publisher-btn-private-access,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .page-publisher-typology .btn.btn-secondary.disabled.bg-dark,
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .page-publisher-typology .btn.btn-secondary:disabled.bg-dark {
    background: var(--cfy-t-surface-3) !important;
    color: var(--cfy-t-muted) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    box-shadow: none !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .page-publisher-typology .btn.bg-dark.text-warning:not(.disabled):not(:disabled) {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-accent) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), 0.55) !important;
}
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .page-publisher-typology .alert.publisher-alert-gradient {
    background: linear-gradient(145deg, rgba(var(--cfy-t-accent-rgb), 0.07), transparent) !important;
    border-left-color: var(--cfy-t-fill) !important;
}

/* Page profil publisher : dégradé or/violet de l'article + bande noire #0a0a0a en mode sombre */
.cfy-pg-publisher-typology body[class*="cfy-ht-"] .nk-content .publisher-entry-gradient {
    background: linear-gradient(145deg, rgba(var(--cfy-t-accent-rgb), 0.05), transparent) !important;
}
.cfy-pg-publisher-typology html body.dark-mode[class*="cfy-ht-"] .nk-content.nk-content-fluid:not(#cfy-b1) {
    background-color: var(--cfy-t-surface) !important;
}
html body.dark-mode[class*="cfy-ht-"] .page-publisher-typology:not(#cfy-b1) {
    background-color: transparent !important;
}

/* En-tête de la fiche annonce : « Fiche annonce <slug> » + lien retour vers le catalogue du niveau */
body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-ad-context-slug,
body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-ad-context-slug * {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border-color: var(--cfy-t-line-2) !important;
    font-family: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-ad-context-slug * {
    border: 0 !important;
}
body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-ad-context-link {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-pub-tier, var(--cfy-t-line-2));
}
body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-ad-context-link--ads { --cfy-pub-tier: #28a745; }
body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-ad-context-link--adr { --cfy-pub-tier: #ff9800; }
body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-ad-context-link--adp { --cfy-pub-tier: #6c757d; }
body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-ad-context-link:hover {
    color: var(--cfy-t-accent) !important;
    border-color: var(--cfy-t-accent) !important;
    transform: none;
}

/* Fiche annonce : icônes SVG des boutons d'action (page_publisher_ad_buttons.css : #93c5fd, #a5b4fc,
   #67e8f9 en dur, souvent !important) → accent du thème à l'état neutre. États actifs (favori / liké
   = vert, liste noire / disliké / signalé = rouge) conservés : sémantique. */
body[class*="cfy-ht-"] .publisher-ad-action-buttons {
    --cfy-ad-icon-bookmark: var(--cfy-t-accent);
    --cfy-ad-icon-mail: var(--cfy-t-accent);
    --cfy-ad-icon-share: var(--cfy-t-accent);
    --cfy-ad-icon-report: var(--cfy-t-accent);
    --cfy-ad-icon-score: var(--cfy-t-accent);
    --cfy-ad-icon-like: var(--cfy-t-accent);
}
body[class*="cfy-ht-"] .publisher-ad-action-buttons:not(#cfy-b1) .cfy-ad-action-btn.cfy-ad-action-btn--neutral svg,
body[class*="cfy-ht-"] .publisher-ad-action-buttons:not(#cfy-b1) .cfy-ad-action-btn.cfy-ad-action-btn--neutral svg :is(path, circle, rect, polygon, polyline, line) {
    fill: none !important;
    stroke: var(--cfy-t-accent) !important;
}
body[class*="cfy-ht-"] .publisher-ad-action-buttons:not(#cfy-b1) .cfy-ad-action-btn.cfy-ad-action-btn--neutral:hover svg,
body[class*="cfy-ht-"] .publisher-ad-action-buttons:not(#cfy-b1) .cfy-ad-action-btn.cfy-ad-action-btn--neutral:hover svg :is(path, circle, rect, polygon, polyline, line) {
    fill: none !important;
    stroke: var(--cfy-t-ink) !important;
}
body[class*="cfy-ht-"] .publisher-ad-action-buttons .cfy-ad-action-btn:focus-visible { outline-color: var(--cfy-t-accent); }

/* ═══ commercify_theme_pagination.css ═══ */
/* Pages */
html body[class*="cfy-ht-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link {
    background-color: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body[class*="cfy-ht-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item + .page-item .page-link {
    margin-inline-start: -1px;
}
html body[class*="cfy-ht-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link:hover,
html body[class*="cfy-ht-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link:focus-visible {
    position: relative;
    z-index: 2;
    background-color: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-accent) !important;
    border-color: var(--cfy-t-accent) !important;
}
/* Page courante : aplat du thème */
html body[class*="cfy-ht-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.active .page-link,
html body[class*="cfy-ht-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .active > .page-link {
    position: relative;
    z-index: 1;
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}
/* Points de suspension / pages indisponibles */
html body[class*="cfy-ht-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.disabled .page-link {
    background-color: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-faint) !important;
    border-color: var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link * {
    color: inherit !important;
}

/* Compteur « Affichage de 1 à 12 sur N annonces » */
html body[class*="cfy-ht-"] .publisher-pagination-info,
html body[class*="cfy-ht-"] .vignettes-pagination-info,
html body[class*="cfy-ht-"] [class*="pagination-catalog-label"],
html body[class*="cfy-ht-"] .vignettes-pagination-catalog-text {
    color: var(--cfy-t-muted) !important;
}

/* ═══ commercify_theme_vignettes.css ═══ */

/* ── Cartes hors mur : aura et clic aux couleurs du thème (le survol des vignettes du mur a sa propre feuille) ── */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card:not(.vignette-selectable)::after {
    background: rgba(var(--cfy-t-fill-rgb), 0.3);
    border-color: rgba(var(--cfy-t-fill-rgb), 0.6);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card:not(.vignette-selectable):active {
    border-color: var(--cfy-t-accent) !important;
    box-shadow: 0 0 0 2px rgba(var(--cfy-t-fill-rgb), 0.3), 0 0 20px rgba(var(--cfy-t-fill-rgb), 0.4) !important;
}

/* ── Sélection (case à cocher + carte cochée) ──────────────────────────────────────────── */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignette-checkbox {
    background: var(--cfy-t-surface);
    border-color: var(--cfy-t-accent);
    color: var(--cfy-t-ink);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignette-checkbox:hover {
    background: var(--cfy-t-accent-soft);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignette-checkbox.checked {
    background: var(--cfy-t-fill);
    border-color: var(--cfy-t-fill-lo);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignette-checkbox.checked::after {
    color: var(--cfy-t-on-fill);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card.selected {
    border-color: var(--cfy-t-fill) !important;
    box-shadow: 0 0 0 3px rgba(var(--cfy-t-fill-rgb), 0.4), 0 6px 20px rgba(var(--cfy-t-fill-rgb), 0.3) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card.selected::before {
    border-color: var(--cfy-t-fill);
}

/* ── Titre ─────────────────────────────────────────────────────────────────────────────── */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .product-title,
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .product-title a.text-dark {
    color: var(--cfy-t-ink) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .product-title a.text-dark:hover {
    color: var(--cfy-t-accent) !important;
}

/* ── Boutons posés sur l'image ─────────────────────────────────────────────────────────── */
/* Bouton « retourner » (recto et versos, classe commune) */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignette-flip-toggle {
    background-color: rgba(var(--cfy-t-fill-rgb), 0.88) !important;
    color: var(--cfy-t-on-fill) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignette-flip-toggle:hover,
body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignette-flip-toggle-verso-back {
    background-color: var(--cfy-t-fill) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignette-flip-toggle-verso-back:hover {
    background-color: var(--cfy-t-fill-hi) !important;
}
/* Bouton « + » catégories/rayons : reste noir neutre, accent au survol */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .location-toggle:hover {
    border-color: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-accent-text) !important;
}

/* ── Bandeaux sur la photo : fonds sombres conservés, accents du thème ─────────────────── */
/* Liens du bandeau localisation : blancs au repos, accent au survol (doré #FFD700 d'origine) */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .location-overlay a:hover {
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .location-overlay :is(.location-country, .location-city):hover {
    background: rgba(var(--cfy-hr-accent-rgb), 0.2) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .location-flag-link:hover .location-flag {
    box-shadow: 0 0 8px rgba(var(--cfy-hr-accent-rgb), 0.6) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card a.score-display.catalog-link-scoring:hover,
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card a.score-display.catalog-link-scoring:focus-visible,
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card ul.product-tags.rating:has(a.catalog-link-scoring):hover a.catalog-link-scoring {
    color: var(--cfy-hr-accent-text) !important;
}

/* ── Prix ──────────────────────────────────────────────────────────────────────────────── */
/* Montant (bg-warning) : aplat du thème */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .badge.bg-warning:not(#cfy-b1) {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
}
/* « Prix fixe » / « Par mois » : pastilles translucides liserées d'accent */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .price-badge:not(#cfy-b1) {
    background: rgba(var(--cfy-hr-accent-rgb), 0.16) !important;
    border: 1px solid rgba(var(--cfy-hr-accent-rgb), 0.55) !important;
    color: var(--cfy-hr-ink) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card.vignette-selectable:hover .price-badge:not(#cfy-b1) {
    background: var(--cfy-hr-panel-bg) !important;
    border-color: rgba(var(--cfy-hr-accent-rgb), 0.85) !important;
    color: var(--cfy-hr-ink) !important;
}
/* Survol direct du lien (orange / indigo d'origine) */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card a.price-badge:not(#cfy-b1):not(#cfy-b2):hover,
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card a.price-badge:not(#cfy-b1):not(#cfy-b2):focus-visible {
    background: var(--cfy-t-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
    box-shadow: 0 0 14px rgba(var(--cfy-t-fill-rgb), 0.7), 0 2px 8px rgba(0, 0, 0, 0.25) !important;
    outline-color: var(--cfy-t-fill) !important;
}

/* ── Avatar de l'éditeur ───────────────────────────────────────────────────────────────── */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .product-badges .user-avatar {
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .product-badges .user-avatar img.border-warning {
    border-color: var(--cfy-hr-accent) !important;
}

/* ══ VERSO (social / géo / titre) : sombre teinté du thème, dans les 2 modes ═════════════ */
body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card-flip-back, .product-card-flip-back-geo, .product-card-flip-back-title) {
    background: var(--cfy-hr-panel-bg) !important;
    color: var(--cfy-hr-ink);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .flip-back-header {
    border-top-color: var(--cfy-hr-accent);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .flip-back-header::before {
    background: linear-gradient(90deg, transparent, var(--cfy-hr-accent-hi), transparent);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card-flip-back-icon {
    color: var(--cfy-hr-accent-text);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .flip-back-header .product-card-flip-back-subtitle {
    color: var(--cfy-hr-ink-muted);
}
/* Liens (pays, région, ville… du verso géo) */
body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card-flip-back, .product-card-flip-back-geo, .product-card-flip-back-title) .location-postalcode-popover-link {
    color: var(--cfy-hr-accent-text);
    border-bottom-color: rgba(var(--cfy-hr-accent-rgb), 0.7);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card-flip-back, .product-card-flip-back-geo, .product-card-flip-back-title) .location-postalcode-popover-link:hover {
    color: var(--cfy-hr-ink);
    border-bottom-color: var(--cfy-hr-accent);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card-flip-back-geo .location-postalcode-popover-current {
    color: var(--cfy-hr-ink-muted);
}
/* Croix de fermeture : neutre sombre, rouge au survol (signal de fermeture conservé) */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignette-verso-close {
    background-color: var(--cfy-hr-tile-bg) !important;
    color: var(--cfy-hr-ink) !important;
    border-color: var(--cfy-hr-ph-line-2) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignette-verso-close:hover {
    background-color: rgba(220, 53, 69, 1) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.55) !important;
}
/* Boutons d'action neutres (retirer, signaler) ; verts/rouges sémantiques inchangés */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .flip-action-btn:is(.remove-reaction-btn, .remove-bookmark-btn, .remove-follow-btn, .report-btn) {
    background: var(--cfy-hr-tile-bg) !important;
    border-color: var(--cfy-hr-ph-line-2) !important;
    color: var(--cfy-hr-ink-2) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .flip-action-btn:is(.remove-reaction-btn, .remove-bookmark-btn, .remove-follow-btn, .report-btn):hover {
    background: var(--cfy-hr-ph-bg-2) !important;
    border-color: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-accent-text) !important;
}
/* Miniatures d'image du verso (bordure inline #333) */
body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card-flip-back, .product-card-flip-back-geo, .product-card-flip-back-title) img[style*="solid #333"] {
    border-color: var(--cfy-hr-ph-line-2) !important;
    border-radius: 0 !important;
}

/* Vignettes à retours négatifs (mini) : pastilles rouge/orange sémantiques conservées, arrondi 4px -> 0 */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card[data-has-negative-feedback="1"] .location-overlay .location-overlay-text:not(#cfy-b1) {
    border-radius: 0 !important;
}

body[class*="cfy-ht-"]:not(.cfy-no-theme) .location-info :is(.badge, .badge-pill):not(#cfy-b1):hover {
    border-color: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .location-info li a[href*='catalog=scategory']:hover::before {
    border-top-color: var(--cfy-hr-accent) !important;
}

/* ═══════════ Message temporaire du verso (inline orange posé par commercify_vignettes_optimized.js) ═══════════ */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .flip-back-message-temp {
    background: rgba(var(--cfy-hr-flat-rgb), .92) !important;
    color: var(--cfy-hr-on-flat) !important;
    border-radius: 0 !important;
}

/* Ligne note / vues (bande sombre neutre sous la photo) : #8094ae (.product-tags a) et #9cb3d6 !important
   en sombre → encre claire de la famille header (conçue pour fond sombre, lisible dans les 2 modes) */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card :is(.product-tags a.score-display, .product-tags a.catalog-link-scoring, .view-count):not(#cfy-b1) {
    color: var(--cfy-hr-ink-2) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .product-card .view-count:not(#cfy-b1) svg { stroke: currentColor !important; }

/* ═══════════ Pin's des vignettes (.vignette-urgent-pin > .urgent-badge, lien catalog=pins) : neutre #1e293b
   et survol orange #ffae00 d'origine → panneau sombre teinté du thème, liseré et icône accent,
   survol en aplat accent. Posé sur la photo : famille --cfy-hr-* (fond toujours sombre). ═══════════ */
body[class*="cfy-ht-"]:not(.cfy-no-theme) .urgent-badge:not(#cfy-b1) {
    background-color: var(--cfy-hr-panel-bg) !important;
    border: 1px solid rgba(var(--cfy-hr-accent-rgb), .55) !important;
    color: var(--cfy-hr-ink) !important;
    border-radius: 0 !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .urgent-badge:not(#cfy-b1) i { color: var(--cfy-hr-accent-text) !important; }
body[class*="cfy-ht-"]:not(.cfy-no-theme) a.urgent-badge:not(#cfy-b1):is(:hover, :focus-visible) {
    background-color: var(--cfy-hr-flat) !important;
    border-color: var(--cfy-hr-flat-hi) !important;
    color: var(--cfy-hr-on-flat) !important;
    outline-color: var(--cfy-hr-flat) !important;
    box-shadow: 0 0 14px rgba(var(--cfy-hr-flat-rgb), .6), 0 2px 8px rgba(0, 0, 0, .25) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) a.urgent-badge:not(#cfy-b1):is(:hover, :focus-visible) i { color: var(--cfy-hr-on-flat) !important; }

/* ═══ commercify_theme_ui.css ═══ */

/* ── Preloader : barre de progression (style inline #DAA520 posé par commercify_preloader.js) ── */
body[class*="cfy-ht-"] .preloader-progress,
body[class*="cfy-ht-"] .preloader-oscillating-bar {
    background-color: var(--cfy-t-fill) !important;
    background-image: linear-gradient(90deg, var(--cfy-t-fill-lo), var(--cfy-t-fill) 50%, var(--cfy-t-fill-hi)) !important;
}
/* Modale ouverte : la barre passe par-dessus l'en-tête de la modale (fond --cfy-hr-hd-bg, teinté du
   thème) et s'y fondait (ex. Moteur de recherche avancé, mode clair : 1,04:1 en Cobalt-Soleil).
   --cfy-hr-accent-text est garanti >= 4,6:1 sur tous les fonds d'en-tête. */
body[class*="cfy-ht-"].modal-open .preloader-progress,
body[class*="cfy-ht-"].modal-open .preloader-oscillating-bar {
    background-color: var(--cfy-hr-accent-text) !important;
    background-image: none !important;
}
body[class*="cfy-ht-"] .preloader-loading-message {
    color: var(--cfy-t-accent) !important;
}

/* ── Postloader : voile toujours sombre, teinté du thème ; accents du thème ──
   Le sous-message reçoit color: #FFD700 inline (data-submessage-color) → !important. */
body[class*="cfy-ht-"] #page-loading-overlay:not(.postloader-minimal):not([data-mode="minimal"]) {
    background-color: rgba(0, 0, 0, .85) !important;
    background-image: linear-gradient(135deg, var(--cfy-hr-ph-bg) 0%, var(--cfy-hr-panel-bg) 50%, var(--cfy-hr-ph-bg) 100%) !important;
    color: var(--cfy-hr-ink) !important;
}
body[class*="cfy-ht-"] #page-loading-overlay .postloader-circle {
    border-color: rgba(var(--cfy-hr-accent-rgb), .45) !important;
    border-radius: 0 !important;
}
body[class*="cfy-ht-"] #page-loading-overlay .postloader-countdown {
    color: var(--cfy-hr-accent-text) !important;
}
body[class*="cfy-ht-"] #page-loading-overlay :is(.postloader-title, .postloader-message) {
    color: var(--cfy-hr-ink) !important;
}
body[class*="cfy-ht-"] #page-loading-overlay .postloader-submessage {
    color: var(--cfy-hr-accent-text) !important;
}

/* ── Infobulles Bootstrap : petit panneau sombre teinté (famille header) ── */
body[class*="cfy-ht-"] .tooltip:not(.hyperprofil-tooltip-jump):not(.hyperprofil-tooltip-checkbox) {
    --bs-tooltip-bg: var(--cfy-hr-panel-bg);
    --bs-tooltip-color: var(--cfy-hr-ink);
}
body[class*="cfy-ht-"] .tooltip:not(.hyperprofil-tooltip-jump):not(.hyperprofil-tooltip-checkbox) .tooltip-inner {
    background-color: var(--cfy-hr-panel-bg) !important;
    color: var(--cfy-hr-ink) !important;
    border: 1px solid var(--cfy-hr-ph-line-2);
    border-top: 2px solid var(--cfy-hr-accent);
    border-radius: 0 !important;
}

/* ── Infobulles et liens HyperProfil : palette par page (:root, violet par défaut) → thème ──
   Redéfinie sur <body> : les descendants (et les infobulles portées dans <body>) en héritent. */
body[class*="cfy-ht-"] {
    --cfy-tooltip-color-primary: var(--cfy-t-fill);
    --cfy-tooltip-color-secondary: var(--cfy-t-fill-hi);
    --cfy-tooltip-color-shadow: rgba(var(--cfy-t-fill-rgb), .18);
}
body[class*="cfy-ht-"] .tooltip:is(.hyperprofil-tooltip-jump, .hyperprofil-tooltip-checkbox) .tooltip-inner {
    color: var(--cfy-t-on-fill) !important;
}
body[class*="cfy-ht-"] .hyperprofil-summary-link {
    color: var(--cfy-t-accent);
}
body[class*="cfy-ht-"] .hyperprofil-summary-link:hover {
    color: var(--cfy-t-ink);
}

/* ── Menus déroulants Bootstrap / DashLite ── */
body[class*="cfy-ht-"] .dropdown-menu {
    --bs-dropdown-bg: var(--cfy-t-surface);
    --bs-dropdown-color: var(--cfy-t-ink);
    --bs-dropdown-border-color: var(--cfy-t-line-2);
    --bs-dropdown-link-color: var(--cfy-t-ink-2);
    --bs-dropdown-link-hover-color: var(--cfy-t-accent);
    --bs-dropdown-link-hover-bg: var(--cfy-t-surface-3);
    --bs-dropdown-link-active-color: var(--cfy-t-on-fill);
    --bs-dropdown-link-active-bg: var(--cfy-t-fill);
    --bs-dropdown-divider-bg: var(--cfy-t-line);
    background-color: var(--cfy-t-surface) !important;
    border-color: var(--cfy-t-line-2) !important;
    color: var(--cfy-t-ink) !important;
    border-radius: 0 !important;
}
body[class*="cfy-ht-"] .dropdown-menu :is(.dropdown-item, .link-list-opt a, .link-list a):not(.active) {
    color: var(--cfy-t-ink-2);
}
body[class*="cfy-ht-"] .dropdown-menu :is(.dropdown-item, .link-list-opt a, .link-list a):not(.active):hover {
    background-color: var(--cfy-t-surface-3);
    color: var(--cfy-t-accent);
}

/* ── Sélection de texte ── */
body[class*="cfy-ht-"] ::selection {
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
}

body[class*="cfy-ht-"] .search-highlight {
    background: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    animation: none !important;
}
body[class*="cfy-ht-"] .search-highlight:hover {
    background: var(--cfy-t-fill-hi) !important;
}
/* Libellés de langue (même <style>) : #888 / #ccc illisibles sur surface claire */
body[class*="cfy-ht-"] .language-code {
    color: var(--cfy-t-muted) !important;
}
body[class*="cfy-ht-"] .language-native {
    color: var(--cfy-t-ink-2) !important;
}

/* ── Surlignage HyperProfil : <mark style="background-color: #ffeb3b; color: #000"> (8 JS profil) ── */
body[class*="cfy-ht-"] mark[style*="#ffeb3b" i] {
    background-color: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill) !important;
}

body[class*="cfy-ht-"] .modal-shortcut-btn:not(#cfy-b1) {
    background: var(--cfy-t-accent-soft) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), .45) !important;
    border-radius: 0 !important;
    color: var(--cfy-t-accent) !important;
}
body[class*="cfy-ht-"] .modal-shortcut-btn:not(#cfy-b1):hover,
body[class*="cfy-ht-"] .modal-shortcut-btn:not(#cfy-b1):focus-visible {
    background: var(--cfy-t-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
    box-shadow: 0 2px 8px rgba(var(--cfy-t-fill-rgb), .3) !important;
}

body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(h1.catalog-title, .catalog-title, .catalog-nav-item.active .catalog-label-top):not(#cfy-b1) {
    color: var(--cfy-t-accent) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) .banner:not(#cfy-b1) {
    background-color: var(--cfy-t-surface-2);
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) a.catalog-link:not(#cfy-b1) {
    color: var(--cfy-t-accent) !important;
    border-bottom-color: rgba(var(--cfy-t-accent-rgb), .6) !important;
}
body[class*="cfy-ht-"]:not(.cfy-no-theme) a.catalog-link:not(#cfy-b1):hover {
    color: var(--cfy-t-ink) !important;
    border-bottom-color: var(--cfy-t-accent) !important;
}

/* ── Canevas de page : fond et encre de DashLite (#f5f6fa / #101924 bleu marine, texte #b6c6e3)
   → surfaces du thème. Clair : surface-2 (les cartes restent en surface, plus claire) ;
   sombre : surface (la plus profonde, les cartes en surface-2 ressortent). ── */
body.light-mode[class*="cfy-ht-"]:not(.cfy-no-theme) {
    background-color: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink-2);
}
body.dark-mode[class*="cfy-ht-"]:not(.cfy-no-theme) {
    background-color: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink-2);
}

/* ═══════════════ Skin DashLite « theme-egyptian » (skins/theme-egyptian.css) : bleu #2263b3 / #307bd8 /
   #1b5091 posé partout, souvent en !important (texte, fonds, boutons, cases cochées, avatars, pagination,
   miniature active de la galerie, survol des liens…). Neutralisé globalement (renfort body[class*]).
   Les feuilles de thème plus spécifiques (header, modales, publisher, dash…) restent prioritaires. ═══════════════ */
body[class*="cfy-ht-"] a:hover { color: var(--cfy-t-accent); }
body[class*="cfy-ht-"] :is(.text-primary, .link-primary):not(.cfy-no-theme) { color: var(--cfy-t-accent) !important; }
body[class*="cfy-ht-"] :is(.link-primary:hover, a.text-primary:hover, a.text-primary:focus):not(.cfy-no-theme) { color: var(--cfy-t-ink) !important; }
body[class*="cfy-ht-"] .border-primary:not(.cfy-no-theme) { border-color: var(--cfy-t-accent) !important; }
body[class*="cfy-ht-"] :is(.bg-primary, .progress-bar, .dot-primary, .icon-circle, .noUi-connect, .alert-fill.alert-primary):not(.cfy-no-theme) {
    background-color: var(--cfy-t-fill) !important;
    color: var(--cfy-t-on-fill);
}
body[class*="cfy-ht-"] :is(.bg-primary-dim, .badge-dim.bg-primary, .badge-dim.bg-outline-primary, .alert-primary):not(.cfy-no-theme) {
    background-color: var(--cfy-t-accent-soft) !important;
    border-color: rgba(var(--cfy-t-accent-rgb), .35) !important;
}
body[class*="cfy-ht-"] .text-primary-dim:not(.cfy-no-theme) { color: var(--cfy-t-accent-soft) !important; }
body[class*="cfy-ht-"] .nav-tabs .nav-link::after,
body[class*="cfy-ht-"] .card-tools-nav li a::before { background: var(--cfy-t-fill); }
body[class*="cfy-ht-"] :is(.user-avatar, [class^="user-avatar"]:not([class*="-group"])) {
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
}
body[class*="cfy-ht-"] .icon-avatar { color: var(--cfy-t-accent); background-color: var(--cfy-t-accent-soft); }
body[class*="cfy-ht-"] :is(.form-control:focus, .form-control.focus, .custom-file-input:focus ~ .custom-file-label) {
    border-color: var(--cfy-t-accent);
    box-shadow: 0 0 0 3px rgba(var(--cfy-t-accent-rgb), .15);
}
body[class*="cfy-ht-"] :is(.custom-control-input:checked ~ .custom-control-label::before, .custom-control-input:not(:disabled):active ~ .custom-control-label::before) {
    background-color: var(--cfy-t-fill);
    border-color: var(--cfy-t-fill-lo);
}
body[class*="cfy-ht-"] .custom-control-input:focus ~ .custom-control-label::before { box-shadow: 0 0 0 3px rgba(var(--cfy-t-accent-rgb), .15); }
body[class*="cfy-ht-"] .page-item.active .page-link { background-color: var(--cfy-t-fill); border-color: var(--cfy-t-fill-lo); color: var(--cfy-t-on-fill); }
body[class*="cfy-ht-"] .nav-switch .nav-link.active { background: var(--cfy-t-fill); color: var(--cfy-t-on-fill); }
body[class*="cfy-ht-"] .dropdown-menu-s1 { border-top-color: var(--cfy-t-fill); }
body[class*="cfy-ht-"] .chat.is-me .chat-msg { background-color: var(--cfy-t-fill); color: var(--cfy-t-on-fill); }
/* Boutons primaires (les feuilles de thème ciblées restent prioritaires) */
body[class*="cfy-ht-"] .btn-primary:not(.cfy-no-theme) {
    --bs-btn-bg: var(--cfy-t-fill); --bs-btn-border-color: var(--cfy-t-fill-lo); --bs-btn-color: var(--cfy-t-on-fill);
    --bs-btn-hover-bg: var(--cfy-t-fill-hi); --bs-btn-hover-border-color: var(--cfy-t-fill); --bs-btn-hover-color: var(--cfy-t-on-fill);
    --bs-btn-active-bg: var(--cfy-t-fill-lo); --bs-btn-active-border-color: var(--cfy-t-fill-lo); --bs-btn-focus-shadow-rgb: var(--cfy-t-fill-rgb);
    background-color: var(--cfy-t-fill);
    border-color: var(--cfy-t-fill-lo);
    color: var(--cfy-t-on-fill);
}
body[class*="cfy-ht-"] :is(.btn-primary:hover, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active):not(.cfy-no-theme) {
    background-color: var(--cfy-t-fill-hi);
    border-color: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
    box-shadow: 0 0 0 .2rem rgba(var(--cfy-t-fill-rgb), .2);
}
body[class*="cfy-ht-"] :is(.btn-outline-primary, .btn-dim.btn-outline-primary, .btn-primary.btn-dim):not(.cfy-no-theme) {
    color: var(--cfy-t-accent);
    border-color: var(--cfy-t-accent);
    background-color: transparent;
}
body[class*="cfy-ht-"] :is(.btn-outline-primary, .btn-dim.btn-outline-primary, .btn-primary.btn-dim):not(:disabled):not(.disabled):is(:hover, :active) {
    background-color: var(--cfy-t-fill);
    border-color: var(--cfy-t-fill-lo);
    color: var(--cfy-t-on-fill);
}
/* Datepicker */
body[class*="cfy-ht-"] .datepicker table tr td.today { background-color: var(--cfy-t-accent-soft); color: var(--cfy-t-accent); }
body[class*="cfy-ht-"] .datepicker table tr td:is(.active, .active:hover, .active.active) { background-color: var(--cfy-t-fill); color: var(--cfy-t-on-fill); }
/* Galerie de la fiche annonce : miniature active (#2263b3 !important) et repos (#e5e9f2) */
body[class*="cfy-ht-"] .product-gallery .slider-nav .slider-item .thumb:not(.cfy-no-theme) { border-color: var(--cfy-t-line-2) !important; box-shadow: none !important; }
body[class*="cfy-ht-"] .product-gallery .slider-nav .slider-item.slick-current .thumb:not(.cfy-no-theme) { border-color: var(--cfy-t-accent) !important; }

/* ═══════════════ Neutres DashLite bleutés dans le contenu (#526484 texte, #364a63 titres, #8094ae atténué)
   → encres du thème. Portée .nk-content, spécificité basse (:where) pour ne pas écraser les
   composants déjà thématisés. ═══════════════ */
body[class*="cfy-ht-"] :where(.nk-content) :where(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .title, .lead-text, .nk-block-title) {
    color: var(--cfy-t-ink);
}
body[class*="cfy-ht-"] :where(.nk-content) :is(.text-muted, .text-soft, .sub-text, .text-secondary):not(.cfy-no-theme) {
    color: var(--cfy-t-muted) !important;
}
body[class*="cfy-ht-"] :where(.nk-content) :where(.custom-control-label, .form-label, .overline-title, .product-info small) {
    color: var(--cfy-t-ink-2);
}
/* Variables Bootstrap utilisées en style inline (color: var(--bs-body-color)) → encres du thème */
body[class*="cfy-ht-"] {
    --bs-body-color: var(--cfy-t-ink-2);
    --bs-heading-color: var(--cfy-t-ink);
    --bs-secondary-color: var(--cfy-t-muted);
    --bs-emphasis-color: var(--cfy-t-ink);
}
body[class*="cfy-ht-"] :where(.nk-content) .list li span:not([style*="color"]) { color: var(--cfy-t-ink-2); }

/* ── Cartes DashLite du contenu (#fff clair / #141c26 bleu nuit sombre) → surfaces du thème.
   Spécificité basse (:where) : les cartes déjà thématisées plus précisément restent prioritaires ;
   les vignettes (.product-card) ont leur propre feuille. ── */
body.light-mode[class*="cfy-ht-"] :where(.nk-content) :where(.card, .card-inner):not(.product-card) {
    background-color: var(--cfy-t-surface);
    border-color: var(--cfy-t-line);
}
/* Sombre : les règles d'origine (.dark-mode .nk-content .card-inner… #141c26 !important, 0,4,0) imposent !important */
body.dark-mode[class*="cfy-ht-"] .nk-content :is(.card, .card-inner):not(.product-card):not(.publisher-header-card):not(.publisher-header-gradient):not(.publisher-entry-gradient) {
    background-color: var(--cfy-t-surface-2) !important;
    border-color: var(--cfy-t-line);
}

/* ═══ commercify_preloader_fx.css ═══ */
/* Voile flou « clic reçu » (2026-10-15) : plein écran, au-dessus des modales, sous la barre de progression.
   Affiché tant que html.cfy-preload-blur est posé ; jamais de clic bloqué. */
.cfy-preload-veil {
    position: fixed;
    inset: 0;
    z-index: 9999998;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    background-color: rgba(0, 0, 0, .06);
    background-color: color-mix(in srgb, var(--cfy-t-fill, #DAA520) 9%, transparent);
    box-shadow: inset 0 0 140px color-mix(in srgb, var(--cfy-t-fill, #DAA520) 28%, transparent);
    -webkit-backdrop-filter: blur(3px) saturate(.9);
    backdrop-filter: blur(3px) saturate(.9);
    transition: opacity 180ms ease-out, visibility 0s linear 180ms;
}
html.cfy-preload-blur .cfy-preload-veil {
    opacity: 1;
    visibility: visible;
    transition: opacity 140ms ease-out, visibility 0s;
}
body.dark-mode .cfy-preload-veil {
    background-color: rgba(0, 0, 0, .22);
    background-color: color-mix(in srgb, #000 18%, color-mix(in srgb, var(--cfy-t-fill, #DAA520) 8%, transparent));
}
/* Mode CPU : pas de flou (coût GPU), le voile teinté reste visible */
body.performance-mode .cfy-preload-veil {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

/* Logo au centre du voile (2026-10-20, « fondu sans bord ») : logo officiel concis sur la plaque du header, nom de la
   marque et filet de progression, posés dans une nappe de lumière qui se dissout dans le voile ; aucun cadre.
   Couche sœur du voile, et non enfant : un flou d'arrière-plan placé dans un parent lui-même flouté ne verrait pas
   la page. Affichée 150 ms après le voile (pas de flash). Trois blocs cloisonnés : base commune (mise en page,
   couleurs), mode GPU (nappe floutée et masquée, ombre teintée), mode CPU (nappe en dégradé simple, aucun filtre). */

/* --- Base commune --- */
.cfy-preload-logo-layer {
    position: fixed;
    inset: 0;
    z-index: 9999998;
    display: none;
    place-items: center;
    pointer-events: none;
    visibility: hidden;
}
body.cfy-preload-logo .cfy-preload-logo-layer {
    display: grid;
}
html.cfy-preload-blur .cfy-preload-logo-layer {
    visibility: visible;
}
.cfy-preload-logo-card {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 70px 110px;
    opacity: 0;
    transition: opacity 120ms ease-out;
}
html.cfy-preload-blur .cfy-preload-logo-card {
    opacity: 1;
    transition: opacity 220ms ease-out 150ms;
}
.cfy-preload-logo-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
}
.cfy-preload-logo-plate {
    width: 96px;
    height: 96px;
    background: var(--cfy-hr-hd-bg, #0b0b0c);
}
.cfy-preload-logo-plate svg {
    display: block;
    width: 100%;
    height: 100%;
}
.cfy-preload-logo-c {
    fill: var(--cfy-hr-ink, #f4f5f6);
}
.cfy-preload-logo-k {
    fill: var(--cfy-hr-accent, #f39200);
}
.cfy-preload-logo-name {
    font-family: var(--cfy-font-sans, Inter, system-ui, sans-serif);
    font-size: var(--cfy-fs-h4, 20px);
    font-weight: var(--cfy-fw-semibold, 600);
    line-height: 1.2;
    letter-spacing: .01em;
    color: var(--cfy-t-ink, #1d140d);
    direction: ltr;
}
.cfy-preload-logo-rule {
    display: block;
    align-self: stretch;
    height: 4px;
    background-color: color-mix(in srgb, var(--cfy-t-fill, #DAA520) 22%, transparent);
}
.cfy-preload-logo-rule > i {
    display: block;
    height: 100%;
    width: calc(var(--cfy-pl-p, 0) * 100%);
    background-color: var(--cfy-t-fill, #DAA520);
    background-image: linear-gradient(90deg, var(--cfy-t-fill-lo, #DAA520), var(--cfy-t-fill, #DAA520) 50%, var(--cfy-t-fill-hi, #DAA520));
}
html[dir="rtl"] .cfy-preload-logo-rule > i {
    margin-left: auto;
}
@media (max-width: 767.98px) {
    .cfy-preload-logo-card {
        gap: 10px;
        padding: 50px 70px;
    }
    .cfy-preload-logo-plate {
        width: 64px;
        height: 64px;
    }
    .cfy-preload-logo-name {
        font-size: var(--cfy-fs-md, 16px);
    }
}

/* --- Mode GPU : nappe floutée, masquée en ellipse, teintée par la surface du thème ; ombre teintée de la plaque --- */
body:not(.performance-mode) .cfy-preload-logo-card::before {
    background: radial-gradient(closest-side, color-mix(in srgb, var(--cfy-t-surface, #fff) 70%, transparent), transparent);
    -webkit-backdrop-filter: blur(14px) saturate(1.3);
    backdrop-filter: blur(14px) saturate(1.3);
    -webkit-mask-image: radial-gradient(closest-side, #000 55%, transparent);
    mask-image: radial-gradient(closest-side, #000 55%, transparent);
}
body:not(.performance-mode) .cfy-preload-logo-plate {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 16px 36px -12px rgba(var(--cfy-t-fill-rgb, 218, 165, 32), .55);
}

/* --- Mode CPU : nappe en dégradé simple, peinte une fois ; aucun filtre, aucun masque, aucune ombre.
   Cœur opaque : sans flou, le texte de la page resterait net derrière le nom et se mêlerait à lui. --- */
body.performance-mode .cfy-preload-logo-card::before {
    background: radial-gradient(closest-side, var(--cfy-t-surface, #fff) 62%, transparent);
}

@media (prefers-reduced-motion: reduce) {
    .cfy-preload-veil,
    html.cfy-preload-blur .cfy-preload-veil {
        transition: none;
    }
    .cfy-preload-logo-card,
    html.cfy-preload-blur .cfy-preload-logo-card {
        transition: opacity 120ms linear 150ms;
    }
}

/* Remplissage des fonds du header pendant le chargement (2026-10-15) : couches de fond ajoutées sous le contenu,
   jamais par-dessus. Niveau 1 = bande du haut, niveau 2 = fond du header, plaque du logo (dans sa découpe).
   Deux segments par niveau (avant la plaque, après la plaque quand la bannière du header est absente) ;
   positions et largeurs posées sur <html> à chaque image par le script du voile. Couleurs : feuille générée. */
html.cfy-preloading body:is(.cfy-pl-th-medium, .cfy-pl-th-large) .catalog-header.cfy-hr .header-wrap-codepen::before {
    background-image: linear-gradient(var(--cfy-plf-l1), var(--cfy-plf-l1)), linear-gradient(var(--cfy-plf-l1), var(--cfy-plf-l1)) !important;
    background-repeat: no-repeat !important;
    background-size: var(--cfy-plf-aw, 0px) 100%, var(--cfy-plf-bw, 0px) 100% !important;
    background-position: var(--cfy-plf-ax, 0px) 0, var(--cfy-plf-bx, 0px) 0 !important;
}
html.cfy-preloading body.cfy-pl-th-large .catalog-header.cfy-hr .header-wrap-codepen {
    background-image: linear-gradient(var(--cfy-plf-l2), var(--cfy-plf-l2)), linear-gradient(var(--cfy-plf-l2), var(--cfy-plf-l2)) !important;
    background-repeat: no-repeat !important;
    background-size: var(--cfy-plf-aw, 0px) 100%, var(--cfy-plf-bw, 0px) 100% !important;
    background-position: var(--cfy-plf-ax, 0px) 0, var(--cfy-plf-bx, 0px) 0 !important;
}
html.cfy-preloading body.cfy-pl-logo:is(.cfy-pl-th-medium, .cfy-pl-th-large) .catalog-header.cfy-hr a.logo-wrapper::before {
    background-image: linear-gradient(var(--cfy-plf-logo), var(--cfy-plf-logo)) !important;
    background-repeat: no-repeat !important;
    background-size: var(--cfy-plf-lw, 0px) 100% !important;
    background-position: var(--cfy-plf-lx, 0px) 0 !important;
}

/* ═══ commercify_preloader_colors.css ═══ */
/* Fichier généré, ne pas éditer à la main. */

body.cfy-ht-amethyst {
    --cfy-plf-l1: #7f00cc;
    --cfy-plf-l2: #e573ff;
    --cfy-plf-logo: #9e36f3;
}
body.dark-mode.cfy-ht-amethyst {
    --cfy-plf-l1: #4d0080;
    --cfy-plf-l2: #ebdeff;
    --cfy-plf-logo: #9d37f4;
}
body.cfy-ht-aubergine-mint {
    --cfy-plf-l1: #007136;
    --cfy-plf-l2: #00cc67;
    --cfy-plf-logo: #008541;
}
body.dark-mode.cfy-ht-aubergine-mint {
    --cfy-plf-l1: #007136;
    --cfy-plf-l2: #00cc67;
    --cfy-plf-logo: #008541;
}
body.cfy-ht-blue {
    --cfy-plf-l1: #4130eb;
    --cfy-plf-l2: #7aa0ff;
    --cfy-plf-logo: #335fff;
}
body.dark-mode.cfy-ht-blue {
    --cfy-plf-l1: #0e00ac;
    --cfy-plf-l2: #d9e5ff;
    --cfy-plf-logo: #335fff;
}
body.cfy-ht-bordeaux-champagne {
    --cfy-plf-l1: #6d5400;
    --cfy-plf-l2: #ca9e00;
    --cfy-plf-logo: #907000;
}
body.dark-mode.cfy-ht-bordeaux-champagne {
    --cfy-plf-l1: #6d5400;
    --cfy-plf-l2: #dc9e00;
    --cfy-plf-logo: #907000;
}
body.cfy-ht-brick-cream {
    --cfy-plf-l1: #8d6800;
    --cfy-plf-l2: #f7b900;
    --cfy-plf-logo: #946d00;
}
body.dark-mode.cfy-ht-brick-cream {
    --cfy-plf-l1: #8c5e00;
    --cfy-plf-l2: #f7b900;
    --cfy-plf-logo: #946d00;
}
body.cfy-ht-bronze-lilac {
    --cfy-plf-l1: #7b00d1;
    --cfy-plf-l2: #9f41fe;
    --cfy-plf-logo: #9939f6;
}
body.dark-mode.cfy-ht-bronze-lilac {
    --cfy-plf-l1: #7c00d0;
    --cfy-plf-l2: #da5cff;
    --cfy-plf-logo: #9a39f6;
}
body.cfy-ht-carbon-scarlet {
    --cfy-plf-l1: #78000e;
    --cfy-plf-l2: #ffdbd3;
    --cfy-plf-logo: #e50025;
}
body.dark-mode.cfy-ht-carbon-scarlet {
    --cfy-plf-l1: #65000a;
    --cfy-plf-l2: #ffdbd3;
    --cfy-plf-logo: #e50024;
}
body.cfy-ht-cobalt-sun {
    --cfy-plf-l1: #6f5c00;
    --cfy-plf-l2: #c9a800;
    --cfy-plf-logo: #8a7300;
}
body.dark-mode.cfy-ht-cobalt-sun {
    --cfy-plf-l1: #6f5c00;
    --cfy-plf-l2: #c9a800;
    --cfy-plf-logo: #8a7300;
}
body.cfy-ht-cocoa-turquoise {
    --cfy-plf-l1: #006058;
    --cfy-plf-l2: #00b7a8;
    --cfy-plf-logo: #008076;
}
body.dark-mode.cfy-ht-cocoa-turquoise {
    --cfy-plf-l1: #006058;
    --cfy-plf-l2: #00b7a9;
    --cfy-plf-logo: #008076;
}
body.cfy-ht-crimson-snow {
    --cfy-plf-l1: #8f7000;
    --cfy-plf-l2: #f6c400;
    --cfy-plf-logo: #8f7000;
}
body.dark-mode.cfy-ht-crimson-snow {
    --cfy-plf-l1: #7a6000;
    --cfy-plf-l2: #f6c400;
    --cfy-plf-logo: #8f7000;
}
body.cfy-ht-emerald {
    --cfy-plf-l1: #006517;
    --cfy-plf-l2: #00bf34;
    --cfy-plf-logo: #008622;
}
body.dark-mode.cfy-ht-emerald {
    --cfy-plf-l1: #005211;
    --cfy-plf-l2: #00bf35;
    --cfy-plf-logo: #008622;
}
body.cfy-ht-fir-rose {
    --cfy-plf-l1: #aa0061;
    --cfy-plf-l2: #ff2097;
    --cfy-plf-logo: #db007e;
}
body.dark-mode.cfy-ht-fir-rose {
    --cfy-plf-l1: #8d0050;
    --cfy-plf-l2: #fe42d0;
    --cfy-plf-logo: #da007f;
}
body.cfy-ht-forest-lemon {
    --cfy-plf-l1: #6d6e00;
    --cfy-plf-l2: #c4c700;
    --cfy-plf-logo: #827600;
}
body.dark-mode.cfy-ht-forest-lemon {
    --cfy-plf-l1: #676800;
    --cfy-plf-l2: #c4c700;
    --cfy-plf-logo: #827600;
}
body.cfy-ht-gold {
    --cfy-plf-l1: #6d5500;
    --cfy-plf-l2: #c99f00;
    --cfy-plf-logo: #8f7000;
}
body.dark-mode.cfy-ht-gold {
    --cfy-plf-l1: #664f00;
    --cfy-plf-l2: #c99f00;
    --cfy-plf-logo: #8f7000;
}
body.cfy-ht-graphite {
    --cfy-plf-l1: #8f7000;
    --cfy-plf-l2: #f6c400;
    --cfy-plf-logo: #8f7000;
}
body.dark-mode.cfy-ht-graphite {
    --cfy-plf-l1: #3348fb;
    --cfy-plf-l2: #99bfff;
    --cfy-plf-logo: #0065fc;
}
body.cfy-ht-indigo-lime {
    --cfy-plf-l1: #116b00;
    --cfy-plf-l2: #2bcd00;
    --cfy-plf-logo: #188600;
}
body.dark-mode.cfy-ht-indigo-lime {
    --cfy-plf-l1: #116b00;
    --cfy-plf-l2: #2bcd00;
    --cfy-plf-logo: #188600;
}
body.cfy-ht-khaki-tangerine {
    --cfy-plf-l1: #804800;
    --cfy-plf-l2: #ff7722;
    --cfy-plf-logo: #a86100;
}
body.dark-mode.cfy-ht-khaki-tangerine {
    --cfy-plf-l1: #693b00;
    --cfy-plf-l2: #f68000;
    --cfy-plf-logo: #a76100;
}
body.cfy-ht-lagoon {
    --cfy-plf-l1: #005e68;
    --cfy-plf-l2: #00bacc;
    --cfy-plf-logo: #007d8a;
}
body.dark-mode.cfy-ht-lagoon {
    --cfy-plf-l1: #004c54;
    --cfy-plf-l2: #00b3c5;
    --cfy-plf-logo: #007d8a;
}
body.cfy-ht-magenta-mimosa {
    --cfy-plf-l1: #746300;
    --cfy-plf-l2: #b8c200;
    --cfy-plf-logo: #877400;
}
body.dark-mode.cfy-ht-magenta-mimosa {
    --cfy-plf-l1: #746300;
    --cfy-plf-l2: #d4b700;
    --cfy-plf-logo: #877400;
}
body.cfy-ht-midnight-cyan {
    --cfy-plf-l1: #00646f;
    --cfy-plf-l2: #00c0d4;
    --cfy-plf-logo: #007d8b;
}
body.dark-mode.cfy-ht-midnight-cyan {
    --cfy-plf-l1: #00646f;
    --cfy-plf-l2: #00c0d4;
    --cfy-plf-logo: #007d8b;
}
body.cfy-ht-moss-sky {
    --cfy-plf-l1: #005b99;
    --cfy-plf-l2: #10afff;
    --cfy-plf-logo: #0078c8;
}
body.dark-mode.cfy-ht-moss-sky {
    --cfy-plf-l1: #005b99;
    --cfy-plf-l2: #3ab5ff;
    --cfy-plf-logo: #0078c8;
}
body.cfy-ht-navy-coral {
    --cfy-plf-l1: #b20002;
    --cfy-plf-l2: #ff6554;
    --cfy-plf-logo: #e60004;
}
body.dark-mode.cfy-ht-navy-coral {
    --cfy-plf-l1: #780003;
    --cfy-plf-l2: #ffdbd5;
    --cfy-plf-logo: #e5000d;
}
body.cfy-ht-olive-fuchsia {
    --cfy-plf-l1: #a50075;
    --cfy-plf-l2: #ff5af6;
    --cfy-plf-logo: #d50098;
}
body.dark-mode.cfy-ht-olive-fuchsia {
    --cfy-plf-l1: #6f004d;
    --cfy-plf-l2: #ff5bf5;
    --cfy-plf-logo: #d50097;
}
body.cfy-ht-orange {
    --cfy-plf-l1: #a62b00;
    --cfy-plf-l2: #fc7b00;
    --cfy-plf-logo: #d63a00;
}
body.dark-mode.cfy-ht-orange {
    --cfy-plf-l1: #5a2800;
    --cfy-plf-l2: #ffddc9;
    --cfy-plf-logo: #d63a00;
}
body.cfy-ht-petrol-peach {
    --cfy-plf-l1: #aa2100;
    --cfy-plf-l2: #ff7809;
    --cfy-plf-logo: #dc2e00;
}
body.dark-mode.cfy-ht-petrol-peach {
    --cfy-plf-l1: #981c00;
    --cfy-plf-l2: #ff780a;
    --cfy-plf-logo: #dc2e00;
}
body.cfy-ht-plum-apricot {
    --cfy-plf-l1: #814800;
    --cfy-plf-l2: #f58e00;
    --cfy-plf-logo: #a96000;
}
body.dark-mode.cfy-ht-plum-apricot {
    --cfy-plf-l1: #814800;
    --cfy-plf-l2: #f68d00;
    --cfy-plf-logo: #a95f00;
}
body.cfy-ht-raspberry-ice {
    --cfy-plf-l1: #00707d;
    --cfy-plf-l2: #00cee5;
    --cfy-plf-logo: #007d8b;
}
body.dark-mode.cfy-ht-raspberry-ice {
    --cfy-plf-l1: #006a76;
    --cfy-plf-l2: #00cee5;
    --cfy-plf-logo: #007d8b;
}
body.cfy-ht-royal-vanilla {
    --cfy-plf-l1: #806600;
    --cfy-plf-l2: #f9b800;
    --cfy-plf-logo: #8e7100;
}
body.dark-mode.cfy-ht-royal-vanilla {
    --cfy-plf-l1: #796000;
    --cfy-plf-l2: #f9b800;
    --cfy-plf-logo: #8e7100;
}
body.cfy-ht-ruby {
    --cfy-plf-l1: #af0039;
    --cfy-plf-l2: #ff7b8a;
    --cfy-plf-logo: #e2004c;
}
body.dark-mode.cfy-ht-ruby {
    --cfy-plf-l1: #64001d;
    --cfy-plf-l2: #ffdadc;
    --cfy-plf-logo: #e2004d;
}
body.cfy-ht-slate-neon {
    --cfy-plf-l1: #00720d;
    --cfy-plf-l2: #00cf20;
    --cfy-plf-logo: #008711;
}
body.dark-mode.cfy-ht-slate-neon {
    --cfy-plf-l1: #00720d;
    --cfy-plf-l2: #00cf20;
    --cfy-plf-logo: #008711;
}
body.cfy-ht-steel-orchid {
    --cfy-plf-l1: #9f008b;
    --cfy-plf-l2: #ff4ee2;
    --cfy-plf-logo: #cd00b4;
}
body.dark-mode.cfy-ht-steel-orchid {
    --cfy-plf-l1: #730065;
    --cfy-plf-l2: #ff4ee3;
    --cfy-plf-logo: #cc00b4;
}
body.cfy-ht-terracotta-azure {
    --cfy-plf-l1: #005b98;
    --cfy-plf-l2: #00a9f6;
    --cfy-plf-logo: #0078c7;
}
body.dark-mode.cfy-ht-terracotta-azure {
    --cfy-plf-l1: #00568f;
    --cfy-plf-l2: #00a9f6;
    --cfy-plf-logo: #0073bd;
}
body.cfy-ht-wine-sage {
    --cfy-plf-l1: #026500;
    --cfy-plf-l2: #09c000;
    --cfy-plf-logo: #048700;
}
body.dark-mode.cfy-ht-wine-sage {
    --cfy-plf-l1: #026500;
    --cfy-plf-l2: #09c000;
    --cfy-plf-logo: #048700;
}

/* ═══ commercify_theme_platform.css ═══ */
/* ═══════════════════════════════════════════════════════════════════════════════
   COMMERCIFY — THÉMATISATION DES PAGES PLATFORM/* (terms, privacy, legal, doc, faq, plans, map, about)
   Importé par commercify_header_refresh.css. CSS uniquement.
   Surcharge page_platform_{legal,doc,faq,plans,map}_typology.css + page_platform_typology_light_mode.css
   (or #ffcc00 / #b8860b, bleu #0d6efd, sombre DashLite #141c26 / #101924 en dur) et les styles inline
   des sections (h1/h2 color:#0d6efd, <style> de doc qui redéfinit --cfy-orange / --cfy-blue…).
   Portée : wrappers .page-platform-*-typology (+ renfort :not(#cfy-b1) pour passer devant
   « body.dark-mode .page-x … !important »). Sémantique conservée : text-success / text-danger
   (autorisé / interdit des CGU), icônes YouTube, choroplèthe de la carte. 2026-09-25.
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Variables propres aux pages (redéfinies depuis les tokens) ── */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) {
    --cfy-primary: var(--cfy-t-accent) !important;
    --cfy-primary-hover: var(--cfy-t-ink) !important;
    --cfy-primary-light: var(--cfy-t-fill-hi) !important;
    --cfy-primary-dark: var(--cfy-t-fill-lo) !important;
    --cfy-bg-primary: transparent !important;
    --cfy-bg-secondary: var(--cfy-t-surface) !important;
    --cfy-bg-tertiary: var(--cfy-t-surface-3) !important;
    --cfy-text-primary: var(--cfy-t-ink) !important;
    --cfy-text-secondary: var(--cfy-t-ink-2) !important;
    --cfy-orange: var(--cfy-t-fill) !important;
    --cfy-orange-light: var(--cfy-t-fill-hi) !important;
    --cfy-orange-dark: var(--cfy-t-fill-lo) !important;
    --cfy-blue: var(--cfy-t-accent) !important;
    --cfy-blue-dark: var(--cfy-t-surface-3) !important;
    --cfy-black: var(--cfy-t-surface) !important;
    --cfy-dark: var(--cfy-t-surface-2) !important;
    --cfy-darker: var(--cfy-t-surface) !important;
    --cfy-shadow-hover: 0 20px 60px rgba(var(--cfy-t-fill-rgb), .2) !important;
    --cfy-radius: 0 !important;
    --cfy-radius-lg: 0 !important;
    background: transparent !important;
    color: var(--cfy-t-ink) !important;
}
/* Fonds de page posés par les typologies (#0a0a0a / #f0f2f5 / #f5f6f8) → canevas du thème */
html:is(.cfy-pg-platform-terms-typology,.cfy-pg-platform-privacy-typology,.cfy-pg-platform-legal-typology,.cfy-pg-platform-doc-typology,.cfy-pg-platform-faq-typology,.cfy-pg-platform-plans-typology,.cfy-pg-platform-map-typology,.cfy-pg-platform-about-typology) body[class*="cfy-ht-"] :is(.nk-content, .nk-content-inner, .nk-content-body):not(#cfy-b1),
html:is(.cfy-pg-platform-terms-typology,.cfy-pg-platform-privacy-typology,.cfy-pg-platform-legal-typology,.cfy-pg-platform-doc-typology,.cfy-pg-platform-faq-typology,.cfy-pg-platform-plans-typology,.cfy-pg-platform-map-typology,.cfy-pg-platform-about-typology) body[class*="cfy-ht-"] .nk-content .nk-content-body:not(#cfy-b1),
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.cfy-main-container, .container-fluid) {
    background: transparent !important;
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-main-container::before { background: radial-gradient(circle at 20% 30%, rgba(var(--cfy-t-fill-rgb), .08) 0%, transparent 55%) !important; }

/* ── Cartes, sections, panneaux ── */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.card, .card-body, .cfy-glass-card, .cfy-card, .cfy-section, .cfy-hero, .cfy-feature, .cfy-badges-section, .accordion-item, .accordion-body, .list-group-item, [style*="var(--cfy-bg-tertiary)"]) {
    background: var(--cfy-t-surface) !important;
    border-color: var(--cfy-t-line) !important;
    color: var(--cfy-t-ink) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.card, .cfy-glass-card, .cfy-card, .cfy-section, .cfy-feature) {
    box-shadow: var(--cfy-t-shadow) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.cfy-glass-card, .cfy-card, .cfy-feature):hover {
    border-color: rgba(var(--cfy-t-accent-rgb), .45) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-glass-card::before { background: var(--cfy-t-fill) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.cfy-glass-card, .cfy-card)[style*="gradient"],
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .card.bg-primary.bg-opacity-10 {
    background: var(--cfy-t-surface-2) !important;
    border-color: var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-section[style*="border-top"] { border-top-color: var(--cfy-t-fill) !important; }
/* En-têtes et pieds de carte, bandes grisées, en-têtes d'accordéon et de tableau */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.card-header, .card-header.bg-dark, .card-header.bg-primary, .card-header.bg-warning, .card-footer, .bg-body-secondary, .table thead th),
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .accordion-button {
    background: var(--cfy-t-surface-3) !important;
    border-color: var(--cfy-t-line) !important;
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .card-header :is(h1, h2, h3, h4, h5, h6, .card-title) { color: inherit !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .accordion-button:not(.collapsed) {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-accent) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-t-fill) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .accordion-button:focus { box-shadow: 0 0 0 2px rgba(var(--cfy-t-accent-rgb), .25) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.table, .table tbody td) {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-t-ink) !important;
    border-color: var(--cfy-t-line) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.alert, .alert-danger, .alert-info) {
    background: var(--cfy-t-surface-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-left: 3px solid var(--cfy-t-fill) !important;
    color: var(--cfy-t-ink) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.alert-heading, .alert h4, .alert .ni-ni-alert-fill, .alert .fa-hard-hat) { color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .alert hr { border-color: var(--cfy-t-line) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) hr { border-color: var(--cfy-t-line) !important; opacity: 1; }

/* ── Textes ── */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(h1, h2, h3, h4, h5, h6, .h4, .cfy-hero-title, .cfy-section-title, .cfy-feature-title, .card-title, .form-label, .text-auto-contrast, dl.row dt, .text-end strong, .list-unstyled li, .list-group-item strong, .cfy-glass-card .text-white, .nk-block-content-head h2) {
    color: var(--cfy-t-ink) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(section p, .alert p, .alert ul, .text-muted, .lead, .cfy-hero-subtitle, .cfy-section-subtitle, .cfy-feature-text, .cfy-card-body p, .card-body .cfy-text-primary, .text-end p, dl.row dd, .accordion-body p, .text-center.mb-2) {
    color: var(--cfy-t-muted) !important;
}
/* Titres / mots mis en couleur (inline #0d6efd, or, bleu, orange) → accent */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is([style*="color: #0d6efd" i], [style*="color:#0d6efd" i], h2[style*="212529"], .text-center.mb-2 span[style*="0d6efd"], .bg-body-secondary strong, dl.row dt strong, .text-primary, .cfy-text-orange, .cfy-text-blue, .cfy-card-body h2, .card-body h3, .card-body .bi, .text-warning, .list-group-item .text-warning, .list-unstyled .bi-arrow-right-short) {
    color: var(--cfy-t-accent) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-text-gradient {
    background: linear-gradient(135deg, var(--cfy-t-accent) 0%, var(--cfy-t-fill-lo) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) [style*="color:#fff"]:not(.btn):not([class*="bg-"]),
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) [style*="color: #fff"]:not(.btn):not([class*="bg-"]) {
    color: var(--cfy-t-ink) !important;
}
/* Liens */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) a:not(.btn):not(.cfy-btn):not(.cfy-hashtag):not(.cfy-nav-link) { color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) a:not(.btn):not(.cfy-btn):not(.cfy-hashtag):not(.cfy-nav-link):hover { color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .list-unstyled a:not(.btn) { color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .list-unstyled a:not(.btn):hover { color: var(--cfy-t-accent) !important; }

/* ── Pastilles, badges, icônes ── */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.cfy-hashtag, .cfy-badge, .cfy-icon-wrapper, .cfy-feature-icon, .badge.bg-primary, .badge.bg-warning) {
    background: var(--cfy-t-accent-soft) !important;
    color: var(--cfy-t-accent) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), .3) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-hashtag:hover { background: rgba(var(--cfy-t-accent-rgb), .22) !important; box-shadow: none !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-card[style*="gradient"] .cfy-feature-icon { color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-quote-card {
    background: var(--cfy-t-accent-soft) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), .3) !important;
    color: var(--cfy-t-ink) !important;
}

/* ── Boutons ── */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.btn-primary, .cfy-btn, .cfy-btn-primary, .card-footer .btn-dark, .card-body .btn:not(.btn-outline-primary):not(.btn-link)) {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.btn-primary, .cfy-btn, .cfy-btn-primary, .card-footer .btn-dark, .card-body .btn:not(.btn-outline-primary):not(.btn-link)):hover {
    background: var(--cfy-t-fill-hi) !important;
    color: var(--cfy-t-on-fill) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.btn-outline-primary, .cfy-btn-outline) {
    background: transparent !important;
    border: 1px solid var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.btn-outline-primary, .cfy-btn-outline):hover {
    background: var(--cfy-t-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.cfy-btn, .btn, .form-control):focus { box-shadow: 0 0 0 2px rgba(var(--cfy-t-accent-rgb), .25) !important; }

/* ── Onglets de la page plans ── */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-nav { border-bottom-color: var(--cfy-t-line) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-nav-link { color: var(--cfy-t-muted) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-nav-link:hover { color: var(--cfy-t-accent) !important; background: var(--cfy-t-surface-3) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-nav-link.active {
    color: var(--cfy-t-accent) !important;
    background: var(--cfy-t-surface) !important;
    border-bottom-color: var(--cfy-t-fill) !important;
}

/* ── Champs ── */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.form-control, .form-select) {
    background: var(--cfy-t-surface-2) !important;
    border-color: var(--cfy-t-line-2) !important;
    color: var(--cfy-t-ink) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .form-control::placeholder { color: var(--cfy-t-faint) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .form-control:focus { border-color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .form-check-input { background-color: var(--cfy-t-surface-2) !important; border-color: var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .form-check-input:checked { background-color: var(--cfy-t-fill) !important; border-color: var(--cfy-t-fill-lo) !important; }

/* ── Restes relevés en QA (doc, plans) ── */
/* doc : encadré sombre « Arnaques » (liseré rouge inline = alerte, conservé) et bouton vidéo .btn-dark */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .bg-dark {
    background: var(--cfy-t-surface-3) !important;
    color: var(--cfy-t-ink) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .bg-dark :is(p, span, li, small) { color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.btn-dark, .cfy-btn-light) {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
    border-radius: 0 !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.btn-dark, .cfy-btn-light):hover { background: var(--cfy-t-fill-hi) !important; color: var(--cfy-t-on-fill) !important; }
/* plans : bandeau d'en-tête (dégradé or) */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) .cfy-page-banner {
    background: linear-gradient(180deg, rgba(var(--cfy-t-fill-rgb), .10) 0%, var(--cfy-t-surface) 70%) !important;
    border-color: var(--cfy-t-line) !important;
}
/* doc : textes « adaptatifs » -- le <style> de la section les force en #1a1a1a !important sous
   @media (prefers-color-scheme: light) (préférence de l'OS, pas le mode DashLite) → sombre sur sombre. */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(.cfy-text-primary, .cfy-text-adaptive, .text-light-adaptive) {
    color: var(--cfy-t-ink-2) !important;
    text-shadow: none !important;
}
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1) :is(h1, h2, h3, h4, h5, h6, strong).cfy-text-primary { color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-doc-typology, .page-platform-plans-typology):not(#cfy-b1) :is(.cfy-text-orange, .cfy-text-blue, .cfy-text-primary) { text-shadow: none !important; }

/* ═══ commercify_page_plans.css ═══ */
/* Page des plans et tarifs : bandeau d'ouverture, cartes d'offres, grilles de prix, appels à l'action.
   Couleurs par tokens de thème uniquement ; angles droits ; tailles de la charte typographique. */
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl { color: var(--cfy-t-ink-2) !important; font-size: var(--cfy-fs-base) !important; line-height: var(--cfy-lh-body) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl * { border-radius: 0 !important; box-sizing: border-box !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) :where(.cfy-pl) :where(h1, h2, h3, p, ul) { margin: 0 !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) :where(.cfy-pl) :where(ul) { padding: 0 !important; list-style: none !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl svg { flex: none !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-wrap { max-width: 1344px !important; margin: 0 auto !important; padding-left: var(--cfy-sp-5) !important; padding-right: var(--cfy-sp-5) !important; }

/* Boutons */
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: var(--cfy-sp-2) !important; height: var(--cfy-ctl-md) !important; padding: 0 var(--cfy-sp-4) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: 1 !important; text-decoration: none !important; white-space: nowrap !important; cursor: pointer !important; background: var(--cfy-t-surface) !important; color: var(--cfy-t-ink-2) !important; border: 1px solid var(--cfy-t-line-2) !important; box-shadow: none !important; transition: border-color .15s, color .15s !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-btn:hover { border-color: var(--cfy-t-accent) !important; color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-btn:focus-visible { outline: 2px solid rgba(var(--cfy-t-accent-rgb), .55) !important; outline-offset: 2px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-btn--lg { height: var(--cfy-ctl-lg) !important; padding: 0 var(--cfy-sp-5) !important; font-size: var(--cfy-fs-base) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-btn--block { width: 100% !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-btn--fill { background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important; color: var(--cfy-t-on-fill) !important; border-color: var(--cfy-t-fill-lo) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-btn--fill:hover { background: var(--cfy-t-fill-hi) !important; color: var(--cfy-t-on-fill) !important; border-color: var(--cfy-t-fill-lo) !important; }

/* Bandeau d'ouverture : même famille de couleurs que l'en-tête du site */
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero { position: relative !important; overflow: hidden !important; background: var(--cfy-hr-hd-bg) !important; border-bottom: 1px solid var(--cfy-hr-rule) !important; box-shadow: inset 0 2px 0 var(--cfy-hr-accent) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero::after { content: "" !important; position: absolute !important; inset: 0 !important; pointer-events: none !important; background: radial-gradient(48% 120% at 86% 10%, rgba(var(--cfy-hr-accent-rgb), .20), transparent 70%) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero-in { position: relative !important; z-index: 1 !important; display: grid !important; grid-template-columns: minmax(0, 1fr) 380px !important; gap: var(--cfy-sp-7) !important; align-items: center !important; padding-top: var(--cfy-sp-7) !important; padding-bottom: var(--cfy-sp-7) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-eyebrow { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; text-transform: uppercase !important; color: var(--cfy-hr-accent-text) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero h1 { margin-top: var(--cfy-sp-2) !important; font-size: var(--cfy-fs-display) !important; font-weight: var(--cfy-fw-bold) !important; line-height: var(--cfy-lh-tight) !important; letter-spacing: var(--cfy-ls-display) !important; color: var(--cfy-hr-ink) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero-lead { margin-top: var(--cfy-sp-3) !important; max-width: 62ch !important; font-size: var(--cfy-fs-md) !important; color: var(--cfy-hr-ink-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero-cta { margin-top: var(--cfy-sp-5) !important; display: flex !important; flex-wrap: wrap !important; gap: var(--cfy-sp-3) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero .cfy-pl-btn { background: var(--cfy-hr-pill-bg) !important; color: var(--cfy-hr-ink) !important; border-color: var(--cfy-hr-rule) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero .cfy-pl-btn:hover { border-color: var(--cfy-hr-accent) !important; color: var(--cfy-hr-ink) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero .cfy-pl-btn:focus-visible { outline-color: rgba(var(--cfy-hr-accent-rgb), .7) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero .cfy-pl-btn--fill { background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo)) !important; color: var(--cfy-hr-on-flat) !important; border-color: var(--cfy-hr-flat-lo) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero .cfy-pl-btn--fill:hover { background: var(--cfy-hr-flat-hi) !important; color: var(--cfy-hr-on-flat) !important; border-color: var(--cfy-hr-flat-lo) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero-meta { margin-top: var(--cfy-sp-4) !important; font-size: var(--cfy-fs-caption) !important; color: var(--cfy-hr-ink-muted) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-beta { background: var(--cfy-hr-tile-bg) !important; border: 1px solid var(--cfy-hr-rule) !important; border-left: 3px solid var(--cfy-hr-accent) !important; padding: var(--cfy-sp-5) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-beta-t { font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; color: var(--cfy-hr-ink) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-beta p { margin-top: var(--cfy-sp-2) !important; font-size: var(--cfy-fs-sm) !important; color: var(--cfy-hr-ink-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-beta a { display: inline-flex !important; align-items: center !important; gap: 6px !important; margin-top: var(--cfy-sp-3) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; color: var(--cfy-hr-accent-text) !important; text-decoration: underline !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-beta a:hover { color: var(--cfy-hr-ink) !important; }

/* Sommaire */
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-nav { background: var(--cfy-t-surface) !important; border-bottom: 1px solid var(--cfy-t-line) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-nav ul { display: flex !important; gap: var(--cfy-sp-1) !important; overflow-x: auto !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-nav a { display: inline-flex !important; align-items: center !important; gap: var(--cfy-sp-2) !important; height: var(--cfy-ctl-lg) !important; padding: 0 var(--cfy-sp-4) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; color: var(--cfy-t-ink-2) !important; text-decoration: none !important; white-space: nowrap !important; border-bottom: 2px solid transparent !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-nav a:hover { color: var(--cfy-t-accent) !important; border-bottom-color: var(--cfy-t-fill) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-nav a:focus-visible { outline: 2px solid rgba(var(--cfy-t-accent-rgb), .55) !important; outline-offset: -2px !important; }

/* Sections */
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-sec { padding: var(--cfy-sp-7) 0 !important; scroll-margin-top: 140px !important; background: var(--cfy-t-surface-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-sec + .cfy-pl-sec { border-top: 1px solid var(--cfy-t-line) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-sec--tint { background: color-mix(in srgb, var(--cfy-t-fill) 3%, var(--cfy-t-surface)) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-head { margin-bottom: var(--cfy-sp-5) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-head h2 { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: var(--cfy-sp-3) !important; font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; letter-spacing: var(--cfy-ls-title) !important; color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-head h2 > svg { color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-head p { margin-top: var(--cfy-sp-2) !important; max-width: 78ch !important; font-size: var(--cfy-fs-base) !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-h3 { margin: var(--cfy-sp-6) 0 var(--cfy-sp-3) !important; font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-foot { margin-top: var(--cfy-sp-3) !important; font-size: var(--cfy-fs-sm) !important; color: var(--cfy-t-muted) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-actions { margin-top: var(--cfy-sp-5) !important; display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: var(--cfy-sp-3) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tag { display: inline-flex !important; flex: none !important; align-items: center !important; gap: 6px !important; height: 24px !important; padding: 0 var(--cfy-sp-2) !important; font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0 !important; white-space: nowrap !important; background: transparent !important; color: var(--cfy-t-ink) !important; border: 1px solid var(--cfy-tx-warning) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tag svg { color: var(--cfy-tx-warning) !important; }

/* Cartes d'offres */
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-grid { display: grid !important; gap: var(--cfy-sp-4) !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card { display: flex !important; flex-direction: column !important; background: var(--cfy-t-surface) !important; border: 1px solid var(--cfy-t-line-2) !important; transition: border-color .15s, box-shadow .15s !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card:hover { border-color: rgba(var(--cfy-t-fill-rgb), .65) !important; box-shadow: inset 0 -2px 0 var(--cfy-t-fill) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card--top { border-color: rgba(var(--cfy-t-accent-rgb), .6) !important; box-shadow: inset 0 3px 0 var(--cfy-t-fill) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card--top:hover { box-shadow: inset 0 3px 0 var(--cfy-t-fill), inset 0 -2px 0 var(--cfy-t-fill) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card--study { background: var(--cfy-t-surface-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card-hd { padding: var(--cfy-sp-5) var(--cfy-sp-5) var(--cfy-sp-4) !important; border-bottom: 1px solid var(--cfy-t-line) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card-name { display: flex !important; align-items: center !important; gap: var(--cfy-sp-2) !important; font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card-name svg { color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-price { margin-top: var(--cfy-sp-3) !important; font-size: var(--cfy-fs-h2) !important; font-weight: var(--cfy-fw-bold) !important; line-height: var(--cfy-lh-tight) !important; letter-spacing: var(--cfy-ls-display) !important; color: var(--cfy-t-ink) !important; font-variant-numeric: tabular-nums !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-price-sub { margin-top: var(--cfy-sp-1) !important; font-size: var(--cfy-fs-sm) !important; color: var(--cfy-t-muted) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-grid:not(.cfy-pl-grid--3) .cfy-pl-price-sub { min-height: 98px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card-bd { flex: 1 !important; padding: var(--cfy-sp-4) var(--cfy-sp-5) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card-bd p { font-size: var(--cfy-fs-sm) !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card-ft { padding: 0 var(--cfy-sp-5) var(--cfy-sp-5) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-feat li { display: flex !important; gap: var(--cfy-sp-2) !important; padding: 5px 0 !important; font-size: var(--cfy-fs-sm) !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-feat svg { margin-top: 3px !important; color: var(--cfy-tx-success) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-feat li.is-off { color: var(--cfy-t-muted) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-feat li.is-off svg { color: var(--cfy-t-muted) !important; }

/* Banners : points clés, grille de prix, quotas */
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-facts { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--cfy-sp-3) var(--cfy-sp-6) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-facts li { display: flex !important; gap: var(--cfy-sp-3) !important; font-size: var(--cfy-fs-base) !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-facts svg { margin-top: 3px !important; color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-row { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: var(--cfy-sp-3) !important; margin: var(--cfy-sp-6) 0 var(--cfy-sp-3) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-row .cfy-pl-h3 { margin: 0 !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-scope { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-seg { display: inline-flex !important; background: var(--cfy-t-surface) !important; border: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-seg label { display: inline-flex !important; align-items: center !important; height: var(--cfy-ctl-sm) !important; margin: 0 !important; padding: 0 var(--cfy-sp-4) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; color: var(--cfy-t-ink-2) !important; cursor: pointer !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-seg label + label { border-left: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-seg label:hover { color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-scope--nat:checked ~ .cfy-pl-row .cfy-pl-seg-nat,
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-scope--int:checked ~ .cfy-pl-row .cfy-pl-seg-int { background: var(--cfy-t-fill) !important; color: var(--cfy-t-on-fill) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-scope--nat:focus-visible ~ .cfy-pl-row .cfy-pl-seg-nat,
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-scope--int:focus-visible ~ .cfy-pl-row .cfy-pl-seg-int { outline: 2px solid rgba(var(--cfy-t-accent-rgb), .55) !important; outline-offset: 2px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-int { display: none !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-scope--int:checked ~ .cfy-pl-tbl-wrap .cfy-pl-int { display: inline !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-scope--int:checked ~ .cfy-pl-tbl-wrap .cfy-pl-nat { display: none !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl-wrap { overflow-x: auto !important; background: var(--cfy-t-surface) !important; border: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl { width: 100% !important; margin: 0 !important; border-collapse: collapse !important; font-size: var(--cfy-fs-sm) !important; font-variant-numeric: tabular-nums !important; background: transparent !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl :is(th, td) { padding: 10px var(--cfy-sp-4) !important; text-align: start !important; vertical-align: middle !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--cfy-t-line) !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl thead th { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; text-transform: uppercase !important; white-space: nowrap !important; color: var(--cfy-t-muted) !important; background: var(--cfy-t-surface-2) !important; border-bottom: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl tbody th { font-weight: var(--cfy-fw-semibold) !important; white-space: nowrap !important; color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl tbody tr:last-child > * { border-bottom: 0 !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl tbody tr:hover > * { background: var(--cfy-t-surface-3) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl tr.is-group > * { border-top: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl .cfy-pl-num { text-align: end !important; white-space: nowrap !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--quota .cfy-pl-num { width: 220px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl tbody .cfy-pl-from { font-weight: var(--cfy-fw-semibold) !important; color: var(--cfy-t-ink) !important; background: var(--cfy-t-accent-soft) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-prod { display: flex !important; align-items: center !important; gap: var(--cfy-sp-3) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-prod svg { color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-prod small { display: block !important; font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-regular) !important; white-space: normal !important; color: var(--cfy-t-muted) !important; }

/* Bandeau de la phase bêta */
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-band { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; gap: var(--cfy-sp-6) !important; align-items: center !important; padding: var(--cfy-sp-6) !important; background: var(--cfy-t-accent-soft) !important; border: 1px solid rgba(var(--cfy-t-accent-rgb), .35) !important; border-left: 3px solid var(--cfy-t-fill) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-band h2 { font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-band li { display: flex !important; gap: var(--cfy-sp-2) !important; margin-top: var(--cfy-sp-2) !important; font-size: var(--cfy-fs-base) !important; color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-band li svg { margin-top: 4px !important; color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-band-cta { display: grid !important; gap: var(--cfy-sp-3) !important; }

/* Rubriques à venir */
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-soon { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: var(--cfy-sp-3) !important; padding: var(--cfy-sp-4) var(--cfy-sp-5) !important; font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; background: var(--cfy-t-surface) !important; border: 1px dashed var(--cfy-t-line-2) !important; color: var(--cfy-t-ink-2) !important; }

@media (max-width: 1199px) {
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-grid, html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero-in { grid-template-columns: minmax(0, 1fr) !important; gap: var(--cfy-sp-5) !important; padding-top: var(--cfy-sp-6) !important; padding-bottom: var(--cfy-sp-6) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-grid:not(.cfy-pl-grid--3) .cfy-pl-price-sub { min-height: 0 !important; }
}
/* Grille de prix : une fiche par produit dès que les 8 colonnes ne tiennent plus */
@media (max-width: 991px) {
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--prices thead { display: none !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--prices, html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--prices tbody { display: block !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--prices tr { display: grid !important; grid-template-columns: 1fr 1fr !important; padding: var(--cfy-sp-3) 0 !important; border-bottom: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--prices tbody tr:last-child { border-bottom: 0 !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--prices tbody th { grid-column: 1 / -1 !important; white-space: normal !important; border: 0 !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--prices tbody td { display: flex !important; justify-content: space-between !important; gap: var(--cfy-sp-2) !important; padding: 4px var(--cfy-sp-4) !important; border: 0 !important; background: transparent !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--prices tbody td::before { content: attr(data-l) !important; font-weight: var(--cfy-fw-regular) !important; color: var(--cfy-t-muted) !important; }
}
@media (max-width: 767px) {
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-wrap { padding-left: 10px !important; padding-right: 10px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-grid, html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-grid--3, html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-facts, html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-band { grid-template-columns: minmax(0, 1fr) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-sec { padding: var(--cfy-sp-6) 0 !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero h1 { font-size: 28px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-head h2 { flex-wrap: nowrap !important; align-items: flex-start !important; font-size: var(--cfy-fs-h4) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-head h2 > svg { margin-top: 2px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-head h2 .cfy-pl-tag { margin-top: 2px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero-cta .cfy-pl-btn, html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-band .cfy-pl-btn, html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-actions .cfy-pl-btn { width: 100% !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-band { padding: var(--cfy-sp-5) var(--cfy-sp-4) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-seg { width: 100% !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-seg label { flex: 1 !important; justify-content: center !important; padding: 0 var(--cfy-sp-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--quota .cfy-pl-num { width: auto !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--quota :is(th, td) { padding: 8px var(--cfy-sp-2) !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--quota :is(th, td, .cfy-pl-num) { white-space: normal !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-tbl--quota thead th { letter-spacing: 0 !important; text-transform: none !important; }
}
@media (prefers-reduced-motion: reduce) {
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-btn, html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card { transition: none !important; }
}

/* ═══ commercify_page_legal.css ═══ */
/* Pages légales (conditions générales, confidentialité, mentions légales) : bandeau d'ouverture aux couleurs de
   l'en-tête, sommaire latéral collant, colonne de lecture étroite. Couleurs par tokens de thème, angles droits. */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) > .card { background: var(--cfy-t-surface) !important; border: 1px solid var(--cfy-t-line-2) !important; box-shadow: none !important; border-radius: 0 !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) > .card > .card-body { padding: 0 !important; background: transparent !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) > .card > .card-body > hr { display: none !important; }

/* Bandeau d'ouverture */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child { position: relative !important; overflow: hidden !important; margin: 0 !important; padding: var(--cfy-sp-7) var(--cfy-sp-5) !important; background: var(--cfy-hr-hd-bg) !important; border-bottom: 1px solid var(--cfy-hr-rule) !important; box-shadow: inset 0 2px 0 var(--cfy-hr-accent) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child .cfy-brand-logo--on-light { display: none !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child .cfy-brand-logo--on-dark { display: inline-block !important; filter: none !important; border: 0 !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child h1 { max-width: 30ch !important; margin: var(--cfy-sp-5) auto var(--cfy-sp-3) !important; font-size: var(--cfy-fs-display) !important; font-weight: var(--cfy-fw-bold) !important; line-height: var(--cfy-lh-tight) !important; letter-spacing: var(--cfy-ls-display) !important; color: var(--cfy-hr-ink) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child h1 span { color: var(--cfy-hr-accent-text) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child h2 { max-width: 64ch !important; margin: 0 auto var(--cfy-sp-4) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-body) !important; letter-spacing: var(--cfy-ls-caps) !important; color: var(--cfy-hr-ink-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child :is(p, div, small, strong) { font-size: var(--cfy-fs-sm) !important; color: var(--cfy-hr-ink-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child :is(div, small, p) span:not(.badge) { color: var(--cfy-hr-ink) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child strong { font-weight: var(--cfy-fw-semibold) !important; color: var(--cfy-hr-ink) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child strong span { color: var(--cfy-hr-ink) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child :is(p, div) { margin: 0 0 var(--cfy-sp-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child :is(p, div, small) a { color: var(--cfy-hr-accent-text) !important; text-decoration: underline !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child :is(p, div, small) a:hover { color: var(--cfy-hr-ink) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child .badge { display: inline-flex !important; align-items: center !important; height: 24px !important; padding: 0 var(--cfy-sp-2) !important; font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; background: var(--cfy-hr-pill-bg) !important; color: var(--cfy-hr-ink) !important; border: 1px solid var(--cfy-hr-rule) !important; border-radius: 0 !important; }

/* Encadré d'avertissement placé avant les articles */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .alert { margin: var(--cfy-sp-5) var(--cfy-sp-5) 0 !important; border-radius: 0 !important; box-shadow: none !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .alert :is(p, li) { color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .alert :is(p, li) strong { color: var(--cfy-t-ink) !important; }

/* Sommaire collant : les conteneurs de page rognent le débordement horizontal sans devenir des zones de défilement */
@media (min-width: 1200px) {
html:is(.cfy-pg-platform-terms-typology, .cfy-pg-platform-privacy-typology, .cfy-pg-platform-legal-typology) :is(body, body .nk-wrap, body .nk-main) { overflow-x: clip !important; overflow-y: visible !important; }
}

/* Grille sommaire + lecture */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-body { display: grid !important; grid-template-columns: 280px minmax(0, 1fr) !important; gap: var(--cfy-sp-7) !important; align-items: start !important; padding: var(--cfy-sp-6) var(--cfy-sp-5) var(--cfy-sp-5) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc { position: sticky !important; top: 140px !important; max-height: calc(100vh - 160px) !important; overflow-y: auto !important; padding: var(--cfy-sp-4) 0 !important; background: var(--cfy-t-surface-2) !important; border: 1px solid var(--cfy-t-line) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc-t { margin: 0 0 var(--cfy-sp-2) !important; padding: 0 var(--cfy-sp-4) !important; font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; text-transform: uppercase !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc ol { margin: 0 !important; padding: 0 !important; list-style: none !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc li { margin: 0 !important; padding: 0 !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc a { display: block !important; padding: 6px var(--cfy-sp-4) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-medium) !important; line-height: var(--cfy-lh-snug) !important; color: var(--cfy-t-ink-2) !important; text-decoration: none !important; border-left: 2px solid transparent !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc a:hover { color: var(--cfy-t-accent) !important; background: var(--cfy-t-surface-3) !important; border-left-color: var(--cfy-t-fill) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc a:focus-visible { outline: 2px solid rgba(var(--cfy-t-accent-rgb), .55) !important; outline-offset: -2px !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-main { max-width: 880px !important; min-width: 0 !important; }

/* Articles */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec { margin: 0 0 var(--cfy-sp-7) !important; scroll-margin-top: 140px !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec:last-child { margin-bottom: 0 !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec > h2 { margin: 0 0 var(--cfy-sp-4) !important; padding: 2px 0 2px var(--cfy-sp-3) !important; font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; letter-spacing: var(--cfy-ls-title) !important; color: var(--cfy-t-ink) !important; border-left: 3px solid var(--cfy-t-fill) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec h3 { margin: var(--cfy-sp-5) 0 var(--cfy-sp-2) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; letter-spacing: var(--cfy-ls-caps) !important; color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec :is(p, li, dd, dt) { font-size: var(--cfy-fs-md) !important; line-height: var(--cfy-lh-body) !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-main :is(p, li, dd, dt, em) { color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-main :is(p, li, dd, dt) strong { color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec p { margin: 0 0 var(--cfy-sp-3) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec li { margin-bottom: var(--cfy-sp-1) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec .bg-body-secondary { padding: var(--cfy-sp-4) !important; background: var(--cfy-t-surface-2) !important; border: 1px solid var(--cfy-t-line) !important; border-left: 3px solid var(--cfy-t-fill) !important; border-radius: 0 !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec .card { border-radius: 0 !important; box-shadow: none !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec .bg-body-secondary :is(strong, li, a, span) { font-size: var(--cfy-fs-md) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec .bg-body-secondary strong { font-weight: var(--cfy-fw-semibold) !important; color: var(--cfy-t-ink) !important; }

/* Signature */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-end { margin: 0 !important; padding: var(--cfy-sp-5) !important; font-size: var(--cfy-fs-base) !important; background: var(--cfy-t-surface-2) !important; border-top: 1px solid var(--cfy-t-line) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-end :is(p, em) { font-size: var(--cfy-fs-base) !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-end strong { color: var(--cfy-t-ink) !important; }

@media (max-width: 1199px) {
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-body { grid-template-columns: minmax(0, 1fr) !important; gap: var(--cfy-sp-5) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc { position: static !important; max-height: none !important; overflow: visible !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc ol { columns: 2 !important; column-gap: 0 !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc li { break-inside: avoid !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-main { max-width: none !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec { scroll-margin-top: 70px !important; }
}
@media (max-width: 767px) {
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child { padding: var(--cfy-sp-6) var(--cfy-sp-4) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child h1 { font-size: 28px !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .alert { margin: var(--cfy-sp-4) 10px 0 !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-body { padding: var(--cfy-sp-5) 10px var(--cfy-sp-4) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-toc ol { columns: 1 !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec { margin-bottom: var(--cfy-sp-6) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec > h2 { font-size: var(--cfy-fs-lg) !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-end { padding: var(--cfy-sp-4) 10px !important; }
}

/* ═══ commercify_page_hyperprofil.css ═══ */
/* Pages HyperProfil : bandeau d'identité (titre de la page + onglets des huit pages), aux couleurs de la zone des
   catalogues. Il occupe le haut de la barre d'outils fixe ; sans barre d'outils, il ouvre la page. */
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-head { display: flex !important; align-items: stretch !important; justify-content: space-between !important; gap: var(--cfy-sp-5) !important; min-height: var(--cfy-ctl-lg) !important; margin: 0 0 var(--cfy-sp-3) !important; padding: 0 var(--cfy-sp-4) !important; background: var(--cfy-hr-ph-bg) !important; border-bottom: 1px solid var(--cfy-hr-ph-line) !important; box-shadow: inset 0 -2px 0 var(--cfy-hr-accent) !important; box-sizing: border-box !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-head--flow { margin-top: max(0px, calc(var(--hyperprofil-header-height, 133px) - 130px)) !important; margin-bottom: var(--cfy-sp-4) !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-id { display: flex !important; align-items: center !important; gap: var(--cfy-sp-3) !important; min-width: 0 !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-eyebrow { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; text-transform: uppercase !important; white-space: nowrap !important; color: var(--cfy-hr-accent-text) !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-eyebrow::after { content: "›" !important; margin-left: var(--cfy-sp-3) !important; color: var(--cfy-hr-ink-muted) !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-title { display: flex !important; align-items: center !important; gap: var(--cfy-sp-2) !important; margin: 0 !important; padding: 0 !important; font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; letter-spacing: var(--cfy-ls-title) !important; white-space: nowrap !important; text-transform: none !important; color: var(--cfy-hr-ink) !important; background: transparent !important; border: 0 !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-title svg { flex: none !important; color: var(--cfy-hr-accent) !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-tabs { display: flex !important; align-items: stretch !important; gap: 0 !important; min-width: 0 !important; overflow-x: auto !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-tabs a { display: inline-flex !important; align-items: center !important; gap: 6px !important; padding: 0 var(--cfy-sp-3) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: 1 !important; white-space: nowrap !important; text-decoration: none !important; color: var(--cfy-hr-ink-2) !important; background: transparent !important; border: 0 !important; border-left: 1px solid var(--cfy-hr-ph-line) !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-tabs a svg { flex: none !important; color: currentColor !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-tabs a span { color: inherit !important; font-size: inherit !important; font-weight: inherit !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-tabs a:hover { color: var(--cfy-hr-ink) !important; background: var(--cfy-hr-pill-bg) !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-tabs a:focus-visible { outline: 2px solid rgba(var(--cfy-hr-accent-rgb), .7) !important; outline-offset: -2px !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-tabs a.is-on { color: var(--cfy-hr-on-flat) !important; background: var(--cfy-hr-flat) !important; }

/* La barre d'outils fixe porte le bandeau : plus de marge haute, et la place réservée sous elle grandit d'autant */
html body[class*="cfy-ht-"] [id^="hyperprofil_toolbar_"]:not(#cfy-b1):not(#cfy-b2) { padding-top: 0 !important; }
@media (min-width: 1200px) {
html.cfy-pg-hyperprofil-toolbar body[class*="cfy-ht-"] .hyperprofil-toolbar-spacer:not(#cfy-b1):not(#cfy-b2) { height: calc(118px + 48px + var(--hyperprofil-header-overhang, 0px)) !important; min-height: calc(118px + 48px + var(--hyperprofil-header-overhang, 0px)) !important; }
}
/* Sans barre d'outils : le bandeau prend la marge haute, le premier bloc n'en a plus besoin */
html body[class*="cfy-ht-"] form > .cfy-hpx-head--flow ~ .hyperprofil-notoolbar-first:not(#cfy-b1):not(#cfy-b2) { margin-top: 0 !important; }

@media (max-width: 1365px) {
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-tabs a { padding: 0 var(--cfy-sp-2) !important; }
html body[class*="cfy-ht-"] :is(form, [id^="hyperprofil_toolbar_"]):not(#cfy-b1):not(#cfy-b2) .cfy-hpx-eyebrow { display: none !important; }
}

/* ═══ commercify_page_publisher.css ═══ */
/* Pages éditeur : profil public (colonne de lecture + illustration à droite, titre de section) et fiche annonce
   (titre, texte de description lisible, intertitres). Couleurs par tokens de thème, tailles de la charte. */

/* ── Profil public ── */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .cfy-pi-zone-tabs > .cfy-pi-zone-tab:only-child { display: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .cfy-pi-zone-panel-head { margin: 0 0 var(--cfy-sp-5) !important; padding: var(--cfy-sp-2) 0 var(--cfy-sp-3) !important; border-bottom: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .cfy-pi-zone-panel-title { margin: 0 !important; padding: 2px 0 2px var(--cfy-sp-3) !important; font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; letter-spacing: var(--cfy-ls-title) !important; color: var(--cfy-t-ink) !important; border-left: 3px solid var(--cfy-t-fill) !important; overflow-wrap: anywhere !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .publisher-profile__body { font-size: var(--cfy-fs-md) !important; line-height: var(--cfy-lh-body) !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .publisher-profile__body :is(h1, h2, h3, h4) { margin: var(--cfy-sp-6) 0 var(--cfy-sp-2) !important; font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; letter-spacing: var(--cfy-ls-title) !important; color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .publisher-profile__body :is(p, li) { font-size: var(--cfy-fs-md) !important; line-height: var(--cfy-lh-body) !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .publisher-profile__body p { margin: 0 0 var(--cfy-sp-3) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .publisher-profile__img { border: 1px solid var(--cfy-t-line-2) !important; border-radius: 0 !important; box-shadow: none !important; }
/* Texte et illustration côte à côte quand la place le permet, sinon l'illustration passe dessous */
@media (min-width: 1200px) {
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .publisher-profile { display: flex !important; flex-wrap: wrap !important; gap: var(--cfy-sp-5) var(--cfy-sp-8) !important; justify-content: center !important; align-items: flex-start !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .publisher-profile__body { flex: 1 1 560px !important; max-width: 760px !important; min-width: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-index-typology .publisher-profile__media { flex: 0 1 360px !important; margin: var(--cfy-sp-5) 0 0 !important; }
}

/* ── Fiche annonce : colonne de contenu (galerie, sections) + colonne de décision (titre, prix, actions, éditeur, infos) ── */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-card { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-card .cfy-fa :is(div, section, ul, li, a, span, button, input, textarea, select, img, h2, h3, h4, p, label) { border-radius: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-card > .card-inner { padding: var(--cfy-sp-5) var(--cfy-sp-5) var(--cfy-sp-7) !important; background: transparent !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa { display: grid !important; grid-template-columns: minmax(0, 1fr) 400px !important; gap: var(--cfy-sp-6) !important; align-items: start !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main { display: grid !important; gap: var(--cfy-sp-5) !important; min-width: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-side { display: grid !important; gap: var(--cfy-sp-4) !important; min-width: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-box { margin: 0 !important; padding: var(--cfy-sp-5) !important; background: var(--cfy-t-surface) !important; border: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-box-title, html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos > h3.nk-block-title { display: block !important; margin: 0 0 var(--cfy-sp-3) !important; padding: 0 !important; font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; letter-spacing: var(--cfy-ls-caps) !important; text-transform: uppercase !important; color: var(--cfy-t-muted) !important; border: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos > h3.nk-block-title svg { display: none !important; }

/* Galerie */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-gallery { margin: 0 !important; padding: 0 !important; background: var(--cfy-t-surface) !important; border: 1px solid var(--cfy-t-line-2) !important; border-radius: 0 !important; overflow: hidden !important; }


/* Décision : depuis quand, titre, prix, actions, note */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision { display: flex !important; flex-direction: column !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-info { display: contents !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-info > small { order: 1 !important; margin: 0 !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-regular) !important; letter-spacing: 0 !important; color: var(--cfy-t-muted) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-title { order: 2 !important; margin: var(--cfy-sp-1) 0 0 !important; font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-bold) !important; line-height: var(--cfy-lh-tight) !important; letter-spacing: var(--cfy-ls-display) !important; color: var(--cfy-t-ink) !important; overflow-wrap: anywhere !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-info > .alert { order: 3 !important; margin: var(--cfy-sp-3) 0 0 !important; border-radius: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-meta { order: 4 !important; margin: var(--cfy-sp-4) 0 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .price-container { margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-price { display: flex !important; flex-wrap: wrap !important; align-items: baseline !important; gap: var(--cfy-sp-1) var(--cfy-sp-2) !important; margin: 0 !important; font-size: var(--cfy-fs-display) !important; font-weight: var(--cfy-fw-bold) !important; line-height: 1 !important; letter-spacing: var(--cfy-ls-display) !important; font-variant-numeric: tabular-nums !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-price, html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-price > span { color: var(--cfy-tx-success) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-price[style*="DC3545" i], html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-price[style*="DC3545" i] > span { color: var(--cfy-tx-danger) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .price-details { margin: 0 0 0 var(--cfy-sp-2) !important; padding: 0 !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0 !important; color: var(--cfy-t-ink-2) !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-meta :is(.alert, .btn) { border-radius: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .publisher-ad-action-buttons { order: 5 !important; margin: var(--cfy-sp-5) 0 0 !important; padding: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .publisher-ad-action-buttons > ul { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: var(--cfy-sp-2) !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .cfy-ad-action-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: var(--cfy-sp-2) !important; width: auto !important; min-width: 0 !important; height: var(--cfy-ctl-md) !important; margin: 0 !important; padding: 0 var(--cfy-sp-3) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: 1 !important; color: var(--cfy-t-ink-2) !important; background: var(--cfy-t-surface) !important; border: 1px solid var(--cfy-t-line-2) !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; cursor: pointer !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .cfy-ad-action-btn svg { flex: none !important; width: 18px !important; height: 18px !important; fill: currentColor !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .cfy-ad-action-btn > a { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: var(--cfy-sp-2) !important; width: 100% !important; height: 100% !important; color: inherit !important; text-decoration: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .cfy-ad-action-btn:hover { color: var(--cfy-t-accent) !important; border-color: var(--cfy-t-accent) !important; background: var(--cfy-t-surface) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .cfy-ad-action-btn:nth-of-type(3) { order: -1 !important; grid-column: 1 / -1 !important; height: var(--cfy-ctl-lg) !important; font-size: var(--cfy-fs-base) !important; color: var(--cfy-t-on-fill) !important; background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important; border-color: var(--cfy-t-fill-lo) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .cfy-ad-action-btn:nth-of-type(3):hover { color: var(--cfy-t-on-fill) !important; background: var(--cfy-t-fill-hi) !important; border-color: var(--cfy-t-fill-lo) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .cfy-ad-action-btn:nth-of-type(3) a { color: var(--cfy-t-on-fill) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .cfy-ad-action-btn:nth-of-type(5) { grid-column: 1 / -1 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-act-lbl { color: inherit !important; font-size: inherit !important; font-weight: inherit !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-rating { order: 6 !important; margin: var(--cfy-sp-5) calc(-1 * var(--cfy-sp-5)) calc(-1 * var(--cfy-sp-5)) !important; padding: var(--cfy-sp-4) var(--cfy-sp-5) !important; background: var(--cfy-t-surface-2) !important; border: 0 !important; border-top: 1px solid var(--cfy-t-line) !important; border-radius: 0 !important; box-shadow: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-rating[style*="f8d7da"] { box-shadow: inset 3px 0 0 var(--cfy-tx-danger) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-rating .rating { margin: 0 !important; padding: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-rating .rating > li:first-child { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-semibold) !important; color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-rating svg { width: 20px !important; height: 20px !important; }

/* Éditeur */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-editor-id { display: flex !important; align-items: center !important; gap: var(--cfy-sp-3) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-editor-avatar { flex: none !important; width: 56px !important; height: 56px !important; object-fit: cover !important; background: var(--cfy-t-surface-3) !important; border: 1px solid var(--cfy-t-line-2) !important; border-radius: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-editor-slug { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-semibold) !important; color: var(--cfy-t-ink) !important; text-decoration: none !important; overflow-wrap: anywhere !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-editor-slug:hover { color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-editor-slogan { font-size: var(--cfy-fs-sm) !important; color: var(--cfy-t-muted) !important; overflow-wrap: anywhere !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-editor-links { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: var(--cfy-sp-2) !important; margin-top: var(--cfy-sp-4) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: var(--cfy-ctl-md) !important; padding: var(--cfy-sp-1) var(--cfy-sp-3) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; text-align: center !important; text-decoration: none !important; color: var(--cfy-t-ink-2) !important; background: var(--cfy-t-surface) !important; border: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-btn:hover { color: var(--cfy-t-accent) !important; border-color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-btn--profil { border-bottom: 2px solid #3399ff !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-btn--public { border-bottom: 2px solid #28a745 !important; }

/* Infos : une ligne par information */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos > ul.list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos > ul.list > li { display: flex !important; flex-wrap: wrap !important; align-items: baseline !important; gap: var(--cfy-sp-1) var(--cfy-sp-2) !important; margin: 0 !important; padding: var(--cfy-sp-2) 0 !important; font-size: var(--cfy-fs-sm) !important; line-height: var(--cfy-lh-snug) !important; color: var(--cfy-t-muted) !important; border-bottom: 1px solid var(--cfy-t-line) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos > ul.list > li::before { display: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos > ul.list > li:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos > ul.list > li > span, html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos > ul.list > li .cfy-infos-catalog-badge { padding: 0 !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-medium) !important; color: var(--cfy-t-ink) !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; overflow-wrap: anywhere !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos > ul.list > li a { color: var(--cfy-t-accent) !important; text-decoration: none !important; opacity: 1 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos > ul.list > li a:hover { text-decoration: underline !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos .cfy-copy-btn { height: 28px !important; min-height: 0 !important; padding: 0 var(--cfy-sp-2) !important; font-size: var(--cfy-fs-caption) !important; border-radius: 0 !important; }

/* Sections de contenu */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details { margin: 0 !important; padding: var(--cfy-sp-5) !important; background: var(--cfy-t-surface) !important; border: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details > br { display: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details > h3.nk-block-title { display: flex !important; align-items: center !important; gap: var(--cfy-sp-3) !important; margin: var(--cfy-sp-6) 0 var(--cfy-sp-4) !important; padding: var(--cfy-sp-5) 0 0 !important; font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; letter-spacing: var(--cfy-ls-title) !important; color: var(--cfy-t-ink) !important; border: 0 !important; border-top: 1px solid var(--cfy-t-line) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details > h3.nk-block-title:first-child { margin-top: 0 !important; padding-top: 0 !important; border-top: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details > h3.nk-block-title :is(i, em, svg) { flex: none !important; color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details > p { max-width: 72ch !important; margin: 0 !important; font-size: var(--cfy-fs-md) !important; line-height: var(--cfy-lh-body) !important; color: var(--cfy-t-ink-2) !important; }

/* Spécifications : une tuile par caractéristique */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details > .row.g-2 > [class*="col-"] > .d-flex { height: 100% !important; padding: var(--cfy-sp-3) var(--cfy-sp-4) !important; background: var(--cfy-t-surface-2) !important; border: 1px solid var(--cfy-t-line) !important; border-radius: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details > .row.g-2 > [class*="col-"] > .d-flex > .mb-1 { margin: 0 0 2px !important; padding: 0 !important; font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; text-transform: uppercase !important; color: var(--cfy-t-muted) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details > .row.g-2 .badge { padding: 0 !important; font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-semibold) !important; line-height: var(--cfy-lh-snug) !important; color: var(--cfy-t-ink) !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }

/* Formulaire de commentaires : textes lisibles dans les deux modes */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details .custom-control-label { color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details .form-group > small > span { color: var(--cfy-tx-danger) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos .cfy-copy-btn, html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos .cfy-copy-btn-label { color: var(--cfy-t-ink-2) !important; }

/* Autres annonces de l'éditeur */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-related { margin-top: var(--cfy-sp-7) !important; padding-top: var(--cfy-sp-5) !important; border-top: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-related > br { display: none !important; }

/* Colonne de décision collante sous l'en-tête éditeur (135 px sur ordinateur) quand l'écran est assez haut */
@media (min-width: 1200px) and (min-height: 860px) {
html.cfy-pg-fiche-annonce :is(body, body .nk-wrap, body .nk-main) { overflow-x: clip !important; overflow-y: visible !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa--sticky > .cfy-fa-side { position: sticky !important; top: 254px !important; }
}
/* Une colonne : galerie, décision, contenu, éditeur, infos */
@media (max-width: 1199px) {
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa { grid-template-columns: minmax(0, 1fr) !important; gap: var(--cfy-sp-5) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main, html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-side { display: contents !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-gallery { order: 1 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision { order: 2 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details { order: 3 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-editor { order: 4 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-infos { order: 5 !important; }
}
@media (max-width: 767px) {
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-card > .card-inner { padding: var(--cfy-sp-3) 0 var(--cfy-sp-6) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-box, html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details { padding: var(--cfy-sp-4) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-rating { margin: var(--cfy-sp-4) calc(-1 * var(--cfy-sp-4)) calc(-1 * var(--cfy-sp-4)) !important; padding: var(--cfy-sp-3) var(--cfy-sp-4) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-decision .product-price { font-size: var(--cfy-fs-h2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .cfy-fa-main > .product-details > h3.nk-block-title { font-size: var(--cfy-fs-lg) !important; }
}

/* ── Modales des pages éditeur : même largeur, corps lisible, boutons à la taille commune ── */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) .modal-dialog { display: flex !important; align-items: center !important; max-width: 560px !important; min-height: calc(100% - 3.5rem) !important; margin: 1.75rem auto !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) .modal-content { width: 100% !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) .modal-body { padding: var(--cfy-sp-5) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) .modal-body > p { margin: 0 0 var(--cfy-sp-4) !important; font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-regular) !important; line-height: var(--cfy-lh-body) !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) .publisher-info { display: flex !important; align-items: center !important; gap: var(--cfy-sp-3) !important; margin: 0 0 var(--cfy-sp-5) !important; padding: var(--cfy-sp-3) !important; background: var(--cfy-t-surface) !important; border: 1px solid var(--cfy-t-line-2) !important; border-radius: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) .publisher-info img { flex: none !important; width: 56px !important; height: 56px !important; object-fit: cover !important; border: 1px solid var(--cfy-t-line-2) !important; border-radius: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) .publisher-details { display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) .publisher-slug { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-semibold) !important; font-style: normal !important; color: var(--cfy-t-ink) !important; overflow-wrap: anywhere !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) .publisher-slogan { font-size: var(--cfy-fs-sm) !important; font-style: normal !important; line-height: var(--cfy-lh-snug) !important; color: var(--cfy-t-muted) !important; overflow-wrap: anywhere !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) form { display: flex !important; flex-wrap: wrap !important; gap: var(--cfy-sp-2) !important; width: 100% !important; margin: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(#followModal, #blacklistModal) form .btn { flex: 1 1 200px !important; min-height: var(--cfy-ctl-md) !important; margin: 0 !important; padding: 0 var(--cfy-sp-4) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; border-radius: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .modal.commercify-modal:is([id^="certificationModal-"], [id^="sellerCertificationModal-"], [id^="sponsorshipModal-"]) .modal-dialog { max-width: 560px !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .modal.commercify-modal:is([id^="certificationModal-"], [id^="sellerCertificationModal-"], [id^="sponsorshipModal-"]) .modal-body :is(span, p) { font-size: var(--cfy-fs-base) !important; line-height: var(--cfy-lh-body) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .modal.commercify-modal:is([id^="certificationModal-"], [id^="sellerCertificationModal-"], [id^="sponsorshipModal-"]) .modal-body .lead { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-semibold) !important; color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .modal.commercify-modal:is([id^="certificationModal-"], [id^="sellerCertificationModal-"], [id^="sponsorshipModal-"]) .modal-body .display-1 { font-size: var(--cfy-fs-display) !important; margin-bottom: var(--cfy-sp-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .modal.commercify-modal:is([id^="certificationModal-"], [id^="sellerCertificationModal-"], [id^="sponsorshipModal-"]) :is(.list-group-item, .rounded, .rounded-circle, .alert, .btn) { border-radius: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .modal.commercify-modal { background-image: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .modal.commercify-modal .commercify-modal-body-intro { color: var(--cfy-t-ink-2) !important; }

/* ── En-tête éditeur, ordinateur : identité (avatar, @slug, badges, slogan) puis rangée des onglets ; tout est
      visible, sans volet à déplier. Sous 1200 px, la disposition « identité + sélecteur segmenté » est inchangée. ── */
@media (min-width: 1200px) {
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card { box-shadow: inset 0 -2px 0 var(--cfy-t-fill) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card > .card-inner { display: grid !important; grid-template-columns: 64px minmax(0, 1fr) auto !important; grid-template-areas: "avatar slug slug" "avatar slogan tags" "nav nav ctx" !important; column-gap: var(--cfy-sp-4) !important; row-gap: 2px !important; align-items: center !important; padding: var(--cfy-sp-3) var(--cfy-sp-5) 0 !important; background: var(--cfy-t-surface) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card :is(.publisher-header-row-1, .publisher-header-col-left, .publisher-header-col-left > .d-flex, .publisher-header-col-right, .publisher-header-col-right > .d-flex, .publisher-header-identity) { display: contents !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-avatar-link { grid-area: avatar !important; align-self: start !important; display: block !important; margin: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-avatar { width: 64px !important; height: 64px !important; max-width: none !important; object-fit: cover !important; box-shadow: none !important; border: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-slug { grid-area: slug !important; width: auto !important; min-width: 0 !important; max-width: 100% !important; flex: none !important; margin: 0 !important; font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-bold) !important; line-height: var(--cfy-lh-tight) !important; letter-spacing: var(--cfy-ls-display) !important; text-align: start !important; white-space: normal !important; overflow-wrap: anywhere !important; color: var(--cfy-t-ink) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-slug bdi { color: inherit !important; font-size: inherit !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-slogan-inline { grid-area: slogan !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; max-width: 110ch !important; margin: 0 !important; font-size: var(--cfy-fs-sm) !important; font-style: normal !important; line-height: var(--cfy-lh-snug) !important; text-align: start !important; color: var(--cfy-t-ink-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-toggle-btn { display: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-details-collapse { grid-area: tags !important; align-self: start !important; display: block !important; height: auto !important; visibility: visible !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-details-collapse :is(.publisher-header-row-2, .publisher-header-badges-col, .publisher-header-details-inner, .publisher-header-tags-wrap) { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-details-collapse .publisher-header-slogan { display: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-tags { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: flex-end !important; gap: 6px !important; margin: 0 !important; padding: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-tag { display: inline-flex !important; align-items: center !important; height: 22px !important; margin: 0 !important; padding: 0 var(--cfy-sp-2) !important; font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0 !important; text-transform: none !important; white-space: nowrap !important; color: var(--cfy-t-ink-2) !important; background: var(--cfy-t-surface-2) !important; border: 1px solid var(--cfy-t-line-2) !important; border-radius: 0 !important; box-shadow: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-tag[data-bs-toggle] { cursor: pointer !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-tag[data-bs-toggle]:hover { color: var(--cfy-t-accent) !important; border-color: var(--cfy-t-accent) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-nav { grid-area: nav !important; align-self: end !important; display: flex !important; flex-wrap: nowrap !important; gap: 0 !important; width: max-content !important; max-width: 100% !important; margin: var(--cfy-sp-3) 0 0 !important; padding: 0 !important; border: 1px solid var(--cfy-t-line-2) !important; border-bottom: 0 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-nav__link { height: var(--cfy-ctl-md) !important; margin: 0 !important; padding: 0 var(--cfy-sp-4) !important; font-size: var(--cfy-fs-sm) !important; border-top: 0 !important; border-left: 0 !important; border-right: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-nav__link + .publisher-nav__link { border-left: 1px solid var(--cfy-t-line-2) !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-nav__label { font-size: var(--cfy-fs-sm) !important; }
/* Niveau d'accès de chaque onglet : en liseré seulement */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-nav__link--profil { border-bottom: 2px solid #3399ff !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-nav__link--ads { border-bottom: 2px solid #28a745 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-nav__link--adr { border-bottom: 2px solid #ff9800 !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-card .publisher-nav__link--adp { border-bottom: 2px solid #6c757d !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) .page-publisher-typology .publisher-header-ad-context { grid-area: ctx !important; justify-self: end !important; align-self: center !important; display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: var(--cfy-sp-2) !important; margin: var(--cfy-sp-3) 0 0 !important; padding: 0 !important; }
}

/* Fiche annonce, icônes au trait (lexique iconographique) : l'ancienne feuille des boutons colorait des icônes pleines par fill ;
   les tracés au trait prennent la couleur du bouton (thème) et ne se remplissent jamais. */
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(.publisher-ad-action-buttons, .cfy-fa-decision .cfy-ad-action-btn) svg.cfy-ic:not([fill="currentColor"]) { fill: none !important; stroke: currentColor !important; }
html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2) :is(.publisher-ad-action-buttons, .cfy-fa-decision .cfy-ad-action-btn) svg.cfy-ic:not([fill="currentColor"]) :is(path, circle, rect, polygon, polyline, line) { fill: none !important; }

/* ═══ commercify_theme_dash.css ═══ */

/* ── Canevas et variables Bootstrap / DashLite redéfinies depuis les tokens ── */
html body.page-group-dash[class*="cfy-ht-"].light-mode { background-color: var(--cfy-t-surface-2) !important; }
html body.page-group-dash[class*="cfy-ht-"].dark-mode { background-color: var(--cfy-t-surface) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1),
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) *:not(footer, footer *) {
    --bs-border-color: var(--cfy-t-line) !important;
    --bs-body-color: var(--cfy-t-ink) !important;
    --bs-secondary-color: var(--cfy-t-muted) !important;
    --bs-primary: var(--cfy-t-fill);
    --bs-primary-rgb: var(--cfy-t-fill-rgb);
    --bs-link-color: var(--cfy-t-accent);
    --bs-link-color-rgb: var(--cfy-t-accent-rgb);
    --bs-link-hover-color: var(--cfy-t-ink);
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1),
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.nk-content-body, .nk-content-wrap, .nk-content-inner, [class*="-typology"]:not(.card):not(.btn)):not(footer, footer *) {
    background: transparent !important;
    color: var(--cfy-t-ink) !important;
}

/* ── Cartes,
blocs,
listes ── */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.card, .card-preview, .card-inner, .card-body, .list-group-item, .nk-block-tools-opt .dropdown-menu, .modal-content):not(footer, footer *) {
    background: var(--cfy-t-surface) !important;
    border-color: var(--cfy-t-line) !important;
    color: var(--cfy-t-ink) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .card:not(footer, footer *) { box-shadow: var(--cfy-t-shadow) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.card-header, .card-footer, .nk-block-tools-opt, .modal-header, .modal-footer):not(footer, footer *) {
    background: var(--cfy-t-surface-3) !important;
    border-color: var(--cfy-t-line) !important;
    color: var(--cfy-t-ink) !important;
}
/* Formulaire de publication : 504 classes « bg-dark text-light border-warning » en dur */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .bg-dark:not(.badge):not(.btn):not(footer, footer *) {
    background: var(--cfy-t-surface-2) !important;
    color: var(--cfy-t-ink) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .text-light:not(.btn):not(.badge):not(footer, footer *) { color: var(--cfy-t-ink) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .border-warning:not(footer, footer *) { border-color: rgba(var(--cfy-t-accent-rgb), .45) !important; }

/* ── Textes ── */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(h1, h2, h3, h4, h5, h6, .nk-block-title, .page-title, .nk-block-head-content, .title, .lead-text, .tb-lead, .nk-tb-col, .form-label, label, dt):not(footer, footer *) {
    color: var(--cfy-t-ink) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.sub-text, .text-muted, .tb-sub, .text-soft, .nk-block-des, .dataTables_info, .dataTables_wrapper .dataTables_length label, .dataTables_wrapper .dataTables_filter label, small, .form-note, dd):not(footer, footer *) {
    color: var(--cfy-t-muted) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.text-primary, .text-warning:not(.tb-status), .text-info:not(.tb-status), [style*="1DA1F2" i], [style*="29,161,242"], [style*="29, 161, 242"], [style*="#ffcc00" i], [style*="#FFD700" i], [style*="#DAA520" i]):not(footer, footer *) {
    color: var(--cfy-t-accent) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) a:not(.btn):not(.dropdown-toggle):not(.nav-link):not(.page-link):not(.badge):not(footer, footer *) { color: var(--cfy-t-accent) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) a:not(.btn):not(.dropdown-toggle):not(.nav-link):not(.page-link):not(.badge):hover:not(footer, footer *) { color: var(--cfy-t-ink) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .dropdown-toggle.btn-trigger:not(footer, footer *) { color: var(--cfy-t-accent) !important; background: var(--cfy-t-accent-soft) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .dropdown-toggle.btn-trigger:hover:not(footer, footer *) { background: rgba(var(--cfy-t-accent-rgb), .2) !important; }

/* ── Tableaux (nk-tb / DataTables) ── */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.nk-tb-list, .datatable-wrap, .dataTable, .table):not(footer, footer *) { color: var(--cfy-t-ink) !important; border-color: var(--cfy-t-line) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.nk-tb-head, thead tr, thead th, .table thead th):not(footer, footer *) {
    background: var(--cfy-t-surface-3) !important;
    border-color: var(--cfy-t-line) !important;
    color: var(--cfy-t-ink-2) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.nk-tb-head, thead) .sub-text:not(footer, footer *) { color: var(--cfy-t-muted) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(tbody tr, .nk-tb-item, tbody td):not(footer, footer *) {
    background: var(--cfy-t-surface) !important;
    border-color: var(--cfy-t-line) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(tbody tr, .nk-tb-item):hover:not(footer, footer *) { background: var(--cfy-t-surface-3) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .dataTables_wrapper .dataTables_paginate :is(a, .paginate_button):not(footer, footer *) { color: var(--cfy-t-accent) !important; border-radius: 0 !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .dataTables_wrapper .dataTables_paginate :is(a, .paginate_button):hover:not(footer, footer *) { color: var(--cfy-t-ink) !important; background: var(--cfy-t-surface-3) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .dataTables_wrapper .dataTables_paginate :is(.current, .active .page-link):not(footer, footer *),
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .pagination .page-item.active .page-link:not(footer, footer *) {
    background: var(--cfy-t-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .pagination .page-link:not(footer, footer *) { background: var(--cfy-t-surface) !important; border-color: var(--cfy-t-line) !important; color: var(--cfy-t-accent) !important; border-radius: 0 !important; }

/* ── Champs ── */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(input[type="text"], input[type="search"], input[type="email"], input[type="number"], input[type="password"], input[type="url"], input[type="tel"], input[type="date"], input:not([type]), textarea, select, .form-control, .form-select, .dataTables_wrapper select):not(footer, footer *) {
    background-color: var(--cfy-t-surface-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    color: var(--cfy-t-ink) !important;
    border-radius: 0 !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(input, textarea, select, .form-control, .form-select):focus:not(footer, footer *) {
    background-color: var(--cfy-t-surface-2) !important;
    border-color: var(--cfy-t-accent) !important;
    box-shadow: 0 0 0 2px rgba(var(--cfy-t-accent-rgb), .22) !important;
    color: var(--cfy-t-ink) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(input, textarea, .form-control):not(footer, footer *)::placeholder { color: var(--cfy-t-faint) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .input-group-text:not(footer, footer *) {
    background: var(--cfy-t-surface-3) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    color: var(--cfy-t-ink-2) !important;
    border-radius: 0 !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .form-check-input:not(footer, footer *) { background-color: var(--cfy-t-surface-2) !important; border-color: var(--cfy-t-line-2) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .form-check-input:checked:not(footer, footer *) { background-color: var(--cfy-t-fill) !important; border-color: var(--cfy-t-fill-lo) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .custom-control-input:checked ~ .custom-control-label:not(footer, footer *)::before { background-color: var(--cfy-t-fill) !important; border-color: var(--cfy-t-fill-lo) !important; }

/* ── Boutons (outline success / danger / info = sémantique, conservés) ── */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.btn-primary, .btn-warning:not(.badge)):not(footer, footer *) {
    --bs-btn-bg: var(--cfy-t-fill); --bs-btn-border-color: var(--cfy-t-fill-lo); --bs-btn-color: var(--cfy-t-on-fill);
    --bs-btn-hover-bg: var(--cfy-t-fill-hi); --bs-btn-hover-border-color: var(--cfy-t-fill); --bs-btn-hover-color: var(--cfy-t-on-fill);
    --bs-btn-active-bg: var(--cfy-t-fill-lo); --bs-btn-focus-shadow-rgb: var(--cfy-t-fill-rgb);
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
    color: var(--cfy-t-on-fill) !important;
    border-radius: 0 !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.btn-primary, .btn-warning:not(.badge)):hover:not(footer, footer *) { background: var(--cfy-t-fill-hi) !important; color: var(--cfy-t-on-fill) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.btn-outline-primary, .btn-outline-warning):not(footer, footer *) {
    background: transparent !important;
    border: 1px solid var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
    border-radius: 0 !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.btn-outline-primary, .btn-outline-warning):hover:not(footer, footer *) { background: var(--cfy-t-fill) !important; border-color: var(--cfy-t-fill-lo) !important; color: var(--cfy-t-on-fill) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.btn-outline-light, .btn-light, .btn-secondary, .btn-dark, .btn-outline-secondary, .btn-dim.btn-outline-light, .btn-white):not(footer, footer *) {
    background: var(--cfy-t-surface) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    color: var(--cfy-t-ink-2) !important;
    border-radius: 0 !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.btn-outline-light, .btn-light, .btn-secondary, .btn-dark, .btn-outline-secondary, .btn-dim.btn-outline-light, .btn-white):hover:not(footer, footer *) {
    background: var(--cfy-t-surface-3) !important;
    border-color: var(--cfy-t-accent) !important;
    color: var(--cfy-t-accent) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .nk-block-tools :is(a, span):not(.btn):not(footer, footer *) { color: var(--cfy-t-ink-2) !important; }

/* ── Menus déroulants internes au contenu ── */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .dropdown-menu:not(footer, footer *) {
    background: var(--cfy-t-surface) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    color: var(--cfy-t-ink) !important;
    border-radius: 0 !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .dropdown-menu :is(li, li span, .link-list-opt a, .link-check a, .dropdown-item):not(footer, footer *) { color: var(--cfy-t-ink-2) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .dropdown-menu :is(.link-list-opt a, .link-check a, .dropdown-item):hover:not(footer, footer *) { background: var(--cfy-t-surface-3) !important; color: var(--cfy-t-accent) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .dropdown-menu :is(.link-check li.active a, .dropdown-item.active):not(footer, footer *) { color: var(--cfy-t-accent) !important; }

/* ── Onglets ── */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .nav-tabs:not(footer, footer *) { border-color: var(--cfy-t-line) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .nav-link:not(footer, footer *) { color: var(--cfy-t-muted) !important; border-radius: 0 !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .nav-link:hover:not(footer, footer *) { color: var(--cfy-t-accent) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .nav-link.active:not(footer, footer *) {
    color: var(--cfy-t-accent) !important;
    background: var(--cfy-t-surface) !important;
    border-color: var(--cfy-t-line) var(--cfy-t-line) var(--cfy-t-surface) !important;
    box-shadow: inset 0 2px 0 var(--cfy-t-fill) !important;
}

/* ── Badges (non sémantiques) et alertes ── */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .badge:is(.bg-primary, .bg-light, .bg-dark, .bg-secondary, .bg-outline-primary, .bg-outline-light, .badge-dim):not(footer, footer *) {
    background: var(--cfy-t-accent-soft) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), .3) !important;
    color: var(--cfy-t-accent) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .badge:not(footer, footer *) { border-radius: 0 !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) :is(.alert-info, .alert-primary, .alert-light, .alert-dark, .alert-secondary):not(footer, footer *) {
    background: var(--cfy-t-surface-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-left: 3px solid var(--cfy-t-fill) !important;
    color: var(--cfy-t-ink) !important;
    border-radius: 0 !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .alert-warning:not(footer, footer *) {
    background: var(--cfy-t-surface-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
    border-left: 3px solid #f4bd0e !important; /* sémantique : avertissement */
    color: var(--cfy-t-ink) !important;
    border-radius: 0 !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .alert :is(p, li, span):not(footer, footer *) { color: inherit; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .alert a:not(.btn):not(footer, footer *) { color: var(--cfy-t-accent) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) hr:not(footer, footer *) { border-color: var(--cfy-t-line) !important; opacity: 1; }

/* Page badge : blocs « Paramètres administrateurs » (.bg-gradient-warning-soft, #1a2332) et « Espace support »
   (.bg-gradient-success-soft) → surface du thème ; liseré accent / vert (support = succès, sémantique). */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .nk-wg1:is(.bg-gradient-warning-soft, .bg-gradient-success-soft):not(footer, footer *) {
    background: var(--cfy-t-surface-2) !important;
    border: 1px solid var(--cfy-t-line) !important;
    color: var(--cfy-t-ink) !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .nk-wg1.bg-gradient-warning-soft:not(footer, footer *) { border-left: 3px solid var(--cfy-t-fill) !important; }
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .nk-wg1.bg-gradient-success-soft:not(footer, footer *) { border-left: 3px solid #1ee0ac !important; }
/* Page badge : palier « Annonces restreintes » en .btn-outline-info (bleu) → orange du palier restreint
   (charte : restreint #ff9800, comme le liseré des onglets publisher). */
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .page-dash-badge-typology .btn-outline-info:not(footer, footer *),
html body.page-group-dash.page-dash-badge-typology[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .btn-outline-info:not(footer, footer *) {
    color: #ff9800 !important;
    border-color: #ff9800 !important;
    background: transparent !important;
}
html body.page-group-dash[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .page-dash-badge-typology .btn-outline-info:hover:not(footer, footer *),
html body.page-group-dash.page-dash-badge-typology[class*="cfy-ht-"] .nk-content:not(#cfy-b1) .btn-outline-info:hover:not(footer, footer *) {
    background: #ff9800 !important;
    color: #1a0f00 !important;
}

/* ── En-tête de page en tête de contenu : la gouttière négative de sa rangée d'outils ne la remonte plus
   vers le header (la plaque du logo qui déborde garde 5px de dégagement) ── */
html body.page-group-dash .nk-content .nk-content-wrap > .nk-block-head:first-child .nk-block-tools[class*="g-"] {
    margin-top: 0;
}

/* ═══ commercify_theme_swatches.css ═══ */
/* Fichier généré, ne pas éditer à la main. */

.cfy-sw-gold { --cfy-sw-bg: linear-gradient(135deg, #5a4300 0%, #3a2b00 55%, #2a1f00 100%); --cfy-sw-accent: #FFD34D; }  /* Or */
.cfy-sw-orange { --cfy-sw-bg: linear-gradient(135deg, #6e2c00 0%, #4a1d00 55%, #361500 100%); --cfy-sw-accent: #FFA255; }  /* Orange */
.cfy-sw-blue { --cfy-sw-bg: linear-gradient(135deg, #2450e6 0%, #1a3cc0 50%, #122b93 100%); --cfy-sw-accent: #C9D6FF; }  /* Bleu */
.cfy-sw-emerald { --cfy-sw-bg: linear-gradient(135deg, #067a56 0%, #055c42 55%, #044531 100%); --cfy-sw-accent: #8BF5CB; }  /* Émeraude */
.cfy-sw-ruby { --cfy-sw-bg: linear-gradient(135deg, #a0163a 0%, #7c0f2c 55%, #5a0a1f 100%); --cfy-sw-accent: #FFB3C4; }  /* Rubis */
.cfy-sw-amethyst { --cfy-sw-bg: linear-gradient(135deg, #6d2fd6 0%, #5220a8 55%, #3b1680 100%); --cfy-sw-accent: #DCC5FF; }  /* Améthyste */
.cfy-sw-lagoon { --cfy-sw-bg: linear-gradient(135deg, #087a8b 0%, #077183 55%, #055664 100%); --cfy-sw-accent: #9DF2FB; }  /* Lagon */
.cfy-sw-graphite { --cfy-sw-bg: linear-gradient(135deg, #4a5260 0%, #363d49 55%, #272c35 100%); --cfy-sw-accent: #FFFFFF; }  /* Graphite */
.cfy-sw-navy-coral { --cfy-sw-bg: linear-gradient(135deg, #2e498a 0%, #12307a 55%, #0d2358 100%); --cfy-sw-accent: #FF7A6B; }  /* Marine & Corail */
.cfy-sw-bordeaux-champagne { --cfy-sw-bg: linear-gradient(135deg, #7d2d49 0%, #6b1030 55%, #4d0c23 100%); --cfy-sw-accent: #EBCB7A; }  /* Bordeaux & Champagne */
.cfy-sw-forest-lemon { --cfy-sw-bg: linear-gradient(135deg, #2e6244 0%, #114d2a 55%, #0c371e 100%); --cfy-sw-accent: #E8F23A; }  /* Forêt & Citron */
.cfy-sw-aubergine-mint { --cfy-sw-bg: linear-gradient(135deg, #60316e 0%, #4a155a 55%, #350f41 100%); --cfy-sw-accent: #7FF2C8; }  /* Aubergine & Menthe */
.cfy-sw-petrol-peach { --cfy-sw-bg: linear-gradient(135deg, #286069 0%, #0b4a55 55%, #08353d 100%); --cfy-sw-accent: #FFB38A; }  /* Pétrole & Pêche */
.cfy-sw-cocoa-turquoise { --cfy-sw-bg: linear-gradient(135deg, #604434 0%, #4a2a18 55%, #351e11 100%); --cfy-sw-accent: #3FE0D0; }  /* Cacao & Turquoise */
.cfy-sw-indigo-lime { --cfy-sw-bg: linear-gradient(135deg, #44338f 0%, #2a1780 55%, #1e115c 100%); --cfy-sw-accent: #B5ED1D; }  /* Indigo & Citron vert */
.cfy-sw-carbon-scarlet { --cfy-sw-bg: linear-gradient(135deg, #353538 0%, #1a1a1d 55%, #131315 100%); --cfy-sw-accent: #FF5533; }  /* Carbone & Écarlate */
.cfy-sw-olive-fuchsia { --cfy-sw-bg: linear-gradient(135deg, #4b4e27 0%, #33360a 55%, #252707 100%); --cfy-sw-accent: #FF7ACB; }  /* Olive & Fuchsia */
.cfy-sw-cobalt-sun { --cfy-sw-bg: linear-gradient(135deg, #305ccf 0%, #1446c8 55%, #0e3290 100%); --cfy-sw-accent: #FFD60A; }  /* Cobalt & Soleil */
.cfy-sw-terracotta-azure { --cfy-sw-bg: linear-gradient(135deg, #8a472d 0%, #7a2e10 55%, #58210c 100%); --cfy-sw-accent: #6FD0FF; }  /* Terre cuite & Azur */
.cfy-sw-fir-rose { --cfy-sw-bg: linear-gradient(135deg, #2c5c4e 0%, #0f4636 55%, #0b3227 100%); --cfy-sw-accent: #FF9CC2; }  /* Sapin & Rose */
.cfy-sw-plum-apricot { --cfy-sw-bg: linear-gradient(135deg, #6e305c 0%, #5a1446 55%, #410e32 100%); --cfy-sw-accent: #FFC08A; }  /* Prune & Abricot */
.cfy-sw-midnight-cyan { --cfy-sw-bg: linear-gradient(135deg, #2b3265 0%, #0e1650 55%, #0a103a 100%); --cfy-sw-accent: #22E8FF; }  /* Minuit & Cyan */
.cfy-sw-khaki-tangerine { --cfy-sw-bg: linear-gradient(135deg, #5b5939 0%, #45421e 55%, #323016 100%); --cfy-sw-accent: #FFA23F; }  /* Kaki & Mandarine */
.cfy-sw-royal-vanilla { --cfy-sw-bg: linear-gradient(135deg, #6f3ab1 0%, #5b1fa6 55%, #421678 100%); --cfy-sw-accent: #FFEFC2; }  /* Violet royal & Vanille */
.cfy-sw-crimson-snow { --cfy-sw-bg: linear-gradient(135deg, #ae2e39 0%, #a3121e 55%, #750d16 100%); --cfy-sw-accent: #FFFFFF; }  /* Cramoisi & Neige */
.cfy-sw-slate-neon { --cfy-sw-bg: linear-gradient(135deg, #47576b 0%, #2e4057 55%, #212e3f 100%); --cfy-sw-accent: #6CFF6C; }  /* Ardoise & Vert néon */
.cfy-sw-raspberry-ice { --cfy-sw-bg: linear-gradient(135deg, #9a326a 0%, #8c1656 55%, #65103e 100%); --cfy-sw-accent: #A8F3FF; }  /* Framboise & Glacier */
.cfy-sw-magenta-mimosa { --cfy-sw-bg: linear-gradient(135deg, #8a2985 0%, #7a0c74 55%, #580954 100%); --cfy-sw-accent: #FFE14D; }  /* Magenta & Mimosa */
.cfy-sw-brick-cream { --cfy-sw-bg: linear-gradient(135deg, #ad5726 0%, #a8430a 55%, #793007 100%); --cfy-sw-accent: #FFF1D6; }  /* Brique & Crème */
.cfy-sw-bronze-lilac { --cfy-sw-bg: linear-gradient(135deg, #71572d 0%, #5e4010 55%, #442e0c 100%); --cfy-sw-accent: #D9C2FF; }  /* Bronze & Lilas */
.cfy-sw-moss-sky { --cfy-sw-bg: linear-gradient(135deg, #536e29 0%, #3b5a0c 55%, #2a4109 100%); --cfy-sw-accent: #9ADCFF; }  /* Mousse & Ciel */
.cfy-sw-wine-sage { --cfy-sw-bg: linear-gradient(135deg, #552935 0%, #3e0c1a 55%, #2d0913 100%); --cfy-sw-accent: #B9D7A8; }  /* Lie-de-vin & Sauge */
.cfy-sw-steel-orchid { --cfy-sw-bg: linear-gradient(135deg, #455260 0%, #2c3a4a 55%, #202a35 100%); --cfy-sw-accent: #FF7AE6; }  /* Acier & Orchidée */

body.dark-mode .cfy-sw-gold { --cfy-sw-bg: #000000; --cfy-sw-accent: #F5C31C; }
body.dark-mode .cfy-sw-orange { --cfy-sw-bg: linear-gradient(180deg, #160b04 0%, #0d0703 100%); --cfy-sw-accent: #FF7F11; }
body.dark-mode .cfy-sw-blue { --cfy-sw-bg: linear-gradient(180deg, #070c1d 0%, #04081a 100%); --cfy-sw-accent: #4D7BFF; }
body.dark-mode .cfy-sw-emerald { --cfy-sw-bg: linear-gradient(180deg, #04130d 0%, #020c08 100%); --cfy-sw-accent: #1FCB8B; }
body.dark-mode .cfy-sw-ruby { --cfy-sw-bg: linear-gradient(180deg, #14050a 0%, #0c0306 100%); --cfy-sw-accent: #F0385F; }
body.dark-mode .cfy-sw-amethyst { --cfy-sw-bg: linear-gradient(180deg, #0f0718 0%, #090410 100%); --cfy-sw-accent: #A66BFF; }
body.dark-mode .cfy-sw-lagoon { --cfy-sw-bg: linear-gradient(180deg, #03121a 0%, #020b10 100%); --cfy-sw-accent: #19C3D6; }
body.dark-mode .cfy-sw-graphite { --cfy-sw-bg: linear-gradient(180deg, #16181c 0%, #0e1013 100%); --cfy-sw-accent: #E6E9EE; }
body.dark-mode .cfy-sw-navy-coral { --cfy-sw-bg: linear-gradient(180deg, #09173a 0%, #060f26 100%); --cfy-sw-accent: #FF7A6B; }
body.dark-mode .cfy-sw-bordeaux-champagne { --cfy-sw-bg: linear-gradient(180deg, #3a091a 0%, #260611 100%); --cfy-sw-accent: #EBCB7A; }
body.dark-mode .cfy-sw-forest-lemon { --cfy-sw-bg: linear-gradient(180deg, #0c361e 0%, #082314 100%); --cfy-sw-accent: #E8F23A; }
body.dark-mode .cfy-sw-aubergine-mint { --cfy-sw-bg: linear-gradient(180deg, #2c0d36 0%, #1d0823 100%); --cfy-sw-accent: #7FF2C8; }
body.dark-mode .cfy-sw-petrol-peach { --cfy-sw-bg: linear-gradient(180deg, #08333b 0%, #052126 100%); --cfy-sw-accent: #FFB38A; }
body.dark-mode .cfy-sw-cocoa-turquoise { --cfy-sw-bg: linear-gradient(180deg, #321c10 0%, #20120a 100%); --cfy-sw-accent: #3FE0D0; }
body.dark-mode .cfy-sw-indigo-lime { --cfy-sw-bg: linear-gradient(180deg, #120a38 0%, #0c0624 100%); --cfy-sw-accent: #B5ED1D; }
body.dark-mode .cfy-sw-carbon-scarlet { --cfy-sw-bg: linear-gradient(180deg, #1f1f23 0%, #141417 100%); --cfy-sw-accent: #FF5533; }
body.dark-mode .cfy-sw-olive-fuchsia { --cfy-sw-bg: linear-gradient(180deg, #35380a 0%, #222406 100%); --cfy-sw-accent: #FF7ACB; }
body.dark-mode .cfy-sw-cobalt-sun { --cfy-sw-bg: linear-gradient(180deg, #07153c 0%, #050e27 100%); --cfy-sw-accent: #FFD60A; }
body.dark-mode .cfy-sw-terracotta-azure { --cfy-sw-bg: linear-gradient(180deg, #3b1608 0%, #260e05 100%); --cfy-sw-accent: #6FD0FF; }
body.dark-mode .cfy-sw-fir-rose { --cfy-sw-bg: linear-gradient(180deg, #0c372a 0%, #08241b 100%); --cfy-sw-accent: #FF9CC2; }
body.dark-mode .cfy-sw-plum-apricot { --cfy-sw-bg: linear-gradient(180deg, #360c2a 0%, #23081b 100%); --cfy-sw-accent: #FFC08A; }
body.dark-mode .cfy-sw-midnight-cyan { --cfy-sw-bg: linear-gradient(180deg, #0a1038 0%, #060a24 100%); --cfy-sw-accent: #22E8FF; }
body.dark-mode .cfy-sw-khaki-tangerine { --cfy-sw-bg: linear-gradient(180deg, #2e2c14 0%, #1e1d0d 100%); --cfy-sw-accent: #FFA23F; }
body.dark-mode .cfy-sw-royal-vanilla { --cfy-sw-bg: linear-gradient(180deg, #1f0a38 0%, #140624 100%); --cfy-sw-accent: #FFEFC2; }
body.dark-mode .cfy-sw-crimson-snow { --cfy-sw-bg: linear-gradient(180deg, #3c070b 0%, #270507 100%); --cfy-sw-accent: #FFFFFF; }
body.dark-mode .cfy-sw-slate-neon { --cfy-sw-bg: linear-gradient(180deg, #17202b 0%, #0f151c 100%); --cfy-sw-accent: #6CFF6C; }
body.dark-mode .cfy-sw-raspberry-ice { --cfy-sw-bg: linear-gradient(180deg, #390923 0%, #250617 100%); --cfy-sw-accent: #A8F3FF; }
body.dark-mode .cfy-sw-magenta-mimosa { --cfy-sw-bg: linear-gradient(180deg, #3c0739 0%, #270525 100%); --cfy-sw-accent: #FFE14D; }
body.dark-mode .cfy-sw-brick-cream { --cfy-sw-bg: linear-gradient(180deg, #3c1a07 0%, #271105 100%); --cfy-sw-accent: #FFF1D6; }
body.dark-mode .cfy-sw-bronze-lilac { --cfy-sw-bg: linear-gradient(180deg, #39270a 0%, #251906 100%); --cfy-sw-accent: #D9C2FF; }
body.dark-mode .cfy-sw-moss-sky { --cfy-sw-bg: linear-gradient(180deg, #263a08 0%, #192605 100%); --cfy-sw-accent: #9ADCFF; }
body.dark-mode .cfy-sw-wine-sage { --cfy-sw-bg: linear-gradient(180deg, #380b17 0%, #24070f 100%); --cfy-sw-accent: #B9D7A8; }
body.dark-mode .cfy-sw-steel-orchid { --cfy-sw-bg: linear-gradient(180deg, #19212a 0%, #10151b 100%); --cfy-sw-accent: #FF7AE6; }

/* ═══ commercify_catbar_dropdowns.css ═══ */

/* ---------------------------------------------------------------------------
   Conteneur : ancre du panneau (pleine largeur de la zone catalogues)
   --------------------------------------------------------------------------- */
.cfy-vignettes-pre-banner {
    position: relative;
    z-index: 30;
}

.cfy-catbar {
    display: flex;
    align-items: center;
    gap: var(--cfy-sp-2, 8px);
    flex-wrap: nowrap;
}

.cfy-catbar-item {
    position: relative;
    display: flex;
}

/* ---------------------------------------------------------------------------
   Boutons de la barre
   --------------------------------------------------------------------------- */
.cfy-catbar-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2, 8px);
    height: var(--cfy-ctl-sm, 32px);
    padding: 0 var(--cfy-sp-3, 12px);
    margin: 0;
    background: var(--cfy-hr-pill-bg);
    color: var(--cfy-tx-hd-ink-2, var(--cfy-hr-ink-2));
    border: 1px solid var(--cfy-hr-ph-line-2);
    border-radius: 0;
    box-shadow: none;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: color 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

.cfy-catbar-btn--icon {
    width: var(--cfy-ctl-sm, 32px);
    padding: 0;
    justify-content: center;
}

.cfy-catbar-svg {
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
}

.cfy-catbar-btn .cfy-catbar-svg {
    width: 16px;
    height: 16px;
}

.cfy-catbar-chevron {
    display: inline-flex;
    margin-inline-start: calc(-1 * var(--cfy-sp-1, 4px));
    opacity: 0.7;
    transition: transform 120ms ease;
}

.cfy-catbar-chevron .cfy-catbar-svg {
    width: 12px;
    height: 12px;
}

.cfy-catbar-btn:hover,
.cfy-catbar-btn:focus-visible,
.cfy-catbar-btn.is-open {
    color: var(--cfy-hr-accent-text);
    border-color: var(--cfy-hr-accent);
    background: var(--cfy-hr-ph-hover);
    outline: none;
}

.cfy-catbar-btn.is-open {
    box-shadow: inset 0 -2px 0 var(--cfy-hr-accent);
}

.cfy-catbar-btn.is-open .cfy-catbar-chevron {
    transform: rotate(180deg);
    opacity: 1;
}

/* ---------------------------------------------------------------------------
   Panneau Options : même standard que le panneau de l'assistant
   (surfaces du thème, en-tête à la teinte du header, fixe sous son bouton : position posée par le script)
   --------------------------------------------------------------------------- */
.cfy-catbar-panel {
    /* Le panneau a une surface de thème (claire en mode clair) : les rôles de texte, rebranchés sur
       la teinte du header dans la zone catalogues, reviennent ici aux couleurs des surfaces */
    --cfy-tx-ink: var(--cfy-t-ink);
    --cfy-tx-ink-2: var(--cfy-t-ink-2);
    --cfy-tx-muted: var(--cfy-t-muted);
    --cfy-tx-faint: var(--cfy-t-faint);
    --cfy-tx-link: var(--cfy-t-accent);
    --cfy-tx-accent-strong: var(--cfy-t-accent);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1040; /* au-dessus du header fixe, sous les modales */
    overscroll-behavior: contain;
    display: flex;
    flex-direction: column;
    /* Menu vertical + 3 colonnes de cartes (3 x 272px + 2 intervalles + marges intérieures + bordures) */
    --cfy-catbar-vnav-w: 212px;
    width: calc(var(--cfy-catbar-vnav-w) + 3 * 272px + 4 * var(--cfy-sp-3, 12px) + 3px);
    max-width: calc(100vw - 16px);
    max-height: 720px;
    background: var(--cfy-t-surface);
    color: var(--cfy-t-ink);
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
    box-shadow: var(--cfy-t-shadow, 0 24px 60px -18px rgba(0, 0, 0, 0.5));
    text-align: start;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 120ms ease, transform 120ms ease;
}

.cfy-catbar-panel[hidden] {
    display: none;
}

.cfy-catbar-panel.is-open {
    opacity: 1;
    transform: none;
}

body.performance-mode .cfy-catbar-panel,
body.performance-mode .cfy-catbar-btn,
body.performance-mode .cfy-catbar-chevron,
body.performance-mode .cfy-catbar-card,
body.performance-mode .cfy-catbar-switch-dot {
    transition: none;
}

@media (prefers-reduced-motion: reduce) {
    .cfy-catbar-panel,
    .cfy-catbar-btn,
    .cfy-catbar-chevron,
    .cfy-catbar-card,
    .cfy-catbar-switch-dot {
        transition: none;
    }
}

/* En-tête : titre + action Exporter, sur la teinte du header */
.cfy-catbar-mega-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cfy-sp-3, 12px);
    flex: 0 0 auto;
    min-height: 48px;
    padding: 0 var(--cfy-sp-3, 12px);
    background: var(--cfy-hr-hd-bg);
    border-bottom: 1px solid var(--cfy-hr-rule, var(--cfy-t-line-2));
}

.cfy-catbar-mega-title {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2, 8px);
    color: var(--cfy-tx-hd-ink, var(--cfy-hr-ink));
    font-size: var(--cfy-fs-md);
    font-weight: var(--cfy-fw-bold);
}

.cfy-catbar-mega-title .cfy-catbar-svg {
    width: 16px;
    height: 16px;
    color: var(--cfy-hr-accent-text, var(--cfy-hr-accent));
}

/* Menu vertical : un métier par ligne, trait d'accent sur le menu actif */
.cfy-catbar-vnav {
    flex: 0 0 var(--cfy-catbar-vnav-w);
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: var(--cfy-sp-2, 8px) 0;
    background: var(--cfy-t-surface-2);
    border-inline-end: 1px solid var(--cfy-t-line);
    scrollbar-width: thin;
}

.cfy-catbar-vnav-list {
    display: flex;
    flex-direction: column;
}

.cfy-catbar-vnav-item {
    display: flex;
    align-items: center;
    gap: var(--cfy-sp-3, 12px);
    width: 100%;
    min-height: 40px;
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px);
    margin: 0;
    background: transparent;
    color: var(--cfy-tx-ink-2, var(--cfy-t-ink-2));
    border: 0;
    border-inline-start: 3px solid transparent;
    border-radius: 0;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-medium);
    line-height: var(--cfy-lh-snug);
    text-align: start;
    cursor: pointer;
}

.cfy-catbar-vnav-item .cfy-catbar-svg {
    width: 16px;
    height: 16px;
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
}

.cfy-catbar-vnav-item:hover,
.cfy-catbar-vnav-item:focus-visible {
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    background: var(--cfy-t-surface-3);
    outline: none;
}

.cfy-catbar-vnav-item.is-active {
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    background: rgba(var(--cfy-t-fill-rgb), 0.12);
    border-inline-start-color: var(--cfy-t-fill);
    font-weight: var(--cfy-fw-semibold);
}

.cfy-catbar-vnav-item.is-active .cfy-catbar-svg {
    color: var(--cfy-t-accent);
}

/* Colonne de droite : un bloc par menu (titre, description, onglets, zone) */
.cfy-catbar-menus {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--cfy-t-surface);
    scrollbar-width: thin;
}

.cfy-catbar-menu {
    display: none;
}

.cfy-catbar-menu.is-active {
    display: block;
}

.cfy-catbar-menu-head {
    padding: var(--cfy-sp-3, 12px) var(--cfy-sp-3, 12px) var(--cfy-sp-2, 8px);
}

.cfy-catbar-menu-title {
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    font-size: var(--cfy-fs-lg);
    font-weight: var(--cfy-fw-bold);
    line-height: var(--cfy-lh-snug);
}

.cfy-catbar-menu-desc {
    margin: 2px 0 0;
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-sm);
    line-height: var(--cfy-lh-snug);
}

/* Onglets du menu actif, sur la surface du panneau */
.cfy-catbar-tabs {
    display: flex;
    align-items: stretch;
    min-width: 0;
    padding: 0 var(--cfy-sp-3, 12px);
    overflow-x: auto;
    overscroll-behavior: contain;
    border-bottom: 1px solid var(--cfy-t-line);
    scrollbar-width: thin;
}

.cfy-catbar-tab {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px);
    margin: 0;
    background: transparent;
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    border: 0;
    border-radius: 0;
    box-shadow: inset 0 -2px 0 transparent;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    white-space: nowrap;
    cursor: pointer;
}

.cfy-catbar-tab:hover,
.cfy-catbar-tab:focus-visible {
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    background: var(--cfy-t-surface-2);
    outline: none;
}

.cfy-catbar-tab.is-active {
    color: var(--cfy-t-accent);
    box-shadow: inset 0 -2px 0 var(--cfy-t-fill);
}

.cfy-catbar-mega-action {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2, 8px);
    flex: 0 0 auto;
    align-self: center;
    height: var(--cfy-ctl-sm, 32px);
    padding: 0 var(--cfy-sp-3, 12px);
    background: transparent;
    color: var(--cfy-hr-accent-text, var(--cfy-hr-accent));
    border: 1px solid rgba(var(--cfy-hr-accent-rgb), 0.6);
    border-radius: 0;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    white-space: nowrap;
    cursor: pointer;
}

.cfy-catbar-mega-action .cfy-catbar-svg {
    width: 16px;
    height: 16px;
}

.cfy-catbar-mega-action:hover,
.cfy-catbar-mega-action:focus-visible {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo));
    color: var(--cfy-hr-on-flat);
    border-color: var(--cfy-hr-flat-lo);
    outline: none;
}

/* Corps : menu vertical + colonne du menu actif (chacun défile seul) */
.cfy-catbar-mega-body {
    display: flex;
    flex: 1 1 auto;
    min-height: min(440px, 55vh); /* hauteur stable d'un menu à l'autre */
    background: var(--cfy-t-surface);
}

.cfy-catbar-zone {
    display: none;
}

.cfy-catbar-zone.is-active {
    display: grid;
    padding: var(--cfy-sp-3, 12px);
    grid-template-columns: repeat(3, minmax(0, 272px));
    gap: var(--cfy-sp-3, 12px);
    align-items: start;
}

/* ---------------------------------------------------------------------------
   Groupe (carte) et tuiles
   --------------------------------------------------------------------------- */
.cfy-catbar-group {
    padding: var(--cfy-sp-3, 12px);
    background: var(--cfy-t-surface-2);
    border: 1px solid var(--cfy-t-line);
    border-radius: 0;
}

.cfy-catbar-group--wide {
    grid-column: 1 / -1;
}

.cfy-catbar-group-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--cfy-sp-2, 8px);
    margin-bottom: var(--cfy-sp-3, 12px);
    color: var(--cfy-tx-ink-2, var(--cfy-t-ink-2));
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    letter-spacing: var(--cfy-ls-caps);
    text-transform: uppercase;
}

.cfy-catbar-group-value {
    color: var(--cfy-t-accent);
    text-transform: none;
    letter-spacing: normal;
    font-weight: var(--cfy-fw-semibold);
}

.cfy-catbar-choices {
    display: grid;
    gap: var(--cfy-sp-2, 8px);
}

.cfy-catbar-choices--1 { grid-template-columns: 1fr; }
/* 2 ou 3 choix côte à côte, avec passage à la ligne plutôt qu'un mot coupé */
.cfy-catbar-choices--2 { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); }
.cfy-catbar-choices--3 { grid-template-columns: repeat(auto-fit, minmax(72px, 1fr)); }
.cfy-catbar-choices--3:has(.cfy-catbar-card--text) { grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); }
.cfy-catbar-choices--chips { grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)); }
.cfy-catbar-choices--list { grid-template-columns: 1fr; gap: var(--cfy-sp-1, 4px); }

.cfy-catbar-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--cfy-sp-1, 4px);
    min-height: 60px;
    padding: var(--cfy-sp-2, 8px);
    margin: 0;
    background: var(--cfy-t-surface);
    color: var(--cfy-tx-ink-2, var(--cfy-t-ink-2));
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
    font-family: inherit;
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-medium);
    line-height: var(--cfy-lh-snug);
    text-align: center;
    overflow-wrap: break-word;
    hyphens: manual;
    cursor: pointer;
    transition: color 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

.cfy-catbar-card--text {
    min-height: 42px;
    font-size: var(--cfy-fs-sm);
}

.cfy-catbar-card--chip {
    min-height: 34px;
    padding: var(--cfy-sp-1, 4px);
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    font-variant-numeric: tabular-nums;
}

.cfy-catbar-card-icon {
    display: inline-flex;
}

.cfy-catbar-card .cfy-catbar-card-icon .cfy-catbar-svg {
    width: 20px;
    height: 20px;
}

.cfy-catbar-card:hover:not(:disabled):not(.is-active),
.cfy-catbar-card:focus-visible {
    color: var(--cfy-t-accent);
    border-color: var(--cfy-t-accent);
    background: var(--cfy-t-surface-3);
    outline: none;
}

/* Pastille coche : visible uniquement sur la valeur sélectionnée */
.cfy-catbar-check {
    position: absolute;
    top: -1px;
    inset-inline-end: -1px;
    display: none;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
}

.cfy-catbar-check .cfy-catbar-svg {
    width: 12px;
    height: 12px;
    stroke-width: 3;
}

.cfy-catbar-card.is-active {
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    background: rgba(var(--cfy-t-fill-rgb), 0.12);
    border-color: var(--cfy-t-accent);
    box-shadow: inset 0 -2px 0 var(--cfy-t-fill);
    cursor: default;
}

.cfy-catbar-card.is-active .cfy-catbar-card-icon {
    color: var(--cfy-t-accent);
}

.cfy-catbar-card.is-active .cfy-catbar-check {
    display: inline-flex;
}

.cfy-catbar-card:disabled,
.cfy-catbar-card.is-disabled {
    color: var(--cfy-tx-faint, var(--cfy-t-faint));
    background: transparent;
    border-color: var(--cfy-t-line);
    box-shadow: none;
    cursor: not-allowed;
}

.cfy-catbar-card.is-disabled.is-active .cfy-catbar-check {
    background: var(--cfy-t-faint);
}

/* Valeur appliquée temporairement à la page (cochée en retrait) : pointillés, coche en creux, reste cliquable */
.cfy-catbar-card.cfy-catbar-card--temp {
    color: var(--cfy-tx-ink-2, var(--cfy-t-ink-2));
    background: rgba(var(--cfy-t-fill-rgb), 0.05);
    border: 1px dashed var(--cfy-t-accent);
    box-shadow: none;
}

.cfy-catbar-card.cfy-catbar-card--temp .cfy-catbar-card-icon {
    color: var(--cfy-t-accent);
    opacity: 0.7;
}

.cfy-catbar-card.cfy-catbar-card--temp .cfy-catbar-check {
    display: inline-flex;
    background: var(--cfy-t-surface);
    color: var(--cfy-t-accent);
    border: 1px dashed var(--cfy-t-accent);
    border-radius: 0;
}

.cfy-catbar-card.cfy-catbar-card--temp:hover:not(:disabled),
.cfy-catbar-card.cfy-catbar-card--temp:focus-visible {
    border-style: solid;
    background: var(--cfy-t-surface-3);
}

.cfy-catbar-card.cfy-catbar-card--temp:hover:not(:disabled) .cfy-catbar-card-icon,
.cfy-catbar-card.cfy-catbar-card--temp:focus-visible .cfy-catbar-card-icon {
    opacity: 1;
}

/* ---------------------------------------------------------------------------
   Interrupteurs
   --------------------------------------------------------------------------- */
.cfy-catbar-card--switch {
    flex-direction: row;
    justify-content: flex-start;
    gap: var(--cfy-sp-3, 12px);
    min-height: 42px;
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px);
    font-size: var(--cfy-fs-sm);
    text-align: start;
}

.cfy-catbar-card--switch .cfy-catbar-card-icon .cfy-catbar-svg {
    width: 18px;
    height: 18px;
}

.cfy-catbar-card--switch .cfy-catbar-card-label {
    flex: 1 1 auto;
}

.cfy-catbar-switch {
    position: relative;
    flex: 0 0 auto;
    width: 38px;
    height: 20px;
    background: var(--cfy-t-surface-3);
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
}

.cfy-catbar-switch-dot {
    position: absolute;
    top: 2px;
    inset-inline-start: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    background: var(--cfy-t-muted);
    color: transparent;
    transition: inset-inline-start 120ms ease, background-color 120ms ease;
}

.cfy-catbar-switch-dot .cfy-catbar-svg {
    width: 10px;
    height: 10px;
    stroke-width: 3.5;
}

.cfy-catbar-card--switch.is-on {
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    border-color: rgba(var(--cfy-t-accent-rgb), 0.55);
}

.cfy-catbar-card--switch.is-on .cfy-catbar-card-icon {
    color: var(--cfy-t-accent);
}

.cfy-catbar-card--switch.is-on .cfy-catbar-switch {
    background: var(--cfy-t-fill);
    border-color: var(--cfy-t-fill-lo);
}

.cfy-catbar-card--switch.is-on .cfy-catbar-switch-dot {
    inset-inline-start: 20px;
    background: var(--cfy-t-on-fill);
    color: var(--cfy-t-fill);
}

.cfy-catbar-card--switch.is-disabled .cfy-catbar-switch {
    opacity: 0.45;
}

/* ---------------------------------------------------------------------------
   Pastilles de thème (couleurs du thème représenté)
   --------------------------------------------------------------------------- */
.cfy-catbar-swatches {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(38px, 1fr));
    gap: var(--cfy-sp-1, 4px);
}

.cfy-catbar-swatch {
    position: relative;
    height: 32px;
    padding: 0;
    margin: 0;
    background: var(--cfy-sw-bg, var(--cfy-t-surface-3));
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
    cursor: pointer;
    overflow: hidden;
}

.cfy-catbar-swatch-accent {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 9px;
    background: var(--cfy-sw-accent, var(--cfy-t-fill));
}

.cfy-catbar-swatch:hover,
.cfy-catbar-swatch:focus-visible {
    border-color: var(--cfy-t-ink);
    outline: none;
}

.cfy-catbar-swatch.is-active {
    border: 2px solid var(--cfy-t-accent);
    box-shadow: 0 0 0 1px var(--cfy-t-surface-2), 0 0 0 3px var(--cfy-t-accent);
    cursor: default;
}

.cfy-catbar-swatch .cfy-catbar-check {
    top: 0;
    inset-inline-end: 0;
    width: 14px;
    height: 14px;
}

.cfy-catbar-swatch .cfy-catbar-check .cfy-catbar-svg {
    width: 10px;
    height: 10px;
}

.cfy-catbar-swatch.is-active .cfy-catbar-check {
    display: inline-flex;
}

/* ---------------------------------------------------------------------------
   Zones de texte de guidage : bandeau d'onglet, note de groupe, pied
   --------------------------------------------------------------------------- */
/* Bandeau en tête d'onglet : point, titre court en capitales, phrase */
.cfy-catbar-lead {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: var(--cfy-sp-3, 12px);
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px);
    background: rgba(var(--cfy-t-fill-rgb), 0.08);
    border: 1px solid rgba(var(--cfy-t-fill-rgb), 0.35);
    border-inline-start: 3px solid var(--cfy-t-fill);
    border-radius: 0;
    color: var(--cfy-tx-ink-2, var(--cfy-t-ink-2));
    font-size: var(--cfy-fs-sm);
    line-height: var(--cfy-lh-body);
}

.cfy-catbar-lead-dot {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-top: 6px;
    background: var(--cfy-t-fill);
}

.cfy-catbar-lead-txt b {
    display: block;
    margin-bottom: 2px;
    color: var(--cfy-t-accent);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-bold);
    letter-spacing: var(--cfy-ls-caps);
    text-transform: uppercase;
}

.cfy-catbar-lead-warn {
    display: block;
    margin-top: var(--cfy-sp-1, 4px);
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    font-weight: var(--cfy-fw-semibold);
}

/* Variante « indisponible » : bordure pointillée, point atténué */
.cfy-catbar-lead.is-warn {
    background: var(--cfy-t-surface-2);
    border-style: dashed;
    border-color: var(--cfy-t-line-2);
    border-inline-start: 3px solid var(--cfy-t-muted);
}

.cfy-catbar-lead.is-warn .cfy-catbar-lead-dot {
    background: var(--cfy-t-muted);
}

/* Note sous le titre d'un groupe */
.cfy-catbar-group-title:has(+ .cfy-catbar-group-note) {
    margin-bottom: var(--cfy-sp-1, 4px);
}

.cfy-catbar-group-note {
    margin-bottom: var(--cfy-sp-3, 12px);
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-regular);
    line-height: var(--cfy-lh-snug);
}

/* Ascenseur numérique (marge du bloc des vignettes) : valeur courante, piste, repères ; aucun effet coûteux */
.cfy-catbar-group-title label {
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: default;
}
.cfy-catbar-range-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--cfy-sp-1, 4px);
}
.cfy-catbar-range-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cfy-sp-2, 8px);
}
.cfy-catbar-range-reset {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-1, 4px);
    padding: 2px var(--cfy-sp-2, 8px);
    border: 1px solid var(--cfy-t-line);
    border-radius: 0;
    background: transparent;
    color: var(--cfy-t-accent);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    cursor: pointer;
}
.cfy-catbar-range-reset:hover:not(:disabled) {
    border-color: var(--cfy-t-accent);
}
.cfy-catbar-range-reset:focus-visible {
    outline: 2px solid var(--cfy-t-accent);
    outline-offset: 2px;
}
.cfy-catbar-range-reset:disabled {
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    cursor: default;
    opacity: .6;
}
.cfy-catbar-range-out {
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    font-variant-numeric: tabular-nums;
}
.cfy-catbar-range {
    width: 100%;
    margin: 0;
    accent-color: var(--cfy-t-accent);
    cursor: pointer;
}
.cfy-catbar-range:focus-visible {
    outline: 2px solid var(--cfy-t-accent);
    outline-offset: 2px;
}
.cfy-catbar-range-scale,
.cfy-catbar-range-legend {
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-caption);
    line-height: var(--cfy-lh-snug);
}
.cfy-catbar-range-scale {
    display: flex;
    justify-content: space-between;
    font-variant-numeric: tabular-nums;
}
.cfy-catbar-range-legend b {
    color: var(--cfy-t-accent);
    font-weight: var(--cfy-fw-semibold);
}

/* Pied du panneau : légende de la coche + mémorisation des choix */
.cfy-catbar-mega-foot {
    display: flex;
    align-items: center;
    gap: var(--cfy-sp-3, 12px);
    flex: 0 0 auto;
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px);
    background: var(--cfy-t-surface-2);
    border-top: 1px solid var(--cfy-t-line);
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-caption);
    line-height: var(--cfy-lh-snug);
}

.cfy-catbar-foot-legend {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2, 8px);
    flex: 0 0 auto;
    color: var(--cfy-tx-ink-2, var(--cfy-t-ink-2));
    font-weight: var(--cfy-fw-semibold);
}

.cfy-catbar-foot-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
}

.cfy-catbar-foot-check .cfy-catbar-svg {
    width: 12px;
    height: 12px;
    stroke-width: 3;
}

.cfy-catbar-foot-txt {
    padding-inline-start: var(--cfy-sp-3, 12px);
    border-inline-start: 1px solid var(--cfy-t-line);
}

/* ---------------------------------------------------------------------------
   Responsive
   --------------------------------------------------------------------------- */
@media (max-width: 1120px) {
    .cfy-catbar-panel {
        width: calc(var(--cfy-catbar-vnav-w) + 2 * 272px + 3 * var(--cfy-sp-3, 12px) + 3px);
    }
    .cfy-catbar-zone.is-active {
        grid-template-columns: repeat(2, minmax(0, 272px));
    }
}

/* Smartphone : panneau quasi pleine largeur, une colonne */
@media (max-width: 768px) {
    .cfy-catbar-panel {
        width: calc(100vw - 16px);
    }
    /* Menu vertical replié en rangée défilante au-dessus du contenu */
    .cfy-catbar-mega-body {
        flex-direction: column;
    }
    .cfy-catbar-vnav {
        flex: 0 0 auto;
        padding: 0;
        overflow-x: auto;
        overflow-y: hidden;
        border-inline-end: 0;
        border-bottom: 1px solid var(--cfy-t-line);
    }
    .cfy-catbar-vnav-list {
        flex-direction: row;
    }
    .cfy-catbar-vnav-item {
        width: auto;
        flex: 0 0 auto;
        white-space: nowrap;
        border-inline-start: 0;
        border-bottom: 3px solid transparent;
    }
    .cfy-catbar-vnav-item.is-active {
        border-bottom-color: var(--cfy-t-fill);
    }
    .cfy-catbar-zone.is-active {
        grid-template-columns: 1fr;
    }
    .cfy-catbar-mega-foot {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--cfy-sp-1, 4px);
    }
    .cfy-catbar-foot-txt {
        padding-inline-start: 0;
        border-inline-start: 0;
    }
}

/* ---------------------------------------------------------------------------
   Lien « Options » du header : état ouvert
   --------------------------------------------------------------------------- */
html body .catalog-header .header-actions .cfy-header-options-link[aria-expanded="true"]:not(#cfy-b1) {
    color: var(--cfy-hr-accent-text, var(--cfy-hr-accent)) !important;
    background: rgba(var(--cfy-hr-accent-rgb), 0.16) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-hr-accent) !important;
}

/* ===========================================================================
   Panneau Options v4 : un seul niveau d'onglets verticaux, sections défilantes,
   changements en attente, barre Appliquer, récapitulatif, infobulles
   =========================================================================== */
.cfy-opt .cfy-opt-scroll {
    position: relative;
    padding: 0 var(--cfy-sp-4, 16px) var(--cfy-sp-7, 48px);
    scroll-padding-top: 0;
}

.cfy-opt-tab + .cfy-opt-tab {
    margin-top: var(--cfy-sp-5, 24px);
    border-top: 1px solid var(--cfy-t-line-2);
}

/* Titre d'onglet collé en haut pendant la lecture de ses sections */
.cfy-opt .cfy-opt-tab-head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    gap: var(--cfy-sp-3, 12px);
    padding: var(--cfy-sp-3, 12px) 0 var(--cfy-sp-2, 8px);
    background: var(--cfy-t-surface);
    border-bottom: 1px solid var(--cfy-t-line);
}

.cfy-opt-tab-head .cfy-catbar-menu-title {
    margin: 0;
}

.cfy-opt-tab-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    background: var(--cfy-t-accent-soft, var(--cfy-t-surface-3));
    color: var(--cfy-t-accent);
}

.cfy-opt-tab-body > .cfy-catbar-lead {
    margin-top: var(--cfy-sp-3, 12px);
}

.cfy-opt-sec {
    margin-top: var(--cfy-sp-5, 24px);
}

.cfy-opt-sec > .cfy-catbar-lead {
    margin-bottom: var(--cfy-sp-3, 12px);
}

.cfy-opt .cfy-opt-sec-title {
    display: block;
    margin: 0 0 var(--cfy-sp-1, 4px);
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    font-size: var(--cfy-fs-md);
    font-weight: var(--cfy-fw-semibold);
    letter-spacing: normal;
    line-height: var(--cfy-lh-snug);
    text-transform: none;
}

.cfy-opt .cfy-catbar-group-note {
    max-width: 680px;
    font-size: var(--cfy-fs-sm);
    line-height: var(--cfy-lh-body);
}

.cfy-opt-sub {
    margin: var(--cfy-sp-3, 12px) 0 var(--cfy-sp-2, 8px);
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    letter-spacing: var(--cfy-ls-caps);
    text-transform: uppercase;
}

.cfy-opt .cfy-catbar-lead.is-info .cfy-catbar-lead-dot {
    background: var(--cfy-t-accent);
}

.cfy-opt [hidden] {
    display: none !important;
}

/* Cartes : toujours cliquables (re-cliquer la valeur actuelle annule le changement) */
.cfy-opt .cfy-opt-choice,
.cfy-opt .cfy-catbar-swatch.is-active {
    cursor: pointer;
}

.cfy-opt .cfy-catbar-choices--2 {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.cfy-opt .cfy-catbar-choices--3 {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.cfy-opt .cfy-catbar-choices--list {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--cfy-sp-2, 8px);
}

.cfy-opt .cfy-catbar-choices--chips {
    grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
}

/* Composition du mur : quatre briques au même niveau */
.cfy-opt-bricks .cfy-catbar-card--switch {
    min-height: 64px;
}

.cfy-opt-bricks .cfy-catbar-card-label {
    font-size: var(--cfy-fs-base);
    font-weight: var(--cfy-fw-semibold);
}

.cfy-opt .cfy-catbar-card-label small {
    display: block;
    margin-top: 2px;
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-regular);
}

/* Notation : pastilles à bascule */
.cfy-opt-switch--chip {
    justify-content: center;
    min-height: 34px;
    padding: var(--cfy-sp-1, 4px) var(--cfy-sp-2, 8px);
    font-weight: var(--cfy-fw-semibold);
    font-variant-numeric: tabular-nums;
}

.cfy-opt .cfy-opt-switch--chip.is-on {
    background: var(--cfy-t-fill);
    border-color: var(--cfy-t-fill-lo);
    color: var(--cfy-t-on-fill);
}

.cfy-opt .cfy-catbar-card.is-disabled,
.cfy-opt .cfy-catbar-card[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Changement en attente : pointillés à la couleur d'accent ; ancienne valeur marquée « actuel » */
.cfy-opt .cfy-catbar-card.is-pending,
.cfy-opt .cfy-catbar-swatch.is-pending,
.cfy-opt .cfy-opt-range.is-pending {
    border-style: dashed;
    border-color: var(--cfy-t-accent);
    outline: 1px dashed var(--cfy-t-accent);
    outline-offset: 2px;
}

.cfy-opt .cfy-catbar-swatch.is-pending {
    box-shadow: none;
}

.cfy-opt .cfy-catbar-card.is-was {
    border-color: var(--cfy-t-line-2);
}

.cfy-opt-tag {
    display: inline-block;
    padding: 0 var(--cfy-sp-1, 4px);
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    line-height: 18px;
    white-space: nowrap;
}

.cfy-opt-tag--was {
    background: transparent;
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    border: 1px solid var(--cfy-t-line-2);
    line-height: 16px;
}

.cfy-catbar-card--switch .cfy-opt-tag {
    flex: 0 0 auto;
}

/* Pastilles de thème : séparateurs « Thèmes unis » / « Duos », nom du thème choisi */
.cfy-opt-swatch-sep {
    grid-column: 1 / -1;
    margin-top: var(--cfy-sp-1, 4px);
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    letter-spacing: var(--cfy-ls-caps);
    text-transform: uppercase;
}

.cfy-opt-swatch-name {
    margin: var(--cfy-sp-2, 8px) 0 0;
    color: var(--cfy-tx-ink-2, var(--cfy-t-ink-2));
    font-size: var(--cfy-fs-sm);
}

.cfy-opt-range {
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px);
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
}

/* Onglets verticaux : compteur de changements, séparation du menu en fin de vie */
.cfy-opt-vnav-count {
    min-width: 18px;
    height: 18px;
    margin-inline-start: auto;
    padding: 0 var(--cfy-sp-1, 4px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-bold);
    font-variant-numeric: tabular-nums;
}

.cfy-opt-vnav-sep {
    height: 1px;
    margin: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px);
    background: var(--cfy-t-line-2);
}

.cfy-opt .cfy-catbar-vnav-item.is-old:not(.is-active) {
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
}

.cfy-opt-close {
    padding: 0 var(--cfy-sp-2, 8px);
}

/* Barre du bas : légende ou compteur, Annuler, Appliquer et recharger la page */
.cfy-opt .cfy-opt-bar {
    position: relative;
    flex-wrap: wrap;
    min-height: 56px;
}

.cfy-opt-legend,
.cfy-opt-status {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--cfy-sp-3, 12px);
    min-width: 0;
}

.cfy-opt-legend-pending {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 1px dashed var(--cfy-t-accent);
}

.cfy-opt-status {
    gap: var(--cfy-sp-2, 8px);
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    font-size: var(--cfy-fs-sm);
}

.cfy-opt-status-dot {
    width: 10px;
    height: 10px;
    background: var(--cfy-t-fill);
}

.cfy-opt-flash {
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-medium);
}

.cfy-opt-link {
    padding: 0;
    background: none;
    border: 0;
    color: var(--cfy-t-accent);
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    text-decoration: underline;
    cursor: pointer;
}

.cfy-opt-actions {
    display: inline-flex;
    gap: var(--cfy-sp-2, 8px);
    margin-inline-start: auto;
}

.cfy-opt-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2, 8px);
    min-height: var(--cfy-ctl-sm, 32px);
    padding: 0 var(--cfy-sp-3, 12px);
    background: var(--cfy-t-surface);
    color: var(--cfy-tx-ink-2, var(--cfy-t-ink-2));
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    cursor: pointer;
}

.cfy-opt-btn:hover:not(:disabled),
.cfy-opt-btn:focus-visible {
    border-color: var(--cfy-t-accent);
    color: var(--cfy-t-accent);
    outline: none;
}

.cfy-opt-btn--primary {
    /* aplat uni : le reflet clair du dégradé faisait perdre la lisibilité du libellé sur les aplats clairs */
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
    border-color: var(--cfy-t-fill-lo);
}

.cfy-opt-btn--primary:hover:not(:disabled),
.cfy-opt-btn--primary:focus-visible {
    color: var(--cfy-t-on-fill);
    border-color: var(--cfy-t-ink);
}

.cfy-opt-btn .cfy-catbar-svg {
    width: 14px;
    height: 14px;
}

.cfy-opt-btn:disabled {
    opacity: 0.45;
    cursor: default;
}

/* Détail des changements (au-dessus de la barre) et fenêtre de confirmation */
.cfy-opt-recap {
    position: absolute;
    bottom: calc(100% + 6px);
    inset-inline-start: var(--cfy-sp-3, 12px);
    z-index: 5;
    width: min(520px, calc(100% - 24px));
    max-height: 320px;
    overflow-y: auto;
    padding: var(--cfy-sp-3, 12px);
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
    box-shadow: var(--cfy-t-shadow, 0 16px 40px -12px rgba(0, 0, 0, 0.45));
}

.cfy-opt-recap-title {
    margin-bottom: var(--cfy-sp-2, 8px);
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    font-size: var(--cfy-fs-base);
    font-weight: var(--cfy-fw-semibold);
}

.cfy-opt-recap-row {
    display: flex;
    align-items: flex-start;
    gap: var(--cfy-sp-2, 8px);
    padding: var(--cfy-sp-2, 8px) 0;
    border-top: 1px solid var(--cfy-t-line);
}

.cfy-opt-recap-txt {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cfy-opt-recap-name {
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-caption);
}

.cfy-opt-recap-val {
    color: var(--cfy-tx-ink-2, var(--cfy-t-ink-2));
    font-size: var(--cfy-fs-sm);
}

.cfy-opt-recap-val b {
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    font-weight: var(--cfy-fw-semibold);
}

.cfy-opt-recap-revert {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    padding: 0;
    background: transparent;
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    border: 1px solid transparent;
    font-size: var(--cfy-fs-md);
    line-height: 1;
    cursor: pointer;
}

.cfy-opt-recap-revert:hover,
.cfy-opt-recap-revert:focus-visible {
    border-color: var(--cfy-t-line-2);
    color: var(--cfy-t-accent);
    outline: none;
}

.cfy-opt-confirm,
.cfy-opt-reload {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--cfy-sp-4, 16px);
    background: color-mix(in srgb, var(--cfy-t-surface) 86%, transparent);
}

.cfy-opt-confirm-box {
    width: min(560px, 100%);
    max-height: 100%;
    overflow-y: auto;
    padding: var(--cfy-sp-4, 16px);
    background: var(--cfy-t-surface);
    border: 1px solid rgba(var(--cfy-t-accent-rgb), 0.6);
    box-shadow: var(--cfy-t-shadow, 0 20px 50px -12px rgba(0, 0, 0, 0.5));
}

.cfy-opt-confirm-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--cfy-sp-2, 8px);
    margin-top: var(--cfy-sp-3, 12px);
}

.cfy-opt-reload {
    flex-direction: column;
    gap: var(--cfy-sp-3, 12px);
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    font-size: var(--cfy-fs-base);
}

.cfy-opt-spinner {
    width: 28px;
    height: 28px;
    border: 3px solid var(--cfy-t-line-2);
    border-top-color: var(--cfy-t-accent);
    border-radius: 50%;
    animation: cfy-opt-spin 0.8s linear infinite;
}

@keyframes cfy-opt-spin {
    to { transform: rotate(360deg); }
}

/* Infobulle unique, portée dans <body> */
.cfy-opt-tip {
    position: fixed;
    z-index: 1060;
    max-width: 320px;
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px);
    background: var(--cfy-t-ink);
    color: var(--cfy-t-surface);
    font-size: var(--cfy-fs-sm);
    line-height: var(--cfy-lh-snug);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 100ms ease;
}

.cfy-opt-tip.is-visible {
    opacity: 1;
    visibility: visible;
}

.cfy-opt-tip b {
    display: block;
    margin-bottom: 2px;
    font-weight: var(--cfy-fw-semibold);
}

/* Compteur de changements en attente sur le lien « Options » du header */
.cfy-opt-trigger-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    margin-inline-start: var(--cfy-sp-1, 4px);
    padding: 0 var(--cfy-sp-1, 4px);
    background: var(--cfy-hr-flat, var(--cfy-hr-accent));
    color: var(--cfy-hr-on-flat, var(--cfy-hr-on-accent));
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-bold);
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

body.performance-mode .cfy-opt-tip,
body.performance-mode .cfy-opt-scroll {
    transition: none;
    scroll-behavior: auto;
}

@media (prefers-reduced-motion: reduce) {
    .cfy-opt-tip {
        transition: none;
    }
    .cfy-opt-spinner {
        animation-duration: 2s;
    }
}

@media (max-width: 768px) {
    .cfy-opt .cfy-opt-scroll {
        padding: 0 var(--cfy-sp-3, 12px) var(--cfy-sp-6, 32px);
    }
    .cfy-opt .cfy-catbar-choices--list,
    .cfy-opt-bricks {
        grid-template-columns: 1fr;
    }
    .cfy-opt-vnav-sep {
        display: none;
    }
    .cfy-opt-vnav-count {
        margin-inline-start: var(--cfy-sp-1, 4px);
    }
    .cfy-opt .cfy-opt-bar {
        align-items: stretch;
    }
    .cfy-opt-actions {
        width: 100%;
        margin-inline-start: 0;
    }
    .cfy-opt-actions .cfy-opt-btn {
        flex: 1 1 auto;
        justify-content: center;
    }
}

.cfy-opt .cfy-catbar-mega-head {
    justify-content: flex-start;
}

.cfy-opt .cfy-opt-dashboard-btn {
    margin-inline-start: auto;
}

.cfy-opt .cfy-opt-bricks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* ===========================================================================
   Réglages par appareil : interrupteur de séparation et blocs Ordinateur / Tablette / Smartphone
   =========================================================================== */
.cfy-opt .cfy-opt-split {
    margin: var(--cfy-sp-2, 8px) 0 0;
}

.cfy-opt .cfy-opt-split .cfy-catbar-card--switch {
    border-style: dashed;
}

.cfy-opt-devs {
    display: grid;
    gap: var(--cfy-sp-2, 8px);
    margin-top: var(--cfy-sp-2, 8px);
}

.cfy-opt-devs--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cfy-opt-dev {
    min-width: 0;
    padding: var(--cfy-sp-2, 8px);
    border: 1px solid var(--cfy-t-line);
    background: var(--cfy-t-surface-2);
}

.cfy-opt-devs--1 > .cfy-opt-dev {
    padding: 0;
    border: 0;
    background: transparent;
}

.cfy-opt-dev-title {
    margin: 0 0 var(--cfy-sp-2, 8px);
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    letter-spacing: var(--cfy-ls-caps);
    text-transform: uppercase;
}

.cfy-opt-dev-note {
    margin: calc(-1 * var(--cfy-sp-1, 4px)) 0 var(--cfy-sp-2, 8px);
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-regular);
    line-height: var(--cfy-lh-snug, 1.35);
}

@media (max-width: 1120px) {
    .cfy-opt-devs--3 {
        grid-template-columns: 1fr;
    }
}

/* ===========================================================================
   Couleurs du thème : grandes cartes nommées (aperçu du header, de l'accent et d'un bouton)
   =========================================================================== */
.cfy-opt .cfy-opt-themecards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
    gap: var(--cfy-sp-2, 8px);
}

.cfy-opt .cfy-opt-themecards .cfy-opt-swatch-sep {
    grid-column: 1 / -1;
}

.cfy-opt .cfy-catbar-swatch.cfy-opt-themecard {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 84px;
    text-align: start;
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
}

.cfy-opt-themecard-hd {
    display: flex;
    align-items: flex-end;
    flex: 1 1 auto;
    min-height: 54px;
    padding: var(--cfy-sp-2, 8px);
    background: var(--cfy-sw-bg, var(--cfy-t-surface-3));
    /* les headers des 33 thèmes sont tous foncés : nom en clair */
    color: var(--cfy-sw-ink, #fff);
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
    overflow-wrap: anywhere;
}

.cfy-opt-themecard-ft {
    display: flex;
    align-items: center;
    gap: var(--cfy-sp-2, 8px);
    padding: 6px var(--cfy-sp-2, 8px);
    border-top: 1px solid var(--cfy-t-line);
    color: var(--cfy-tx-muted, var(--cfy-t-muted));
    font-size: var(--cfy-fs-caption);
}

.cfy-opt-themecard-acc {
    flex: 0 0 28px;
    height: 8px;
    background: var(--cfy-sw-accent, var(--cfy-t-fill));
}

.cfy-opt-themecard-kind {
    margin-inline-start: auto;
}

.cfy-opt .cfy-catbar-swatch.cfy-opt-themecard.is-active {
    border: 2px solid var(--cfy-t-accent);
    box-shadow: 0 0 0 1px var(--cfy-t-surface-2), 0 0 0 3px var(--cfy-t-accent);
}

.cfy-opt .cfy-catbar-swatch.cfy-opt-themecard .cfy-catbar-check {
    top: 4px;
    inset-inline-end: 4px;
    width: 18px;
    height: 18px;
}

/* Langue de l'interface : bouton qui ouvre la fenêtre des langues */
.cfy-opt-lang-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2, 8px);
    min-height: 40px;
    padding: 0 var(--cfy-sp-3, 12px);
    border: 1px solid var(--cfy-t-accent);
    background: var(--cfy-t-surface);
    color: var(--cfy-tx-ink, var(--cfy-t-ink));
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    cursor: pointer;
}

.cfy-opt-lang-btn:hover,
.cfy-opt-lang-btn:focus-visible {
    background: var(--cfy-t-accent-soft, var(--cfy-t-surface-3));
    outline: none;
}

.cfy-opt-lang-btn img {
    width: var(--cfy-flag-sm-w, 24px);
    height: var(--cfy-flag-sm-h, 18px);
    object-fit: cover;
}

/* Onglets des vues du mur, regroupés sous « Mur d'annonces » dans le sommaire */
.cfy-opt .cfy-catbar-vnav-item.is-sub {
    padding-inline-start: calc(var(--cfy-sp-3, 12px) + 16px);
    font-size: var(--cfy-fs-sm);
}
@media (max-width: 768px) {
    .cfy-opt .cfy-catbar-vnav-item.is-sub {
        padding-inline-start: var(--cfy-sp-3, 12px);
    }
}

/* Sens de lecture : barre segmentée compacte (Automatique | LTR | RTL), largeur au contenu, pastilles accolées. */
.cfy-opt [data-opt-key="rtlMode"].cfy-catbar-choices--chips {
    display: inline-flex;
    gap: 0;
}
.cfy-opt [data-opt-key="rtlMode"] .cfy-catbar-card--chip {
    min-height: var(--cfy-ctl-sm, 32px);
    padding: 0 var(--cfy-sp-3, 12px);
    white-space: nowrap;
}
.cfy-opt [data-opt-key="rtlMode"] .cfy-catbar-card--chip + .cfy-catbar-card--chip {
    margin-inline-start: -1px;
}

/* Choix actif : soulignement (comme dans la fenêtre Langues) à la place de la coche, qui chevauchait le libellé. */
.cfy-opt [data-opt-key="rtlMode"] .cfy-catbar-check { display: none; }
.cfy-opt [data-opt-key="rtlMode"] .cfy-catbar-card--chip.is-active { box-shadow: inset 0 -2px 0 var(--cfy-t-fill); }

/* ═══ commercify_typo_tokens.css ═══ */

/* ─── @font-face : Inter variable (graisses 100–900, axe opsz) ─────────────────────────────── */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
    src: url("../fonts/inter/InterVariable-normal-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
    src: url("../fonts/inter/InterVariable-normal-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
    src: url("../fonts/inter/InterVariable-normal-cyrillic.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116, U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
    src: url("../fonts/inter/InterVariable-normal-greek.woff2") format("woff2");
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF, U+1F00-1FFF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
    src: url("../fonts/inter/InterVariable-normal-vietnamese.woff2") format("woff2");
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
    src: url("../fonts/inter/InterVariable-italic-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
    src: url("../fonts/inter/InterVariable-italic-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
    src: url("../fonts/inter/InterVariable-italic-cyrillic.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116, U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
    src: url("../fonts/inter/InterVariable-italic-greek.woff2") format("woff2");
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF, U+1F00-1FFF; }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 100 900; font-display: swap;
    src: url("../fonts/inter/InterVariable-italic-vietnamese.woff2") format("woff2");
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }

/* ─── Tokens ────────────────────────────────────────────────────────────────────────────────── */
:root,
body {
    /* Familles */
    --cfy-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial,
        "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";
    --cfy-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

    /* Échelle -- 9 crans, rien d'autre. 12px = plancher absolu. */
    --cfy-fs-caption: 12px;   /* légendes, badges, méta, étiquettes MAJUSCULES */
    --cfy-fs-sm: 13px;        /* boutons, champs, menus déroulants, pagination, texte dense */
    --cfy-fs-base: 14px;      /* texte courant */
    --cfy-fs-md: 16px;        /* lead, intertitres légers, texte « confort » */
    --cfy-fs-lg: 18px;        /* titres de carte, de modale, h5 */
    --cfy-fs-h4: 20px;        /* titres de section */
    --cfy-fs-h3: 24px;        /* titres de page (mobile), h3 */
    --cfy-fs-h2: 30px;        /* titres de page (desktop), h2 */
    --cfy-fs-h1: clamp(28px, 2.4vw + 6px, 36px); /* titre principal */
    --cfy-fs-display: 36px;   /* grands chiffres (compteurs, chronos) : plafond de l'échelle */

    /* Graisses -- 4 seulement */
    --cfy-fw-regular: 400;
    --cfy-fw-medium: 500;
    --cfy-fw-semibold: 600;
    --cfy-fw-bold: 700;

    /* Interlignes */
    --cfy-lh-body: 1.5;
    --cfy-lh-snug: 1.3;       /* titres, libellés sur 2 lignes */
    --cfy-lh-tight: 1.15;     /* grands titres, chiffres */

    /* Espacement des lettres */
    --cfy-ls-body: 0;
    --cfy-ls-title: -0.011em;
    --cfy-ls-display: -0.02em;
    --cfy-ls-caps: 0.06em;    /* petites étiquettes en MAJUSCULES (au lieu de 0.15–0.2em) */

    /* Rôles de couleur du texte (surfaces qui suivent le mode : --cfy-t-*) */
    --cfy-tx-ink: var(--cfy-t-ink);        /* texte principal, titres */
    --cfy-tx-ink-2: var(--cfy-t-ink-2);    /* texte courant secondaire */
    --cfy-tx-muted: var(--cfy-t-muted);    /* méta : dates, lieux, compteurs */
    --cfy-tx-faint: var(--cfy-t-faint);    /* placeholder, désactivé UNIQUEMENT */
    --cfy-tx-link: var(--cfy-t-accent);    /* liens, accent lisible */
    --cfy-tx-accent-strong: color-mix(in oklab, var(--cfy-t-accent) 72%, var(--cfy-t-ink)); /* accent en texte sur fond teinté (badges -dim) */
    /* Sémantiques en TEXTE (couleurs autorisées par la charte des thèmes, luminance ajustée par
       mode pour garantir >= 4.5:1 ; les fonds/liserés sémantiques ne changent pas) */
    --cfy-tx-success: #12633b;   /* 2026-09-26 : 4,46:1 sur le fond doré du détail du prix (2 duos clairs) */
    --cfy-tx-danger: #b42318;
    --cfy-tx-warning: #7a4700;   /* 2026-09-26 : 4,2:1 sur badge warning-dim */
    /* Zones à fond header (header, post-header, footer, bandeaux) : --cfy-hr-ink* */
    --cfy-tx-hd-ink: var(--cfy-hr-ink, #fff);
    --cfy-tx-hd-ink-2: var(--cfy-hr-ink-2);
    --cfy-tx-hd-muted: var(--cfy-hr-ink-muted);

    /* Variables tierces ramenées sur la charte (DashLite / Bootstrap / anciennes feuilles) */
    --bs-font-sans-serif: var(--cfy-font-sans);
    --bs-font-monospace: var(--cfy-font-mono);
    --bs-body-font-family: var(--cfy-font-sans);
    --bs-body-font-size: var(--cfy-fs-base);
    --bs-body-line-height: var(--cfy-lh-body);
    --bs-btn-font-family: var(--cfy-font-sans);
    --cfy-font-family: var(--cfy-font-sans);            /* commercify-modern.css */
    --cfy-font-size-base: var(--cfy-fs-base);
    --cfy-font-size-lg: var(--cfy-fs-md);
    --cfy-font-size-xl: var(--cfy-fs-lg);
    --cfy-font-size-2xl: var(--cfy-fs-h3);
    --cfy-font-size-3xl: var(--cfy-fs-h2);
    --cfy-font-size-4xl: var(--cfy-fs-h1);
    --cfy-line-height: var(--cfy-lh-body);
    --sb-mono: var(--cfy-font-mono);                    /* commercify_menu_v2.css (« Roboto Mono ») */
    /* --font-size-* (commercify_topheaderlogo_beta.css) : NON redéfinies ici -- utilisées en
       calc(var(--font-size-md) - 0.3rem) dans le header ; traitées sélecteur par sélecteur (commercify_typo_chrome.css). */
}

body.dark-mode {
    --cfy-tx-success: #5dd879;
    --cfy-tx-danger: #ff8a80;
    --cfy-tx-warning: #ffb74d;
}

/* ─── Zones à fond « header » (toujours sombres, même en mode clair) ────────────────────────────
   Les rôles --cfy-tx-* pointent vers les SURFACES (clair en mode clair) : dans le header, la zone des
   catalogues, la recherche rapide, le footer, les bandeaux et les versos de vignettes, ils donnaient
   du texte sombre sur fond sombre (ex. slugs des éditeurs du footer « Nos petites annonces
   repartent en bêta », 2026-09-25). On les rebranche ici sur la famille --cfy-hr-*. */
:is(footer, .modern-footer, .catalog-header, .cfy-vignettes-pre-banner, .cfy-catalog-navbar,
    [class*="flip-back"],
    :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch,
        #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal,
        #mappemonde) .dashboard-modal-header, .commercify-modal .modal-header) {
    --cfy-tx-ink: var(--cfy-hr-ink);
    --cfy-tx-ink-2: var(--cfy-hr-ink-2);
    --cfy-tx-muted: var(--cfy-hr-ink-muted);
    --cfy-tx-faint: var(--cfy-hr-ink-faint);
    --cfy-tx-link: var(--cfy-hr-accent);
    --cfy-tx-accent-strong: var(--cfy-hr-accent);
    --cfy-tx-success: #5dd879;
    --cfy-tx-danger: #ff8a80;
    --cfy-tx-warning: #ffb74d;
}

/* ═══ commercify_typo_mirror.css ═══ */
/* Fichier généré, ne pas éditer à la main. */

/* ═══ dashlite.css (470 règles) ═══ */
html h6,
html .h6,
html h5,
html .h5,
html h4,
html .h4,
html h3,
html .h3,
html h2,
html .h2,
html h1,
html .h1 { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-bold); }
html h1,
html .h1 { font-size: var(--cfy-fs-h2); }
html h2,
html .h2 { font-size: var(--cfy-fs-h2); }
html h3,
html .h3 { font-size: var(--cfy-fs-h3); }
html h4,
html .h4 { font-size: var(--cfy-fs-h4); }
html h5,
html .h5 { font-size: var(--cfy-fs-lg); }
html h6,
html .h6 { font-size: var(--cfy-fs-md); }
html dt { font-weight: var(--cfy-fw-bold); }
html b,
html strong { font-weight: var(--cfy-fw-bold); }
html kbd kbd { font-weight: var(--cfy-fw-bold); }
html legend { font-size: var(--cfy-fs-h3); }
html .lead { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-regular); }
html .display-1 { font-weight: var(--cfy-fw-regular); }
html .display-2 { font-weight: var(--cfy-fw-regular); }
html .display-3 { font-weight: var(--cfy-fw-regular); }
html .display-4 { font-size: var(--cfy-fs-display); font-weight: var(--cfy-fw-regular); }
html .display-5 { font-size: var(--cfy-fs-display); font-weight: var(--cfy-fw-regular); }
html .display-6 { font-size: var(--cfy-fs-display); font-weight: var(--cfy-fw-regular); }
html .blockquote { font-size: var(--cfy-fs-lg); }
html .col-form-label-lg { font-size: var(--cfy-fs-base); }
html .col-form-label-sm { font-size: var(--cfy-fs-caption); }
html .form-control,
html .dual-listbox .dual-listbox__search,
html div.dataTables_wrapper div.dataTables_filter input { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-regular); }
html .form-control-sm { font-size: var(--cfy-fs-caption); }
html .form-control-lg { font-size: var(--cfy-fs-base); }
html .form-select { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-regular); }
html .form-select-sm { font-size: var(--cfy-fs-caption); }
html .form-select-lg { font-size: var(--cfy-fs-base); }
html .input-group-text { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-regular); }
html .input-group-lg>.form-control,
html .dual-listbox .input-group-lg>.dual-listbox__search,
html div.dataTables_wrapper div.dataTables_filter .input-group-lg>input,
html .input-group-lg>.form-select,
html .input-group-lg>.input-group-text,
html .input-group-lg>.btn,
html .dual-listbox .input-group-lg>.dual-listbox__button { font-size: var(--cfy-fs-base); }
html .input-group-sm>.form-control,
html .dual-listbox .input-group-sm>.dual-listbox__search,
html div.dataTables_wrapper div.dataTables_filter .input-group-sm>input,
html .input-group-sm>.form-select,
html .input-group-sm>.input-group-text,
html .input-group-sm>.btn,
html .dual-listbox .input-group-sm>.dual-listbox__button { font-size: var(--cfy-fs-caption); }
html .valid-tooltip { font-size: var(--cfy-fs-sm); }
html .invalid-tooltip { font-size: var(--cfy-fs-sm); }
html .dropdown-item { font-weight: var(--cfy-fw-regular); }
html .dropdown-header { font-size: var(--cfy-fs-caption); }
html .nav-underline .nav-link.active,
html .nav-underline .show>.nav-link { font-weight: var(--cfy-fw-bold); }
html .accordion-button { font-size: var(--cfy-fs-base); }
html .alert-link { font-weight: var(--cfy-fw-bold); }
html .tooltip { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-regular); }
html .popover { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-regular); }
html .fs-1 { font-size: var(--cfy-fs-h2) !important; }
html .fs-2 { font-size: var(--cfy-fs-h2) !important; }
html .fs-3 { font-size: var(--cfy-fs-h3) !important; }
html .fs-4 { font-size: var(--cfy-fs-h4) !important; }
html .fs-5 { font-size: var(--cfy-fs-lg) !important; }
html .fs-6 { font-size: var(--cfy-fs-md) !important; }
html .fw-lighter { font-weight: var(--cfy-fw-regular) !important; }
html .fw-light { font-weight: var(--cfy-fw-regular) !important; }
html .fw-normal { font-weight: var(--cfy-fw-regular) !important; }
html .fw-medium { font-weight: var(--cfy-fw-medium) !important; }
html .fw-semibold { font-weight: var(--cfy-fw-semibold) !important; }
html .fw-bold { font-weight: var(--cfy-fw-bold) !important; }
html .fw-bolder { font-weight: var(--cfy-fw-bold) !important; }
html:root { font-size: var(--cfy-fs-md); }
html strong { font-weight: var(--cfy-fw-medium); }
@media (min-width: 992px) {
    html h1,
    html .h1 { font-weight: var(--cfy-fw-regular); letter-spacing: var(--cfy-ls-display); }
    html h2,
    html .h2 { font-size: var(--cfy-fs-display); }
    html h3,
    html .h3 { font-size: var(--cfy-fs-h2); }
    html h4,
    html .h4 { font-size: var(--cfy-fs-h3); }
    html h5,
    html .h5 { font-size: var(--cfy-fs-h4); }
    html h6,
    html .h6 { font-size: var(--cfy-fs-md); }
}
html .ff-base { font-family: var(--cfy-font-sans) !important; }
html .ff-alt { font-family: var(--cfy-font-sans) !important; }
html .fw-medium { font-weight: var(--cfy-fw-medium) !important; }
@media (min-width: 992px) {
    html .lead { font-size: var(--cfy-fs-lg); }
}
html small,
html .small { font-weight: var(--cfy-fw-regular) !important; }
html .badge { font-family: var(--cfy-font-sans); font-size: var(--cfy-fs-caption); }
html .badge-sm { font-size: var(--cfy-fs-caption); }
html .badge-md { font-size: var(--cfy-fs-sm) !important; }
html .badge-lg { font-size: var(--cfy-fs-base) !important; }
html .badge-xl { font-size: var(--cfy-fs-lg) !important; }
html .badge-dot { font-size: var(--cfy-fs-caption); }
html .alert h5,
html .alert .h5,
html .alert h6,
html .alert .h6,
html .alert .title { font-size: var(--cfy-fs-md); }
html .breadcrumb-item { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); }
html .breadcrumb-item.active:not(:only-child) { font-weight: var(--cfy-fw-regular); }
html .breadcrumb-sm .breadcrumb-item { font-size: var(--cfy-fs-sm); }
html .link { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); font-family: var(--cfy-font-sans); }
html .link-md { font-size: var(--cfy-fs-h4); }
html .link-sm { font-size: var(--cfy-fs-caption); }
html .btn-ucap,
html .btn.ucap,
html .dual-listbox .ucap.dual-listbox__button { font-size: var(--cfy-fs-caption); }
html .dt-buttons .btn-secondary .badge-circle { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-caption); }
html .btn-extext { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); }
html .dropdown-title { font-weight: var(--cfy-fw-medium); }
html .card-title p { font-size: var(--cfy-fs-caption); }
html .card-title-sm .title { font-size: var(--cfy-fs-base); }
html .card-title small,
html .card-title .small { font-weight: var(--cfy-fw-medium); }
html .card-subtitle { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-regular); }
html .card-hint { font-size: var(--cfy-fs-md); }
html .card-note { font-size: var(--cfy-fs-caption); }
html .form-label { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); }
html .form-label-outlined { font-weight: var(--cfy-fw-regular); font-size: var(--cfy-fs-sm); }
html .form-control-lg~.form-label-outlined { font-size: var(--cfy-fs-base); }
html .form-control-sm~.form-label-outlined { font-size: var(--cfy-fs-caption); }
html .focused .form-control-sm~.form-label-outlined,
html .js-select2.form-control-sm~.form-label-outlined { font-size: var(--cfy-fs-caption); }
html .focused .form-label-outlined,
html .js-select2~.form-label-outlined { font-size: var(--cfy-fs-caption); }
html .form-control-xl~.form-label-outlined { font-size: var(--cfy-fs-base); }
html .focused .form-control-lg~.form-label-outlined,
html .focused .form-control-xl~.form-label-outlined,
html .js-select2.form-control-lg~.form-label-outlined,
html .js-select2.form-control-xl~.form-label-outlined { font-size: var(--cfy-fs-caption); }
html .form-note { font-size: var(--cfy-fs-caption); }
html .form-note-alt { font-size: var(--cfy-fs-caption); }
html .form-control-xl { font-size: var(--cfy-fs-base); }
html .form-control-number { font-size: var(--cfy-fs-h4); }
html .form-control-password-big { font-size: var(--cfy-fs-display); }
html .form-control-plaintext { font-size: var(--cfy-fs-sm); }
html .custom-file-input~.error,
html .custom-file-input~.invalid,
html .form-control~.error,
html .dual-listbox .dual-listbox__search~.error,
html div.dataTables_wrapper div.dataTables_filter input~.error,
html .form-control~.invalid,
html .dual-listbox .dual-listbox__search~.invalid,
html div.dataTables_wrapper div.dataTables_filter input~.invalid,
html .input-group~.error,
html .input-group~.invalid,
html .js-select2~.error,
html .js-select2~.invalid,
html .form-select~.error,
html .form-select~.invalid { font-size: var(--cfy-fs-caption); }
html .custom-btn-check label { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-sm); }
html .custom-btn-sm label { font-size: var(--cfy-fs-caption); }
html .custom-control-label { font-size: var(--cfy-fs-base); }
html .custom-control-sm .custom-control-label { font-size: var(--cfy-fs-caption); }
html .custom-control-lg .custom-control-label { font-size: var(--cfy-fs-base); }
html .custom-control-pro .custom-control-label { font-size: var(--cfy-fs-sm); }
html .custom-control-pro.custom-control-sm .custom-control-label { font-size: var(--cfy-fs-sm); }
html .is-alter .form-control~.invalid,
html .is-alter .dual-listbox .dual-listbox__search~.invalid,
html .dual-listbox .is-alter .dual-listbox__search~.invalid,
html .is-alter div.dataTables_wrapper div.dataTables_filter input~.invalid,
html div.dataTables_wrapper div.dataTables_filter .is-alter input~.invalid,
html .is-alter .input-group~.invalid,
html .custom-control .invalid { font-size: var(--cfy-fs-caption); }
html .form-file-label { font-weight: var(--cfy-fw-regular); }
html .input-group-lg>.form-control,
html .dual-listbox .input-group-lg>.dual-listbox__search,
html div.dataTables_wrapper div.dataTables_filter .input-group-lg>input,
html .input-group-lg>.custom-select,
html div.dataTables_wrapper div.dataTables_length .input-group-lg>select,
html .input-group-lg>.input-group-prepend>.input-group-text,
html .input-group-lg>.input-group-append>.input-group-text,
html .input-group-lg>.input-group-prepend>.btn,
html .dual-listbox .input-group-lg>.input-group-prepend>.dual-listbox__button,
html .input-group-lg>.input-group-append>.btn,
html .dual-listbox .input-group-lg>.input-group-append>.dual-listbox__button { font-size: var(--cfy-fs-base); }
html .custom-select,
html div.dataTables_wrapper div.dataTables_length select { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-regular); }
html .table th.overline-title { font-weight: var(--cfy-fw-medium); }
html .nav-tabs { font-family: var(--cfy-font-sans); font-size: var(--cfy-fs-sm); }
html .nav-tabs .nav-link { font-weight: var(--cfy-fw-bold); }
html .nav-sm { font-size: var(--cfy-fs-sm); }
@media (min-width: 992px) {
    html .nav-tabs .nav-link { font-size: var(--cfy-fs-base); }
}
html .nav-tabs-card { font-family: var(--cfy-font-sans); }
html .pagination-goto { font-size: var(--cfy-fs-sm); }
html .page-link { font-size: var(--cfy-fs-sm); }
html .pagination-xl .page-link { font-size: var(--cfy-fs-h3); }
html .progress-label { font-size: var(--cfy-fs-base); }
html .progress-amount { font-size: var(--cfy-fs-caption); }
html .select2-dropdown { font-family: var(--cfy-font-sans); font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-regular); }
html .select2-container--default .select2-selection--single { font-family: var(--cfy-font-sans); font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-regular); }
html .select2-sm .select2-container--default .select2-selection--single { font-size: var(--cfy-fs-caption); }
html .select2-lg .select2-container--default .select2-selection--single { font-size: var(--cfy-fs-base); }
html .select2-xl .select2-container--default .select2-selection--single { font-size: var(--cfy-fs-base); }
html .select2-container--default .select2-selection--single .select2-selection__clear { font-weight: var(--cfy-fw-bold); }
html .select2-container--default.select2-sm .select2-selection--single { font-size: var(--cfy-fs-caption); }
html .select2-container--default.select2-lg .select2-selection--single { font-size: var(--cfy-fs-base); }
html .select2-container--default.select2-xl .select2-selection--single { font-size: var(--cfy-fs-base); }
html .select2-container--default .select2-selection--multiple { font-family: var(--cfy-font-sans); font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-regular); }
html .select2-container--default .select2-selection--multiple .select2-selection__clear { font-weight: var(--cfy-fw-bold); }
html .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { font-weight: var(--cfy-fw-bold); }
html .select2-container--default.select2-lg .select2-selection--multiple { font-size: var(--cfy-fs-base); }
html .slick-next,
html .slick-prev { font-size: var(--cfy-fs-h3); }
html .datepicker .cw { font-size: var(--cfy-fs-caption); }
html .input-daterange .add-on { font-weight: var(--cfy-fw-regular); }
html .ui-timepicker-standard .ui-state-hover { font-weight: var(--cfy-fw-regular); }
html .noUi-value-sub { font-size: var(--cfy-fs-caption); }
html .noUi-tooltip { font-size: var(--cfy-fs-sm); }
html .toastr { font-size: var(--cfy-fs-base); }
html .toastr h4,
html .toastr .h4,
html .toastr h5,
html .toastr .h5,
html .toastr h6,
html .toastr .h6 { font-size: var(--cfy-fs-md); }
html .toast-title { font-weight: var(--cfy-fw-bold); }
html .swal2-popup { font-size: var(--cfy-fs-md); }
html .swal2-title { font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-bold); }
html .swal2-styled { font-size: var(--cfy-fs-base); }
html .swal2-close { font-family: var(--cfy-font-sans); }
html .swal2-content { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-regular); }
html .swal2-input,
html .swal2-file,
html .swal2-textarea { font-size: var(--cfy-fs-base); }
html .swal2-range output { font-weight: var(--cfy-fw-semibold); }
html .swal2-range input,
html .swal2-range output { font-size: var(--cfy-fs-base); }
html .swal2-file { font-size: var(--cfy-fs-base); }
html .swal2-select { font-size: var(--cfy-fs-base); }
html .swal2-radio label,
html .swal2-checkbox label { font-size: var(--cfy-fs-base); }
html .swal2-validation-message { font-weight: var(--cfy-fw-regular); }
html .swal2-progress-steps { font-weight: var(--cfy-fw-semibold); }
html div.dataTables_wrapper div.dataTables_length label { font-weight: var(--cfy-fw-regular); }
html div.dataTables_wrapper div.dataTables_filter label { font-weight: var(--cfy-fw-regular); }
html div.dataTables_wrapper div.dataTables_info { font-size: var(--cfy-fs-caption); }
html .dtr-details .dtr-title { font-weight: var(--cfy-fw-bold); }
html div.dt-button-info h2,
html div.dt-button-info .h2 { font-weight: var(--cfy-fw-regular); font-size: var(--cfy-fs-h2); }
html .buttons-columnVisibility { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); }
html .jqvmap-label { font-size: var(--cfy-fs-caption); }
html .tagify { font-size: var(--cfy-fs-base); }
@media (max-width: 576px) {
    html .tagify { font-size: var(--cfy-fs-caption); }
}
html .fc .fc-button { font-weight: var(--cfy-fw-regular); }
html .fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk .btn,
html .fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk .dual-listbox .dual-listbox__button,
html .dual-listbox .fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk .dual-listbox__button { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-caption); }
html .fc .fc-toolbar-title { font-size: var(--cfy-fs-lg); }
html .fc-daygrid-block-event .fc-event-time { font-weight: var(--cfy-fw-bold); }
html .fc-daygrid-dot-event .fc-event-title { font-weight: var(--cfy-fw-bold); }
html .fc-draggable { font-size: var(--cfy-fs-sm); }
html .kanban-title-content .title { font-size: var(--cfy-fs-base); }
html .kanban-item-title .title { font-size: var(--cfy-fs-base); }
html .kanban-item-meta-list li { font-size: var(--cfy-fs-sm); }
html .dual-listbox .dual-listbox__title { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-medium); }
html .mfp-close { font-size: var(--cfy-fs-h2); font-family: var(--cfy-font-sans); }
html .mfp-counter { font-size: var(--cfy-fs-caption); }
html .mfp-figure small,
html .mfp-figure .small { font-size: var(--cfy-fs-caption); }
html .dragula-handle .handle { font-size: var(--cfy-fs-lg); }
html .nk-header-app-info .sub-text { font-size: var(--cfy-fs-caption); }
html .nk-header-app-info .lead-text { font-size: var(--cfy-fs-base); }
html .nk-header-app-head .title { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-medium); }
html .nk-menu-link { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-base); }
html .hyper-profil-label,
html .murs-perso-label,
html .hyper-profil-label *,
html .murs-perso-label *,
html .hyper-profil-heading .overline-title,
html .murs-perso-heading .overline-title { font-family: var(--cfy-font-sans) !important; }
html .nk-menu-sub .nk-menu-link { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-regular); font-size: var(--cfy-fs-base); }
html .nk-menu-link span.small { font-family: var(--cfy-font-sans); }
html .nk-menu-text { font-family: var(--cfy-font-sans); }
html .nk-menu-badge { font-size: var(--cfy-fs-caption); font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-medium); }
html .nk-menu-heading span { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); font-family: var(--cfy-font-sans); }
html .nk-menu-footer .nk-menu-link { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-medium); }
html .nk-menu-footer .nk-menu-text { font-size: var(--cfy-fs-caption); font-family: var(--cfy-font-sans); }
html .nk-menu-sub .custom-control-label,
html .nk-menu-sub .custom-control-label a,
html .nk-menu-sub .custom-control-label span,
html .nk-menu-sub .custom-switch .custom-control-label,
html .nk-menu-sub .custom-switch .custom-control-label a,
html .nk-menu-sub .custom-switch .custom-control-label span { font-family: var(--cfy-font-sans) !important; font-weight: var(--cfy-fw-regular); font-size: var(--cfy-fs-base) !important; }
html .accordion-head .title { font-size: var(--cfy-fs-md); }
html .accordion-s2 .accordion-head .title { font-size: var(--cfy-fs-lg); }
html .accordion-s3 .accordion-head .title { font-size: var(--cfy-fs-lg); }
html .list-step li { font-weight: var(--cfy-fw-medium); }
html .list-category a { font-weight: var(--cfy-fw-medium); }
html .link-check li>span { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-caption); letter-spacing: var(--cfy-ls-caps); }
html .link-check li a { font-size: var(--cfy-fs-sm); }
html .link-list a { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }
html .link-list-opt a { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); }
html .link-list-opt.ui-v2 a { font-weight: var(--cfy-fw-regular); }
html .link-list-menu a { font-weight: var(--cfy-fw-medium); }
html .link-list-template a { font-weight: var(--cfy-fw-regular); }
html .nk-upload-name { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }
html .nk-upload-response .message { font-size: var(--cfy-fs-caption); }
html .input-group-addon { font-size: var(--cfy-fs-caption); }
html .page-title { font-family: var(--cfy-font-sans); font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-bold); }
@media (min-width: 992px) {
    html .page-title { font-size: var(--cfy-fs-h2); }
}
html .overline-title { font-size: var(--cfy-fs-caption); letter-spacing: var(--cfy-ls-caps); font-weight: var(--cfy-fw-bold); font-family: var(--cfy-font-sans); }
html .overline-title-alt { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); font-size: var(--cfy-fs-caption); }
html .caption-text { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-regular); }
html .lead-text { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); }
html .lead-text+.sub-text { font-size: var(--cfy-fs-caption); }
html .lead-text span { font-weight: var(--cfy-fw-regular); }
html .lead-text-lg { font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-medium); }
html .sub-text { font-size: var(--cfy-fs-sm); }
html .sub-text-sm,
html .sub-text+.sub-text { font-size: var(--cfy-fs-caption); }
html .sub-text strong { font-weight: var(--cfy-fw-bold); }
html .fs-9px { font-size: var(--cfy-fs-caption) !important; }
html .fs-10px { font-size: var(--cfy-fs-caption) !important; }
html .fs-11px { font-size: var(--cfy-fs-caption) !important; }
html .fs-12px { font-size: var(--cfy-fs-caption) !important; }
html .fs-13px { font-size: var(--cfy-fs-sm) !important; }
html .fs-14px { font-size: var(--cfy-fs-base) !important; }
html .fs-15px { font-size: var(--cfy-fs-base) !important; }
html .fs-16px { font-size: var(--cfy-fs-md) !important; }
html .fs-17px { font-size: var(--cfy-fs-md) !important; }
html .fs-18px { font-size: var(--cfy-fs-lg) !important; }
html .fs-19px { font-size: var(--cfy-fs-lg) !important; }
html .fs-20px { font-size: var(--cfy-fs-h4) !important; }
html .fs-21px { font-size: var(--cfy-fs-h4) !important; }
html .fs-22px { font-size: var(--cfy-fs-h4) !important; }
html .note-text { font-size: var(--cfy-fs-caption); }
html .user-status { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); }
html .user-name { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-bold); }
html .user-action { font-size: var(--cfy-fs-h4); }
html .user-account-actions .btn,
html .user-account-actions .dual-listbox .dual-listbox__button,
html .dual-listbox .user-account-actions .dual-listbox__button { font-size: var(--cfy-fs-caption); }
html .user-balance { font-size: var(--cfy-fs-h3); }
html .user-balance small,
html .user-balance .small { font-size: var(--cfy-fs-md); }
html .user-balance-alt { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); }
html .user-balance-alt span { font-weight: var(--cfy-fw-regular); }
html .user-balance-sub { font-size: var(--cfy-fs-sm); }
html .user-card-md .lead-text { font-size: var(--cfy-fs-md); }
html .user-card-md .sub-text { font-size: var(--cfy-fs-base); }
html .user-activity .amount { font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-medium); }
html .user-activity .title { font-size: var(--cfy-fs-caption); }
html .user-contacts li { font-size: var(--cfy-fs-base); }
html .user-info .edit { font-size: var(--cfy-fs-h4); }
html .user-plan-title { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); }
html .user-plan-status { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }
html .data-value { font-size: var(--cfy-fs-base); }
html .nk-notification-text { font-size: var(--cfy-fs-sm); }
html .nk-notification-time { font-size: var(--cfy-fs-caption); }
html .tb-col-action .link-cross,
html .tb-col-action .link-done { font-size: var(--cfy-fs-md); }
html .nav-switch .nav-link { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-caption); }
html .nav-switch-s2 .nav-link { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-caption); }
html .side-wg .back-to { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-regular); }
html .nk-modal-title.title { font-size: var(--cfy-fs-h3); }
html .nk-modal-text .lead { font-size: var(--cfy-fs-lg); }
html .nk-modal-text .sub-text { font-size: var(--cfy-fs-base); }
html .nk-block-head-sub { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-regular); }
@media (min-width: 768px) {
    html .nk-block-text h5,
    html .nk-block-text .h5,
    html .nk-block-text h6,
    html .nk-block-text .h6 { font-size: var(--cfy-fs-md); }
}
html .change .sign { font-family: var(--cfy-font-sans); }
html .knob { font-size: var(--cfy-fs-h3) !important; }
html .knob-half { font-size: var(--cfy-fs-h4) !important; }
html [class*=knob] { font-weight: var(--cfy-fw-regular) !important; font-family: var(--cfy-font-sans) !important; }
html .clipboard-text { font-size: var(--cfy-fs-caption); }
html .nk-news-text p { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }
html .nk-news-text p span { font-weight: var(--cfy-fw-regular); }
html .language-name { font-size: var(--cfy-fs-caption); }
html .bq-note-meta { font-size: var(--cfy-fs-caption); }
html .video-play { font-size: var(--cfy-fs-h4); }
html .project-title .title { font-size: var(--cfy-fs-md); }
html .project-progress-percent { font-weight: var(--cfy-fw-medium); }
html .team-info li { font-size: var(--cfy-fs-base); }
html .team-statistics li span:first-child { font-size: var(--cfy-fs-lg); }
html .team-statistics li span:last-child { font-size: var(--cfy-fs-base); }
html .nk-error-head { font-weight: var(--cfy-fw-bold); }
html .nk-error-text { font-size: var(--cfy-fs-md); }
html .nio-version { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html .country-name { font-size: var(--cfy-fs-md); }
html .plain .profile-ud-label { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); letter-spacing: var(--cfy-ls-caps); }
html .wider .profile-ud-value { font-weight: var(--cfy-fw-medium); }
html .profile-stats .amount { font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-bold); }
html .profile-balance-sub { font-size: var(--cfy-fs-base); }
html .profile-balance-subtitle { font-size: var(--cfy-fs-caption); }
html .profile-balance-amount .number { font-size: var(--cfy-fs-h4); font-weight: var(--cfy-fw-bold); }
html .profile-balance-amount .number small,
html .profile-balance-amount .number .small { font-weight: var(--cfy-fw-regular); }
html .actions ul li a { font-weight: var(--cfy-fw-medium); }
html .nk-wizard-simple .steps ul li h5,
html .nk-wizard-simple .steps ul li .h5 { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }
html .nk-wizard-simple .steps ul li .number { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-bold); }
html .tb-tnx-head { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html .tb-tnx-item { font-size: var(--cfy-fs-base); }
html .tb-tnx-id span { font-weight: var(--cfy-fw-medium); }
html .tb-tnx-item .tb-tnx-total { font-weight: var(--cfy-fw-medium); }
html .tb-tnx-item .tb-tnx-date .date { font-size: var(--cfy-fs-sm); }
@media (max-width: 767px) {
    html .tb-tnx-date .date { font-size: var(--cfy-fs-caption); }
}
@media (max-width: 575px) {
    html .tb-tnx-item { font-size: var(--cfy-fs-sm); }
}
html .tb-odr-item { font-size: var(--cfy-fs-base); }
html .tb-odr-item .tb-odr-id,
html .tb-odr-item .tb-odr-total { font-weight: var(--cfy-fw-medium); }
html .tb-odr-id span { font-weight: var(--cfy-fw-medium); }
html .tb-odr-head th { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
@media (max-width: 575px) {
    html .tb-odr-item { font-size: var(--cfy-fs-sm); }
}
html .nk-tb-list { font-size: var(--cfy-fs-sm); }
html .nk-tb-list .list-status,
html .nk-tb-list .tb-status { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); }
html .nk-tb-list .tb-lead,
html .nk-tb-list .tb-amount { font-weight: var(--cfy-fw-medium); }
html .nk-tb-list .tb-amount span,
html .nk-tb-list .tb-amount .currency { font-weight: var(--cfy-fw-regular); }
html .nk-tb-list .user-info .tb-lead+span,
html .nk-tb-list .tb-lead+.tb-date { font-size: var(--cfy-fs-caption); }
html .nk-tb-list .tb-product .title { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-base); }
html .nk-tb-list .tb-asterisk { font-size: var(--cfy-fs-lg); }
@media (min-width: 1540px) {
    html .nk-tb-list { font-size: var(--cfy-fs-base); }
    html .nk-tb-list .list-status,
    html .nk-tb-list .tb-status { font-size: var(--cfy-fs-sm); }
    html .nk-tb-list .user-info .tb-lead+span,
    html .nk-tb-list .tb-lead+.tb-date { font-size: var(--cfy-fs-caption); }
}
html .timeline-head { font-size: var(--cfy-fs-base); }
html .timeline-title { font-size: var(--cfy-fs-base); }
html .timeline .time { font-size: var(--cfy-fs-caption); }
html .invoice-bills { font-size: var(--cfy-fs-caption); }
html .invoice-bills .table th { font-size: var(--cfy-fs-caption); }
html .invoice-bills .table tfoot tr:last-child td:not(:first-child),
html .invoice-bills .table tfoot tr:first-child td:not(:first-child) { font-weight: var(--cfy-fw-medium); }
html .invoice-desc ul span { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }
html .invoice-desc ul span:first-child { letter-spacing: var(--cfy-ls-caps); }
@media (min-width: 768px) {
    html .invoice-bills { font-size: var(--cfy-fs-base); }
}
html .pricing-amount { font-size: var(--cfy-fs-base); }
html .pricing-amount .amount { font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-bold); }
html .product-actions li a { font-size: var(--cfy-fs-md); }
html .nk-order-ovwg-data .amount { font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-bold); }
html .nk-order-ovwg-data .amount small,
html .nk-order-ovwg-data .amount .small { font-weight: var(--cfy-fw-regular); }
html .nk-order-ovwg-data .info { font-size: var(--cfy-fs-caption); }
html .nk-order-ovwg-data .title { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); }
html .nk-wg-action-content .title { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); }
html .nk-wg-action-content p { font-size: var(--cfy-fs-sm); }
html .nk-coin-ovwg-legends li { font-size: var(--cfy-fs-caption); }
html .nk-sale-data .amount { font-size: var(--cfy-fs-h2); }
html .nk-sale-data .amount .change { font-size: var(--cfy-fs-base); }
html .nk-sale-data .amount.sm { font-size: var(--cfy-fs-lg); }
html .nk-sale-data .sub-title { font-size: var(--cfy-fs-caption); }
html .nk-sale-data .amount { font-size: var(--cfy-fs-h2); }
html .nk-sale-data .amount .change { font-size: var(--cfy-fs-base); }
html .nk-sale-data .amount.sm { font-size: var(--cfy-fs-lg); }
html .nk-sale-data .sub-title { font-size: var(--cfy-fs-caption); }
html .nk-activity-data .time { font-size: var(--cfy-fs-caption); }
html .nk-support-content .title { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); }
html .nk-support-content .time { font-size: var(--cfy-fs-caption); }
html .device-status-data .title { font-size: var(--cfy-fs-caption); }
html .device-status-data .amount { font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-medium); }
html .traffic-channel-data .title { font-size: var(--cfy-fs-caption); }
html .traffic-channel-data .amount { font-size: var(--cfy-fs-lg); }
html .traffic-channel-data .amount small,
html .traffic-channel-data .amount .small { font-size: var(--cfy-fs-caption); }
@media (min-width: 1540px) and (max-width: 1800px) {
    html .traffic-channel-data .amount { font-size: var(--cfy-fs-md); }
}
html .analytic-data .title { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); }
html .analytic-data .title span { font-weight: var(--cfy-fw-regular); }
html .analytic-data .amount { font-size: var(--cfy-fs-h3); }
html .analytic-data .amount-sm { font-size: var(--cfy-fs-lg); }
html .analytic-data .change { font-size: var(--cfy-fs-sm); }
html .analytic-data .subtitle { font-size: var(--cfy-fs-caption); }
@media (min-width: 1540px) and (max-width: 1800px) {
    html .analytic-data .amount { font-size: var(--cfy-fs-h4); }
    html .analytic-data .amount-sm { font-size: var(--cfy-fs-lg); }
}
html .chart-label { font-size: var(--cfy-fs-caption); }
html .analytics-map-data { font-size: var(--cfy-fs-base); }
html .nk-ecwg .amount { font-size: var(--cfy-fs-h2); font-weight: var(--cfy-fw-medium); }
html .nk-ecwg .amount-sm { font-size: var(--cfy-fs-h3); }
html .nk-ecwg .amount-xs { font-size: var(--cfy-fs-base); }
html .nk-ecwg .info { font-size: var(--cfy-fs-base); }
html .nk-ecwg .sub-title { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); }
html .nk-top-products .title,
html .nk-top-products .amount { font-size: var(--cfy-fs-base); }
html .nk-top-products .price,
html .nk-top-products .count { font-size: var(--cfy-fs-sm); }
html .nk-store-statistics .title { font-size: var(--cfy-fs-sm); }
html .nk-store-statistics .count { font-size: var(--cfy-fs-h4); font-weight: var(--cfy-fw-bold); }
html .nk-download .title { font-size: var(--cfy-fs-md); }
html .card-title .subtitle { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }
html .card-amount .amount { font-size: var(--cfy-fs-h3); }
@media (min-width: 768px) and (max-width: 991.98px) {
    html .card-amount .amount { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-medium); }
    html .card-amount .amount span { font-weight: var(--cfy-fw-regular); }
    html .card-amount .change { font-size: var(--cfy-fs-caption); }
}
html .nav-tabs-xs .nav-link { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }
html .invest-data-history .title { font-size: var(--cfy-fs-caption); letter-spacing: var(--cfy-ls-caps); }
html .invest-data-history .amount { font-size: var(--cfy-fs-base); }
@media (min-width: 768px) and (max-width: 991.98px) {
    html .invest-data-history .amount { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
    html .invest-data-history .amount span { font-weight: var(--cfy-fw-regular); }
}
html .invest-ov .subtitle { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }
html .invest-ov .title { font-size: var(--cfy-fs-caption); letter-spacing: var(--cfy-ls-caps); }
html .invest-ov .amount { font-size: var(--cfy-fs-h4); }
html .nk-reply-header .user-name { font-size: var(--cfy-fs-base); }
html .nk-reply-header .user-name span { font-weight: var(--cfy-fw-regular); }
html .nk-reply-header .date-time { font-size: var(--cfy-fs-caption); }
html .nk-reply-from { font-size: var(--cfy-fs-sm); }
html .nk-reply-meta-info { font-size: var(--cfy-fs-sm); }
html .nk-reply-form-field .form-control,
html .nk-reply-form-field div.dataTables_wrapper div.dataTables_filter input,
html div.dataTables_wrapper div.dataTables_filter .nk-reply-form-field input,
html .nk-reply-form-field .dual-listbox .dual-listbox__search,
html .dual-listbox .nk-reply-form-field .dual-listbox__search { font-size: var(--cfy-fs-base); }
html .nk-reply-form-nav li a { font-size: var(--cfy-fs-caption); }
html .nk-reply-msg-meta li .label { font-size: var(--cfy-fs-caption); }
html .nk-reply-msg-meta li .info { font-size: var(--cfy-fs-sm); }
html .nk-reply-tools .attach-msg { font-size: var(--cfy-fs-h4); }
@media (max-width: 767.98px) {
    html .nk-reply-tools .date { font-size: var(--cfy-fs-sm); }
    html .nk-reply-tools .attach-msg { font-size: var(--cfy-fs-h4); }
}
html .nk-reply-info .date { font-size: var(--cfy-fs-caption); }
html .nk-reply-info .lead-text { font-size: var(--cfy-fs-sm); }
html .nk-reply-form-title { font-weight: var(--cfy-fw-medium); }
html .nk-reply-msg-excerpt { font-size: var(--cfy-fs-caption); }
html .nk-reply-msg-info .sub-text { font-size: var(--cfy-fs-caption); }
@media (min-width: 576px) {
    html .nk-reply-header .date-time { font-size: var(--cfy-fs-sm); }
}
html .attach-info { font-weight: var(--cfy-fw-medium); }
@media (max-width: 359px) {
    html .attach-info { font-size: var(--cfy-fs-caption); }
    html .attach-download { font-size: var(--cfy-fs-caption); }
}
html .nk-msg-menu-item a { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-base); }
html .nk-msg-sender { font-size: var(--cfy-fs-caption); }
html .is-unread .nk-msg-sender .name { font-weight: var(--cfy-fw-medium); }
html .nk-msg-meta { font-size: var(--cfy-fs-caption); }
html .nk-msg-text .title { font-size: var(--cfy-fs-base); }
html .nk-msg-text p { font-size: var(--cfy-fs-sm); }
html .is-unread .nk-msg-text p { font-weight: var(--cfy-fw-medium); }
html .nk-msg-lables .badge { font-size: var(--cfy-fs-caption); }
html .nk-msg-profile-toggle { font-size: var(--cfy-fs-lg); }
html .nk-msg-hide { font-size: var(--cfy-fs-md); }
html .ibx-count { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-regular); }
html .is-unread .nk-ibx-context-text .heading { font-weight: var(--cfy-fw-medium); }
html .nk-ibx-nav-head .title { font-size: var(--cfy-fs-md); }
html .nk-ibx-nav-head .dropdown>a,
html .nk-ibx-nav-head>.link { font-size: var(--cfy-fs-base); }
html .nk-ibx-head .title { font-size: var(--cfy-fs-md); }
html .nk-ibx-menu-text { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); }
html .nk-ibx-label-text { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); }
html .nk-ibx-item-user .user-name .lead-text { font-weight: var(--cfy-fw-regular); }
html .is-unread .nk-ibx-item-user .user-name .lead-text { font-weight: var(--cfy-fw-medium); }
html .nk-ibx-reply-head .title { font-size: var(--cfy-fs-lg); }
html .nk-fmg-menu-text { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); }
html .nk-fmg-status-title { font-size: var(--cfy-fs-base); }
html .nk-fmg-status-info { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); }
html .nk-fmg-filter .form-label { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-sm); }
html .nk-file .tb-sub { font-size: var(--cfy-fs-caption); }
html .nk-file .tb-head { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-sm); }
html .nk-file-name { font-weight: var(--cfy-fw-medium); }
html .nk-file-name-sub { font-size: var(--cfy-fs-caption); }
html .nk-file-desc li { font-size: var(--cfy-fs-caption); }
html .nk-file-share-field .form-control,
html .nk-file-share-field div.dataTables_wrapper div.dataTables_filter input,
html div.dataTables_wrapper div.dataTables_filter .nk-file-share-field input,
html .nk-file-share-field .dual-listbox .dual-listbox__search,
html .dual-listbox .nk-file-share-field .dual-listbox__search { font-size: var(--cfy-fs-base); }
html .nk-file-details-col { font-size: var(--cfy-fs-sm); }
html .nk-files-head .nk-file-item>div { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-sm); }
html .nk-files-view-list .nk-file-members .tb-shared { font-size: var(--cfy-fs-md); }
html .nk-files-group>.title { font-size: var(--cfy-fs-caption); }
@media (max-width: 767.98px) {
    html .nk-file-name-text { font-size: var(--cfy-fs-sm); }
    html .nk-files-view-grid .nk-file-name-text { font-size: var(--cfy-fs-caption); }
}
html .nk-upload-list>.title { font-size: var(--cfy-fs-base); }
html .nk-upload-info { font-weight: var(--cfy-fw-medium); }
html .nk-upload-title .title { font-size: var(--cfy-fs-base); }
html .nk-upload-title .meta { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-regular); }
html .nk-upload-size { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-regular); }
html .chat-from .name { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); }
html .is-unread .chat-from .name { font-weight: var(--cfy-fw-bold); }
html .chat-from .time { font-size: var(--cfy-fs-caption); }
html .chat-context .text { font-size: var(--cfy-fs-sm); }
html .is-unread .chat-context .text { font-weight: var(--cfy-fw-medium); }
html .chat-profile-settings .custom-control-sm .custom-control-label { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }
html .chat-option-link .lead-text { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-sm); }
html .chat-members .user-role { font-size: var(--cfy-fs-caption); }
html .chat-meta li { font-size: var(--cfy-fs-caption); }
html .chat-sap-meta { font-size: var(--cfy-fs-caption); }
html .chat-upload-option a { font-size: var(--cfy-fs-h4); }
html .channel-list a { font-weight: var(--cfy-fw-medium); }
html .contacts-list .user-meta { font-size: var(--cfy-fs-caption); }
html .contacts-list .user-actions { font-size: var(--cfy-fs-caption); }
html .contacts-add-link .lead-text { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-sm); }
html .nk-chat-aside-user .title { font-size: var(--cfy-fs-h4); }
html .code-block .prettyprint { font-size: var(--cfy-fs-caption); }
html .code-block-clean .title { font-size: var(--cfy-fs-caption); letter-spacing: var(--cfy-ls-caps); font-weight: var(--cfy-fw-medium); }
html .preview-title-lg { font-size: var(--cfy-fs-sm); }
html .example-width>div,
html .example-height>div,
html .example-border>div,
html .example-spacing>div { font-size: var(--cfy-fs-caption); }
html .components-preview h4.title,
html .components-preview .title.h4,
html .components-preview h5.title,
html .components-preview .title.h5 { font-size: var(--cfy-fs-h4); font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-medium); }

/* ═══ master1.css (6 règles) ═══ */
html .btn-primary { font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html .btn-outline-secondary { font-weight: var(--cfy-fw-semibold); }
html .form-control { font-size: var(--cfy-fs-md); }
html .form-control::placeholder { font-size: var(--cfy-fs-md); }
html .form-check-label { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-md); }
html .form-label { font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); font-size: var(--cfy-fs-base); }

/* ═══ commercify-modern.css (24 règles) ═══ */
html .cfy-btn { font-weight: var(--cfy-font-weight-medium); }
html .cfy-btn-sm { font-size: var(--cfy-fs-sm); }
html .cfy-nav-link { font-weight: var(--cfy-font-weight-medium); }
html .cfy-badge { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-font-weight-medium); }
html .cfy-section-title { font-weight: var(--cfy-font-weight-bold); }
html .cfy-hero-video-title { font-weight: var(--cfy-font-weight-semibold); }
html .cfy-video-title-text { font-weight: var(--cfy-font-weight-medium); }
html .cfy-carousel-controls { font-size: var(--cfy-fs-h4); font-weight: var(--cfy-fw-bold); }
html .cfy-hero-title { font-weight: var(--cfy-font-weight-bold); }
html .cfy-feature-title { font-weight: var(--cfy-font-weight-semibold); }
@media (max-width: 768px) {
    html .cfy-nav-link { font-size: var(--cfy-fs-base); }
}
@media (max-width: 768px) {
    html .cfy-carousel-controls { font-size: var(--cfy-fs-md); }
}
@media (max-width: 576px) {
    html .cfy-hero-title { font-size: var(--cfy-fs-h2); }
}
html .youtube-play-text { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); }
@media (max-width: 576px) {
    html .youtube-play-overlay em { font-size: var(--cfy-fs-h2) !important; }
    html .youtube-play-overlay:hover em { font-size: var(--cfy-fs-h3) !important; }
}
@media (max-width: 380px) {
    html .youtube-play-overlay em { font-size: var(--cfy-fs-h3) !important; }
    html .youtube-play-overlay:hover em { font-size: var(--cfy-fs-h4) !important; }
}
@media (max-width: 576px) {
    html .youtube-play-overlay em { font-size: var(--cfy-fs-md) !important; }
    html .youtube-play-overlay:hover em { font-size: var(--cfy-fs-lg) !important; }
}
@media (max-width: 380px) {
    html .youtube-play-overlay em { font-size: var(--cfy-fs-base) !important; }
    html .youtube-play-overlay:hover em { font-size: var(--cfy-fs-md) !important; }
}
@media (min-width: 768px) {
    html .btn-nav-publisher-desktop.btn-sm:not([style*="background: rgba(40,167,69"]):not([style*="background: rgba(255,152,0"]):not([style*="background: rgba(0,0,0"]):not([style*="background: rgba(51,153,255,0.25)"]) { font-weight: var(--cfy-fw-semibold) !important; }
}
html h1.catalog-title,
html h1[class*="catalog-title"],
html .catalog-title,
html div h1.catalog-title,
html .banner h1.catalog-title { font-family: var(--cfy-font-sans) !important; font-weight: var(--cfy-fw-semibold) !important; }

/* ═══ commercify_header_simplified.css (129 règles) ═══ */
html .header-actions .cfy-header-options-link { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-sm); letter-spacing: 0.02em; }
html .catalog-nav-item { font-weight: var(--cfy-fw-medium); }
html .catalog-nav-item.active { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-h4); }
html .catalog-nav-item.active .catalog-label-top { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html .catalog-nav-item.active .catalog-label-text { font-size: var(--cfy-fs-h4); font-weight: var(--cfy-fw-bold); }
html .catalog-nav-item-dashboard { font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html .dashboard-line1,
html .dashboard-line2 { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-base); letter-spacing: var(--cfy-ls-caps); }
html .catalog-nav-item-dashboard.active .dashboard-line1,
html .catalog-nav-item-dashboard.active .dashboard-line2 { font-size: var(--cfy-fs-h4); }
html .catalog-nav-item-hyperprofil { font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html .hyperprofil-line1,
html .hyperprofil-line2 { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-base); letter-spacing: var(--cfy-ls-caps); }
html .catalog-nav-item-hyperprofil.active .hyperprofil-line1,
html .catalog-nav-item-hyperprofil.active .hyperprofil-line2 { font-size: var(--cfy-fs-h4); font-weight: var(--cfy-fw-bold); }
html .catalog-nav-item-dashboard-tablet { font-weight: var(--cfy-fw-semibold); letter-spacing: 0.05em; }
html .btn-visitor-header { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-base); }
html .visitor-name-header { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); letter-spacing: 0.05em; }
@media (max-width: 575px) {
    html .catalog-nav-item-dashboard-tablet { font-size: var(--cfy-fs-caption) !important; }
    html .catalog-nav-item-dashboard-tablet .dashboard-line1,
    html .catalog-nav-item-dashboard-tablet .dashboard-line2 { font-size: var(--cfy-fs-caption) !important; letter-spacing: 0.05em !important; }
    html .btn-visitor-header { font-size: var(--cfy-fs-caption) !important; }
    html .visitor-name-header { font-size: var(--cfy-fs-caption) !important; }
}
@media (min-width: 576px) and (max-width: 767px) {
    html .catalog-nav-item-dashboard-tablet { font-size: var(--cfy-fs-caption) !important; }
    html .catalog-nav-item-dashboard-tablet .dashboard-line1,
    html .catalog-nav-item-dashboard-tablet .dashboard-line2 { font-size: var(--cfy-fs-caption) !important; letter-spacing: var(--cfy-ls-caps) !important; }
    html .btn-visitor-header { font-size: var(--cfy-fs-caption) !important; }
    html .visitor-name-header { font-size: var(--cfy-fs-caption) !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    html .catalog-nav-item { font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item.active { font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item.active .catalog-label-top { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item.active .catalog-label-text { font-size: var(--cfy-fs-caption); }
    html .dashboard-line1,
    html .dashboard-line2 { font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item-dashboard.active .dashboard-line1,
    html .catalog-nav-item-dashboard.active .dashboard-line2 { font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item-dashboard-tablet { font-size: var(--cfy-fs-base); }
    html .catalog-nav-item-dashboard-tablet .dashboard-line1,
    html .catalog-nav-item-dashboard-tablet .dashboard-line2 { font-size: var(--cfy-fs-base); }
    html .btn-visitor-header { font-size: var(--cfy-fs-base); }
    html .btn-visitor-header[data-tablet-label] { font-size: var(--cfy-fs-base) !important; }
    html .visitor-name-header { font-size: var(--cfy-fs-caption); }
}
@media (min-width: 992px) and (max-width: 1199px) {
    html .catalog-nav-item { font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item.active { font-size: var(--cfy-fs-base); }
    html .catalog-nav-item.active .catalog-label-top { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item.active .catalog-label-text { font-size: var(--cfy-fs-base); }
    html .dashboard-line1,
    html .dashboard-line2 { font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item-dashboard.active .dashboard-line1,
    html .catalog-nav-item-dashboard.active .dashboard-line2 { font-size: var(--cfy-fs-base); }
}
@media (min-width: 1200px) and (max-width: 1539px) {
    html .catalog-nav-item { font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item.active { font-size: var(--cfy-fs-md); }
    html .catalog-nav-item.active .catalog-label-top { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item.active .catalog-label-text { font-size: var(--cfy-fs-md); }
    html .dashboard-line1,
    html .dashboard-line2 { font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item-dashboard.active .dashboard-line1,
    html .catalog-nav-item-dashboard.active .dashboard-line2 { font-size: var(--cfy-fs-md); }
}
@media (min-width: 1540px) and (max-width: 2559px) {
    html .catalog-nav-item { font-size: var(--cfy-fs-base); }
    html .catalog-nav-item.active { font-size: var(--cfy-fs-h4); }
    html .catalog-nav-item.active .catalog-label-top { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-caption); }
    html .catalog-nav-item.active .catalog-label-text { font-size: var(--cfy-fs-h4); }
    html .dashboard-line1,
    html .dashboard-line2 { font-size: var(--cfy-fs-base); }
    html .catalog-nav-item-dashboard.active .dashboard-line1,
    html .catalog-nav-item-dashboard.active .dashboard-line2 { font-size: var(--cfy-fs-h4); }
}
@media (min-width: 2560px) {
    html .catalog-nav-item { font-size: var(--cfy-fs-lg); }
    html .catalog-nav-item.active { font-size: var(--cfy-fs-h3); }
    html .catalog-nav-item.active .catalog-label-top { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-sm); }
    html .catalog-nav-item.active .catalog-label-text { font-size: var(--cfy-fs-h3); }
    html .dashboard-line1,
    html .dashboard-line2 { font-size: var(--cfy-fs-lg); }
    html .catalog-nav-item-dashboard.active .dashboard-line1,
    html .catalog-nav-item-dashboard.active .dashboard-line2 { font-size: var(--cfy-fs-h3); }
    html .btn-visitor-header { font-size: var(--cfy-fs-lg); }
    html .visitor-name-header { font-size: var(--cfy-fs-lg); }
}
html .map-canvas > .map-view-toggle .map-view-btn { font-size: var(--cfy-fs-sm); }
html .map-canvas-stats-overlay-text { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-semibold); }
html .map-country-info { font-size: var(--cfy-fs-sm); }
html .map-country-info-head { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); }
html .map-country-info-catalog { font-weight: var(--cfy-fw-bold); }
html .map-country-info-hint { font-size: var(--cfy-fs-caption); }
html .map-country-info-reg-title { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-caption); letter-spacing: 0.04em; }
html .map-country-info-stat { font-size: var(--cfy-fs-caption); }
html .map-country-info-dep-title { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-caption); letter-spacing: 0.04em; }
html .map-view-btn { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }
html .map-dashboard-btn { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); letter-spacing: 0.05em; }
html .map-modal-overlay .map-mappemonde-header .dashboard-modal-title { font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-semibold) !important; }
html .map-float-search-input { font-size: var(--cfy-fs-base); }
html .map-float-search-results .map-country-item { font-size: var(--cfy-fs-base); }
html .map-float-search-results .map-empty { font-size: var(--cfy-fs-sm); }
html .map-result-group-title { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: 0.06em; }
html .map-result-line1 { font-size: var(--cfy-fs-base); }
html .map-result-continent { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); letter-spacing: 0.03em; }
html .map-result-code { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html .map-result-name { font-weight: var(--cfy-fw-semibold); }
html .map-result-badge { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); }
html .map-result-count { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html .map-result-count.is-zero { font-weight: var(--cfy-fw-semibold); }
html .map-result-context { font-size: var(--cfy-fs-caption); }
html .map-result-hint { font-size: var(--cfy-fs-caption); }
html .map-modal-overlay .map-mappemonde-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-sm) !important; }
html .map-modal-overlay .map-mappemonde-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-medium) !important; }
html .map-modal-overlay .map-mappemonde-footer .commercify-modal-btn-fermer,
html body.dark-mode .map-modal-overlay .map-mappemonde-footer .commercify-modal-btn-fermer,
html body:not(.light-mode) .map-modal-overlay .map-mappemonde-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-medium) !important; }
html .map-title { font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-bold); }
html .map-tooltip { font-size: var(--cfy-fs-base); }
html .map-tooltip-text { font-weight: var(--cfy-fw-semibold); }
html .map-tooltip-code { font-weight: var(--cfy-fw-regular); }
html .map-tooltip-stat { font-size: var(--cfy-fs-sm); }
html .map-tooltip-stat-value { font-weight: var(--cfy-fw-semibold); }
html .map-legend { font-size: var(--cfy-fs-base); }
html .map-legend-tab { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); }
html .map-legend-all-filter { font-size: var(--cfy-fs-sm); }
html .map-legend-all-row { font-size: var(--cfy-fs-caption); }
html .map-legend-all-name { font-weight: var(--cfy-fw-semibold); }
html .map-legend-all-code { font-weight: var(--cfy-fw-regular); }
html .map-legend-all-sub { font-size: var(--cfy-fs-caption); }
html .map-legend-all-count { font-weight: var(--cfy-fw-bold); }
html .map-legend-title { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); }
html .map-legend-label { font-size: var(--cfy-fs-sm); }
html .map-legend-scopenote { font-size: var(--cfy-fs-caption); }
html .map-legend-group-title { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-sm); letter-spacing: 0.04em; }
html .map-legend-group-meta { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-caption); letter-spacing: 0; }
html .map-legend-stat > strong { font-size: var(--cfy-fs-base); }
html .map-legend-sublabel { font-size: var(--cfy-fs-caption); }
html .map-legend-continent-jump .map-legend-label { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-base); }
html .map-legend-continent-jump .map-legend-sublabel { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-caption); letter-spacing: 0.03em; }
html .map-legend-top-title { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-base); }
html .map-legend-item { font-size: var(--cfy-fs-sm); }
html .map-legend-continent-row { font-size: var(--cfy-fs-sm); }
html .map-legend-continent-name { font-weight: var(--cfy-fw-semibold); }
html .map-legend-continent-meta { font-size: var(--cfy-fs-caption); }
html .map-tooltip-cta { font-weight: var(--cfy-fw-semibold); }
html .map-country-name { font-weight: var(--cfy-fw-bold); }
html .map-country-code { font-size: var(--cfy-fs-base); }
html .map-badge-quick { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html .map-empty,
html .map-error,
html .map-loading { font-weight: var(--cfy-fw-semibold); }
@media (max-width: 768px) {
    html .map-title { font-size: var(--cfy-fs-md); }
    html .map-view-btn { font-size: var(--cfy-fs-sm); }
}
@media (max-width: 991.98px) {
    html .map-modal-overlay .map-mappemonde-header .dashboard-modal-title { font-size: var(--cfy-fs-lg) !important; }
    html .map-modal-overlay .map-mappemonde-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-caption) !important; }
    html .map-modal-overlay .map-mappemonde-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-caption) !important; }
    html .map-modal-overlay .map-mappemonde-footer .commercify-modal-btn-fermer,
    html body.dark-mode .map-modal-overlay .map-mappemonde-footer .commercify-modal-btn-fermer,
    html body:not(.light-mode) .map-modal-overlay .map-mappemonde-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-base) !important; }
}
@media (max-width: 575.98px) {
    html .map-title { font-size: var(--cfy-fs-base) !important; }
    html .map-view-btn { font-size: var(--cfy-fs-caption) !important; }
    html .map-dashboard-btn { font-size: var(--cfy-fs-caption) !important; }
}

/* ═══ commercify_menu_sidebar.css (1 règles) ═══ */
html .hyper-profil-heading .overline-title,
html .murs-perso-heading .overline-title { letter-spacing: var(--cfy-ls-caps); font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-bold); }

/* ═══ commercify_menu_v2.css (29 règles) ═══ */
html body .nk-sidebar.cfy-mv2 .cfy-social-badge { font: var(--cfy-fw-bold) var(--cfy-fs-caption)/15px var(--cfy-font-sans); }
html body .nk-sidebar.cfy-mv2 .cfy-badge-cta,
html body .nk-sidebar.cfy-mv2 .cfy-badge-cta-compact { font: var(--cfy-fw-bold) var(--cfy-fs-caption)/1 var(--cfy-font-sans); letter-spacing: var(--cfy-ls-caps); }
html .cfy-social-panel { font-family: var(--cfy-font-sans); }
html .cfy-social-panel .cfy-social-panel-title { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
html .cfy-social-panel .cfy-social-panel-row { font-size: var(--cfy-fs-sm); }
html .cfy-social-panel .cfy-social-panel-count { font: var(--cfy-fw-semibold) var(--cfy-fs-caption)/1.4 var(--cfy-font-mono); }
html .cfy-social-panel .cfy-social-panel-count.is-zero { font-weight: var(--cfy-fw-medium); }
html body .nk-sidebar.cfy-mv2 .cfy-mv2-zt { font: var(--cfy-fw-semibold) var(--cfy-fs-caption)/1.2 var(--cfy-font-sans); letter-spacing: var(--cfy-ls-caps); }
html body .nk-sidebar.cfy-mv2 .cfy-hp-status { font: var(--cfy-fw-regular) var(--cfy-fs-caption)/1.4 var(--cfy-font-sans); }
html body .nk-sidebar.cfy-mv2 .cfy-hp-status b { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html body .nk-sidebar.cfy-mv2 .cfy-dim-name { font: var(--cfy-fw-medium) var(--cfy-fs-base)/1.2 var(--cfy-font-sans); }
html body .nk-sidebar.cfy-mv2 .cfy-dim-sub { font-size: var(--cfy-fs-caption); }
html body .nk-sidebar.cfy-mv2 .cfy-dim-count { font: var(--cfy-fw-medium) var(--cfy-fs-caption)/1.2 var(--sb-mono); }
html body .nk-sidebar.cfy-mv2 .cfy-dim-count b { font-weight: var(--cfy-fw-semibold); }
html body .nk-sidebar.cfy-mv2 .cfy-dim-cfg { font-weight: var(--cfy-fw-semibold); }
html body .nk-sidebar.cfy-mv2 .cfy-dim-here { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
html body .nk-sidebar.cfy-mv2 .cfy-dim.is-current .cfy-dim-name { font-weight: var(--cfy-fw-bold); }
html body .nk-sidebar.cfy-mv2 .nk-menu-sub .cfy-item .hp-jump-row { font: var(--cfy-fw-regular) var(--cfy-fs-sm)/1.35 var(--cfy-font-sans); }
html body .nk-sidebar.cfy-mv2 .hp-jump-child { font-weight: var(--cfy-fw-medium); }
html body .nk-sidebar.cfy-mv2 .hp-jump-links > a.hp-jump:first-child:not(:only-child) { font: var(--cfy-fw-medium) var(--cfy-fs-caption)/1 var(--sb-mono); letter-spacing: 0.03em; }
html body .nk-sidebar.cfy-mv2 .hp-jump-adcount { font: var(--cfy-fw-medium) var(--cfy-fs-caption)/1 var(--sb-mono); }
html body .nk-sidebar.cfy-mv2 .cfy-addz-h { font: var(--cfy-fw-semibold) var(--cfy-fs-caption)/1.2 var(--cfy-font-sans); letter-spacing: var(--cfy-ls-caps); }
html body .nk-sidebar.cfy-mv2 .cfy-addz-label { font: var(--cfy-fw-medium) var(--cfy-fs-sm)/1.3 var(--cfy-font-sans); }
html body .nk-sidebar.cfy-mv2 .cfy-addz-btn { font: var(--cfy-fw-semibold) var(--cfy-fs-caption)/1 var(--cfy-font-sans); }
html body .nk-sidebar.cfy-mv2 .cfy-addz-note { font: var(--cfy-fw-regular) var(--cfy-fs-caption)/1.4 var(--cfy-font-sans); }
html body .nk-sidebar.cfy-mv2 .cfy-walls-note { font: var(--cfy-fw-regular) var(--cfy-fs-caption)/1.4 var(--cfy-font-sans); }
html body .nk-sidebar.cfy-mv2 .cfy-wall-name { font: var(--cfy-fw-medium) var(--cfy-fs-base)/1.2 var(--cfy-font-sans); }
html body .nk-sidebar.cfy-mv2 .cfy-wall-tag { font: var(--cfy-fw-semibold) var(--cfy-fs-caption)/1.4 var(--cfy-font-sans); letter-spacing: var(--cfy-ls-caps); }
@media (max-width: 767.98px) {
    html body .nk-sidebar.cfy-mv2 .cfy-dim-name,
    html body .nk-sidebar.cfy-mv2 .cfy-wall-name { font-size: var(--cfy-fs-sm); }
}

/* ═══ commercify_vignettes_3d_button.css (4 règles) ═══ */
html .product-title { font-weight: var(--cfy-fw-semibold); }
html .product-price { font-weight: var(--cfy-fw-bold); }
html .product-category { letter-spacing: 0.5px; }
@media (prefers-color-scheme: dark) {
    html .product-title { font-weight: var(--cfy-fw-semibold); }
}

/* ═══ commercify_vignettes_optimized.css (65 règles) ═══ */
html .product-title { font-family: var(--cfy-font-sans); }
@media (max-width: 768px) {
    html :is(.product-card, .vignette-selectable) .card-title,
    html :is(.product-card, .vignette-selectable) .card-text,
    html :is(.product-card, .vignette-selectable) .card-body * { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-regular) !important; }
    html .btn,
    html .location-toggle { font-size: var(--cfy-fs-caption) !important; }
}
html .urgent-badge { font-size: var(--cfy-fs-sm); letter-spacing: 0.5px; font-weight: var(--cfy-fw-semibold); }
html .location-overlay-text { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); letter-spacing: 0.02em; }
html .location-country { font-weight: var(--cfy-fw-bold); }
html .location-city { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-base); }
html .location-postalcode { font-weight: var(--cfy-fw-medium); }
html .location-postalcode-popover { font-size: var(--cfy-fs-base); }
@media (max-width: 991.98px) {
    html .location-overlay-text { font-size: var(--cfy-fs-caption); }
}
@media (max-width: 575.98px) {
    html .location-overlay-text { font-size: var(--cfy-fs-caption); }
}
html .score-display { font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-semibold); }
html .view-count { font-size: var(--cfy-fs-base); }
html .price-badge { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); }
html .location-toggle.vignette-categories-rayon-toggle em { font-size: var(--cfy-fs-base); }
html .vignette-flip-toggle em { font-size: var(--cfy-fs-base); }
@media (max-width: 576px) {
    html .vignette-flip-toggle em { font-size: var(--cfy-fs-caption); }
    html .location-toggle.vignette-categories-rayon-toggle em { font-size: var(--cfy-fs-caption); }
}
html .flip-back-header .product-card-flip-back-title { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); letter-spacing: 0.5px; }
html .flip-back-header .product-card-flip-back-subtitle { font-weight: var(--cfy-fw-medium); font-size: var(--cfy-fs-base); }
html .flip-pill { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); }
html .product-card-flip-back-title { font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-bold); }
html .product-card-flip-back-subtitle { font-size: var(--cfy-fs-base); }
html .flip-action-btn { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; }
html .flip-action-btn span { font-size: var(--cfy-fs-caption) !important; }
html .flip-back-status { font-size: var(--cfy-fs-base); }
html .flip-back-footer { font-size: var(--cfy-fs-caption); }
html .flip-back-moderation-disclaimer { font-size: var(--cfy-fs-caption) !important; }
html .flip-back-visitor-message { font-size: var(--cfy-fs-base); }
html .vignettes-container-mini-custom .location-overlay-text { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; }
@media (max-width: 768px) {
    html .vignettes-container-mini-custom .location-overlay { font-size: var(--cfy-fs-caption) !important; }
}
html .cfy-catalog-empty-state .cfy-btn { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); }
html .cfy-publisher-empty-slug { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); letter-spacing: .5px; }
html .cfy-catalog-empty-state--publisher .cfy-catalog-empty-desc { font-size: var(--cfy-fs-md); }
html .cfy-publisher-empty-filter-note { font-size: var(--cfy-fs-base); }
html .cfy-catalog-retry-title { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html .cfy-catalog-retry-ring-number { font-size: var(--cfy-fs-display); font-weight: var(--cfy-fw-bold); }
html .cfy-catalog-retry-caption { font-size: var(--cfy-fs-sm); }
html .cfy-catalog-retry-skip { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: .5px; }
html .cfy-editors-linked-to-catalog .cfy-editor-card .cfy-editor-card__title,
html .cfy-editors-linked-to-catalog .cfy-editor-card-ghost .cfy-editor-card__title { font-size: var(--cfy-fs-md) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card .cfy-editor-card__count,
html .cfy-editors-linked-to-catalog .cfy-editor-card-ghost .cfy-editor-card__count { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card .cfy-btn-catalogue-public { font-size: var(--cfy-fs-sm) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card .team-status { font-size: var(--cfy-fs-caption) !important; }
html .cfy-editors-linked-to-catalog .cfy-editors-linked-banner .cfy-editors-banner-links .cfy-editors-search-link { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }
html .cfy-editors-linked-to-catalog .cfy-editor-card__title,
html .cfy-editors-linked-to-catalog .cfy-editor-card-ghost .cfy-editor-card__title { font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-bold) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__title-link { font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-bold) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__count,
html .cfy-editors-linked-to-catalog .cfy-editor-card-ghost .cfy-editor-card__count { font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-semibold) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__slogan-toggle { font-size: var(--cfy-fs-h3) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card .team-status,
html .cfy-editors-linked-to-catalog .cfy-editor-card-ghost .team-status { font-size: var(--cfy-fs-caption) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__title,
html .cfy-editors-linked-to-catalog .cfy-editor-card-ghost .cfy-editor-card__title,
html .cfy-editors-linked-to-catalog .cfy-editor-card__title-link { font-size: var(--cfy-fs-base) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__count,
html .cfy-editors-linked-to-catalog .cfy-editor-card-ghost .cfy-editor-card__count { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card .cfy-editor-card__subtext { font-size: var(--cfy-fs-caption) !important; }
html .cfy-editors-linked-to-catalog .cfy-btn-catalogue-public { font-size: var(--cfy-fs-caption) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__slogan-toggle,
html .cfy-editors-linked-to-catalog .cfy-editor-card__dropdown-trigger { font-size: var(--cfy-fs-md) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__title,
html .cfy-editors-linked-to-catalog .cfy-editor-card-ghost .cfy-editor-card__title { font-size: var(--cfy-fs-base) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__status { font-size: var(--cfy-fs-caption) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__count-badge { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-bold) !important; }
html .cfy-editors-linked-to-catalog .cfy-btn-catalogue-public { font-size: var(--cfy-fs-caption) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__slogan-toggle,
html .cfy-editors-linked-to-catalog .cfy-editor-card__dropdown-trigger { font-size: var(--cfy-fs-md) !important; }
html .cfy-editors-linked-to-catalog.cfy-slogans-visible .cfy-editor-card__slogan-row .cfy-editor-card__subtext { font-size: var(--cfy-fs-caption) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card__ghost-label { font-size: var(--cfy-fs-caption) !important; }
html .cfy-editors-linked-to-catalog .card-inner.cfy-editor-card__inner-simple .cfy-editor-card__title,
html .cfy-editors-linked-to-catalog .card-inner.cfy-editor-card__inner-simple .cfy-editor-card__title-link { font-size: var(--cfy-fs-md) !important; }
html .cfy-editors-linked-to-catalog .card-inner.cfy-editor-card__inner-simple .cfy-editor-card__count-line { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html .cfy-editors-linked-to-catalog .card-inner.cfy-editor-card__inner-simple .cfy-editor-card__view-ads-link { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html .cfy-editors-linked-to-catalog .cfy-editor-card-ghost .card-inner.cfy-editor-card__inner-simple .cfy-editor-card__title { letter-spacing: 0.01em !important; font-weight: var(--cfy-fw-bold) !important; }

/* ═══ v1_commercify_vignettes_pagination.css (17 règles) ═══ */
html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-display-text,
html:where(.cfy-tm-v1-commercify-vignettes-pagination) #vignettes-pagination-text-top,
html:where(.cfy-tm-v1-commercify-vignettes-pagination) #vignettes-pagination-text-bottom,
html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-row,
html:where(.cfy-tm-v1-commercify-vignettes-pagination) #vignettes-pagination-top,
html:where(.cfy-tm-v1-commercify-vignettes-pagination) #vignettes-pagination-bottom,
html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-row .pagination,
html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-row .page-link,
html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-catalog-select { font-family: var(--cfy-font-sans) !important; }
html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-display-text,
html:where(.cfy-tm-v1-commercify-vignettes-pagination) #vignettes-pagination-text-top,
html:where(.cfy-tm-v1-commercify-vignettes-pagination) #vignettes-pagination-text-bottom { font-size: var(--cfy-fs-caption) !important; }
html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-catalog-current { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-catalog-select { font-size: var(--cfy-fs-base) !important; }
@media (max-width: 1199.98px) {
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-catalog-select { font-size: var(--cfy-fs-sm) !important; }
}
@media (max-width: 991.98px) {
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-catalog-select { font-size: var(--cfy-fs-caption) !important; }
}
@media (max-width: 767.98px) {
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-catalog-select { font-size: var(--cfy-fs-caption) !important; }
}
@media (max-width: 575.98px) {
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) .vignettes-pagination-catalog-select { font-size: var(--cfy-fs-caption) !important; }
}
@media (min-width: 992px) {
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large .vignettes-pagination-display-text,
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large #vignettes-pagination-text-top,
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large #vignettes-pagination-text-bottom { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large #vignettes-pagination-top .pagination { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large #vignettes-pagination-top .page-link { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large #vignettes-pagination-top .page-link span[aria-hidden="true"] { font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large #vignettes-pagination-top .page-item.disabled .page-link { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large #vignettes-pagination-bottom .pagination { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large #vignettes-pagination-bottom .page-link { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large #vignettes-pagination-bottom .page-link span[aria-hidden="true"] { font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-pagination) body.pagination-size-large #vignettes-pagination-bottom .page-item.disabled .page-link { font-size: var(--cfy-fs-lg) !important; }
}

/* ═══ commercify_footer_optimized.css (31 règles) ═══ */
html .footer-wordmark { font-size: var(--cfy-fs-h2); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html .footer-tagline { font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-semibold); letter-spacing: 0.5px; }
html .tagline-subtitle { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-regular); letter-spacing: 1px; }
html .social-tooltip { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-semibold); }
html .footer-section-title { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-lg); letter-spacing: 1px; }
html .legal-link-inline { font-size: var(--cfy-fs-sm); }
html .video-title { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-md); letter-spacing: 1px; }
html .stats-header h3 { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-h3); letter-spacing: var(--cfy-ls-caps); }
html .stat-label { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
html .stat-card.maintenance-card .stat-label { font-size: var(--cfy-fs-base); }
html .stat-value { font-size: var(--cfy-fs-h2); font-weight: var(--cfy-fw-bold); }
html .stat-card.version-card .stat-value { font-size: var(--cfy-fs-h4); font-weight: var(--cfy-fw-semibold); }
html .version-badge { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); }
html .donation-btn { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-lg); }
html .copyright-text { font-size: var(--cfy-fs-base); }
html .copyright-text a { font-weight: var(--cfy-fw-medium); }
html .footer-badge span { font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
@media (min-width: 768px) and (max-width: 991.98px) {
    html .stat-value { font-size: var(--cfy-fs-h3); }
    html .footer-tagline { font-size: var(--cfy-fs-h4); }
    html .footer-section-title { font-size: var(--cfy-fs-md); }
    html .footer-wordmark { font-size: var(--cfy-fs-h3) !important; }
    html .donation-btn { font-size: var(--cfy-fs-md); }
}
@media (max-width: 767.98px) {
    html .footer-tagline { font-size: var(--cfy-fs-lg) !important; }
    html .footer-wordmark { font-size: var(--cfy-fs-h4) !important; }
    html .stat-value { font-size: var(--cfy-fs-h3) !important; }
    html .donation-btn { font-size: var(--cfy-fs-md); }
}
@media (max-width: 480px) {
    html .footer-tagline { font-size: var(--cfy-fs-md) !important; }
    html .footer-wordmark { font-size: var(--cfy-fs-lg) !important; }
    html .stat-value { font-size: var(--cfy-fs-h4) !important; }
    html .donation-btn { font-size: var(--cfy-fs-base); }
}
@media (max-width: 360px) {
    html .donation-btn { font-size: var(--cfy-fs-sm); }
}

/* ═══ commercify_home_blocks.css (36 règles) ═══ */
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-discovery-accordion .accordion-button,
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-discovery-accordion .cfy-home-discovery-accordion__toggle.accordion-button { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); letter-spacing: 0.02em; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-banners-demo__intro,
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-badge-funnel__intro,
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-hyper-profil__lead { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-homepage-discovery .banner.cfy-editors-linked-banner h1.cfy-editors-linked-title.catalog-title,
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block .banner.cfy-editors-linked-banner h1.cfy-editors-linked-title.catalog-title { font-weight: var(--cfy-fw-semibold) !important; font-family: var(--cfy-font-sans) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-banner-links .cfy-editors-search-link,
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-banner-links .cfy-editors-search-link { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block__title { font-family: var(--cfy-font-sans) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-homepage-discovery .cfy-home-block__banner-links .cfy-home-block__banner-link { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block__link-all { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-badge-funnel__booklet { font-size: var(--cfy-fs-caption); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-badge-funnel__booklet-link { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-badge-vignette__title { font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-badge-vignette__list-item { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-btn { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-category-card__label { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-discovery-switcher__btn { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-discovery-view__stub { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-discovery-view__loading { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-rayons-tab { font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-rayons-tab__count { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-rayon-card__count { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-rayon-card__label { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-rayons-list__link { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-docs-teaser__intro { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-docs-teaser__card-title { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-docs-teaser__card p { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-docs-teaser__link { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-sitemap-card__title { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-sitemap-card__list a { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-sitemap-card__all { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-community-moderation__intro { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-community-moderation__card-title { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-community-moderation__card p { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-community-moderation__link { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-hyper-profil__subtitle { font-family: var(--cfy-font-sans) !important; font-weight: var(--cfy-fw-semibold); letter-spacing: 0.02em; }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-hyper-profil__card strong { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-search-form__input { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-commercify-home-blocks) .cfy-home-block-search-advanced-link { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }

/* ═══ publisher-dark-mode-fixes.css (2 règles) ═══ */
html:where(.cfy-tm-publisher-dark-mode-fixes) .publisher-btn-private-access { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-publisher-dark-mode-fixes) .publisher-badge-gold { font-size: var(--cfy-fs-base); }

/* ═══ page_publisher_index_typology.css (28 règles) ═══ */
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-text-brand-blue,
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-text-brand,
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .h4.publisher-text-brand-blue { font-weight: var(--cfy-fw-bold); letter-spacing: -0.02em; }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-profile__title { font-family: var(--cfy-font-sans); font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-bold); letter-spacing: -0.02em; }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-profile__body { font-family: var(--cfy-font-sans); font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-profile__body strong { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .btn.publisher-btn-private-access { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .btn.bg-dark.text-warning { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .btn.btn-secondary.disabled.publisher-btn-private-access,
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .btn.btn-secondary:disabled.publisher-btn-private-access,
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .btn.btn-secondary.disabled.bg-dark.text-warning,
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .btn.btn-secondary:disabled.bg-dark.text-warning { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0.02em; }
html:where(.cfy-tm-page-publisher-index-typology) .dark-mode .page-publisher-typology .btn.btn-secondary.disabled.publisher-btn-private-access,
html:where(.cfy-tm-page-publisher-index-typology) .dark-mode .page-publisher-typology .btn.btn-secondary:disabled.publisher-btn-private-access,
html:where(.cfy-tm-page-publisher-index-typology) .dark-mode .page-publisher-typology .btn.btn-secondary.disabled.bg-dark.text-warning,
html:where(.cfy-tm-page-publisher-index-typology) .dark-mode .page-publisher-typology .btn.btn-secondary:disabled.bg-dark.text-warning { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0.02em; }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-nav__link { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-toggle-btn { font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-ad-context { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-ad-context-label { font-weight: var(--cfy-fw-bold); letter-spacing: 0.01em; }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-ad-context-slug { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-ad-context-link { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); }
@media (max-width: 767.98px) {
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-ad-context { font-size: var(--cfy-fs-base); }
}
@media (min-width: 1025px) {
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-ad-context { font-size: var(--cfy-fs-md); }
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-ad-context-slug,
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-ad-context-link { font-size: var(--cfy-fs-md); }
}
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-slug { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-h3); letter-spacing: -0.02em; font-family: var(--cfy-font-sans); }
@media (min-width: 1025px) {
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-slug { font-size: var(--cfy-fs-display); }
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-nav__link { font-size: var(--cfy-fs-md); }
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-toggle-btn { font-size: var(--cfy-fs-h3); }
}
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-slogan { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-tag { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); letter-spacing: 0.01em; }
@media (min-width: 768px) and (max-width: 1024px) {
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-col-left .publisher-nav__link { font-size: var(--cfy-fs-base); }
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-col-right .publisher-header-slug { font-size: var(--cfy-fs-h3); }
}
@media (max-width: 767.98px) {
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-slug { font-size: var(--cfy-fs-h4); }
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-header-slogan { font-size: var(--cfy-fs-md); }
    html:where(.cfy-tm-page-publisher-index-typology) .page-publisher-typology .publisher-nav__link { font-size: var(--cfy-fs-base); }
}

/* ═══ commercify_ad_details.css (29 règles) ═══ */
html:where(.cfy-tm-commercify-ad-details) .product-info .product-title,
html:where(.cfy-tm-commercify-ad-details) .product-info h2.product-title { font-size: var(--cfy-fs-display) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-ad-details) .product-details.entry p { font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-regular); }
html:where(.cfy-tm-commercify-ad-details) .product-details.entry .row.g-2 .d-flex.flex-column .mb-1,
html:where(.cfy-tm-commercify-ad-details) .product-details.entry .row.g-2 .badge,
html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.d-flex.flex-wrap.g-1 .badge,
html:where(.cfy-tm-commercify-ad-details) .product-details.entry > ul.d-flex.flex-wrap.g-1 li .badge,
html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.d-flex.flex-wrap.g-1 li .badge[style*="padding: 8px 16px"] { font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-ad-details) .product-details.entry h3.nk-block-title.page-title { font-size: var(--cfy-fs-h2) !important; font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li,
html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li span[style*="background: rgba(218,165,32,0.15)"],
html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=category"],
html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=scategory"],
html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=rayon"],
html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=srayon"] { font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-medium); }
@media (min-width: 576px) and (max-width: 991.98px) {
    html:where(.cfy-tm-commercify-ad-details) .product-info .product-title,
    html:where(.cfy-tm-commercify-ad-details) .product-info h2.product-title { font-size: var(--cfy-fs-display) !important; }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry p { font-size: var(--cfy-fs-h3) !important; }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry .row.g-2 .d-flex.flex-column .mb-1,
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry .row.g-2 .badge,
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.d-flex.flex-wrap.g-1 .badge,
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry > ul.d-flex.flex-wrap.g-1 li .badge,
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.d-flex.flex-wrap.g-1 li .badge[style*="padding: 8px 16px"] { font-size: var(--cfy-fs-h4) !important; }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry h3.nk-block-title.page-title { font-size: var(--cfy-fs-display) !important; }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li,
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li span[style*="background: rgba(218,165,32,0.15)"],
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=category"],
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=scategory"],
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=rayon"],
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=srayon"] { font-size: var(--cfy-fs-h3) !important; }
}
@media (min-width: 992px) {
    html:where(.cfy-tm-commercify-ad-details) .product-info .product-title,
    html:where(.cfy-tm-commercify-ad-details) .product-info h2.product-title { font-size: var(--cfy-fs-display) !important; font-weight: var(--cfy-fw-semibold) !important; }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry p { font-size: var(--cfy-fs-h2) !important; font-weight: var(--cfy-fw-regular); }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry .row.g-2 .d-flex.flex-column .mb-1 { font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-medium); }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry .row.g-2 .badge { font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-medium); }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.d-flex.flex-wrap.g-1 .badge { font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-medium); }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.d-flex.flex-wrap.g-1 li .badge.badge:not([style*="background-color: #1f2937"]),
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry > ul.d-flex.flex-wrap.g-1 li .badge { font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-medium); }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.d-flex.flex-wrap.g-1 li .badge[style*="padding: 8px 16px"] { font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-medium); }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry h3.nk-block-title.page-title[style*="font-size: 1.5rem"] { font-size: var(--cfy-fs-display) !important; font-weight: var(--cfy-fw-semibold); }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry h3.nk-block-title.page-title:not([style*="font-size: 1.5rem"]) { font-size: var(--cfy-fs-display) !important; font-weight: var(--cfy-fw-semibold); }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li { font-size: var(--cfy-fs-h2) !important; font-weight: var(--cfy-fw-regular); }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li span[style*="background: rgba(218,165,32,0.15)"] { font-size: var(--cfy-fs-h2) !important; font-weight: var(--cfy-fw-medium); }
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=category"],
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=scategory"],
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=rayon"],
    html:where(.cfy-tm-commercify-ad-details) .product-details.entry ul.list.list-sm.list-checked[style*="list-style: none"] li a[href*="catalog=srayon"] { font-size: var(--cfy-fs-h2) !important; font-weight: var(--cfy-fw-medium); }
}
html:where(.cfy-tm-commercify-ad-details) .cfy-loc-level { font-weight: var(--cfy-fw-medium); letter-spacing: 0.06em; }
html:where(.cfy-tm-commercify-ad-details) .cfy-loc-name { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-ad-details) .cfy-lang-code { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-ad-details) .cfy-loc-code { font-weight: var(--cfy-fw-regular); }
html:where(.cfy-tm-commercify-ad-details) .cfy-copy-btn { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-ad-details) .cfy-infos-catalog-badge { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-commercify-ad-details) .cfy-catalog-btn { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-semibold); }

/* ═══ commercify_publisher_index_right_zone.css (14 règles) ═══ */
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-tab { font-weight: var(--cfy-font-weight-medium); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-tab--active { font-weight: var(--cfy-font-weight-semibold); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-panel-title { font-weight: var(--cfy-font-weight-semibold); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-donation-cta__reason { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-donation-cta__btn { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-banners h4 { font-weight: var(--cfy-font-weight-semibold); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-galerie-play { font-size: var(--cfy-fs-h4); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-galerie-placeholder { font-size: var(--cfy-fs-caption); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-portfolio-title { font-weight: var(--cfy-font-weight-semibold); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-message-sender { font-weight: var(--cfy-font-weight-semibold); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-message-time { font-size: var(--cfy-fs-caption); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-log-time { font-size: var(--cfy-fs-caption); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-skill-name { font-weight: var(--cfy-font-weight-semibold); }
html:where(.cfy-tm-commercify-publisher-index-right-zone) .cfy-pi-zone-skill-level { font-weight: var(--cfy-font-weight-medium); }

/* ═══ publisher_index_responsive_layout.css (9 règles) ═══ */
@media (min-width: 2560px) {
    html:where(.cfy-tm-publisher-index-responsive-layout) .page-publisher-typology .publisher-profile__body { font-size: var(--cfy-fs-lg); }
}
@media (min-width: 3840px) {
    html:where(.cfy-tm-publisher-index-responsive-layout) .page-publisher-typology .publisher-profile__body { font-size: var(--cfy-fs-lg); }
    html:where(.cfy-tm-publisher-index-responsive-layout) .page-publisher-typology .publisher-profile__title { font-size: var(--cfy-fs-h2); }
}
@media (min-width: 1920px) {
    html:where(.cfy-tm-publisher-index-responsive-layout) .cfy-pi-zone-tab { font-size: var(--cfy-fs-base); }
}
@media (min-width: 2560px) {
    html:where(.cfy-tm-publisher-index-responsive-layout) .cfy-pi-zone-panel-title { font-size: var(--cfy-fs-h4); }
}
@media (max-width: 767px) {
    html:where(.cfy-tm-publisher-index-responsive-layout) .page-publisher-typology .publisher-profile__body { font-size: var(--cfy-fs-md); }
    html:where(.cfy-tm-publisher-index-responsive-layout) .cfy-pi-zone-tab { font-size: var(--cfy-fs-sm); }
}
@media (min-width: 3840px) {
    html:where(.cfy-tm-publisher-index-responsive-layout) .page-publisher-typology { font-size: var(--cfy-fs-md); }
    html:where(.cfy-tm-publisher-index-responsive-layout) .cfy-pi-zone { font-size: var(--cfy-fs-md); }
}

/* ═══ page_dash_comm_typology.css (17 règles) ═══ */
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-title { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-sum span { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-tabs button { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-name { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-ghost { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-adline { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-item.is-unread .cfy-cm-prev { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-badge { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-menu button { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-menu em,
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-sblock h4 em,
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-btn em { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .04em !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-code { font-family: var(--cfy-font-mono) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-btn { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-day { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-quick button { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-sblock h4 { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-slink { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-comm-typology):root body.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-cm-toast { font-weight: var(--cfy-fw-semibold) !important; }

/* ═══ page_dash_publisher_ads_typology.css (48 règles) ═══ */
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-eyebrow { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-title { font-weight: var(--cfy-fw-bold) !important; letter-spacing: -.01em !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-fw-views a { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat strong { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-list .dataTables_length label { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-table thead th .sub-text { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-t { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-price { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-slug { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-scope { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-status { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-a { font-weight: var(--cfy-fw-semibold) !important; }
@media (max-width: 767.98px) {
    html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { letter-spacing: .02em !important; }
}
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-modo strong { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-empty-t { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad .cfy-ad-cta { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-code { font-family: var(--cfy-font-mono) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-status { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-chip { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) button.cfy-bk-a { font-weight: var(--cfy-fw-semibold) !important; }
@media (min-width: 1200px) {
    html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology.cfy-adv-d-statuts .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-all .cfy-bk-colhead-t { font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology.cfy-adv-d-statuts .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-all .cfy-bk-colhead-n { font-weight: var(--cfy-fw-bold) !important; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology.cfy-adv-t-statuts .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-all .cfy-bk-colhead-t { font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology.cfy-adv-t-statuts .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-all .cfy-bk-colhead-n { font-weight: var(--cfy-fw-bold) !important; }
}
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-dg-lead { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-dg-open { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-dw-title { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-dg-gauge b { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-dg-grp h5 { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-dg-item.is-ko > span { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-dg-item small { font-weight: var(--cfy-fw-regular) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-dw-fix { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-adp-imgwait { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-adp-title { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-adp-act { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-adp-sec > h4 { font-weight: var(--cfy-fw-bold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-adp-dl dt { font-weight: var(--cfy-fw-regular) !important; }
@media (min-width: 1200px) {
    html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology:not(.cfy-adv-d-statuts):not(.cfy-adv-d-galerie) .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-all .cfy-bk-table thead th .sub-text { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
    html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology:not(.cfy-adv-d-statuts):not(.cfy-adv-d-galerie) .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-all .cfy-bk-c-list .cfy-ad-dg-lead { font-weight: var(--cfy-fw-regular) !important; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology:not(.cfy-adv-t-statuts):not(.cfy-adv-t-galerie) .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-all .cfy-bk-table thead th .sub-text { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
    html:where(.cfy-tm-page-dash-publisher-ads-typology):root body.page-dash-publisher-ads-typology:not(.cfy-adv-t-statuts):not(.cfy-adv-t-galerie) .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-ad-all .cfy-bk-c-list .cfy-ad-dg-lead { font-weight: var(--cfy-fw-regular) !important; }
}

/* ═══ page_dash_bookmarks_typology.css (24 règles) ═══ */
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-eyebrow { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-title { font-weight: var(--cfy-fw-bold) !important; letter-spacing: -.01em !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-fw-views a { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat strong { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-list .dataTables_length label { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-table thead th .sub-text { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-t { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-price { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-slug { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-scope { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-status { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-a { font-weight: var(--cfy-fw-semibold) !important; }
@media (min-width: 1200px) {
    html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology.cfy-bkv-d-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-t { font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology.cfy-bkv-d-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-n { font-weight: var(--cfy-fw-bold) !important; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology.cfy-bkv-t-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-t { font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology.cfy-bkv-t-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-n { font-weight: var(--cfy-fw-bold) !important; }
}
@media (max-width: 767.98px) {
    html:where(.cfy-tm-page-dash-bookmarks-typology):root body.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { letter-spacing: .02em !important; }
}

/* ═══ page_dash_follows_typology.css (26 règles) ═══ */
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-eyebrow { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-title { font-weight: var(--cfy-fw-bold) !important; letter-spacing: -.01em !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-fw-views a { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat strong { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-list .dataTables_length label { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-table thead th .sub-text { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-t { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-price { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-slug { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-scope { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-status { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-a { font-weight: var(--cfy-fw-semibold) !important; }
@media (min-width: 1200px) {
    html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology.cfy-fwv-d-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-t { font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology.cfy-fwv-d-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-n { font-weight: var(--cfy-fw-bold) !important; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology.cfy-fwv-t-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-t { font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology.cfy-fwv-t-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-n { font-weight: var(--cfy-fw-bold) !important; }
}
@media (max-width: 767.98px) {
    html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { letter-spacing: .02em !important; }
}
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-fw a.cfy-bk-t { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-follows-typology):root body.page-dash-follows-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-fw-cert { font-weight: var(--cfy-fw-semibold) !important; }

/* ═══ page_dash_likes_typology.css (24 règles) ═══ */
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-eyebrow { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-title { font-weight: var(--cfy-fw-bold) !important; letter-spacing: -.01em !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-fw-views a { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat strong { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-list .dataTables_length label { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-table thead th .sub-text { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-t { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-price { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-slug { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-scope { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-status { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-a { font-weight: var(--cfy-fw-semibold) !important; }
@media (min-width: 1200px) {
    html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology.cfy-lkv-d-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-t { font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology.cfy-lkv-d-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-n { font-weight: var(--cfy-fw-bold) !important; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology.cfy-lkv-t-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-t { font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology.cfy-lkv-t-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-n { font-weight: var(--cfy-fw-bold) !important; }
}
@media (max-width: 767.98px) {
    html:where(.cfy-tm-page-dash-likes-typology):root body.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { letter-spacing: .02em !important; }
}

/* ═══ page_dash_views_typology.css (27 règles) ═══ */
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-eyebrow { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-title { font-weight: var(--cfy-fw-bold) !important; letter-spacing: -.01em !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-fw-views a { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat strong { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-list .dataTables_length label { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-table thead th .sub-text { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-t { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-price { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-slug { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-scope { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-status { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-a { font-weight: var(--cfy-fw-semibold) !important; }
@media (min-width: 1200px) {
    html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology.cfy-vwv-d-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-t { font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology.cfy-vwv-d-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-n { font-weight: var(--cfy-fw-bold) !important; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology.cfy-vwv-t-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-t { font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology.cfy-vwv-t-listes .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-colhead-n { font-weight: var(--cfy-fw-bold) !important; }
}
@media (max-width: 767.98px) {
    html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { letter-spacing: .02em !important; }
}
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-vw-rank { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-vw-n strong { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-views-typology):root body.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-vw-n small { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }

/* ═══ page_dash_reviews_typology.css (23 règles) ═══ */
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-eyebrow { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-title { font-weight: var(--cfy-fw-bold) !important; letter-spacing: -.01em !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-fw-views a { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat strong { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-list .dataTables_length label { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-table thead th .sub-text { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-t { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-price { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-slug { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-scope { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-status { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-a { font-weight: var(--cfy-fw-semibold) !important; }
@media (max-width: 767.98px) {
    html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { letter-spacing: .02em !important; }
}
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-rv-title { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-rv-you { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-reviews-typology):root body.page-dash-reviews-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-rv-note b { font-weight: var(--cfy-fw-bold) !important; }

/* ═══ page_dash_publish_typology.css (5 règles) ═══ */
html:where(.cfy-tm-page-dash-publish-typology) .page-dash-publish-typology .publish-tabs-nav .nav-link { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-page-dash-publish-typology) .page-dash-publish-typology .publish-tabs-nav .nav-link.active { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-page-dash-publish-typology) body.light-mode .page-dash-publish-typology .publish-tab-pane h5,
html:where(.cfy-tm-page-dash-publish-typology) body.light-mode .page-dash-publish-typology .publish-tab-pane h5.text-warning { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-page-dash-publish-typology) body.light-mode .page-dash-publish-typology select.form-select optgroup,
html:where(.cfy-tm-page-dash-publish-typology) body.light-mode .page-dash-publish-typology .form-select optgroup { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-page-dash-publish-typology) .publish-form-ns .publish-error-summary-title { font-weight: var(--cfy-fw-semibold); }

/* ═══ page_dash_badge_typology.css (17 règles) ═══ */
html:where(.cfy-tm-page-dash-badge-typology) .page-dash-badge-typology .text-soft,
html:where(.cfy-tm-page-dash-badge-typology) .page-dash-badge-typology .nk-block-text p,
html:where(.cfy-tm-page-dash-badge-typology) .page-dash-badge-typology .nk-wg1-text .text-soft { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-page-dash-badge-typology) .page-dash-badge-typology .nk-block-text h5,
html:where(.cfy-tm-page-dash-badge-typology) .page-dash-badge-typology .nk-block-text h6,
html:where(.cfy-tm-page-dash-badge-typology) .page-dash-badge-typology .nk-wg1 .title,
html:where(.cfy-tm-page-dash-badge-typology) .page-dash-badge-typology .card-title { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-page-dash-badge-typology) .page-dash-badge-typology .nk-wg1 .title { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-page-dash-badge-typology) .page-dash-badge-typology .modal-body,
html:where(.cfy-tm-page-dash-badge-typology) #quotaModal .modal-body,
html:where(.cfy-tm-page-dash-badge-typology) #modalPermissions .modal-body,
html:where(.cfy-tm-page-dash-badge-typology) #modalChangePin .modal-body { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-page-dash-badge-typology) #quotaModal .modal-body p,
html:where(.cfy-tm-page-dash-badge-typology) #modalPermissions .modal-body p,
html:where(.cfy-tm-page-dash-badge-typology) #modalChangePin .modal-body p { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-page-dash-badge-typology) #quotaModal .modal-body small,
html:where(.cfy-tm-page-dash-badge-typology) #modalPermissions .modal-body small,
html:where(.cfy-tm-page-dash-badge-typology) #modalChangePin .modal-body small { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-page-dash-badge-typology) .page-dash-badge-typology .nav-tabs .nav-link,
html:where(.cfy-tm-page-dash-badge-typology) #quotaModal .nav-tabs .nav-link,
html:where(.cfy-tm-page-dash-badge-typology) #modalPermissions .nav-tabs .nav-link,
html:where(.cfy-tm-page-dash-badge-typology) #modalChangePin .nav-tabs .nav-link { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-badge-typology) #quotaModal .form-select,
html:where(.cfy-tm-page-dash-badge-typology) #modalPermissions .form-select,
html:where(.cfy-tm-page-dash-badge-typology) #modalChangePin .form-select { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-page-dash-badge-typology) #quotaModal label,
html:where(.cfy-tm-page-dash-badge-typology) #quotaModal .form-label,
html:where(.cfy-tm-page-dash-badge-typology) #modalPermissions label,
html:where(.cfy-tm-page-dash-badge-typology) #modalPermissions .form-label,
html:where(.cfy-tm-page-dash-badge-typology) #modalChangePin label,
html:where(.cfy-tm-page-dash-badge-typology) #modalChangePin .form-label { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode .page-dash-badge-typology .text-soft,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode .page-dash-badge-typology .nk-block-text p,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode .page-dash-badge-typology .nk-wg1-text .text-soft { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode .page-dash-badge-typology .nk-block-text h5,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode .page-dash-badge-typology .nk-block-text h6,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode .page-dash-badge-typology .nk-wg1 .title,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode .page-dash-badge-typology .card-title { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode .page-dash-badge-typology .modal-body,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #quotaModal .modal-body,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalPermissions .modal-body,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalChangePin .modal-body { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #quotaModal .modal-body p,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalPermissions .modal-body p,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalChangePin .modal-body p { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #quotaModal .modal-body small,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalPermissions .modal-body small,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalChangePin .modal-body small { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode .page-dash-badge-typology .nav-tabs .nav-link,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #quotaModal .nav-tabs .nav-link,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalPermissions .nav-tabs .nav-link,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalChangePin .nav-tabs .nav-link { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #quotaModal .form-select,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalPermissions .form-select,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalChangePin .form-select { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #quotaModal label,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #quotaModal .form-label,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalPermissions label,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalPermissions .form-label,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalChangePin label,
html:where(.cfy-tm-page-dash-badge-typology) body.light-mode #modalChangePin .form-label { font-size: var(--cfy-fs-base) !important; }

/* ═══ page_dash_publishers_typology.css (32 règles) ═══ */
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-eyebrow { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-title { font-weight: var(--cfy-fw-bold) !important; letter-spacing: var(--cfy-ls-title) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-hbtn { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-alert a { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-idc-k { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-prev-slug { font-weight: var(--cfy-fw-bold) !important; letter-spacing: var(--cfy-ls-title) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-state { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-dly small { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-dly b { font-weight: var(--cfy-fw-bold) !important; letter-spacing: var(--cfy-ls-display) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-nav a { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-nav a small { font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-sec-h h4 { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-title) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-sec-h h4 label { letter-spacing: inherit !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-sec-h h4 small { font-weight: var(--cfy-fw-regular) !important; letter-spacing: 0 !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-pill { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-label { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-pre b { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-cnt.is-over { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-rule.is-ko { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-more summary { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-btn { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-file .custom-file-label { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-tabs button { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-pv-h { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-prev-bio h3 { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-title) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-prev-bio h4 { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-prev-bio h5 { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-prev-bio strong { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-lock { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-delay b { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-delay span { font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-page-dash-publishers-typology):root body.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-pf-save.has-changes .cfy-pf-save-txt { font-weight: var(--cfy-fw-semibold) !important; }

/* ═══ page_dash_transactions_typology.css (35 règles) ═══ */
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-eyebrow { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-title { font-weight: var(--cfy-fw-bold) !important; letter-spacing: -.01em !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-fw-views a { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat strong { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-list .dataTables_length label { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkmv-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-bulkdel-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export-n { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-export { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-table thead th .sub-text { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-t { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-price { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-slug { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-scope { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-status { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-bk-a { font-weight: var(--cfy-fw-semibold) !important; }
@media (max-width: 767.98px) {
    html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-bk-stat span { letter-spacing: .02em !important; }
}
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-txp-sim { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-txp-bar label { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-txp-empty b { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) a.cfy-txp-ttl { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-slug { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-txp-money { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-btn { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-note b,
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-ship b { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-badge { font-weight: var(--cfy-fw-bold) !important; letter-spacing: .04em !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-fld > label { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-inp--pin { letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-panel > h3 { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: .06em !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-amount { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-kv dt { font-weight: var(--cfy-fw-regular) !important; }
html:where(.cfy-tm-page-dash-transactions-typology):root body.page-dash-transactions-typology .nk-content:not(#cfy-b1):not(#cfy-b2) .cfy-tx-tl b { font-weight: var(--cfy-fw-semibold) !important; }

/* ═══ page_platform_legal_typology.css (1 règles) ═══ */
html:where(.cfy-tm-page-platform-legal-typology) .page-platform-terms-typology .text-center.mb-2,
html:where(.cfy-tm-page-platform-legal-typology) .page-platform-privacy-typology .text-center .mb-2,
html:where(.cfy-tm-page-platform-legal-typology) .page-platform-legal-typology .text-center .mb-2,
html:where(.cfy-tm-page-platform-legal-typology) .page-platform-terms-typology .text-center.mb-2 strong,
html:where(.cfy-tm-page-platform-legal-typology) .page-platform-privacy-typology .mb-2 strong,
html:where(.cfy-tm-page-platform-legal-typology) .page-platform-legal-typology .mb-2 strong,
html:where(.cfy-tm-page-platform-legal-typology) .page-platform-terms-typology .text-center.mb-2 span,
html:where(.cfy-tm-page-platform-legal-typology) .page-platform-privacy-typology .mb-2 small,
html:where(.cfy-tm-page-platform-legal-typology) .page-platform-legal-typology .mb-2 small { font-size: var(--cfy-fs-lg) !important; }

/* ═══ commercify_catalog_banner.css (1 règles) ═══ */
html:where(.cfy-tm-commercify-catalog-banner) .catalog-banner-text { font-family: var(--cfy-font-sans) !important; font-weight: var(--cfy-fw-bold) !important; letter-spacing: 0.02em; }

/* ═══ commercify_catalog_navbar.css (122 règles) ═══ */
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-all { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-crumb-caption { font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-label { font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-label--static { font-weight: var(--cfy-fw-regular); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-label-sep { font-weight: var(--cfy-fw-regular); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-crumb--current .cfy-catalog-navbar-label { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-title { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-title-count { font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-h3 { font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-item.is-current { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-item.cfy-mm-head { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-tile b { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-tile-count { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-cal h4 { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-cal-grid b { font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-day.is-current { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-mcol-head b { font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-mcol-count { font-weight: var(--cfy-fw-medium); letter-spacing: 0; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-go { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-chip-caption { font-weight: var(--cfy-fw-medium); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-chip .cfy-catalog-navbar-label { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-refine { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-railbtn { font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-railbtn[aria-selected="true"] { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-sectitle { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-seccount { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero .cfy-mm-hero-num b { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero .cfy-mm-hero-num span { font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-stat b { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-strip-head h3 { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-seeall { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-card-label { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-card-count { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-media-code { font-weight: var(--cfy-fw-bold); letter-spacing: 0.04em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-code { font-weight: var(--cfy-fw-bold); letter-spacing: 0.04em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-back { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-drillhead-text h2 { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-cta { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hub :is(.cfy-mm-item.is-hot, .cfy-mm-item.is-selected) { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-drillhead-hp { font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-onlymine { font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-railbtn-hp { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hpstatus-text b { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hptray-msg { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hpchip.is-more { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hpbtn { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-dimcap { font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-seg-go { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-crit { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-cnb-pop-title b { font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-cnb-pop-title span { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-cnb-pop-hp { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-coach { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hpcard-title { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-stat-hp { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hptray-note.is-warn { font-weight: var(--cfy-fw-semibold); }
@media (max-width: 767.98px) {
    html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-dimcap:not(.cfy-catalog-navbar-dimcap--jump) { letter-spacing: normal; }
}
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-railsep { font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hptray-actions .cfy-mm-hpbtn--primary { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-jumpmore { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hub .cfy-mm-railbtn[aria-selected="true"],
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hub .cfy-mm-railbtn[aria-selected="true"]:hover { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-cur-sigle { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-cur-code { font-weight: var(--cfy-fw-bold); letter-spacing: 0.06em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hub :is(.cfy-mm-card-count, .cfy-mm-item-count) { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hub .is-empty :is(.cfy-mm-card-count, .cfy-mm-item-count) { font-weight: var(--cfy-fw-regular, 400); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hpall { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-jump { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fhead h3 { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fkicker { font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps, 0.08em); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fmeta small { font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps, 0.08em); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fmeta strong { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-flist h4 { font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps, 0.08em); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fiche--category .cfy-mm-fhead h3 { letter-spacing: 0.02em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fiche--rayon .cfy-mm-fhead h3 { font-weight: var(--cfy-fw-regular); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fiche--rayon .cfy-mm-fintro::first-letter { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fsigle { font-size: 88px; font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fiche--devise .cfy-mm-fkicker { font-family: var(--cfy-font-mono); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fbubble { font-weight: var(--cfy-fw-semibold); }
@media (max-width: 767.98px) {
    html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-fsigle { font-size: var(--cfy-fs-display); }
}
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-mega .cfy-mm-hub .cfy-mm-miller.is-one .cfy-mm-colback { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-mega .cfy-mm-head-bar .cfy-mm-title { font-weight: var(--cfy-fw-bold); letter-spacing: 0.02em; }
html:where(.cfy-tm-commercify-catalog-navbar) :is(.cfy-catalog-navbar-mega, .cfy-cnb-pop) .cfy-mm-hpcheck-box { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: 0.06em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-mega .cfy-mm-hpall { font-size: var(--cfy-fs-caption); letter-spacing: 0.04em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-mega .cfy-mm-hub .cfy-mm-cards--cur .cfy-mm-cur-sigle { font-size: var(--cfy-fs-h4); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-actgrp-t { font-weight: var(--cfy-fw-bold); letter-spacing: 0.04em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-actbtn { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-kk { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2 .cfy-mm-hero2-tt,
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-tt { font-size: var(--cfy-fs-display); font-weight: var(--cfy-fw-bold); letter-spacing: 0.01em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-st { font-size: var(--cfy-fs-sm); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-stat b { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-hint { font-size: var(--cfy-fs-sm); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-btn { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-trail { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-big { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-big b { font-size: var(--cfy-fs-display); font-weight: var(--cfy-fw-bold); letter-spacing: -0.02em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2.is-folded .cfy-mm-hero2-tt { font-size: var(--cfy-fs-h4); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-card { font: var(--cfy-fw-bold) var(--cfy-fs-md)/1 var(--cfy-font-mono); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2--category .cfy-mm-hero2-tt { font-size: var(--cfy-fs-display); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-out { font-size: 84px; font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2--rayon .cfy-mm-hero2-tt { font-family: var(--cfy-font-sans); font-size: var(--cfy-fs-display); font-weight: var(--cfy-fw-regular); letter-spacing: -0.01em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2--rayon .cfy-mm-hero2-st { font-family: var(--cfy-font-sans); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-letter { font: italic var(--cfy-fw-regular) 108px/1 var(--cfy-font-sans); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2--devise .cfy-mm-hero2-kk { font-family: var(--cfy-font-mono); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-sig { font-size: 62px; font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-tk { font: var(--cfy-fw-bold) var(--cfy-fs-caption)/1 var(--cfy-font-mono); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-bub { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-bold); letter-spacing: 0.06em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2--region .cfy-mm-hero2-tt,
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2--department .cfy-mm-hero2-tt { font-family: var(--cfy-font-mono); font-weight: var(--cfy-fw-bold); letter-spacing: -0.02em; }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-code { font: var(--cfy-fw-bold) var(--cfy-fs-h3)/1 var(--cfy-font-mono); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2--catalogfamily .cfy-mm-hero2-tt { font-size: var(--cfy-fs-display); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-sheet small { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-sheet b { font-size: var(--cfy-fs-display); font-weight: var(--cfy-fw-bold); }
@media (max-width: 767.98px) {
    html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-tt,
    html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2--category .cfy-mm-hero2-tt,
    html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2--rayon .cfy-mm-hero2-tt { font-size: var(--cfy-fs-h2); }
    html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-letter { font-size: 64px; }
    html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-sig { font-size: var(--cfy-fs-display); }
    html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-card { letter-spacing: 0.02em; }
    html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-sheet b { font-size: var(--cfy-fs-h3); }
    html:where(.cfy-tm-commercify-catalog-navbar) .cfy-mm-hero2-big b { font-size: var(--cfy-fs-display); }
}
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-mega .cfy-mm-sgroup-head { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-mega .cfy-mm-sres-media--code b { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-mega .cfy-mm-sres-label { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-catalog-navbar-mega .cfy-mm-sterm { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-catalog-navbar) .cfy-cnb-dimsep { font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }

/* ═══ commercify_hyperprofil_tooltips.css (4 règles) ═══ */
html:where(.cfy-tm-commercify-hyperprofil-tooltips) .tooltip.hyperprofil-tooltip-jump .tooltip-inner,
html:where(.cfy-tm-commercify-hyperprofil-tooltips) .tooltip.hyperprofil-tooltip-checkbox .tooltip-inner { font-weight: var(--cfy-fw-semibold); letter-spacing: 0.3px; }
@media (max-width: 576px) {
    html:where(.cfy-tm-commercify-hyperprofil-tooltips) .tooltip.hyperprofil-tooltip-jump .tooltip-inner,
    html:where(.cfy-tm-commercify-hyperprofil-tooltips) .tooltip.hyperprofil-tooltip-checkbox .tooltip-inner { font-size: var(--cfy-fs-sm); letter-spacing: 0.2px; }
}
@media (max-width: 768px) {
    html:where(.cfy-tm-commercify-hyperprofil-tooltips) h4[data-group-id] .form-check-label { font-size: var(--cfy-fs-sm); }
}
@media (max-width: 576px) {
    html:where(.cfy-tm-commercify-hyperprofil-tooltips) h4[data-group-id] .form-check-label { font-size: var(--cfy-fs-caption); }
}

/* ═══ v1_commercify_postloader.css (1 règles) ═══ */
html:where(.cfy-tm-v1-commercify-postloader) #page-loading-overlay { font-family: var(--cfy-font-sans); }

/* ═══ commercify_topheaderlogo_beta.css (102 règles) ═══ */
html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-landscape { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-regular); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-landscape-text { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-regular); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-visitor-landscape { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-caption); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-visitor-landscape .btn-landscape-text { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-hyperprofil-landscape { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-hyperprofil-landscape .btn-landscape-text { font-family: var(--cfy-font-sans); font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); letter-spacing: var(--cfy-ls-caps); }
@media (min-width: 1200px) and (max-width: 1539px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-visitor-landscape .btn-landscape-text { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-text-link { font-size: var(--cfy-fs-h4) !important; letter-spacing: 0.8px !important; font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-text-link:hover { font-weight: var(--cfy-fw-regular) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-label { font-size: var(--cfy-fs-caption) !important; letter-spacing: 0.5px !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-text { font-size: var(--cfy-fs-caption) !important; letter-spacing: 0.4px !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-hyperprofil-landscape .btn-landscape-text { font-size: var(--cfy-fs-base) !important; }
}
@media (min-width: 1540px) and (max-width: 2559px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-visitor-landscape .btn-landscape-text { font-size: var(--cfy-fs-h4) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-text-link { font-size: var(--cfy-fs-h4) !important; letter-spacing: 0.9px !important; font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-text-link:hover { font-weight: var(--cfy-fw-regular) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-label { font-size: var(--cfy-fs-caption) !important; letter-spacing: 0.6px !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-text { font-size: var(--cfy-fs-base) !important; letter-spacing: 0.5px !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-hyperprofil-landscape .btn-landscape-text { font-size: var(--cfy-fs-base) !important; }
}
@media (min-width: 2560px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-landscape { font-size: var(--cfy-fs-lg); }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-landscape-text { font-size: var(--cfy-fs-lg); }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-visitor-landscape .btn-landscape-text { font-size: var(--cfy-fs-h3) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-text-link { font-size: var(--cfy-fs-h3) !important; letter-spacing: 1px !important; font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-text-link:hover { font-weight: var(--cfy-fw-regular) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-label { font-size: var(--cfy-fs-base) !important; letter-spacing: 0.7px !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-text { font-size: var(--cfy-fs-md) !important; letter-spacing: 0.6px !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-visitor-landscape .btn-landscape-text { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-text-link { font-size: var(--cfy-fs-lg) !important; letter-spacing: 0.7px !important; font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-text-link:hover { font-weight: var(--cfy-fw-regular) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-hyperprofil-landscape .btn-landscape-text { font-size: var(--cfy-fs-caption) !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-label { font-size: var(--cfy-fs-caption) !important; letter-spacing: var(--cfy-ls-caps) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-text { font-size: var(--cfy-fs-caption) !important; letter-spacing: 0.3px !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-hyperprofil-landscape .btn-landscape-text { font-size: var(--cfy-fs-caption) !important; letter-spacing: var(--cfy-ls-caps) !important; }
}
@media (min-width: 576px) and (max-width: 767px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .quick-link-separator { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-label { font-size: 0.35rem !important; letter-spacing: var(--cfy-ls-caps) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-text { font-size: var(--cfy-fs-caption) !important; letter-spacing: 0.3px !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-hyperprofil-landscape .btn-landscape-text { font-size: var(--cfy-fs-caption) !important; letter-spacing: 0.5px !important; }
}
@media (max-width: 575px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .quick-link-separator { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn { font-size: 0.35rem !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-label { font-size: 0.3rem !important; letter-spacing: 0.3px !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-text { font-size: 0.35rem !important; letter-spacing: 0.2px !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-hyperprofil-landscape .btn-landscape-text { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0.2px !important; }
}
html:where(.cfy-tm-commercify-topheaderlogo-beta) .logo-beta-tag { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .logo-beta-tag-right { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .quick-link-separator { font-size: var(--cfy-fs-h4); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .publish-text-main { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); letter-spacing: 0.5px; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-text-link { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-caption); letter-spacing: 0.5px; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .publish-text-link { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-caption); letter-spacing: 0.5px; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .beta-tunnel-label { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-marquee-text { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .visitor-v-btn { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .visitor-greeting { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .menu-jump-text { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .menu-jump-text-hyper { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .menu-jump-text-profil { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .visitor-simple-text { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .jump-btn-prototype { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-caption); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-caption); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn.active { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn.active .catalog-label { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn.active .catalog-text { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-label { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-text { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: 0.5px; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .modal-visitor-username { font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .modal-visitor-actions .btn { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .publisher-switch-loading-text h3 { font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .publisher-switch-loading-text p { font-size: var(--cfy-fs-lg); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .publisher-switch-loading-text strong { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .loading-dots span { font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) #language-loading-overlay .language-loading-text h3 { font-size: var(--cfy-fs-display); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) #language-loading-overlay .language-loading-text p { font-size: var(--cfy-fs-h4); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) #language-loading-overlay .language-loading-text strong { font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) #language-loading-overlay .language-loading-text .loading-dots span { font-size: var(--cfy-fs-h2); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-modal-title { font-size: var(--cfy-fs-display); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-modal-subtitle { font-size: var(--cfy-fs-h4); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-section-title { font-size: var(--cfy-fs-h2); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-card-title { font-size: var(--cfy-fs-h4); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-card-subtitle { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-card-badge .badge { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); letter-spacing: 0.5px; }
@media (max-width: 768px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-card-title { font-size: var(--cfy-fs-lg); }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-card-subtitle { font-size: var(--cfy-fs-sm); }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-modal-title { font-size: var(--cfy-fs-h2); }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .dashboard-modal-subtitle { font-size: var(--cfy-fs-md); }
}
html:where(.cfy-tm-commercify-topheaderlogo-beta) #languageModal .language-modal-title { font-size: var(--cfy-fs-display) !important; font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) #languageModal .language-modal-subtitle { font-size: var(--cfy-fs-h4) !important; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) #languageModal .language-section-title { font-size: var(--cfy-fs-h2) !important; font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) #languageModal .language-search-input { font-size: var(--cfy-fs-lg) !important; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) #languageModal .language-name { font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) #languageModal .language-native-name { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) #languageModal .language-check { font-size: var(--cfy-fs-h4) !important; }
html:where(.cfy-tm-commercify-topheaderlogo-beta) .public-page-btn-custom,
html:where(.cfy-tm-commercify-topheaderlogo-beta) .logout-btn-custom { font-weight: var(--cfy-fw-semibold); }
@media (max-width: 767px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .publish-text-link,
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .menu-jump-btn,
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .publish-text-main { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-label { font-size: 0.28rem !important; letter-spacing: 0.3px !important; }
}
@media (max-width: 480px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .visitor-simple-text { font-size: var(--cfy-fs-caption) !important; }
}
html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-text { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); letter-spacing: 0.3px; }
@media (min-width: 768px) and (max-width: 1024px) {
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .catalog-header .btn-visitor-header[data-tablet-label],
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-visitor-header[data-tablet-label].mobile-label-enabled,
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-visitor-header[data-tablet-label][data-mobile-label] { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-bold) !important; }
    html:where(.cfy-tm-commercify-topheaderlogo-beta) .btn-visitor-header[data-tablet-label] .visitor-btn-label-hover { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-bold) !important; }
}

/* ═══ commercify_theme_modals.css (13 règles) ═══ */
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-title,
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] :is(#dashboardModal, #languageModal, #modalSearchAdvanced, #modalExportAds, #modalPrivateCodes, #modalBanners, #modalPublisherSwitch, #modalInstallHomescreen, #gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal, #mappemonde):not(#cfy-b1):not(#cfy-b2) .dashboard-modal-title .dashboard-modal-title-text { letter-spacing: 0.04em; }
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] :is(#gameHUD, #shootGameHUD):not(#cfy-b1):not(#cfy-b2) span[id] { font-family: var(--cfy-font-mono); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-force__title { font-weight: var(--cfy-fw-semibold, 600) !important; }
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-force__btn,
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-force__btn:disabled { font-weight: var(--cfy-fw-semibold, 600) !important; }
html:where(.cfy-tm-commercify-header-refresh):root body #dashboardModal:not(#cfy-b1) .dashboard-quick-vignette-editor-lang { font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-header-refresh):root body #dashboardModal:not(#cfy-b1) .cfy-dnotif-head,
html:where(.cfy-tm-commercify-header-refresh):root body #dashboardModal:not(#cfy-b1) .cfy-dnotif-seg { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-card__title { font-weight: var(--cfy-fw-semibold, 600) !important; }
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .cfy-report-step__num { font-weight: var(--cfy-fw-semibold, 600) !important; }
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-score-calc-result { font-weight: var(--cfy-fw-bold, 700) !important; }
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-score-result__label { font-weight: var(--cfy-fw-semibold, 600) !important; }
html:where(.cfy-tm-commercify-header-refresh):root body[class*="cfy-ht-"] .commercify-modal:not(#cfy-b1):not(#cfy-b2) .commercify-score-result__value { font-weight: var(--cfy-fw-bold, 700) !important; }
html:where(.cfy-tm-commercify-header-refresh):root body #languageModal .language-dir-btn { font-weight: var(--cfy-fw-semibold); }
@media (max-width: 991.98px) {
    html:where(.cfy-tm-commercify-header-refresh):root body #languageModal .language-dir-switch-m-label { font-weight: var(--cfy-fw-semibold); }
}

/* ═══ commercify_theme_panels.css (2 règles) ═══ */
html:where(.cfy-tm-commercify-header-refresh):root body .system-message-wrapper #alertMessage strong { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-header-refresh):root body .system-message-wrapper #alertMessage :is(small, #countdown) { font-weight: var(--cfy-fw-regular) !important; }

/* ═══ commercify_theme_footer.css (8 règles) ═══ */
html:where(.cfy-tm-commercify-header-refresh) footer .cfy-footer-app-kicker { font-weight: var(--cfy-fw-semibold, 600); letter-spacing: .06em; }
html:where(.cfy-tm-commercify-header-refresh) footer .cfy-footer-app-cta { font-weight: var(--cfy-fw-bold, 700); }
html:where(.cfy-tm-commercify-header-refresh) footer .cfy-footer-os.is-current { font-weight: var(--cfy-fw-semibold, 600); }
html:where(.cfy-tm-commercify-header-refresh) footer.modern-footer .cfy-stat-split-label { font-weight: var(--cfy-fw-regular, 400); }
html:where(.cfy-tm-commercify-header-refresh) footer.modern-footer .cfy-stat-split-value { font-weight: var(--cfy-fw-semibold, 600); }
html:where(.cfy-tm-commercify-header-refresh) footer.modern-footer .footer-brand-video-carousel .fbv-caption { font-weight: var(--cfy-fw-semibold, 600); }
html:where(.cfy-tm-commercify-header-refresh) footer.modern-footer .version-card .cfy-info-version { font-weight: var(--cfy-fw-bold, 700); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-header-refresh) footer.modern-footer .prereg-card a.cfy-prereg-donation { font-weight: var(--cfy-fw-semibold, 600); }

/* ═══ commercify_theme_pages.css (6 règles) ═══ */
html:where(.cfy-tm-commercify-header-refresh) body[class*="cfy-ht-"] #reviewForm .form-label { font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-header-refresh) body[class*="cfy-ht-"] #reviewForm .custom-control .btn[data-bs-toggle="popover"] { font-weight: var(--cfy-fw-semibold); }
html.cfy-pg-publisher-typology:where(.cfy-tm-commercify-header-refresh) body[class*="cfy-ht-"] .nk-content :is(#reviewForm small[style*="ff6b6b" i], .product-details small[style*="color: red" i]) { font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-header-refresh) #reviewForm .cfy-review-report { font-weight: var(--cfy-fw-medium); }
html:where(.cfy-tm-commercify-header-refresh) #reviewForm .cfy-review-cta { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-header-refresh) body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-ad-context-slug,
html:where(.cfy-tm-commercify-header-refresh) body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-ad-context-slug * { font-family: var(--cfy-font-mono); }

/* ═══ commercify_header_refresh.css (8 règles) ═══ */
@media (min-width: 1200px) {
    html:where(.cfy-tm-commercify-header-refresh) body .catalog-header.cfy-hr .header-actions .cfy-header-options-link { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-medium); letter-spacing: var(--cfy-ls-caps); }
    html:where(.cfy-tm-commercify-header-refresh) body .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet,
    html:where(.cfy-tm-commercify-header-refresh) body .catalog-header.cfy-hr .btn-visitor-header { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
    html:where(.cfy-tm-commercify-header-refresh) .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb-caption { font-weight: var(--cfy-fw-medium); letter-spacing: var(--cfy-ls-caps); }
    html:where(.cfy-tm-commercify-header-refresh) .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-label { font-weight: var(--cfy-fw-medium); letter-spacing: 0; }
    html:where(.cfy-tm-commercify-header-refresh) .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-label--static { font-weight: var(--cfy-fw-regular); }
    html:where(.cfy-tm-commercify-header-refresh) .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb.cfy-catalog-navbar-crumb--current .cfy-catalog-navbar-label { font-weight: var(--cfy-fw-bold); }
}
@media (min-width: 1200px) and (max-width: 1439.98px) {
    html:where(.cfy-tm-commercify-header-refresh) body .catalog-header.cfy-hr .header-actions .cfy-header-options-link { letter-spacing: var(--cfy-ls-caps); }
    html:where(.cfy-tm-commercify-header-refresh) body .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet,
    html:where(.cfy-tm-commercify-header-refresh) body .catalog-header.cfy-hr .btn-visitor-header { letter-spacing: 0.07em; }
}

/* ═══ commercify_swal_pin_theme.css (1 règles) ═══ */
html:where(.cfy-tm-commercify-swal-pin-theme) .swal-title-custom,
html:where(.cfy-tm-commercify-swal-pin-theme) .swal-popup-custom .swal2-title { font-weight: var(--cfy-fw-semibold) !important; }

/* ═══ commercify_mobile_shell_contract.css (3 règles) ═══ */
@media (max-width: 1024.98px) {
    html:where(.cfy-tm-commercify-mobile-shell-contract) .cfy-mobile-feature-note { font-size: var(--cfy-fs-caption); }
    html:where(.cfy-tm-commercify-mobile-shell-contract) .cfy-mobile-filter-fab { font-size: var(--cfy-fs-h4); }
}
@media (max-width: 767.98px) {
    html:where(.cfy-tm-commercify-mobile-shell-contract) .publish-form-ns-tab { font-size: var(--cfy-fs-sm); }
}

/* ═══ commercify_menu_pandawa.css (8 règles) ═══ */
html:where(.cfy-tm-commercify-menu-pandawa) .pandawa-nav-link { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-commercify-menu-pandawa) .pandawa-nav-link.active { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-menu-pandawa) .pandawa-submenu-link { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-regular); }
html:where(.cfy-tm-commercify-menu-pandawa) .pandawa-submenu-link.active { font-weight: var(--cfy-fw-medium); }
@media (min-width: 768px) and (max-width: 1199px) {
    html:where(.cfy-tm-commercify-menu-pandawa) .pandawa-nav-link { font-size: var(--cfy-fs-base); }
}
@media (max-width: 767px) {
    html:where(.cfy-tm-commercify-menu-pandawa) .pandawa-nav-link { font-size: var(--cfy-fs-base); }
    html:where(.cfy-tm-commercify-menu-pandawa) .pandawa-submenu-link { font-size: var(--cfy-fs-base); }
}
@media (max-width: 480px) {
    html:where(.cfy-tm-commercify-menu-pandawa) .pandawa-nav-link { font-size: var(--cfy-fs-sm); }
}

/* ═══ commercify_quicksearch_ia.css (15 règles) ═══ */
html:where(.cfy-tm-commercify-quicksearch-ia) .quicksearch-ia-btn { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: 0.01em; }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-portrait-caption-title { font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-portrait-caption-sub { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-chat-title { font-weight: var(--cfy-fw-bold); letter-spacing: 0.07em; }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-bubble { font-size: var(--cfy-fs-lg); }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-thinking-label { font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-block-title { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); letter-spacing: 0.06em; }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-result-title { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-result-publisher { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-publisher-card { font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-chip { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-view-all { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-md); letter-spacing: 0.03em; }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-replay-link { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-fallback { font-size: var(--cfy-fs-md); }
@media (max-width: 640px) {
    html:where(.cfy-tm-commercify-quicksearch-ia) #commercify-ia-overlay .cfy-ia-bubble { font-size: var(--cfy-fs-md); }
}

/* ═══ commercify_modal_dashboard_family.css (5 règles) ═══ */
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalSearchAdvanced .dashboard-modal-header .dashboard-modal-title,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalPublisherSwitch .dashboard-modal-header .dashboard-modal-title,
html:where(.cfy-tm-commercify-modal-dashboard-family) #languageModal .dashboard-modal-header .dashboard-modal-title,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gamesCommercifyModal .dashboard-modal-header .dashboard-modal-title,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gameKoinkoinsModal .dashboard-modal-header .dashboard-modal-title,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gameShootYourScammersModal .dashboard-modal-header .dashboard-modal-title,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalPrivateCodes .dashboard-modal-header .dashboard-modal-title,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalBanners .dashboard-modal-header .dashboard-modal-title,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalExportAds .dashboard-modal-header .dashboard-modal-title,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalInstallHomescreen .dashboard-modal-header .dashboard-modal-title { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0.04em !important; }
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalSearchAdvanced .dashboard-modal-footer .dashboard-modal-footer-nav,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalPublisherSwitch .dashboard-modal-footer .dashboard-modal-footer-nav,
html:where(.cfy-tm-commercify-modal-dashboard-family) #languageModal .dashboard-modal-footer .dashboard-modal-footer-nav,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gamesCommercifyModal .dashboard-modal-footer .dashboard-modal-footer-nav,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gameKoinkoinsModal .dashboard-modal-footer .dashboard-modal-footer-nav,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gameShootYourScammersModal .dashboard-modal-footer .dashboard-modal-footer-nav,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalPrivateCodes .dashboard-modal-footer .dashboard-modal-footer-nav,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalBanners .dashboard-modal-footer .dashboard-modal-footer-nav,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalExportAds .dashboard-modal-footer .dashboard-modal-footer-nav,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalInstallHomescreen .dashboard-modal-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalSearchAdvanced .dashboard-modal-footer .dashboard-modal-footer-nav-sep,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalPublisherSwitch .dashboard-modal-footer .dashboard-modal-footer-nav-sep,
html:where(.cfy-tm-commercify-modal-dashboard-family) #languageModal .dashboard-modal-footer .dashboard-modal-footer-nav-sep,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gamesCommercifyModal .dashboard-modal-footer .dashboard-modal-footer-nav-sep,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gameKoinkoinsModal .dashboard-modal-footer .dashboard-modal-footer-nav-sep,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gameShootYourScammersModal .dashboard-modal-footer .dashboard-modal-footer-nav-sep,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalPrivateCodes .dashboard-modal-footer .dashboard-modal-footer-nav-sep,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalBanners .dashboard-modal-footer .dashboard-modal-footer-nav-sep,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalExportAds .dashboard-modal-footer .dashboard-modal-footer-nav-sep,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalInstallHomescreen .dashboard-modal-footer .dashboard-modal-footer-nav-sep { font-weight: var(--cfy-fw-regular) !important; }
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalSearchAdvanced .dashboard-modal-footer .dashboard-modal-footer-back-btn,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalPublisherSwitch .dashboard-modal-footer .dashboard-modal-footer-back-btn,
html:where(.cfy-tm-commercify-modal-dashboard-family) #languageModal .dashboard-modal-footer .dashboard-modal-footer-back-btn,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gamesCommercifyModal .dashboard-modal-footer .dashboard-modal-footer-back-btn,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gameKoinkoinsModal .dashboard-modal-footer .dashboard-modal-footer-back-btn,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gameShootYourScammersModal .dashboard-modal-footer .dashboard-modal-footer-back-btn,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalPrivateCodes .dashboard-modal-footer .dashboard-modal-footer-back-btn,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalBanners .dashboard-modal-footer .dashboard-modal-footer-back-btn,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalExportAds .dashboard-modal-footer .dashboard-modal-footer-back-btn,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalInstallHomescreen .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalSearchAdvanced .modal-footer .commercify-modal-btn-fermer,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalPublisherSwitch .modal-footer .commercify-modal-btn-fermer,
html:where(.cfy-tm-commercify-modal-dashboard-family) #languageModal .modal-footer .commercify-modal-btn-fermer,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gamesCommercifyModal .modal-footer .commercify-modal-btn-fermer,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gameKoinkoinsModal .modal-footer .commercify-modal-btn-fermer,
html:where(.cfy-tm-commercify-modal-dashboard-family) #gameShootYourScammersModal .modal-footer .commercify-modal-btn-fermer,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalExportAds .modal-footer .commercify-modal-btn-fermer,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalInstallHomescreen .modal-footer .commercify-modal-btn-fermer,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalBanners .modal-footer .commercify-modal-btn-fermer,
html:where(.cfy-tm-commercify-modal-dashboard-family) #modalPrivateCodes .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-medium) !important; }

/* ═══ v1_commercify_modal_dashboard.css (50 règles) ═══ */
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-header .dashboard-modal-title { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0.04em !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-footer .dashboard-modal-footer-nav-sep { font-weight: var(--cfy-fw-regular) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-footer .dashboard-modal-footer-nav-current { font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-subtitle { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-section-title { font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-quick-modal-btn { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-quick-modal-btn span { font-size: var(--cfy-fs-caption) !important; letter-spacing: 0.02em !important; }
@media (max-width: 768px) {
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-quick-modal-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-quick-modal-btn span { font-size: var(--cfy-fs-caption) !important; }
}
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-jump-actions .btn { font-size: var(--cfy-fs-base) !important; letter-spacing: 0.03em !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-btn-text { font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-search-btn .dashboard-btn-text { font-size: var(--cfy-fs-caption) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-jump-actions .dashboard-quick-vignette-btn { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-jump-actions .dashboard-quick-vignette-publish .dashboard-card-title.dashboard-card-title-twolines { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-medium) !important; letter-spacing: 0.02em !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-jump-actions .dashboard-quick-vignette-banners .dashboard-card-title.dashboard-card-title-twolines { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-medium) !important; letter-spacing: 0.02em !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-jump-actions .dashboard-quick-vignette-editor .dashboard-quick-vignette-editor-slug { font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-grid-catalogs .dashboard-card-title { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-grid-catalogs .dashboard-card-description { font-size: var(--cfy-fs-caption) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-card-title { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-card-description { font-size: var(--cfy-fs-caption) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-card-subtitle { font-size: var(--cfy-fs-caption) !important; }
html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-card-badge .badge { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0.5px !important; }
@media (max-width: 991.98px) {
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-header .dashboard-modal-title { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-title { font-size: var(--cfy-fs-h4) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-subtitle { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-section-title { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-card-title { font-size: var(--cfy-fs-sm) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-card-description { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-jump-actions .btn { font-size: var(--cfy-fs-caption) !important; }
}
@media (max-width: 575.98px) {
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-title { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-subtitle { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-footer .dashboard-modal-footer-nav-link { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-footer .dashboard-modal-footer-nav-current { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-sm) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-quick-modal-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-quick-modal-btn span { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-section-title { font-size: var(--cfy-fs-sm) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-jump-actions .btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-jump-actions .dashboard-quick-vignette-publish .dashboard-card-title { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-jump-actions .dashboard-quick-vignette-editor .dashboard-quick-vignette-editor-slug { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-grid-catalogs .dashboard-card-title { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-v1-commercify-modal-dashboard) #dashboardModal .dashboard-card-title { font-size: var(--cfy-fs-caption) !important; }
}
@media (max-width: 767.98px) {
    html:where(.cfy-tm-v1-commercify-modal-dashboard):root body #dashboardModal:not(#cfy-b1) .dashboard-jump-actions :is(.dashboard-worldmap-btn, .dashboard-import-btn, .dashboard-export-btn, .dashboard-quick-vignette-btn) .dashboard-btn-text { font-weight: var(--cfy-fw-medium, 500) !important; letter-spacing: 0 !important; }
}

/* ═══ commercify_modal_language.css (32 règles) ═══ */
html:where(.cfy-tm-commercify-modal-language) #languageModal .dashboard-modal-header .dashboard-modal-title { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0.04em !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .dashboard-modal-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .dashboard-modal-footer .dashboard-modal-footer-nav-sep { font-weight: var(--cfy-fw-regular) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .dashboard-modal-footer .dashboard-modal-footer-nav-current { font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .language-modal-body-mappemonde-link { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .language-search-input { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .language-current-session { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .language-current-session-label { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .language-badge { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0.05em !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .language-badge--rtl { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-bold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .language-name { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal .language-native { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-commercify-modal-language) #languageModal mark.search-highlight { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-modal-language) body.light-mode #languageModal .language-badge--rtl { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-bold) !important; }
@media (max-width: 991.98px) {
    html:where(.cfy-tm-commercify-modal-language) #languageModal .dashboard-modal-header .dashboard-modal-title { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .dashboard-modal-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .language-search-input { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .language-name { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .language-native { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .language-section-title { font-size: var(--cfy-fs-md) !important; }
}
@media (max-width: 575.98px) {
    html:where(.cfy-tm-commercify-modal-language) #languageModal .dashboard-modal-header .dashboard-modal-title { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .language-search-input { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .language-name { font-size: var(--cfy-fs-sm) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .language-native { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-language) #languageModal .language-section-title { font-size: var(--cfy-fs-base) !important; }
}
html:where(.cfy-tm-commercify-modal-language) .language-loading-overlay .language-loading-text { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-commercify-modal-language) .language-loading-overlay .language-loading-title { font-weight: var(--cfy-fw-bold) !important; font-size: var(--cfy-fs-h2) !important; }
html:where(.cfy-tm-commercify-modal-language) .language-loading-overlay .language-loading-subtitle { font-size: var(--cfy-fs-lg) !important; }

/* ═══ commercify_modal_games_commercify.css (21 règles) ═══ */
html:where(.cfy-tm-commercify-modal-games-commercify) #gamesCommercifyModal .dashboard-modal-header .dashboard-modal-title { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0.04em !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) #gamesCommercifyModal .dashboard-modal-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) #gamesCommercifyModal .dashboard-modal-footer .dashboard-modal-footer-nav-sep { font-weight: var(--cfy-fw-regular) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) #gamesCommercifyModal .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) #gamesCommercifyModal .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) #gameKoinkoinsModal .dashboard-modal-header .dashboard-modal-title,
html:where(.cfy-tm-commercify-modal-games-commercify) #gameShootYourScammersModal .dashboard-modal-header .dashboard-modal-title { font-family: var(--cfy-font-sans) !important; font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0.04em !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) #gameKoinkoinsModal .dashboard-modal-footer .dashboard-modal-footer-nav,
html:where(.cfy-tm-commercify-modal-games-commercify) #gameShootYourScammersModal .dashboard-modal-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) #gameKoinkoinsModal .dashboard-modal-footer .dashboard-modal-footer-back-btn,
html:where(.cfy-tm-commercify-modal-games-commercify) #gameShootYourScammersModal .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) #gameKoinkoinsModal .modal-footer .commercify-modal-btn-fermer,
html:where(.cfy-tm-commercify-modal-games-commercify) #gameShootYourScammersModal .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) .games-modal-title { font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) .games-modal-header .games-modal-shortcuts .modal-shortcut-btn { font-size: var(--cfy-fs-caption) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) .games-modal-back-to-list { font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) .games-modal-subtitle { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) .game-card-title { font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) .game-card-desc { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) .btn-play-game { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-modal-games-commercify) .games-modal-disclaimer p { font-size: var(--cfy-fs-caption) !important; }
@media (max-width: 991.98px) {
    html:where(.cfy-tm-commercify-modal-games-commercify) #gamesCommercifyModal .dashboard-modal-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-games-commercify) #gamesCommercifyModal .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-games-commercify) #gamesCommercifyModal .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-modal-games-commercify) #gameKoinkoinsModal .dashboard-modal-header .dashboard-modal-title,
    html:where(.cfy-tm-commercify-modal-games-commercify) #gameShootYourScammersModal .dashboard-modal-header .dashboard-modal-title { font-size: var(--cfy-fs-lg) !important; }
}

/* ═══ commercify_modal_welcome_beta.css (17 règles) ═══ */
html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-modal-title { font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-modal-subtitle { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-regular) !important; }
html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-modal-body-lead { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-message-lead { font-size: var(--cfy-fs-lg) !important; }
html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-info-box .welcome-info-text { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-info-box .welcome-info-text strong { font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-modal-footer-disclaimer .welcome-modal-footer-text { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-btn-primary { font-weight: var(--cfy-fw-semibold) !important; font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-btn-secondary { font-weight: var(--cfy-fw-semibold) !important; font-size: var(--cfy-fs-md) !important; }
@media (max-width: 991.98px) {
    html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-modal-title { font-size: var(--cfy-fs-h3) !important; }
    html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-modal-subtitle { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-message-lead { font-size: var(--cfy-fs-md) !important; }
}
@media (max-width: 575.98px) {
    html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-modal-title { font-size: var(--cfy-fs-h4) !important; }
    html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-modal-subtitle { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-message-lead { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-info-box .welcome-info-text { font-size: var(--cfy-fs-sm) !important; }
    html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-btn-primary,
    html:where(.cfy-tm-commercify-modal-welcome-beta) #modalInscriptionsOuvertes .welcome-btn-secondary { font-size: var(--cfy-fs-base) !important; }
}

/* ═══ commercify_modal_export_ads.css (6 règles) ═══ */
html:where(.cfy-tm-commercify-modal-export-ads) #modalExportAds .dashboard-modal-header .dashboard-modal-title { font-size: var(--cfy-fs-lg) !important; }
html:where(.cfy-tm-commercify-modal-export-ads) #modalExportAds .form-label { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-bold) !important; letter-spacing: 0.03em !important; }
html:where(.cfy-tm-commercify-modal-export-ads) #modalExportAds .export-card-title { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-modal-export-ads) #modalExportAds .export-card-description { font-size: var(--cfy-fs-caption) !important; }
html:where(.cfy-tm-commercify-modal-export-ads) #modalExportAds #exportInfo { font-size: var(--cfy-fs-sm) !important; }
html:where(.cfy-tm-commercify-modal-export-ads) #modalExportAds .modal-footer .btn-export-primary,
html:where(.cfy-tm-commercify-modal-export-ads) #modalExportAds .modal-footer #btnConfirmExport { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-medium) !important; }

/* ═══ commercify_modal_search_advanced.css (15 règles) ═══ */
@media (max-width: 1279px) {
    html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .dashboard-modal-header .dashboard-modal-title { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .dashboard-modal-footer .dashboard-modal-footer-nav { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .dashboard-modal-footer .search-modal-footer-search-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-sm) !important; }
    html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-base) !important; }
}
@media (max-width: 575.98px) {
    html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .dashboard-modal-title { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .dashboard-modal-footer .dashboard-modal-footer-back-btn { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .modal-footer .commercify-modal-btn-fermer { font-size: var(--cfy-fs-sm) !important; }
}
html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .search-modal-shortcuts .modal-shortcut-btn { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced .filter-section-label .filter-section-title { font-weight: var(--cfy-fw-bold) !important; font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-commercify-modal-search-advanced) #modalSearchAdvanced select optgroup { font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-modal-search-advanced) body.light-mode #modalSearchAdvanced .filter-section-label .filter-section-title { font-weight: var(--cfy-fw-bold) !important; font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-commercify-modal-search-advanced) body.light-mode #modalSearchAdvanced .search-modal-body .filter-section-label .filter-section-title { font-weight: var(--cfy-fw-bold) !important; letter-spacing: 0.025em !important; }

/* ═══ commercify_modal_install_homescreen.css (4 règles) ═══ */
html:where(.cfy-tm-commercify-modal-install-homescreen) #modalInstallHomescreen .cfy-pwa-lead { font-weight: var(--cfy-fw-medium, 500); }
html:where(.cfy-tm-commercify-modal-install-homescreen) #modalInstallHomescreen .cfy-pwa-native-btn { font-weight: var(--cfy-fw-semibold, 600); }
html:where(.cfy-tm-commercify-modal-install-homescreen) #modalInstallHomescreen .cfy-pwa-guide-title { font-weight: var(--cfy-fw-semibold, 600); }
html:where(.cfy-tm-commercify-modal-install-homescreen) #modalInstallHomescreen .cfy-pwa-detected strong { font-weight: var(--cfy-fw-semibold, 600); }

/* ═══ commercify_modal_mobile_lock.css (28 règles) ═══ */
html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-title { font-size: var(--cfy-fs-h3) !important; font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-subtitle { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-regular) !important; }
html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-message-title { font-size: var(--cfy-fs-h4) !important; font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-message-text { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-message-subtext { font-size: var(--cfy-fs-base) !important; }
html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-enter-btn { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-md); }
html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-donation-btn { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-footer-note { font-size: var(--cfy-fs-caption) !important; }
html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-footer-browser { font-size: var(--cfy-fs-caption) !important; }
html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-footer-text { font-size: var(--cfy-fs-sm) !important; }
@media (max-width: 768px) {
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-title { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-subtitle { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-message-title { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-message-text { font-size: var(--cfy-fs-sm) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-message-subtext { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-donation-btn { font-size: var(--cfy-fs-sm); }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-footer-note { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-footer-browser { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-footer-text { font-size: var(--cfy-fs-caption) !important; }
}
@media (max-width: 480px) {
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-title { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-subtitle { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-message-title { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-message-text { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-message-subtext { font-size: var(--cfy-fs-sm) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-donation-btn { font-size: var(--cfy-fs-base); }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-footer-note { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-footer-browser { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-modal-mobile-lock) .mobile-lock-page-footer-text { font-size: var(--cfy-fs-caption) !important; }
}

/* ═══ publisher_index_modal.css (3 règles) ═══ */
html:where(.cfy-tm-publisher-index-modal) #followModal .modal-title.commercify-modal-title,
html:where(.cfy-tm-publisher-index-modal) #blacklistModal .modal-title.commercify-modal-title { font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-bold) !important; }
html:where(.cfy-tm-publisher-index-modal) #followModal .modal-body .publisher-slug,
html:where(.cfy-tm-publisher-index-modal) #blacklistModal .modal-body .publisher-slug { font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-publisher-index-modal) #followModal .modal-body .btn,
html:where(.cfy-tm-publisher-index-modal) #blacklistModal .modal-body .btn { font-weight: var(--cfy-fw-medium) !important; }

/* ═══ publisher_ad_modal.css (5 règles) ═══ */
html:where(.cfy-tm-publisher-ad-modal) .commercify-modal .modal-title.commercify-modal-title { font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-publisher-ad-modal) .commercify-modal .btn { font-weight: var(--cfy-fw-medium) !important; }
html:where(.cfy-tm-publisher-ad-modal) .commercify-modal .commercify-modal-body-intro { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-publisher-ad-modal) .commercify-modal .commercify-modal-score-list { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-publisher-ad-modal) .commercify-modal .commercify-score-value { font-weight: var(--cfy-fw-semibold) !important; }

/* ═══ page_dash_publish_form_ns.css (7 règles) ═══ */
html:where(.cfy-tm-page-dash-publish-form-ns) .publish-form-ns { font-family: var(--cfy-font-sans); }
html:where(.cfy-tm-page-dash-publish-form-ns) .publish-form-ns .publish-form-ns-label { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-page-dash-publish-form-ns) .publish-form-ns .publish-form-ns-input { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-page-dash-publish-form-ns) .publish-form-ns .publish-form-ns-tab { font-weight: var(--cfy-fw-semibold); font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-page-dash-publish-form-ns) .publish-form-ns .btn { font-weight: var(--cfy-fw-bold); letter-spacing: 0.02em; font-size: var(--cfy-fs-sm); }
html:where(.cfy-tm-page-dash-publish-form-ns) .publish-form-ns .hover-content { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-page-dash-publish-form-ns) .publish-form-ns .publish-form-ns-tooltip { font-size: var(--cfy-fs-base); }

/* ═══ commercify_hyperprofil_cities.css (1 règles) ═══ */
html:where(.cfy-tm-commercify-hyperprofil-cities) .hyperprofil-city-search-empty,
html:where(.cfy-tm-commercify-hyperprofil-cities) .hyperprofil-city-search-loading { font-size: var(--cfy-fs-base); }

/* ═══ commercify_hyperprofil_responsive.css (15 règles) ═══ */
html:where(.cfy-tm-commercify-hyperprofil-responsive) .loading-animation button { font-weight: var(--cfy-fw-semibold); }
html:where(.cfy-tm-commercify-hyperprofil-responsive) .loading-animation .fw-medium { letter-spacing: 0.01em; }
@media (max-width: 767.98px) {
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-update-btn { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-search-input { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-category-header,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-rayon-header,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-region-header,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-country-header,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-department-header,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-city-header,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-devise-header,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-language-group-header { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-group-title { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-category-header .form-check-label,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-rayon-header .form-check-label,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-region-header .form-check-label,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-country-header .form-check-label,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-department-header .form-check-label,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-city-header .form-check-label,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-devise-header .form-check-label,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-language-group-header .form-check-label { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-category-link,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-rayon-link,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-region-link,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-country-link,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-department-link,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-city-link,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-devise-link,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-language-link { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .card-inner .btn-lg,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .card-body .btn-lg { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .alert,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .alert-pro { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .alert-heading h6 { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .card-inner label,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .card-body label { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .card-inner .text-soft,
    html:where(.cfy-tm-commercify-hyperprofil-responsive) .card-body .text-soft { font-size: var(--cfy-fs-sm) !important; }
}
html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-summary-chip { font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-commercify-hyperprofil-responsive) .hyperprofil-update-badge { font-size: var(--cfy-fs-caption); }

/* ═══ commercify_hyperprofil_vignettes.css (10 règles) ═══ */
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap h4[data-group-id] { font-size: var(--cfy-fs-md) !important; }
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap h4[data-group-id] .hyperprofil-group-title { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-bold) !important; letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap h4[data-group-id] .form-check-label { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-bold) !important; letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap [data-search] > .preview-block > a.preview-title { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-bold) !important; letter-spacing: 0.06em !important; }
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap [data-search] > .preview-block > a.preview-title:not(:last-of-type) { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; }
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap .hyperprofil-summary .alert-heading,
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap .alert-pro .alert-heading,
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap .alert-pro .alert-heading h6,
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-city-search-zone-wrap h6 { font-weight: var(--cfy-fw-bold) !important; font-size: var(--cfy-fs-base) !important; letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap .hyperprofil-summary-chip { font-size: var(--cfy-fs-sm); }
html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap .hyperprofil-summary-chip .hyperprofil-summary-link { font-weight: var(--cfy-fw-semibold); }
@media (max-width: 575.98px) {
    html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap h4[data-group-id] .form-check-label { font-size: var(--cfy-fs-caption) !important; }
    html:where(.cfy-tm-commercify-hyperprofil-vignettes) .hyperprofil-content-wrap [data-search] > .preview-block > a.preview-title { font-size: var(--cfy-fs-caption) !important; }
}

/* ═══ v1_commercify_vignettes_youtube.css (13 règles) ═══ */
html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-text { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); }
@media (max-width: 576px) {
    html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay em { font-size: var(--cfy-fs-h2) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay:hover em { font-size: var(--cfy-fs-h3) !important; }
}
@media (max-width: 380px) {
    html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay em { font-size: var(--cfy-fs-h3) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay:hover em { font-size: var(--cfy-fs-h4) !important; }
}
@media (max-width: 576px) {
    html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay em { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay:hover em { font-size: var(--cfy-fs-lg) !important; }
}
@media (max-width: 380px) {
    html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay em { font-size: var(--cfy-fs-base) !important; }
    html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay:hover em { font-size: var(--cfy-fs-md) !important; }
}
html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay.thumb span { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-caption); }
html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay.ad span { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-base); }
html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-text { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); }
html:where(.cfy-tm-v1-commercify-vignettes-youtube) .youtube-play-overlay em { font-size: var(--cfy-fs-display); }

/* ═══ commercify_footer_inline.css (14 règles) ═══ */
@media (min-width: 768px) and (max-width: 991.98px) {
    html:where(.cfy-tm-commercify-footer-inline) .stat-value { font-size: var(--cfy-fs-h3) !important; }
    html:where(.cfy-tm-commercify-footer-inline) .footer-tagline { font-size: var(--cfy-fs-h4) !important; }
    html:where(.cfy-tm-commercify-footer-inline) .footer-section-title { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-footer-inline) .footer-wordmark { font-size: var(--cfy-fs-h3) !important; }
    html:where(.cfy-tm-commercify-footer-inline) .donation-btn { font-size: var(--cfy-fs-md) !important; }
}
@media (max-width: 767.98px) {
    html:where(.cfy-tm-commercify-footer-inline) .footer-tagline { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-commercify-footer-inline) .footer-wordmark { font-size: var(--cfy-fs-h4) !important; }
    html:where(.cfy-tm-commercify-footer-inline) .stat-value { font-size: var(--cfy-fs-h3) !important; }
}
@media (max-width: 480px) {
    html:where(.cfy-tm-commercify-footer-inline) .footer-tagline { font-size: var(--cfy-fs-md) !important; }
    html:where(.cfy-tm-commercify-footer-inline) .footer-wordmark { font-size: var(--cfy-fs-lg) !important; }
    html:where(.cfy-tm-commercify-footer-inline) .stat-value { font-size: var(--cfy-fs-h4) !important; }
    html:where(.cfy-tm-commercify-footer-inline) .donation-btn { font-size: var(--cfy-fs-base) !important; }
}
@media (max-width: 360px) {
    html:where(.cfy-tm-commercify-footer-inline) .donation-btn { font-size: var(--cfy-fs-sm) !important; }
}
@media (max-width: 767.98px) {
    html:where(.cfy-tm-commercify-footer-inline) .donation-btn { font-size: var(--cfy-fs-md) !important; }
}

/* ═══ chatbot_assistant.css (11 règles) ═══ */
html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__header-title { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-sm); letter-spacing: var(--cfy-ls-caps); }
html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__close { font-size: var(--cfy-fs-lg); }
html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__msg { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-regular); }
html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__msg--greeting { font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-base); letter-spacing: 0.04em; }
html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__msg--greeting-done { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-regular); letter-spacing: normal; }
html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__listen-btn { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: 0.02em; }
html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__youtube-chip { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: 0.02em; }
html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__input { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-regular); }
@media (min-width: 992px) {
    html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__header-title { font-size: var(--cfy-fs-base); }
    html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__msg { font-size: var(--cfy-fs-base); }
    html:where(.cfy-tm-chatbot-assistant) .cfy-assistant__input { font-size: var(--cfy-fs-base); }
}

/* ═══ STYLES INLINE PHP/JS (31 règles) ═══ */
html body [style*="font-size:10px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 10px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-caption) !important; }
html body [style*="font-size:11px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 11px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-caption) !important; }
html body [style*="font-size:.7rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size:0.7rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: .7rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 0.7rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-caption) !important; }
html body [style*="font-size:.72rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size:0.72rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: .72rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 0.72rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-caption) !important; }
html body [style*="font-size:.75rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size:0.75rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: .75rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 0.75rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-caption) !important; }
html body [style*="font-size:12px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 12px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-caption) !important; }
html body [style*="font-size:.8rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size:0.8rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: .8rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 0.8rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-sm) !important; }
html body [style*="font-size:.8125rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size:0.8125rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: .8125rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 0.8125rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-sm) !important; }
html body [style*="font-size:13px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 13px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-sm) !important; }
html body [style*="font-size:.85rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size:0.85rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: .85rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 0.85rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-base) !important; }
html body [style*="font-size:.875rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size:0.875rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: .875rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 0.875rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-base) !important; }
html body [style*="font-size:14px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 14px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-base) !important; }
html body [style*="font-size:.9rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size:0.9rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: .9rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 0.9rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-base) !important; }
html body [style*="font-size:15px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 15px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-base) !important; }
html body [style*="font-size:.95rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size:0.95rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: .95rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 0.95rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-md) !important; }
html body [style*="font-size:16px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 16px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-md) !important; }
html body [style*="font-size:1rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 1rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-md) !important; }
html body [style*="font-size:1.1rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 1.1rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-lg) !important; }
html body [style*="font-size:18px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 18px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-lg) !important; }
html body [style*="font-size:1.15rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 1.15rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-lg) !important; }
html body [style*="font-size:1.2rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 1.2rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-h4) !important; }
html body [style*="font-size:1.3rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 1.3rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-h4) !important; }
html body [style*="font-size:1.35rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 1.35rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-h4) !important; }
html body [style*="font-size:1.4rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 1.4rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-h3) !important; }
html body [style*="font-size:1.5rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 1.5rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-h3) !important; }
html body [style*="font-size:24px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 24px" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-h3) !important; }
html body [style*="font-size:1.6rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 1.6rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-h3) !important; }
html body [style*="font-size:1.7rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]),
html body [style*="font-size: 1.7rem" i]:not(i, em.icon, .ni, svg, [class*="icon"], [class*="bi-"], [class*="fa-"], [class*="ti-"], [class*="flag"], [class*="emoji"]) { font-size: var(--cfy-fs-h2) !important; }
html body [style*="font-weight:300" i],
html body [style*="font-weight: 300" i] { font-weight: var(--cfy-fw-regular) !important; }
html body [style*="font-weight:800" i],
html body [style*="font-weight: 800" i] { font-weight: var(--cfy-fw-bold) !important; }
html body [style*="font-weight:900" i],
html body [style*="font-weight: 900" i] { font-weight: var(--cfy-fw-bold) !important; }

/* ═══ commercify_typo_base.css ═══ */
/**
 * Charte typographique Commercify -- BASE (2026-09-25). Tokens : commercify_typo_tokens.css.
 * Portée : éléments génériques (corps, titres, texte, boutons, formulaires, badges, infobulles,
 * menus déroulants, tableaux, pagination). Les zones (header, menu, vignettes, modales, pages) ont
 * leurs propres feuilles commercify_typo_{chrome,vignettes,modals,pages,login}.css.
 * RÈGLE : on ne touche QUE au texte (famille, taille, graisse, interligne, espacement, casse,
 * couleur du texte) -- jamais aux fonds, marges, dimensions ni bordures.
 */

/* ─── 1. Famille : Inter partout ─────────────────────────────────────────────────────────────
   La pile système était déclarée en dur à ~70 endroits (DashLite), plus Poppins/Nunito/Roboto
   (jamais chargées) et des style="" inline en PHP/JS : une règle universelle !important les
   bat toutes (un !important de feuille bat un style inline non-!important).
   EXCLUSIONS OBLIGATOIRES : polices d'icônes (Nioicon .ni, Bootstrap Icons bi-*, Font Awesome,
   themify ti-*, summernote, fcicons, jstree, TinyMCE) et monospace (code, HUD des jeux). */
html body,
html body :where(:not(
    .ni, em.icon, .bi, [class^="bi-"], [class*=" bi-"],
    .fa, .fas, .far, .fab, .fal, .fa-solid, .fa-regular, .fa-brands, [class^="fa-"], [class*=" fa-"],
    [class^="ti-"], [class*=" ti-"], [class^="note-icon"], [class*=" note-icon"], .fc-icon, .jstree-icon,
    .tox, .tox *, code, pre, kbd, samp, code *, pre *,
    .font-monospace, .text-monospace, .ff-mono, #gameHUD, #gameHUD *
)) {
    font-family: var(--cfy-font-sans) !important;
}

html body :is(code, pre, kbd, samp):not(#cfy-b1) {
    font-family: var(--cfy-font-mono) !important;
}

/* ─── 2. Corps ───────────────────────────────────────────────────────────────────────────── */
html body {
    font-size: var(--cfy-fs-base);
    font-weight: var(--cfy-fw-regular);
    line-height: var(--cfy-lh-body);
    letter-spacing: var(--cfy-ls-body);
    font-optical-sizing: auto;
    font-kerning: normal;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* ─── 3. Titres (défauts : les composants à classe propre sont traités par zone) ─────────── */
html body h1, html body .h1, html body h2, html body .h2, html body h3, html body .h3, html body h4, html body .h4, html body h5, html body .h5, html body h6, html body .h6{
    font-weight: var(--cfy-fw-bold);
    line-height: var(--cfy-lh-snug);
    letter-spacing: var(--cfy-ls-title);
}
html body h1, html body .h1{ font-size: var(--cfy-fs-h1); line-height: var(--cfy-lh-tight); letter-spacing: var(--cfy-ls-display); }
html body h2, html body .h2{ font-size: var(--cfy-fs-h3); letter-spacing: var(--cfy-ls-display); }
html body h3, html body .h3{ font-size: var(--cfy-fs-h4); }
html body h4, html body .h4{ font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-semibold); }
html body h5, html body .h5{ font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-semibold); }
html body h6, html body .h6{ font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }

@media (min-width: 992px) {
    /* DashLite (dashlite.css:14159) : h1 3.75rem en graisse 400, h2 2.5rem, h3 2rem… */
    html body h1, html body .h1{ font-size: var(--cfy-fs-h1); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-display); }
    html body h2, html body .h2{ font-size: var(--cfy-fs-h2); letter-spacing: var(--cfy-ls-display); }
    html body h3, html body .h3{ font-size: var(--cfy-fs-h3); letter-spacing: var(--cfy-ls-title); }
    html body h4, html body .h4{ font-size: var(--cfy-fs-h4); }
    html body h5, html body .h5{ font-size: var(--cfy-fs-lg); }
    html body h6, html body .h6{ font-size: var(--cfy-fs-md); }
}

html body .display-1, html body .display-2, html body .display-3, html body .display-4, html body .display-5, html body .display-6{
    font-size: var(--cfy-fs-h1);   /* DashLite : 3–5rem ; plafond de l'échelle = h1 */
    font-weight: var(--cfy-fw-bold);
    line-height: var(--cfy-lh-tight);
    letter-spacing: var(--cfy-ls-display);
}

/* ─── 4. Texte courant ───────────────────────────────────────────────────────────────────── */
html body strong, html body b{ font-weight: var(--cfy-fw-semibold); }            /* DashLite : 500, trop maigre */
html body small, html body .small{ font-size: var(--cfy-fs-sm); }
html body :is(h1, h2, h3, .h1, .h2, .h3, .display-1, .display-2, .display-3, .display-4, .display-5, .display-6) :is(small, .small){ font-size: 0.6em; }
html body :is(code, kbd, samp){ font-size: var(--cfy-fs-sm); }
html body code:not(#cfy-b1){ color: var(--cfy-tx-link); }   /* Bootstrap : rose #d63384, hors thème */
html body em, html body i:not([class]), html body cite{ font-style: italic; }             /* vrai italique Inter (plus de faux italique) */
html body .lead{ font-size: var(--cfy-fs-md); font-weight: var(--cfy-fw-regular); line-height: var(--cfy-lh-body); }
@media (min-width: 992px) { html body .lead{ font-size: var(--cfy-fs-md); } }
html body .fw-medium{ font-weight: var(--cfy-fw-medium) !important; }
html body .fw-bolder{ font-weight: var(--cfy-fw-bold) !important; }
html body .fw-lighter, html body .fw-light{ font-weight: var(--cfy-fw-regular) !important; }
html body .text-soft{ color: var(--cfy-tx-muted) !important; }       /* DashLite #8094ae */
html body .text-muted{ color: var(--cfy-tx-muted) !important; }
html body abbr[title]{ text-decoration-thickness: 1px; }

html body .page-title{
    font-size: var(--cfy-fs-h3);
    font-weight: var(--cfy-fw-bold);
    line-height: var(--cfy-lh-snug);
    letter-spacing: var(--cfy-ls-title);
}
@media (min-width: 992px) { html body .page-title{ font-size: var(--cfy-fs-h3); } }

/* Surtitres en MAJUSCULES (DashLite : 11px, 0.2em) */
html body .overline-title, html body .overline-title-alt{
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    letter-spacing: var(--cfy-ls-caps);
    line-height: var(--cfy-lh-snug);
}

/* ─── 5. Boutons (hauteurs pilotées par line-height/padding : inchangées) ───────────────── */
html body .btn{
    --bs-btn-font-family: var(--cfy-font-sans);
    --bs-btn-font-size: var(--cfy-fs-sm);
    --bs-btn-font-weight: var(--cfy-fw-semibold);
    letter-spacing: 0;
}
html body .btn-lg, html body .btn-xl{ --bs-btn-font-size: var(--cfy-fs-base); }
html body .btn-sm, html body .btn-xs{ --bs-btn-font-size: var(--cfy-fs-caption); }
html body .btn-lg, html body .btn-xl, html body .btn-sm, html body .btn-xs{ font-size: var(--bs-btn-font-size); }

/* ─── 6. Formulaires ─────────────────────────────────────────────────────────────────────── */
html body .form-control, html body .form-select, html body .input-group-text, html body .form-control-wrap .form-icon + .form-control{
    font-size: var(--cfy-fs-base);
    font-weight: var(--cfy-fw-regular);
}
html body .form-control-sm, html body .form-select-sm{ font-size: var(--cfy-fs-sm); }
html body .form-control-lg, html body .form-select-lg{ font-size: var(--cfy-fs-md); }
html body .form-control::placeholder, html body .form-select::placeholder, html body input::placeholder, html body textarea::placeholder{
    color: var(--cfy-tx-muted);
    opacity: 1;
    font-weight: var(--cfy-fw-regular);
}
html body .form-label, html body label.form-label, html body .form-label-group .form-label{
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    letter-spacing: 0;
}
html body .form-check-label, html body .custom-control-label{ font-size: var(--cfy-fs-base); }
html body .form-note, html body .form-text, html body .form-hint, html body .invalid-feedback, html body .valid-feedback{
    font-size: var(--cfy-fs-caption);
    line-height: var(--cfy-lh-snug);
}
html body .form-note, html body .form-text, html body .form-hint{ color: var(--cfy-tx-muted); }

/* ─── 7. Badges, infobulles, popovers, menus déroulants ─────────────────────────────────── */
html body .badge{
    --bs-badge-font-size: var(--cfy-fs-caption);
    --bs-badge-font-weight: var(--cfy-fw-semibold);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    letter-spacing: 0.01em;
    font-variant-numeric: tabular-nums;
}
html body .tooltip{
    --bs-tooltip-font-size: var(--cfy-fs-sm);
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-regular);
    line-height: var(--cfy-lh-snug);
    letter-spacing: 0;
}
html body .popover{ --bs-popover-font-size: var(--cfy-fs-sm); font-size: var(--cfy-fs-sm); }
html body .popover-header{ font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); }
html body .dropdown-menu{ --bs-dropdown-font-size: var(--cfy-fs-sm); font-size: var(--cfy-fs-sm); }
html body .dropdown-item{ font-weight: var(--cfy-fw-regular); }
html body .dropdown-header, html body .dropdown-title{ font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }
html body .link-list a, html body .link-list-opt a{ font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-medium); }

/* ─── 8. Tableaux, alertes, pagination, listes ──────────────────────────────────────────── */
html body .table{ font-size: var(--cfy-fs-base); }
html body .table thead th, html body .table th{ font-weight: var(--cfy-fw-semibold); }
html body .table-sm{ font-size: var(--cfy-fs-sm); }
html body .alert{ font-size: var(--cfy-fs-base); line-height: var(--cfy-lh-body); }
html body .alert-heading, html body .alert .alert-title{ font-weight: var(--cfy-fw-semibold); }
html body .page-link{
    --bs-pagination-font-size: var(--cfy-fs-sm);
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-medium);
    font-variant-numeric: tabular-nums;
}
html body .pagination-sm .page-link{ font-size: var(--cfy-fs-caption); }
html body .pagination-lg .page-link{ font-size: var(--cfy-fs-base); }
html body .nav-link, html body .nav-tabs .nav-link{ font-weight: var(--cfy-fw-semibold); }
html body .breadcrumb, html body .breadcrumb-item{ font-size: var(--cfy-fs-sm); }

/* ─── 9. Anciennes classes utilitaires de famille (DashLite, !important) ────────────────── */
html body :is(.ff-base, .ff-alt, .ff-custom):not(#cfy-b1) { font-family: var(--cfy-font-sans) !important; }
html body .ff-mono{ font-family: var(--cfy-font-mono) !important; }

/* Chiffres alignés (compteurs, chronos, quantités) */
html body .amount, html body .count, html body .number, html body [class*="counter"], html body [class*="countdown"], html body [class*="chrono"]{
    font-variant-numeric: tabular-nums;
}

/* Pagination des vignettes : pile système !important sur classes/ids (v1_commercify_vignettes_pagination.css:12-18) */
html body :is(#vignettes-pagination-top, #vignettes-pagination-bottom, .vignettes-pagination-row, .vignettes-pagination-catalog-select):not(#cfy-b1),
html body :is(#vignettes-pagination-top, #vignettes-pagination-bottom, .vignettes-pagination-row) :not(#cfy-b1):not(.ni, em.icon, .bi, [class*="bi-"], [class*="fa-"], .fa, .fas, .far, .fab) {
    font-family: var(--cfy-font-sans) !important;
}

/* ─── 10. Couleur du texte : rôles et contrastes (>= 4.5:1, 3:1 au-delà de 18px / 14px gras) ── */
/* Or « brut » en texte (login : .text-gold = #F5C31C, 1.6:1 sur fond clair) -> accent lisible */
html body .text-gold:not(#cfy-b1) { color: var(--cfy-tx-link) !important; }
/* Messages d'erreur écrits en rouge clair inline (#ff6b6b : 2.7:1 sur fond clair) */
html body :is(small, span, p, div)[style*="color: #ff6b6b" i]:not(#cfy-b1),
html body :is(small, span, p, div)[style*="color:#ff6b6b" i]:not(#cfy-b1) { color: var(--cfy-tx-danger) !important; }
/* Badges « -dim » de DashLite : texte sémantique lisible sur leur fond teinté */
html body .badge.bg-success-dim:not(#cfy-b1):not(#cfy-b2):not(footer *, .catalog-header *, .cfy-vignettes-pre-banner *) { color: var(--cfy-tx-success) !important; }
html body .badge.bg-danger-dim:not(#cfy-b1):not(#cfy-b2):not(footer *, .catalog-header *, .cfy-vignettes-pre-banner *) { color: var(--cfy-tx-danger) !important; }
html body .badge.bg-warning-dim:not(#cfy-b1):not(#cfy-b2):not(footer *, .catalog-header *, .cfy-vignettes-pre-banner *) { color: var(--cfy-tx-warning) !important; }
html body .badge:is(.bg-primary-dim, .bg-info-dim, .bg-secondary-dim):not(#cfy-b1):not(#cfy-b2):not(footer *, .catalog-header *, .cfy-vignettes-pre-banner *) { color: var(--cfy-tx-accent-strong) !important; }
/* <small> avec taille inline relative (style="font-size:.85em" dans un bouton .btn-sm -> 10px) */
html body small[style*="font-size"]:not(#cfy-b1) { font-size: var(--cfy-fs-caption) !important; }
/* Gris neutres écrits en dur en style="" (PHP) : illisibles en sombre (#555 : 2.7:1) -> rôles du thème */
html body :is([style*="color: #555" i], [style*="color:#555" i], [style*="color: #666" i], [style*="color:#666" i],
    [style*="color: #777" i], [style*="color:#777" i], [style*="color: #888" i], [style*="color:#888" i],
    [style*="color: #999" i], [style*="color:#999" i]):not(#cfy-b1) { color: var(--cfy-tx-muted) !important; }
html body :is([style*="color: #333" i], [style*="color:#333" i], [style*="color: #444" i], [style*="color:#444" i]):not(#cfy-b1) { color: var(--cfy-tx-ink-2) !important; }
/* Badges avec taille inline relative (style="font-size:0.9em" dans un titre -> 14.4px) */
html body .badge[style*="font-size"]:not(#cfy-b1) { font-size: var(--cfy-fs-caption) !important; }

/* ═══ commercify_typo_chrome.css ═══ */

html body :is(h1.catalog-title, h1[class*="catalog-title"], .catalog-title, .cfy-editors-linked-title,
    .cfy-home-block__title, .cfy-home-block-docs-teaser__card-title, .cfy-home-block-sitemap-card__title,
    .cfy-home-block-community-moderation__card-title, .cfy-home-block-hyper-profil__subtitle,
    .catalog-label-top):not(#cfy-b1) {
    font-family: var(--cfy-font-sans) !important;
    font-style: normal !important;
}
html body :is(h1.catalog-title, h1[class*="catalog-title"], .catalog-title):not(#cfy-b1) {
    font-size: var(--cfy-fs-h3) !important;
    font-weight: var(--cfy-fw-bold) !important;
    line-height: var(--cfy-lh-snug) !important;
    letter-spacing: var(--cfy-ls-title) !important;
}
@media (min-width: 992px) {
    html body :is(h1.catalog-title, h1[class*="catalog-title"], .catalog-title):not(#cfy-b1) { font-size: var(--cfy-fs-h2) !important; }
}
html body .cfy-home-block__title:not(#cfy-b1) {
    font-size: var(--cfy-fs-h3) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: var(--cfy-ls-title) !important;
}
html body :is(.cfy-home-block-docs-teaser__card-title, .cfy-home-block-sitemap-card__title,
    .cfy-home-block-community-moderation__card-title, .cfy-home-block-hyper-profil__subtitle):not(#cfy-b1) {
    font-size: var(--cfy-fs-md) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    letter-spacing: 0 !important;
}

/* ═══ 2. Header (barre noire / thémée) ══════════════════════════════════════════════════════ */
/* Desktop uniquement (>= 1200px, portée du header « refresh ») : en dessous, la barre est trop
   étroite et l'agrandissement du bouton « Tableau de bord » tronquait le logo (QA 390px). */
@media (min-width: 1200px) {
    /* Liens texte en capitales : recherche rapide, carte du monde */
html body .catalog-header :is(.header-action-btn-text, .cfy-header-options-link) {
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-semibold) !important;
        letter-spacing: var(--cfy-ls-caps) !important;
    }
    /* Boutons : Tableau de bord, Connexion */
html body .catalog-header :is(.btn-visitor-header, .catalog-nav-item-dashboard-tablet, .visitor-btn-label-default, .dashboard-text-link) {
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-bold) !important;
        letter-spacing: var(--cfy-ls-caps) !important;
    }
    html body .catalog-header :is(.dashboard-line2, .hyperprofil-line2) {
        font-weight: var(--cfy-fw-bold) !important;
        letter-spacing: var(--cfy-ls-caps) !important;
    }
}

/* ═══ 3. Zone catalogues (post-header) : légende en capitales + valeur ════════════════════════ */
html body .cfy-catalog-navbar-crumb-caption {
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    letter-spacing: var(--cfy-ls-caps) !important;
    line-height: var(--cfy-lh-snug) !important;
}
html body .cfy-catalog-navbar-label {
    font-size: var(--cfy-fs-base) !important;
    line-height: var(--cfy-lh-snug) !important;
    letter-spacing: 0 !important;
}
html body a.cfy-catalog-navbar-label { font-weight: var(--cfy-fw-bold) !important; }
html body .cfy-catalog-navbar-label--static { font-weight: var(--cfy-fw-regular) !important; }
@media (max-width: 767.98px) {
    html body .cfy-catalog-navbar-label { font-size: var(--cfy-fs-sm) !important; }
}

/* ═══ 5. Menu latéral v2 : raccourci `font:` en « Roboto » (jamais chargée) -> Inter ═══════════ */
html body .nk-sidebar.cfy-mv2 .cfy-mv2-zt,
html body .nk-sidebar.cfy-mv2 .cfy-addz-h,
html body .cfy-social-panel .cfy-social-panel-title {
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    letter-spacing: var(--cfy-ls-caps) !important;
}
html body .nk-sidebar.cfy-mv2 :is(.cfy-dim-name, .cfy-wall-name) {
    font-size: var(--cfy-fs-base) !important;
    font-weight: var(--cfy-fw-medium) !important;
    line-height: var(--cfy-lh-snug) !important;
}
html body .nk-sidebar.cfy-mv2 :is(.cfy-dim-sub, .cfy-dim-cfg, .cfy-hp-status, .cfy-walls-note, .cfy-addz-note) {
    font-size: var(--cfy-fs-caption) !important;
}
html body .nk-sidebar.cfy-mv2 :is(.cfy-dim-here, .cfy-wall-tag, .cfy-hp-status b, .cfy-badge-cta-text, .cfy-badge-cta-compact) {
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: var(--cfy-ls-caps) !important;
}
html body .nk-sidebar.cfy-mv2 :is(.cfy-dim-count, .hp-jump-adcount, .cfy-social-badge),
html body .cfy-social-panel .cfy-social-panel-count {
    font-size: var(--cfy-fs-caption) !important;
    font-variant-numeric: tabular-nums;
}
html body .nk-sidebar.cfy-mv2 .nk-menu-sub .cfy-item .hp-jump-row { font-size: var(--cfy-fs-sm) !important; }
html body .nk-sidebar .nk-menu-link { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-medium); letter-spacing: 0; }
html body .nk-sidebar .nk-menu-heading :is(.overline-title, span) { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps); }

/* Titres de colonne : petites capitales franches plutôt que 17.6px en capitales */
html body footer .footer-section-title:not(.footer-wordmark) {
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: var(--cfy-ls-caps) !important;
    line-height: var(--cfy-lh-snug) !important;
}
html body footer .footer-section-title.footer-wordmark {
    font-size: var(--cfy-fs-md) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: var(--cfy-ls-caps) !important;
}
html body footer :is(.footer-section-subtitle, h6.footer-section-title) {
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: var(--cfy-ls-caps) !important;
}
/* Liens de colonnes (inline 0.9rem / 0.85rem) : 14px liens principaux, 13px listes secondaires */
html body footer :is(.nav-link-modern, .community-link) span { font-size: var(--cfy-fs-base) !important; }
html body footer .mb-1.nav-link-modern span { font-size: var(--cfy-fs-sm) !important; }
html body footer .legal-link-inline, html body footer .legal-link-inline span { font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-medium) !important; }
html body footer .badge, html body footer .badge span { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; }
html body footer .donation-btn {
    font-size: var(--cfy-fs-base) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: var(--cfy-ls-caps) !important;
}
/* Bloc « Informations plateforme » : chiffres */
html body footer .stats-header h3 {
    font-size: var(--cfy-fs-h4) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: var(--cfy-ls-caps) !important;
}
html body footer .stat-label { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html body footer .stat-value { font-size: var(--cfy-fs-h2) !important; font-weight: var(--cfy-fw-bold) !important; line-height: var(--cfy-lh-tight) !important; font-variant-numeric: tabular-nums; letter-spacing: var(--cfy-ls-display); }
html body footer .stat-card.version-card .stat-value[style*="1.2rem"] { font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0; }
html body footer .stat-value[style*="1.1rem"], html body footer .stat-value[style*="1.1rem"] a { font-size: var(--cfy-fs-base) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0; }
html body footer .version-badge { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; }
html body footer :is(.copyright-text, .copyright-text span, .copyright-text div) { font-size: var(--cfy-fs-sm) !important; }
html body footer :is(.footer-badge span, #viewport-info-container) { font-size: var(--cfy-fs-caption) !important; letter-spacing: 0 !important; }
html body footer .footer-badge span:is(#viewport-type, #screen-resolution) { letter-spacing: var(--cfy-ls-caps) !important; }
html body footer .social-tooltip { font-size: var(--cfy-fs-caption) !important; font-weight: var(--cfy-fw-semibold) !important; }

/* ═══ 7. Bandeau slogan, messages plateforme, carte maintenance ═════════════════════════════ */
html body #cfy-maintenance-title { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-bold) !important; letter-spacing: var(--cfy-ls-caps) !important; }
html body #maintenance-countdown-seconds,
html body [id*="countdown"] :is(.value, .digits, [class*="value"]) {
    font-variant-numeric: tabular-nums;
    font-weight: var(--cfy-fw-bold) !important;
}
html body #maintenance-countdown-seconds { font-size: var(--cfy-fs-display) !important; }

/* Header < 1200px : le bouton « Tableau de bord » était à 8px (!) en capitales espacées. À 12px
   (plancher de la charte) en capitales, il poussait et tronquait le logo : casse normale, sans
   espacement, graisse 600 -> même encombrement qu'avant, lisible. */
@media (max-width: 575.98px) {
    html body .catalog-header .catalog-nav-item-dashboard-tablet:not(#cfy-b1),
    html body .catalog-header .catalog-nav-item-dashboard-tablet *:not(#cfy-b1) {
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-semibold) !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }
}
@media (min-width: 576px) and (max-width: 1199.98px) {
    html body .catalog-header .catalog-nav-item-dashboard-tablet:not(#cfy-b1),
    html body .catalog-header .catalog-nav-item-dashboard-tablet *:not(#cfy-b1) {
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-bold) !important;
        letter-spacing: 0 !important;
    }
}

/* ═══ commercify_typo_vignettes.css ═══ */
/**
 * Charte typographique Commercify -- VIGNETTES D'ANNONCES (2026-09-25). Tokens : commercify_typo_tokens.css.
 * Recto (bandeau lieu, score, compteurs, badges prix, titre, pin), versos (textes injectés par
 * commercify_vignettes_optimized.js en style="" inline), mini-cartes. Les couleurs restent celles de
 * commercify_theme_vignettes.css (on ne touche qu'à la forme du texte).
 * Spécificité : les règles d'origine vont jusqu'à `.vignettes-container-mini-custom .badge !important`
 * (0,2,0) et aux style="" inline -> préfixe `html body` + !important là où c'est nécessaire.
 */

/* ─── Titre de l'annonce ─────────────────────────────────────────────────────────────────── */
html body :is(.product-card, .vignette-selectable) .product-title,
html body :is(.product-card, .vignette-selectable) .product-title a {
    font-size: var(--cfy-fs-md) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    line-height: var(--cfy-lh-snug) !important;
    letter-spacing: var(--cfy-ls-title) !important;
}

/* ─── Bandeau lieu sur la photo (pays / code postal / ville) ─────────────────────────────── */
html body .product-card :is(.location-overlay-text, .location-overlay-text a, .location-link, .location-postalcode) {
    font-size: var(--cfy-fs-caption) !important;
    line-height: var(--cfy-lh-snug) !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap;
}
html body .product-card .location-country { font-weight: var(--cfy-fw-bold) !important; text-transform: uppercase; }
html body .product-card .location-postalcode { font-weight: var(--cfy-fw-medium) !important; font-variant-numeric: tabular-nums; }
html body .product-card .location-city {
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-medium) !important;
    letter-spacing: 0 !important;
}

/* ─── Ligne score + compteur de vues ─────────────────────────────────────────────────────── */
html body .product-card .score-display {
    font-size: var(--cfy-fs-base) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    font-variant-numeric: tabular-nums;
}
html body .product-card .view-count {
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-medium) !important;
    font-variant-numeric: tabular-nums;
}

html body .product-card :is(.badge, .price-badge, .badge-pill):not(#cfy-b1) {
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    letter-spacing: 0.01em !important;
    line-height: var(--cfy-lh-snug);
}
html body .product-card .badge.bg-warning:not(#cfy-b1),
html body .product-card .badge[style*="font-size"]:not(#cfy-b1) {   /* le prix */
    font-weight: var(--cfy-fw-bold) !important;
    font-variant-numeric: tabular-nums;
}

/* ─── Pin « À ne pas rater » / urgent ────────────────────────────────────────────────────── */
html body .vignette-urgent-pin > a.urgent-badge,
html body .product-card .urgent-badge {
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: var(--cfy-ls-caps) !important;
}
/* Texte du pin's en écriture de droite à gauche (arabe, persan, ourdou, hébreu…) : pas d'interlettrage,
   il sépare les lettres liées de l'arabe. Le sens est résolu par <bdi dir="auto"> sur le texte lui-même. */
.urgent-badge-text:dir(rtl) {
    letter-spacing: 0;
}

html body .product-card [style*="font-weight: 800"],
html body .product-card [style*="font-weight:800"] { font-weight: var(--cfy-fw-bold) !important; }

/* ─── Versos (HTML injecté par commercify_vignettes_optimized.js, tailles .72–.8rem inline) ── */
html body :is(.product-card-flip-back, [class*="flip-back"]) :is(.product-card-flip-back-title, [class*="flip-back-title"]) {
    font-size: var(--cfy-fs-base) !important;
    font-weight: var(--cfy-fw-bold) !important;
    line-height: var(--cfy-lh-snug) !important;
    letter-spacing: 0 !important;
}
html body :is(.product-card-flip-back, [class*="flip-back"]) [style*="font-size"]:not(i, em.icon, .ni, [class*="bi-"], [class*="fa-"]) {
    font-size: var(--cfy-fs-caption) !important;
}
html body :is(.product-card-flip-back, [class*="flip-back"]) [style*="font-weight: 800"],
html body :is(.product-card-flip-back, [class*="flip-back"]) [style*="font-weight:800"] { font-weight: var(--cfy-fw-bold) !important; }

/* ─── Vidéos YouTube en vignette (v1_commercify_vignettes_youtube.js : 10–11px inline) ─────── */
html body .youtube-play-overlay span,
html body .youtube-play-overlay.thumb span {
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: 0.02em;
}

/* ─── Couleur : badges type de prix / récurrence sur le bandeau sombre translucide (4.1:1 ; 12 % depuis les palettes v2) ── */
html body :is(.product-card, .vignette-item) .bg-dark :is(a.badge.price-badge, a.badge.me-1):not(.bg-warning):not(#cfy-b1):not(#cfy-b2) {
    color: color-mix(in srgb, var(--cfy-hr-ink) 12%, #ffffff) !important;
}

/* ─── Mobile (<= 768px) : commercify_vignettes_optimized.css:422 pose « fond blanc + texte noir »
   sur les textes des vignettes ; le thème sombre recolorait le texte du compteur de vues en clair
   -> texte clair sur pastille blanche (1.7:1). On rétablit le noir prévu par la règle d'origine. */
@media (max-width: 768px) {
    html body :is(.product-card, .vignette-item, [class*="vignettes-container"]) :is(.view-count, .product-tags.rating > span):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { color: #1d1d1f !important; }
}

/* ═══ commercify_typo_modals.css ═══ */
/**
 * Charte typographique Commercify -- MODALES (2026-09-25). Tokens : commercify_typo_tokens.css.
 * Titres des modales « dashboard » (5 feuilles : « Poppins » 1.4rem, 0.04em, tout en !important et
 * ciblé par #id) -> Inter 18px semi-gras ; corps 14px (base) ; pieds et boutons Fermer 13px.
 * Les valeurs brutes des feuilles de modales sont ramenées sur l'échelle par le miroir (généré) ;
 * ici : la hiérarchie commune à toutes les modales. Chatbot inclus (panneau flottant).
 */

/* ─── Titres ─────────────────────────────────────────────────────────────────────────────── */
html body :is(.modal, .commercify-modal, [id$="Modal"], [id^="modal"]) :is(.modal-title, .dashboard-modal-title, .welcome-modal-title):not(#cfy-b1):not(#cfy-b2) {
    font-family: var(--cfy-font-sans) !important;
    font-size: var(--cfy-fs-lg) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    line-height: var(--cfy-lh-snug) !important;
    letter-spacing: var(--cfy-ls-title) !important;
}
/* Titres de modale écrits en capitales : espacement « capitales » */
html body :is(.modal, .commercify-modal, [id$="Modal"], [id^="modal"]) :is(.modal-title, .dashboard-modal-title)[style*="uppercase" i]:not(#cfy-b1):not(#cfy-b2) {
    letter-spacing: var(--cfy-ls-caps) !important;
}
html body .modal .modal-header :is(.modal-subtitle, .sub-title, small):not(#cfy-b1) {
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-regular) !important;
    letter-spacing: 0 !important;
}

/* ─── Corps, pieds, boutons ──────────────────────────────────────────────────────────────── */
html body .modal .modal-body { font-size: var(--cfy-fs-base); line-height: var(--cfy-lh-body); }
html body .modal :is(.modal-footer, .dashboard-modal-footer-nav) { font-size: var(--cfy-fs-sm); }
html body .commercify-modal-btn-fermer:not(#cfy-b1) {
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    letter-spacing: 0 !important;
}

/* ─── Chatbot (chatbot_assistant.css, chargé en fin de <body>) ───────────────────────────── */
html body #cfyAssistantRoot :is(.cfy-assistant__msg, .cfy-assistant__msg--greeting) {
    letter-spacing: 0 !important;
    line-height: var(--cfy-lh-body);
}

/* ═══ commercify_typo_pages.css ═══ */
/**
 * Charte typographique Commercify -- PAGES (2026-09-25). Tokens : commercify_typo_tokens.css.
 */


html body :is(.product-info, .product-details) :is(h2.product-title, .product-title):not(#cfy-b1) {
    font-size: var(--cfy-fs-h1) !important;
    font-weight: var(--cfy-fw-bold) !important;
    line-height: var(--cfy-lh-tight) !important;
    letter-spacing: var(--cfy-ls-display) !important;
}
html body .product-info small.text-muted[style*="font-size"]:not(#cfy-b1) {   /* « Annonce visible depuis… » */
    font-size: var(--cfy-fs-base) !important;
    font-weight: var(--cfy-fw-medium) !important;
    letter-spacing: 0 !important;
}
html body .product-info li[style*="font-size: 1.7rem"]:not(#cfy-b1) {        /* score (3) */
    font-size: var(--cfy-fs-h4) !important;
    font-weight: var(--cfy-fw-bold) !important;
    font-variant-numeric: tabular-nums;
}
html body .product-info .product-price:not(#cfy-b1) {
    font-size: var(--cfy-fs-display) !important;
    font-weight: var(--cfy-fw-bold) !important;
    line-height: var(--cfy-lh-tight) !important;
    letter-spacing: var(--cfy-ls-display) !important;
    font-variant-numeric: tabular-nums;
}
html body .product-info .product-price :is(.price-value, .price-currency):not(#cfy-b1) {
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
}
html body .product-info .product-price .price-currency:not(#cfy-b1) { font-weight: var(--cfy-fw-semibold) !important; }
html body .product-info .price-details:not(#cfy-b1) {
    font-size: var(--cfy-fs-md) !important;
    font-weight: var(--cfy-fw-medium) !important;
    letter-spacing: 0 !important;
}
html body .product-info .badge[style*="1.35rem"]:not(#cfy-b1) {             /* badge urgent */
    font-size: var(--cfy-fs-base) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: var(--cfy-ls-caps) !important;
}
html body .product-info .badge[style*="1.35rem"] i:not(#cfy-b1) { font-size: var(--cfy-fs-base) !important; }
/* Texte de l'annonce */
html body .product-details.entry p:not(#cfy-b1) {
    font-size: var(--cfy-fs-md) !important;
    font-weight: var(--cfy-fw-regular) !important;
    line-height: 1.6 !important;
}
html body .product-details.entry h3.nk-block-title.page-title:not(#cfy-b1) {
    font-size: var(--cfy-fs-h3) !important;
    font-weight: var(--cfy-fw-bold) !important;
    letter-spacing: var(--cfy-ls-title) !important;
}
html body .product-details.entry :is(ul.list.list-sm.list-checked li, ul.list.list-sm.list-checked li span, ul.list.list-sm.list-checked li a):not(#cfy-b1) {
    font-size: var(--cfy-fs-base) !important;
}
html body .product-details.entry :is(.badge, .row.g-2 .badge, ul.d-flex.flex-wrap.g-1 .badge, .row.g-2 .d-flex.flex-column .mb-1):not(#cfy-b1) {
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-semibold) !important;
}
/* Avis */
html body .product-details h5[style*="1.35rem"]:not(#cfy-b1) { font-size: var(--cfy-fs-lg) !important; font-weight: var(--cfy-fw-semibold) !important; }
html body .product-details p[style*="1.15rem"]:not(#cfy-b1) { font-size: var(--cfy-fs-md) !important; line-height: 1.6 !important; }

/* ═══ 2. Pages publisher/* : header d'éditeur, onglets, pastille de contexte, boutons ═════════
   Sources : page_publisher_index_typology.css, page_publisher_ad_buttons.css, publisher_index_*.css. */
html body .publisher-header-slug:not(#cfy-b1) {                               /* @NomEditeur */
    font-size: var(--cfy-fs-h2) !important;
    font-weight: var(--cfy-fw-bold) !important;
    line-height: var(--cfy-lh-tight) !important;
    letter-spacing: var(--cfy-ls-display) !important;
}
@media (max-width: 767.98px) {
    html body .publisher-header-slug:not(#cfy-b1) { font-size: var(--cfy-fs-h3) !important; }
}
/* Onglets Profil public / Annonces publiques / restreintes / privées : format bouton */
html body .publisher-nav :is(.publisher-nav__link, .publisher-nav__label):not(#cfy-b1) {
    font-size: var(--cfy-fs-base) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    letter-spacing: 0 !important;
}
/* Pastille « Fiche annonce · slug · → Annonces publiques » */
html body .publisher-header-ad-context-label:not(#cfy-b1) {
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    letter-spacing: 0 !important;
}
html body .publisher-header-ad-context-slug:not(#cfy-b1) {
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-semibold) !important;
}
html body .publisher-header-ad-context-link:not(#cfy-b1) {
    font-size: var(--cfy-fs-base) !important;
    font-weight: var(--cfy-fw-semibold) !important;
}
/* Onglets de zone (Profil public…) et titres de panneau */
html body .cfy-pi-zone-tab:not(#cfy-b1) { font-size: var(--cfy-fs-sm) !important; font-weight: var(--cfy-fw-semibold) !important; letter-spacing: 0 !important; }
html body .cfy-pi-zone-panel-title:not(#cfy-b1) { font-size: var(--cfy-fs-md) !important; font-weight: var(--cfy-fw-semibold) !important; }
/* Boutons de page : suivre / liste noire / actions de la fiche / copier le lien */
html body .nk-content :is(.cfy-ad-action-btn, .publisher-entry-gradient > .btn, .cfy-copy-btn, .cfy-copy-btn-label):not(#cfy-b1) {
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    letter-spacing: 0 !important;
}
/* Texte de présentation de l'éditeur */
html body .publisher-profile__body p:not(#cfy-b1) { font-size: var(--cfy-fs-md) !important; line-height: 1.6 !important; }

/* ═══ 3. Couleur du texte propre aux pages ═══════════════════════════════════════════════════ */
/* Fiche annonce : détail du prix (vert inline #2E8B57 : 3.5:1) -> vert sémantique lisible */
html body .product-info .price-details:not(#cfy-b1) { color: var(--cfy-tx-success) !important; }
/* dash/settings/badge : boutons d'accès aux catalogues d'un éditeur. Les couleurs de niveau
   d'accès (profil bleu, public vert, restreint orange, privé gris) = LISERÉ seulement (charte des
   thèmes) ; le texte orange #ff9800 tombait à 2:1. */
html body :is(.page-dash-badge-typology, #quotaModal, #modalPermissions, #modalChangePin) .list-group-item .btn-sm[class*="btn-outline-"]:not(#cfy-b1):not(#cfy-b2) {
    color: var(--cfy-tx-ink-2) !important;
}
html body :is(.page-dash-badge-typology) .nk-wg1-action .btn[class*="btn-outline-"] span:not(#cfy-b1) { color: var(--cfy-tx-ink) !important; }
/* Fiche annonce : libellés « Type : », « Places : »… (#666 en dur, 3:1 en sombre) et bouton copier */
html body .product-details.entry .row.g-2 .d-flex.flex-column .mb-1:not(#cfy-b1) { color: var(--cfy-tx-muted) !important; }
html body .cfy-copy-btn .cfy-copy-btn-label:not(#cfy-b1) { color: var(--cfy-tx-ink-2) !important; }

/* ═══ fontawesome-icons.css ═══ */
﻿/*!
 * Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-0.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border: none}.fa-500px:before{content:""}.fa-accessible-icon:before{content:""}.fa-accusoft:before{content:""}.fa-acquisitions-incorporated:before{content:""}.fa-ad:before{content:""}.fa-address-book:before{content:""}.fa-address-card:before{content:""}.fa-adjust:before{content:""}.fa-adn:before{content:""}.fa-adversal:before{content:""}.fa-affiliatetheme:before{content:""}.fa-air-freshener:before{content:""}.fa-airbnb:before{content:""}.fa-algolia:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-alipay:before{content:""}.fa-allergies:before{content:""}.fa-amazon:before{content:""}.fa-amazon-pay:before{content:""}.fa-ambulance:before{content:""}.fa-american-sign-language-interpreting:before{content:""}.fa-amilia:before{content:""}.fa-anchor:before{content:""}.fa-android:before{content:""}.fa-angellist:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angry:before{content:""}.fa-angrycreative:before{content:""}.fa-angular:before{content:""}.fa-ankh:before{content:""}.fa-app-store:before{content:""}.fa-app-store-ios:before{content:""}.fa-apper:before{content:""}.fa-apple:before{content:""}.fa-apple-alt:before{content:""}.fa-apple-pay:before{content:""}.fa-archive:before{content:""}.fa-archway:before{content:""}.fa-arrow-alt-circle-down:before{content:""}.fa-arrow-alt-circle-left:before{content:""}.fa-arrow-alt-circle-right:before{content:""}.fa-arrow-alt-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrows-alt:before{content:""}.fa-arrows-alt-h:before{content:""}.fa-arrows-alt-v:before{content:""}.fa-artstation:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asterisk:before{content:""}.fa-asymmetrik:before{content:""}.fa-at:before{content:""}.fa-atlas:before{content:""}.fa-atlassian:before{content:""}.fa-atom:before{content:""}.fa-audible:before{content:""}.fa-audio-description:before{content:""}.fa-autoprefixer:before{content:""}.fa-avianex:before{content:""}.fa-aviato:before{content:""}.fa-award:before{content:""}.fa-aws:before{content:""}.fa-baby:before{content:""}.fa-baby-carriage:before{content:""}.fa-backspace:before{content:""}.fa-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bahai:before{content:""}.fa-balance-scale:before{content:""}.fa-balance-scale-left:before{content:""}.fa-balance-scale-right:before{content:""}.fa-ban:before{content:""}.fa-band-aid:before{content:""}.fa-bandcamp:before{content:""}.fa-barcode:before{content:""}.fa-bars:before{content:""}.fa-baseball-ball:before{content:""}.fa-basketball-ball:before{content:""}.fa-bath:before{content:""}.fa-battery-empty:before{content:""}.fa-battery-full:before{content:""}.fa-battery-half:before{content:""}.fa-battery-quarter:before{content:""}.fa-battery-three-quarters:before{content:""}.fa-battle-net:before{content:""}.fa-bed:before{content:""}.fa-beer:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bible:before{content:""}.fa-bicycle:before{content:""}.fa-biking:before{content:""}.fa-bimobject:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-birthday-cake:before{content:""}.fa-bitbucket:before{content:""}.fa-bitcoin:before{content:""}.fa-bity:before{content:""}.fa-black-tie:before{content:""}.fa-blackberry:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blind:before{content:""}.fa-blog:before{content:""}.fa-blogger:before{content:""}.fa-blogger-b:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-bold:before{content:""}.fa-bolt:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-book-dead:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-reader:before{content:""}.fa-bookmark:before{content:""}.fa-bootstrap:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broadcast-tower:before{content:""}.fa-broom:before{content:""}.fa-brush:before{content:""}.fa-btc:before{content:""}.fa-buffer:before{content:""}.fa-bug:before{content:""}.fa-building:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burn:before{content:""}.fa-buromobelexperte:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before{content:""}.fa-business-time:before{content:""}.fa-buy-n-large:before{content:""}.fa-buysellads:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-alt:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-times:before{content:""}.fa-calendar-week:before{content:""}.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-campground:before{content:""}.fa-canadian-maple-leaf:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-car:before{content:""}.fa-car-alt:before{content:""}.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-square-down:before{content:""}.fa-caret-square-left:before{content:""}.fa-caret-square-right:before{content:""}.fa-caret-square-up:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-plus:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cc-amazon-pay:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-apple-pay:before{content:""}.fa-cc-diners-club:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-cc-visa:before{content:""}.fa-centercode:before{content:""}.fa-centos:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before{content:""}.fa-charging-station:before{content:""}.fa-chart-area:before{content:""}.fa-chart-bar:before{content:""}.fa-chart-line:before{content:""}.fa-chart-pie:before{content:""}.fa-check:before{content:""}.fa-check-circle:before{content:""}.fa-check-double:before{content:""}.fa-check-square:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-chrome:before{content:""}.fa-chromecast:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-city:before{content:""}.fa-clinic-medical:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-download-alt:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-cloud-upload-alt:before{content:""}.fa-cloudflare:before{content:""}.fa-cloudscale:before{content:""}.fa-cloudsmith:before{content:""}.fa-cloudversify:before{content:""}.fa-cocktail:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-codepen:before{content:""}.fa-codiepie:before{content:""}.fa-coffee:before{content:""}.fa-cog:before{content:""}.fa-cogs:before{content:""}.fa-coins:before{content:""}.fa-columns:before{content:""}.fa-comment:before{content:""}.fa-comment-alt:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compress:before{content:""}.fa-compress-alt:before{content:""}.fa-compress-arrows-alt:before{content:""}.fa-concierge-bell:before{content:""}.fa-confluence:before{content:""}.fa-connectdevelop:before{content:""}.fa-contao:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-cotton-bureau:before{content:""}.fa-couch:before{content:""}.fa-cpanel:before{content:""}.fa-creative-commons:before{content:""}.fa-creative-commons-by:before{content:""}.fa-creative-commons-nc:before{content:""}.fa-creative-commons-nc-eu:before{content:""}.fa-creative-commons-nc-jp:before{content:""}.fa-creative-commons-nd:before{content:""}.fa-creative-commons-pd:before{content:""}.fa-creative-commons-pd-alt:before{content:""}.fa-creative-commons-remix:before{content:""}.fa-creative-commons-sa:before{content:""}.fa-creative-commons-sampling:before{content:""}.fa-creative-commons-sampling-plus:before{content:""}.fa-creative-commons-share:before{content:""}.fa-creative-commons-zero:before{content:""}.fa-credit-card:before{content:""}.fa-critical-role:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-css3:before{content:""}.fa-css3-alt:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-cut:before{content:""}.fa-cuttlefish:before{content:""}.fa-d-and-d:before{content:""}.fa-d-and-d-beyond:before{content:""}.fa-dailymotion:before{content:""}.fa-dashcube:before{content:""}.fa-database:before{content:""}.fa-deaf:before{content:""}.fa-deezer:before{content:""}.fa-delicious:before{content:""}.fa-democrat:before{content:""}.fa-deploydog:before{content:""}.fa-deskpro:before{content:""}.fa-desktop:before{content:""}.fa-dev:before{content:""}.fa-deviantart:before{content:""}.fa-dharmachakra:before{content:""}.fa-dhl:before{content:""}.fa-diagnoses:before{content:""}.fa-diaspora:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-digg:before{content:""}.fa-digital-ocean:before{content:""}.fa-digital-tachograph:before{content:""}.fa-directions:before{content:""}.fa-discord:before{content:""}.fa-discourse:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dizzy:before{content:""}.fa-dna:before{content:""}.fa-dochub:before{content:""}.fa-docker:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before{content:""}.fa-dolly:before{content:""}.fa-dolly-flatbed:before{content:""}.fa-donate:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dot-circle:before{content:""}.fa-dove:before{content:""}.fa-download:before{content:""}.fa-draft2digital:before{content:""}.fa-drafting-compass:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-dribbble:before{content:""}.fa-dribbble-square:before{content:""}.fa-dropbox:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-drupal:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-dyalog:before{content:""}.fa-earlybirds:before{content:""}.fa-ebay:before{content:""}.fa-edge:before{content:""}.fa-edge-legacy:before{content:""}.fa-edit:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elementor:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-ello:before{content:""}.fa-ember:before{content:""}.fa-empire:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelope-square:before{content:""}.fa-envira:before{content:""}.fa-equals:before{content:""}.fa-eraser:before{content:""}.fa-erlang:before{content:""}.fa-ethereum:before{content:""}.fa-ethernet:before{content:""}.fa-etsy:before{content:""}.fa-euro-sign:before{content:""}.fa-evernote:before{content:""}.fa-exchange-alt:before{content:""}.fa-exclamation:before{content:""}.fa-exclamation-circle:before{content:""}.fa-exclamation-triangle:before{content:""}.fa-expand:before{content:""}.fa-expand-alt:before{content:""}.fa-expand-arrows-alt:before{content:""}.fa-expeditedssl:before{content:""}.fa-external-link-alt:before{content:""}.fa-external-link-square-alt:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper:before{content:""}.fa-eye-slash:before{content:""}.fa-facebook:before{content:""}.fa-facebook-f:before{content:""}.fa-facebook-messenger:before{content:""}.fa-facebook-square:before{content:""}.fa-fan:before{content:""}.fa-fantasy-flight-games:before{content:""}.fa-fast-backward:before{content:""}.fa-fast-forward:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before{content:""}.fa-fedex:before{content:""}.fa-fedora:before{content:""}.fa-female:before{content:""}.fa-fighter-jet:before{content:""}.fa-figma:before{content:""}.fa-file:before{content:""}.fa-file-alt:before{content:""}.fa-file-archive:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-download:before{content:""}.fa-file-excel:before{content:""}.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-medical:before{content:""}.fa-file-medical-alt:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-upload:before{content:""}.fa-file-video:before{content:""}.fa-file-word:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-alt:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-firefox:before{content:""}.fa-firefox-browser:before{content:""}.fa-first-aid:before{content:""}.fa-first-order:before{content:""}.fa-first-order-alt:before{content:""}.fa-firstdraft:before{content:""}.fa-fish:before{content:""}.fa-fist-raised:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-flickr:before{content:""}.fa-flipboard:before{content:""}.fa-flushed:before{content:""}.fa-fly:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-font:before{content:""}.fa-font-awesome:before{content:""}.fa-font-awesome-alt:before{content:""}.fa-font-awesome-flag:before{content:""}.fa-font-awesome-logo-full:before{content:""}.fa-fonticons:before{content:""}.fa-fonticons-fi:before{content:""}.fa-football-ball:before{content:""}.fa-fort-awesome:before{content:""}.fa-fort-awesome-alt:before{content:""}.fa-forumbee:before{content:""}.fa-forward:before{content:""}.fa-foursquare:before{content:""}.fa-free-code-camp:before{content:""}.fa-freebsd:before{content:""}.fa-frog:before{content:""}.fa-frown:before{content:""}.fa-frown-open:before{content:""}.fa-fulcrum:before{content:""}.fa-funnel-dollar:before{content:""}.fa-futbol:before{content:""}.fa-galactic-republic:before{content:""}.fa-galactic-senate:before{content:""}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-gavel:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-get-pocket:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-git:before{content:""}.fa-git-alt:before{content:""}.fa-git-square:before{content:""}.fa-github:before{content:""}.fa-github-alt:before{content:""}.fa-github-square:before{content:""}.fa-gitkraken:before{content:""}.fa-gitlab:before{content:""}.fa-gitter:before{content:""}.fa-glass-cheers:before{content:""}.fa-glass-martini:before{content:""}.fa-glass-martini-alt:before{content:""}.fa-glass-whiskey:before{content:""}.fa-glasses:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-globe:before{content:""}.fa-globe-africa:before{content:""}.fa-globe-americas:before{content:""}.fa-globe-asia:before{content:""}.fa-globe-europe:before{content:""}.fa-gofore:before{content:""}.fa-golf-ball:before{content:""}.fa-goodreads:before{content:""}.fa-goodreads-g:before{content:""}.fa-google:before{content:""}.fa-google-drive:before{content:""}.fa-google-pay:before{content:""}.fa-google-play:before{content:""}.fa-google-plus:before{content:""}.fa-google-plus-g:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-wallet:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before{content:""}.fa-gratipay:before{content:""}.fa-grav:before{content:""}.fa-greater-than:before{content:""}.fa-greater-than-equal:before{content:""}.fa-grimace:before{content:""}.fa-grin:before{content:""}.fa-grin-alt:before{content:""}.fa-grin-beam:before{content:""}.fa-grin-beam-sweat:before{content:""}.fa-grin-hearts:before{content:""}.fa-grin-squint:before{content:""}.fa-grin-squint-tears:before{content:""}.fa-grin-stars:before{content:""}.fa-grin-tears:before{content:""}.fa-grin-tongue:before{content:""}.fa-grin-tongue-squint:before{content:""}.fa-grin-tongue-wink:before{content:""}.fa-grin-wink:before{content:""}.fa-grip-horizontal:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-gripfire:before{content:""}.fa-grunt:before{content:""}.fa-guilded:before{content:""}.fa-guitar:before{content:""}.fa-gulp:before{content:""}.fa-h-square:before{content:""}.fa-hacker-news:before{content:""}.fa-hacker-news-square:before{content:""}.fa-hackerrank:before{content:""}.fa-hamburger:before{content:""}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-holding-usd:before{content:""}.fa-hand-holding-water:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-paper:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-rock:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before{content:""}.fa-hands-helping:before{content:""}.fa-hands-wash:before{content:""}.fa-handshake:before{content:""}.fa-handshake-alt-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-hat:before{content:""}.fa-hashtag:before{content:""}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-hdd:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before{content:""}.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-highlighter:before{content:""}.fa-hiking:before{content:""}.fa-hippo:before{content:""}.fa-hips:before{content:""}.fa-hire-a-helper:before{content:""}.fa-history:before{content:""}.fa-hive:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-home:before{content:""}.fa-hooli:before{content:""}.fa-hornbill:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital:before{content:""}.fa-hospital-alt:before{content:""}.fa-hospital-symbol:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hotjar:before{content:""}.fa-hourglass:before{content:""}.fa-hourglass-end:before{content:""}.fa-hourglass-half:before{content:""}.fa-hourglass-start:before{content:""}.fa-house-damage:before{content:""}.fa-house-user:before{content:""}.fa-houzz:before{content:""}.fa-hryvnia:before{content:""}.fa-html5:before{content:""}.fa-hubspot:before{content:""}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-id-card:before{content:""}.fa-id-card-alt:before{content:""}.fa-ideal:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-images:before{content:""}.fa-imdb:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-info-circle:before{content:""}.fa-innosoft:before{content:""}.fa-instagram:before{content:""}.fa-instagram-square:before{content:""}.fa-instalod:before{content:""}.fa-intercom:before{content:""}.fa-internet-explorer:before{content:""}.fa-invision:before{content:""}.fa-ioxhost:before{content:""}.fa-italic:before{content:""}.fa-itch-io:before{content:""}.fa-itunes:before{content:""}.fa-itunes-note:before{content:""}.fa-java:before{content:""}.fa-jedi:before{content:""}.fa-jedi-order:before{content:""}.fa-jenkins:before{content:""}.fa-jira:before{content:""}.fa-joget:before{content:""}.fa-joint:before{content:""}.fa-joomla:before{content:""}.fa-journal-whills:before{content:""}.fa-js:before{content:""}.fa-js-square:before{content:""}.fa-jsfiddle:before{content:""}.fa-kaaba:before{content:""}.fa-kaggle:before{content:""}.fa-key:before{content:""}.fa-keybase:before{content:""}.fa-keyboard:before{content:""}.fa-keycdn:before{content:""}.fa-khanda:before{content:""}.fa-kickstarter:before{content:""}.fa-kickstarter-k:before{content:""}.fa-kiss:before{content:""}.fa-kiss-beam:before{content:""}.fa-kiss-wink-heart:before{content:""}.fa-kiwi-bird:before{content:""}.fa-korvue:before{content:""}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-house:before{content:""}.fa-laptop-medical:before{content:""}.fa-laravel:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-laugh:before{content:""}.fa-laugh-beam:before{content:""}.fa-laugh-squint:before{content:""}.fa-laugh-wink:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-leanpub:before{content:""}.fa-lemon:before{content:""}.fa-less:before{content:""}.fa-less-than:before{content:""}.fa-less-than-equal:before{content:""}.fa-level-down-alt:before{content:""}.fa-level-up-alt:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-line:before{content:""}.fa-link:before{content:""}.fa-linkedin:before{content:""}.fa-linkedin-in:before{content:""}.fa-linode:before{content:""}.fa-linux:before{content:""}.fa-lira-sign:before{content:""}.fa-list:before{content:""}.fa-list-alt:before{content:""}.fa-list-ol:before{content:""}.fa-list-ul:before{content:""}.fa-location-arrow:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-long-arrow-alt-down:before{content:""}.fa-long-arrow-alt-left:before{content:""}.fa-long-arrow-alt-right:before{content:""}.fa-long-arrow-alt-up:before{content:""}.fa-low-vision:before{content:""}.fa-luggage-cart:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-lyft:before{content:""}.fa-magento:before{content:""}.fa-magic:before{content:""}.fa-magnet:before{content:""}.fa-mail-bulk:before{content:""}.fa-mailchimp:before{content:""}.fa-male:before{content:""}.fa-mandalorian:before{content:""}.fa-map:before{content:""}.fa-map-marked:before{content:""}.fa-map-marked-alt:before{content:""}.fa-map-marker:before{content:""}.fa-map-marker-alt:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-markdown:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mask:before{content:""}.fa-mastodon:before{content:""}.fa-maxcdn:before{content:""}.fa-mdb:before{content:""}.fa-medal:before{content:""}.fa-medapps:before{content:""}.fa-medium:before{content:""}.fa-medium-m:before{content:""}.fa-medkit:before{content:""}.fa-medrt:before{content:""}.fa-meetup:before{content:""}.fa-megaport:before{content:""}.fa-meh:before{content:""}.fa-meh-blank:before{content:""}.fa-meh-rolling-eyes:before{content:""}.fa-memory:before{content:""}.fa-mendeley:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-meteor:before{content:""}.fa-microblog:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before{content:""}.fa-microphone-alt-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-microsoft:before{content:""}.fa-minus:before{content:""}.fa-minus-circle:before{content:""}.fa-minus-square:before{content:""}.fa-mitten:before{content:""}.fa-mix:before{content:""}.fa-mixcloud:before{content:""}.fa-mixer:before{content:""}.fa-mizuni:before{content:""}.fa-mobile:before{content:""}.fa-mobile-alt:before{content:""}.fa-modx:before{content:""}.fa-monero:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-bill-wave-alt:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mouse:before{content:""}.fa-mouse-pointer:before{content:""}.fa-mug-hot:before{content:""}.fa-music:before{content:""}.fa-napster:before{content:""}.fa-neos:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-nimblr:before{content:""}.fa-node:before{content:""}.fa-node-js:before{content:""}.fa-not-equal:before{content:""}.fa-notes-medical:before{content:""}.fa-npm:before{content:""}.fa-ns8:before{content:""}.fa-nutritionix:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-octopus-deploy:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-oil-can:before{content:""}.fa-old-republic:before{content:""}.fa-om:before{content:""}.fa-opencart:before{content:""}.fa-openid:before{content:""}.fa-opera:before{content:""}.fa-optin-monster:before{content:""}.fa-orcid:before{content:""}.fa-osi:before{content:""}.fa-otter:before{content:""}.fa-outdent:before{content:""}.fa-page4:before{content:""}.fa-pagelines:before{content:""}.fa-pager:before{content:""}.fa-paint-brush:before{content:""}.fa-paint-roller:before{content:""}.fa-palette:before{content:""}.fa-palfed:before{content:""}.fa-pallet:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-parking:before{content:""}.fa-passport:before{content:""}.fa-pastafarianism:before{content:""}.fa-paste:before{content:""}.fa-patreon:before{content:""}.fa-pause:before{content:""}.fa-pause-circle:before{content:""}.fa-paw:before{content:""}.fa-paypal:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-square:before{content:""}.fa-pencil-alt:before{content:""}.fa-pencil-ruler:before{content:""}.fa-penny-arcade:before{content:""}.fa-people-arrows:before{content:""}.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-perbyte:before{content:""}.fa-percent:before{content:""}.fa-percentage:before{content:""}.fa-periscope:before{content:""}.fa-person-booth:before{content:""}.fa-phabricator:before{content:""}.fa-phoenix-framework:before{content:""}.fa-phoenix-squadron:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-square:before{content:""}.fa-phone-square-alt:before{content:""}.fa-phone-volume:before{content:""}.fa-photo-video:before{content:""}.fa-php:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-pied-piper-hat:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-square:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-p:before{content:""}.fa-pinterest-square:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-play-circle:before{content:""}.fa-playstation:before{content:""}.fa-plug:before{content:""}.fa-plus:before{content:""}.fa-plus-circle:before{content:""}.fa-plus-square:before{content:""}.fa-podcast:before{content:""}.fa-poll:before{content:""}.fa-poll-h:before{content:""}.fa-poo:before{content:""}.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-portrait:before{content:""}.fa-pound-sign:before{content:""}.fa-power-off:before{content:""}.fa-pray:before{content:""}.fa-praying-hands:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before{content:""}.fa-print:before{content:""}.fa-procedures:before{content:""}.fa-product-hunt:before{content:""}.fa-project-diagram:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-pushed:before{content:""}.fa-puzzle-piece:before{content:""}.fa-python:before{content:""}.fa-qq:before{content:""}.fa-qrcode:before{content:""}.fa-question:before{content:""}.fa-question-circle:before{content:""}.fa-quidditch:before{content:""}.fa-quinscape:before{content:""}.fa-quora:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-quran:before{content:""}.fa-r-project:before{content:""}.fa-radiation:before{content:""}.fa-radiation-alt:before{content:""}.fa-rainbow:before{content:""}.fa-random:before{content:""}.fa-raspberry-pi:before{content:""}.fa-ravelry:before{content:""}.fa-react:before{content:""}.fa-reacteurope:before{content:""}.fa-readme:before{content:""}.fa-rebel:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-recycle:before{content:""}.fa-red-river:before{content:""}.fa-reddit:before{content:""}.fa-reddit-alien:before{content:""}.fa-reddit-square:before{content:""}.fa-redhat:before{content:""}.fa-redo:before{content:""}.fa-redo-alt:before{content:""}.fa-registered:before{content:""}.fa-remove-format:before{content:""}.fa-renren:before{content:""}.fa-reply:before{content:""}.fa-reply-all:before{content:""}.fa-replyd:before{content:""}.fa-republican:before{content:""}.fa-researchgate:before{content:""}.fa-resolving:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-rev:before{content:""}.fa-ribbon:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rocketchat:before{content:""}.fa-rockrms:before{content:""}.fa-route:before{content:""}.fa-rss:before{content:""}.fa-rss-square:before{content:""}.fa-ruble-sign:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-running:before{content:""}.fa-rupee-sign:before{content:""}.fa-rust:before{content:""}.fa-sad-cry:before{content:""}.fa-sad-tear:before{content:""}.fa-safari:before{content:""}.fa-salesforce:before{content:""}.fa-sass:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-save:before{content:""}.fa-schlix:before{content:""}.fa-school:before{content:""}.fa-screwdriver:before{content:""}.fa-scribd:before{content:""}.fa-scroll:before{content:""}.fa-sd-card:before{content:""}.fa-search:before{content:""}.fa-search-dollar:before{content:""}.fa-search-location:before{content:""}.fa-search-minus:before{content:""}.fa-search-plus:before{content:""}.fa-searchengin:before{content:""}.fa-seedling:before{content:""}.fa-sellcast:before{content:""}.fa-sellsy:before{content:""}.fa-server:before{content:""}.fa-servicestack:before{content:""}.fa-shapes:before{content:""}.fa-share:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-share-square:before{content:""}.fa-shekel-sign:before{content:""}.fa-shield-alt:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shipping-fast:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-shoe-prints:before{content:""}.fa-shopify:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-shopping-cart:before{content:""}.fa-shopware:before{content:""}.fa-shower:before{content:""}.fa-shuttle-van:before{content:""}.fa-sign:before{content:""}.fa-sign-in-alt:before{content:""}.fa-sign-language:before{content:""}.fa-sign-out-alt:before{content:""}.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-sim-card:before{content:""}.fa-simplybuilt:before{content:""}.fa-sink:before{content:""}.fa-sistrix:before{content:""}.fa-sitemap:before{content:""}.fa-sith:before{content:""}.fa-skating:before{content:""}.fa-sketch:before{content:""}.fa-skiing:before{content:""}.fa-skiing-nordic:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-skyatlas:before{content:""}.fa-skype:before{content:""}.fa-slack:before{content:""}.fa-slack-hash:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before{content:""}.fa-slideshare:before{content:""}.fa-smile:before{content:""}.fa-smile-beam:before{content:""}.fa-smile-wink:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-smoking-ban:before{content:""}.fa-sms:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-snowboarding:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before{content:""}.fa-sort-alpha-down:before{content:""}.fa-sort-alpha-down-alt:before{content:""}.fa-sort-alpha-up:before{content:""}.fa-sort-alpha-up-alt:before{content:""}.fa-sort-amount-down:before{content:""}.fa-sort-amount-down-alt:before{content:""}.fa-sort-amount-up:before{content:""}.fa-sort-amount-up-alt:before{content:""}.fa-sort-down:before{content:""}.fa-sort-numeric-down:before{content:""}.fa-sort-numeric-down-alt:before{content:""}.fa-sort-numeric-up:before{content:""}.fa-sort-numeric-up-alt:before{content:""}.fa-sort-up:before{content:""}.fa-soundcloud:before{content:""}.fa-sourcetree:before{content:""}.fa-spa:before{content:""}.fa-space-shuttle:before{content:""}.fa-speakap:before{content:""}.fa-speaker-deck:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spotify:before{content:""}.fa-spray-can:before{content:""}.fa-square:before{content:""}.fa-square-full:before{content:""}.fa-square-root-alt:before{content:""}.fa-squarespace:before{content:""}.fa-stack-exchange:before{content:""}.fa-stack-overflow:before{content:""}.fa-stackpath:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-staylinked:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-steam-symbol:before{content:""}.fa-step-backward:before{content:""}.fa-step-forward:before{content:""}.fa-stethoscope:before{content:""}.fa-sticker-mule:before{content:""}.fa-sticky-note:before{content:""}.fa-stop:before{content:""}.fa-stop-circle:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-alt:before{content:""}.fa-store-alt-slash:before{content:""}.fa-store-slash:before{content:""}.fa-strava:before{content:""}.fa-stream:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stripe:before{content:""}.fa-stripe-s:before{content:""}.fa-stroopwafel:before{content:""}.fa-studiovinari:before{content:""}.fa-stumbleupon:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-subscript:before{content:""}.fa-subway:before{content:""}.fa-suitcase:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superpowers:before{content:""}.fa-superscript:before{content:""}.fa-supple:before{content:""}.fa-surprise:before{content:""}.fa-suse:before{content:""}.fa-swatchbook:before{content:""}.fa-swift:before{content:""}.fa-swimmer:before{content:""}.fa-swimming-pool:before{content:""}.fa-symfony:before{content:""}.fa-synagogue:before{content:""}.fa-sync:before{content:""}.fa-sync-alt:before{content:""}.fa-syringe:before{content:""}.fa-table:before{content:""}.fa-table-tennis:before{content:""}.fa-tablet:before{content:""}.fa-tablet-alt:before{content:""}.fa-tablets:before{content:""}.fa-tachometer-alt:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-tasks:before{content:""}.fa-taxi:before{content:""}.fa-teamspeak:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-telegram:before{content:""}.fa-telegram-plane:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-tencent-weibo:before{content:""}.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-th:before{content:""}.fa-th-large:before{content:""}.fa-th-list:before{content:""}.fa-the-red-yeti:before{content:""}.fa-theater-masks:before{content:""}.fa-themeco:before{content:""}.fa-themeisle:before{content:""}.fa-thermometer:before{content:""}.fa-thermometer-empty:before{content:""}.fa-thermometer-full:before{content:""}.fa-thermometer-half:before{content:""}.fa-thermometer-quarter:before{content:""}.fa-thermometer-three-quarters:before{content:""}.fa-think-peaks:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbtack:before{content:""}.fa-ticket-alt:before{content:""}.fa-tiktok:before{content:""}.fa-times:before{content:""}.fa-times-circle:before{content:""}.fa-tint:before{content:""}.fa-tint-slash:before{content:""}.fa-tired:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tools:before{content:""}.fa-tooth:before{content:""}.fa-torah:before{content:""}.fa-torii-gate:before{content:""}.fa-tractor:before{content:""}.fa-trade-federation:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-tram:before{content:""}.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-trash:before{content:""}.fa-trash-alt:before{content:""}.fa-trash-restore:before{content:""}.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-trello:before{content:""}.fa-tripadvisor:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-truck-loading:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-tshirt:before{content:""}.fa-tty:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-tv:before{content:""}.fa-twitch:before{content:""}.fa-twitter:before{content:""}.fa-twitter-square:before{content:""}.fa-typo3:before{content:""}.fa-uber:before{content:""}.fa-ubuntu:before{content:""}.fa-uikit:before{content:""}.fa-umbraco:before{content:""}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-uncharted:before{content:""}.fa-underline:before{content:""}.fa-undo:before{content:""}.fa-undo-alt:before{content:""}.fa-uniregistry:before{content:""}.fa-unity:before{content:""}.fa-universal-access:before{content:""}.fa-university:before{content:""}.fa-unlink:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before{content:""}.fa-unsplash:before{content:""}.fa-untappd:before{content:""}.fa-upload:before{content:""}.fa-ups:before{content:""}.fa-usb:before{content:""}.fa-user:before{content:""}.fa-user-alt:before{content:""}.fa-user-alt-slash:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-circle:before{content:""}.fa-user-clock:before{content:""}.fa-user-cog:before{content:""}.fa-user-edit:before{content:""}.fa-user-friends:before{content:""}.fa-user-graduate:before{content:""}.fa-user-injured:before{content:""}.fa-user-lock:before{content:""}.fa-user-md:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before{content:""}.fa-users:before{content:""}.fa-users-cog:before{content:""}.fa-users-slash:before{content:""}.fa-usps:before{content:""}.fa-ussunnah:before{content:""}.fa-utensil-spoon:before{content:""}.fa-utensils:before{content:""}.fa-vaadin:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-viacoin:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-viber:before{content:""}.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-vimeo:before{content:""}.fa-vimeo-square:before{content:""}.fa-vimeo-v:before{content:""}.fa-vine:before{content:""}.fa-virus:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-vk:before{content:""}.fa-vnv:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before{content:""}.fa-volume-down:before{content:""}.fa-volume-mute:before{content:""}.fa-volume-off:before{content:""}.fa-volume-up:before{content:""}.fa-vote-yea:before{content:""}.fa-vr-cardboard:before{content:""}.fa-vuejs:before{content:""}.fa-walking:before{content:""}.fa-wallet:before{content:""}.fa-warehouse:before{content:""}.fa-watchman-monitoring:before{content:""}.fa-water:before{content:""}.fa-wave-square:before{content:""}.fa-waze:before{content:""}.fa-weebly:before{content:""}.fa-weibo:before{content:""}.fa-weight:before{content:""}.fa-weight-hanging:before{content:""}.fa-weixin:before{content:""}.fa-whatsapp:before{content:""}.fa-whatsapp-square:before{content:""}.fa-wheelchair:before{content:""}.fa-whmcs:before{content:""}.fa-wifi:before{content:""}.fa-wikipedia-w:before{content:""}.fa-wind:before{content:""}.fa-window-close:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-windows:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before{content:""}.fa-wix:before{content:""}.fa-wizards-of-the-coast:before{content:""}.fa-wodu:before{content:""}.fa-wolf-pack-battalion:before{content:""}.fa-won-sign:before{content:""}.fa-wordpress:before{content:""}.fa-wordpress-simple:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpexplorer:before{content:""}.fa-wpforms:before{content:""}.fa-wpressr:before{content:""}.fa-wrench:before{content:""}.fa-x-ray:before{content:""}.fa-xbox:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-y-combinator:before{content:""}.fa-yahoo:before{content:""}.fa-yammer:before{content:""}.fa-yandex:before{content:""}.fa-yandex-international:before{content:""}.fa-yarn:before{content:""}.fa-yelp:before{content:""}.fa-yen-sign:before{content:""}.fa-yin-yang:before{content:""}.fa-yoast:before{content:""}.fa-youtube:before{content:""}.fa-youtube-square:before{content:""}.fa-zhihu:before{content:""}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}/*!
 * Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url("../fonts/fa-brands-400.eot");src:url("../fonts/fa-brands-400.eot#iefix") format("embedded-opentype"),url("../fonts/fa-brands-400.woff2") format("woff2"),url("../fonts/fa-brands-400.woff") format("woff"),url("../fonts/fa-brands-400.ttf") format("truetype"),url("../fonts/fa-brands-400.svg#fontawesome") format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400}/*!
 * Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url("../fonts/fa-regular-400.eot");src:url("../fonts/fa-regular-400.eot#iefix") format("embedded-opentype"),url("../fonts/fa-regular-400.woff2") format("woff2"),url("../fonts/fa-regular-400.woff") format("woff"),url("../fonts/fa-regular-400.ttf") format("truetype"),url("../fonts/fa-regular-400.svg#fontawesome") format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400}/*!
 * Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url("../fonts/fa-solid-900.eot");src:url("../fonts/fa-solid-900.eot#iefix") format("embedded-opentype"),url("../fonts/fa-solid-900.woff2") format("woff2"),url("../fonts/fa-solid-900.woff") format("woff"),url("../fonts/fa-solid-900.ttf") format("truetype"),url("../fonts/fa-solid-900.svg#fontawesome") format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}

/* ═══ commercify_typo_icons.css ═══ */
/* Fichier généré, ne pas éditer à la main. */
@font-face { font-family: "Nioicon"; font-style: normal; font-weight: normal; font-display: block;
    src: url("../fonts/Nioicon.woff2") format("woff2"), url("../fonts/Nioicon.woff") format("woff"); }
@font-face { font-family: "bootstrap-icons"; font-style: normal; font-weight: normal; font-display: block;
    src: url("../fonts/bootstrap-icons.woff2") format("woff2"), url("../fonts/bootstrap-icons.woff") format("woff"); }

html .ni { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html [class^="bi-"]::before, html [class*=" bi-"]::before, html .bi::before {
    font-family: "bootstrap-icons" !important; font-style: normal; font-weight: normal !important;
}

/* ═══ Pseudo-éléments à code d'icône dans les feuilles chargées ═══ */
html .alert-dismissible .close:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .breadcrumb-arrow .breadcrumb-item+.breadcrumb-item::before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html [class*=dropdown-indicator]:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropup [class*=dropdown-indicator]:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropdown-indicator-caret:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropup .dropdown-indicator-caret:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropdown-indicator-caret-up:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropup .dropdown-indicator-caret-up:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropdown-indicator-up:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropup .dropdown-indicator-up:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropdown-indicator-down:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropup .dropdown-indicator-down:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropdown-indicator-dubble:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropup .dropdown-indicator-dubble:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropdown-indicator-unfold:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dropup .dropdown-indicator-unfold:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .form-control-select:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .custom-checkbox .custom-control-label:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .custom-radio .custom-control-label:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .select2-container--default .select2-selection--single .select2-selection__arrow:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .toast-close-button:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html table.dataTable.dtr-inline.collapsed>tbody>tr:not(.child)>td:first-child:before,
html table.dataTable.dtr-inline.collapsed>tbody>tr:not(.child)>th:first-child:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,
html table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .buttons-copy:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .buttons-pdf:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .buttons-excel:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .buttons-csv:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .buttons-print:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .buttons-colvis:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .buttons-columnVisibility.active:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .tagify__tag__removeBtn::after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .fc-icon-chevron-left:before,
html .fc .bi-chevron-left:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .fc-icon-chevron-right:before,
html .fc .bi-chevron-right:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .fc-icon-chevrons-left:before,
html .fc .bi-chevrons-left:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .fc-icon-chevrons-right:before,
html .fc .bi-chevrons-right:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .fc-icon-minus-square:before,
html .fc .bi-minus-square:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .fc-icon-plus-square:before,
html .fc .bi-plus-square:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .fc-icon-x:before,
html .fc .bi-x-lg:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .mfp-close:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .dragula-handle .handle:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .nk-header-app-switch>a:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .nk-menu-toggle:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .accordion-icon:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .accordion-head.collapsed .accordion-icon:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .accordion-s2 .accordion-icon:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .accordion-s2 .accordion-head.collapsed .accordion-icon:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .accordion-s3 .accordion-icon:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .accordion-s3 .accordion-head.collapsed .accordion-icon:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .list li:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .list-checked li:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .list-checked-circle li:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .list-cross li:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .list-step li:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .list-step li.list-step-current:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .list-step li.list-step-done:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .link-act-check:after,
html .link-list-opt li.active>a:after,
html .link-list-opt a.active:after,
html .link-check li.active>a:after,
html .link-check li a.active:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .link-list-menu a:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .nk-upload-response.invalid .icon:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .nk-upload-response.valid .icon:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .nk-upload-response.error .icon:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .change.up .sign:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .change.down .sign:before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .nk-stepper-nav>* .step-item:after { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .nk-file-desc li:not(:first-child):before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }
html .chat-meta li:not(:first-child):before { font-family: "Nioicon" !important; font-style: normal; font-weight: normal; }

/* ═══ commercify_icons_svg.css ═══ */
/* Fichier généré, ne pas éditer à la main. */

html .fa-ad::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="5" width="20" height="14" rx="2"/%3E%3Cpolyline points="6 15 8.5 9 11 15"/%3E%3Cline x1="7" y1="13" x2="10" y2="13"/%3E%3Cpath d="M14 9v6h1.5a3 3 0 0 0 0-6z"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="5" width="20" height="14" rx="2"/%3E%3Cpolyline points="6 15 8.5 9 11 15"/%3E%3Cline x1="7" y1="13" x2="10" y2="13"/%3E%3Cpath d="M14 9v6h1.5a3 3 0 0 0 0-6z"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-exclamation-circle::before,
html .ni-alert-circle::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="12" y1="8" x2="12" y2="12"/%3E%3Cline x1="12" y1="16" x2="12.01" y2="16"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="12" y1="8" x2="12" y2="12"/%3E%3Cline x1="12" y1="16" x2="12.01" y2="16"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-exclamation-triangle::before,
html .bi-exclamation-triangle-fill::before,
html .fa-exclamation-triangle::before,
html .ni-alert::before,
html .ni-alert-fill::before,
html .ni-shield-alert::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/%3E%3Cline x1="12" y1="9" x2="12" y2="13"/%3E%3Cline x1="12" y1="17" x2="12.01" y2="17"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/%3E%3Cline x1="12" y1="9" x2="12" y2="13"/%3E%3Cline x1="12" y1="17" x2="12.01" y2="17"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-align-left::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="17" y1="10" x2="3" y2="10"/%3E%3Cline x1="21" y1="6" x2="3" y2="6"/%3E%3Cline x1="21" y1="14" x2="3" y2="14"/%3E%3Cline x1="17" y1="18" x2="3" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="17" y1="10" x2="3" y2="10"/%3E%3Cline x1="21" y1="6" x2="3" y2="6"/%3E%3Cline x1="21" y1="14" x2="3" y2="14"/%3E%3Cline x1="17" y1="18" x2="3" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-arrow-right::before,
html .bi-arrow-right-short::before,
html .ni-arrow-right-c::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="5" y1="12" x2="19" y2="12"/%3E%3Cpolyline points="12 5 19 12 12 19"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="5" y1="12" x2="19" y2="12"/%3E%3Cpolyline points="12 5 19 12 12 19"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-award::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="8" r="7"/%3E%3Cpolyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88"/%3E%3Cline x1="12" y1="15" x2="12" y2="20"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="8" r="7"/%3E%3Cpolyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88"/%3E%3Cline x1="12" y1="15" x2="12" y2="20"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-patch-check::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76z"/%3E%3Cpath d="M9 12l2 2 4-4"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76z"/%3E%3Cpath d="M9 12l2 2 4-4"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-book::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/%3E%3Cpath d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/%3E%3Cpath d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-box::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/%3E%3Cpolyline points="3.27 6.96 12 12.01 20.73 6.96"/%3E%3Cline x1="12" y1="22.08" x2="12" y2="12"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/%3E%3Cpolyline points="3.27 6.96 12 12.01 20.73 6.96"/%3E%3Cline x1="12" y1="22.08" x2="12" y2="12"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-bridge::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="2" y1="18" x2="22" y2="18"/%3E%3Cpath d="M4 18v-5a8 8 0 0 1 16 0v5"/%3E%3Cline x1="8" y1="18" x2="8" y2="12"/%3E%3Cline x1="12" y1="18" x2="12" y2="11"/%3E%3Cline x1="16" y1="18" x2="16" y2="12"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="2" y1="18" x2="22" y2="18"/%3E%3Cpath d="M4 18v-5a8 8 0 0 1 16 0v5"/%3E%3Cline x1="8" y1="18" x2="8" y2="12"/%3E%3Cline x1="12" y1="18" x2="12" y2="11"/%3E%3Cline x1="16" y1="18" x2="16" y2="12"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-briefcase::before,
html .ni-briefcase::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="7" width="20" height="14" rx="2" ry="2"/%3E%3Cpath d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="7" width="20" height="14" rx="2" ry="2"/%3E%3Cpath d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-building::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M3 21h18"/%3E%3Cpath d="M5 21V7l8-4v18"/%3E%3Cpath d="M19 21V11l-6-4"/%3E%3Cline x1="9" y1="9" x2="9" y2="9"/%3E%3Cline x1="9" y1="12" x2="9" y2="12"/%3E%3Cline x1="9" y1="15" x2="9" y2="15"/%3E%3Cline x1="9" y1="18" x2="9" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M3 21h18"/%3E%3Cpath d="M5 21V7l8-4v18"/%3E%3Cpath d="M19 21V11l-6-4"/%3E%3Cline x1="9" y1="9" x2="9" y2="9"/%3E%3Cline x1="9" y1="12" x2="9" y2="12"/%3E%3Cline x1="9" y1="15" x2="9" y2="15"/%3E%3Cline x1="9" y1="18" x2="9" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-calendar::before,
html .fa-calendar-alt::before,
html .fa-calendar-check::before,
html .fa-calendar-day::before,
html .fa-calendar-days::before,
html .fa-calendar-month::before,
html .fa-calendar-plus::before,
html .fa-calendar-quarter::before,
html .fa-calendar-week::before,
html .ni-calendar::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="4" width="18" height="18" rx="2" ry="2"/%3E%3Cline x1="16" y1="2" x2="16" y2="6"/%3E%3Cline x1="8" y1="2" x2="8" y2="6"/%3E%3Cline x1="3" y1="10" x2="21" y2="10"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="4" width="18" height="18" rx="2" ry="2"/%3E%3Cline x1="16" y1="2" x2="16" y2="6"/%3E%3Cline x1="8" y1="2" x2="8" y2="6"/%3E%3Cline x1="3" y1="10" x2="21" y2="10"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-cart::before,
html .bi-shop::before,
html .ni-cart-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="9" cy="21" r="1"/%3E%3Ccircle cx="20" cy="21" r="1"/%3E%3Cpath d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="9" cy="21" r="1"/%3E%3Ccircle cx="20" cy="21" r="1"/%3E%3Cpath d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-comment-dots::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-check2::before,
html .fa-check::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="20 6 9 17 4 12"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="20 6 9 17 4 12"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-check-circle::before,
html .ni-check-circle::before,
html .ni-check-circle-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/%3E%3Cpolyline points="22 4 12 14.01 9 11.01"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/%3E%3Cpolyline points="22 4 12 14.01 9 11.01"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-check2-circle::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/%3E%3Cpolyline points="22 4 12 14.01 9 11.01"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/%3E%3Cpolyline points="22 4 12 14.01 9 11.01"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-chevron-down::before,
html .ni-chevron-down::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="6 9 12 15 18 9"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="6 9 12 15 18 9"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-chevron-left::before,
html .fa-chevron-left::before,
html .ni-chevron-left::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="15 18 9 12 15 6"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="15 18 9 12 15 6"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-chevron-right::before,
html .fa-chevron-right::before,
html .ni-chevron-right::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="9 18 15 12 9 6"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="9 18 15 12 9 6"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-chevron-double-left::before,
html .fa-angle-double-left::before,
html .ni-chevrons-left::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="11 17 6 12 11 7"/%3E%3Cpolyline points="18 17 13 12 18 7"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="11 17 6 12 11 7"/%3E%3Cpolyline points="18 17 13 12 18 7"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-chevron-double-right::before,
html .fa-angle-double-right::before,
html .ni-chevrons-right::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="13 17 18 12 13 7"/%3E%3Cpolyline points="6 17 11 12 6 7"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="13 17 18 12 13 7"/%3E%3Cpolyline points="6 17 11 12 6 7"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-clipboard-list::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M16 4h4v18H4V4h4"/%3E%3Crect x="8" y="2" width="8" height="4"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M16 4h4v18H4V4h4"/%3E%3Crect x="8" y="2" width="8" height="4"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-clock::before,
html .fa-clock-half::before,
html .fa-history::before,
html .ni-clock::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cpolyline points="12 6 12 12 16 14"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cpolyline points="12 6 12 12 16 14"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-coin::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cpath d="M12 6v12M6 12h12"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cpath d="M12 6v12M6 12h12"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-database::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cellipse cx="12" cy="5" rx="9" ry="3"/%3E%3Cpath d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"/%3E%3Cpath d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cellipse cx="12" cy="5" rx="9" ry="3"/%3E%3Cpath d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"/%3E%3Cpath d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-circle::before,
html .ni-circle-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" stroke="none"%3E%3Ccircle cx="12" cy="12" r="5"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" stroke="none"%3E%3Ccircle cx="12" cy="12" r="5"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-download::before,
html .fa-download::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/%3E%3Cpolyline points="7 10 12 15 17 10"/%3E%3Cline x1="12" y1="15" x2="12" y2="3"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/%3E%3Cpolyline points="7 10 12 15 17 10"/%3E%3Cline x1="12" y1="15" x2="12" y2="3"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-edit-alt::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/%3E%3Cpath d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/%3E%3Cpath d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-eye::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/%3E%3Ccircle cx="12" cy="12" r="3"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/%3E%3Ccircle cx="12" cy="12" r="3"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-eye-off::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"/%3E%3Cline x1="1" y1="1" x2="23" y2="23"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"/%3E%3Cline x1="1" y1="1" x2="23" y2="23"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-file-earmark-text::before,
html .bi-file-text::before,
html .ni-file-text::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/%3E%3Cpolyline points="14 2 14 8 20 8"/%3E%3Cline x1="16" y1="13" x2="8" y2="13"/%3E%3Cline x1="16" y1="17" x2="8" y2="17"/%3E%3Cline x1="10" y1="9" x2="8" y2="9"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/%3E%3Cpolyline points="14 2 14 8 20 8"/%3E%3Cline x1="16" y1="13" x2="8" y2="13"/%3E%3Cline x1="16" y1="17" x2="8" y2="17"/%3E%3Cline x1="10" y1="9" x2="8" y2="9"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-flag::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"/%3E%3Cline x1="4" y1="22" x2="4" y2="15"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"/%3E%3Cline x1="4" y1="22" x2="4" y2="15"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-flask::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M10 2v7.53a2 2 0 0 1-.21.9L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.07-10.13a2 2 0 0 1-.21-.9V2"/%3E%3Cpath d="M8.5 2h7"/%3E%3Cpath d="M7 16h10"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M10 2v7.53a2 2 0 0 1-.21.9L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.07-10.13a2 2 0 0 1-.21-.9V2"/%3E%3Cpath d="M8.5 2h7"/%3E%3Cpath d="M7 16h10"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-folder::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/%3E%3Cline x1="12" y1="11" x2="12" y2="17"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/%3E%3Cline x1="12" y1="11" x2="12" y2="17"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-gear::before,
html .fa-cogs::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="3"/%3E%3Cpath d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="3"/%3E%3Cpath d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-globe::before,
html .bi-globe2::before,
html .ni-globe::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="2" y1="12" x2="22" y2="12"/%3E%3Cpath d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="2" y1="12" x2="22" y2="12"/%3E%3Cpath d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-th-large::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="3" width="7" height="7"/%3E%3Crect x="14" y="3" width="7" height="7"/%3E%3Crect x="14" y="14" width="7" height="7"/%3E%3Crect x="3" y="14" width="7" height="7"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="3" width="7" height="7"/%3E%3Crect x="14" y="3" width="7" height="7"/%3E%3Crect x="14" y="14" width="7" height="7"/%3E%3Crect x="3" y="14" width="7" height="7"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-handshake::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M11 17l2 2a1 1 0 1 0 3-3"/%3E%3Cpath d="M14 14l2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4"/%3E%3Cpath d="M21 3l1 11h-2"/%3E%3Cpath d="M3 3L2 14l6.5 6.5a1 1 0 1 0 3-3"/%3E%3Cpath d="M3 4h8"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M11 17l2 2a1 1 0 1 0 3-3"/%3E%3Cpath d="M14 14l2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4"/%3E%3Cpath d="M21 3l1 11h-2"/%3E%3Cpath d="M3 3L2 14l6.5 6.5a1 1 0 1 0 3-3"/%3E%3Cpath d="M3 4h8"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-device-hdd::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="22" y1="12" x2="2" y2="12"/%3E%3Cpath d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/%3E%3Cline x1="6" y1="16" x2="6.01" y2="16"/%3E%3Cline x1="10" y1="16" x2="10.01" y2="16"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="22" y1="12" x2="2" y2="12"/%3E%3Cpath d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/%3E%3Cline x1="6" y1="16" x2="6.01" y2="16"/%3E%3Cline x1="10" y1="16" x2="10.01" y2="16"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-hash::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="4" y1="9" x2="20" y2="9"/%3E%3Cline x1="4" y1="15" x2="20" y2="15"/%3E%3Cline x1="10" y1="3" x2="8" y2="21"/%3E%3Cline x1="16" y1="3" x2="14" y2="21"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="4" y1="9" x2="20" y2="9"/%3E%3Cline x1="4" y1="15" x2="20" y2="15"/%3E%3Cline x1="10" y1="3" x2="8" y2="21"/%3E%3Cline x1="16" y1="3" x2="14" y2="21"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-question-circle::before,
html .ni-help-alt::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cpath d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/%3E%3Cline x1="12" y1="17" x2="12.01" y2="17"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cpath d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/%3E%3Cline x1="12" y1="17" x2="12.01" y2="17"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-house-door::before,
html .ni-home::before,
html .ni-home-alt::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/%3E%3Cpolyline points="9 22 9 12 15 12 15 22"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/%3E%3Cpolyline points="9 22 9 12 15 12 15 22"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-hp-categories::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="12 2 17 10 7 10"/%3E%3Crect x="3" y="14" width="7" height="7"/%3E%3Ccircle cx="17.5" cy="17.5" r="3.5"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="12 2 17 10 7 10"/%3E%3Crect x="3" y="14" width="7" height="7"/%3E%3Ccircle cx="17.5" cy="17.5" r="3.5"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-hp-departements::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="3 10 8 7 16 10 21 7 21 20 16 23 8 20 3 23 3 10"/%3E%3Cpath d="M12 15.5s-3-2.6-3-5.2a3 3 0 0 1 6 0c0 2.6-3 5.2-3 5.2z"/%3E%3Cline x1="12" y1="10.3" x2="12" y2="10.31"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="3 10 8 7 16 10 21 7 21 20 16 23 8 20 3 23 3 10"/%3E%3Cpath d="M12 15.5s-3-2.6-3-5.2a3 3 0 0 1 6 0c0 2.6-3 5.2-3 5.2z"/%3E%3Cline x1="12" y1="10.3" x2="12" y2="10.31"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-currency-exchange::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="6" width="20" height="12"/%3E%3Ccircle cx="12" cy="12" r="3"/%3E%3Cline x1="5" y1="9" x2="5" y2="9.01"/%3E%3Cline x1="19" y1="15" x2="19" y2="15.01"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="6" width="20" height="12"/%3E%3Ccircle cx="12" cy="12" r="3"/%3E%3Cline x1="5" y1="9" x2="5" y2="9.01"/%3E%3Cline x1="19" y1="15" x2="19" y2="15.01"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-translate::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M5 8l6 6"/%3E%3Cpath d="M4 14l6-6 2-3"/%3E%3Cpath d="M2 5h12"/%3E%3Cpath d="M7 2h1"/%3E%3Cpath d="M22 22l-5-10-5 10"/%3E%3Cpath d="M14 18h6"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M5 8l6 6"/%3E%3Cpath d="M4 14l6-6 2-3"/%3E%3Cpath d="M2 5h12"/%3E%3Cpath d="M7 2h1"/%3E%3Cpath d="M22 22l-5-10-5 10"/%3E%3Cpath d="M14 18h6"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-hp-rayons::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="3" width="18" height="18"/%3E%3Cline x1="3" y1="12" x2="21" y2="12"/%3E%3Crect x="6" y="6" width="4" height="6"/%3E%3Crect x="13" y="8" width="5" height="4"/%3E%3Crect x="6" y="15" width="6" height="6"/%3E%3Crect x="15" y="16" width="3" height="5"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="3" width="18" height="18"/%3E%3Cline x1="3" y1="12" x2="21" y2="12"/%3E%3Crect x="6" y="6" width="4" height="6"/%3E%3Crect x="13" y="8" width="5" height="4"/%3E%3Crect x="6" y="15" width="6" height="6"/%3E%3Crect x="15" y="16" width="3" height="5"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-hp-regions::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="1 6 8 2 16 6 23 2 23 18 16 22 8 18 1 22 1 6"/%3E%3Cline x1="8" y1="2" x2="8" y2="18"/%3E%3Cline x1="16" y1="6" x2="16" y2="22"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="1 6 8 2 16 6 23 2 23 18 16 22 8 18 1 22 1 6"/%3E%3Cline x1="8" y1="2" x2="8" y2="18"/%3E%3Cline x1="16" y1="6" x2="16" y2="22"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-hp-villes::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="2" y1="22" x2="22" y2="22"/%3E%3Crect x="4" y="10" width="6" height="12"/%3E%3Crect x="10" y="3" width="8" height="19"/%3E%3Crect x="18" y="13" width="3" height="9"/%3E%3Cline x1="13" y1="7" x2="15" y2="7"/%3E%3Cline x1="13" y1="11" x2="15" y2="11"/%3E%3Cline x1="13" y1="15" x2="15" y2="15"/%3E%3Cline x1="6.5" y1="14" x2="7.5" y2="14"/%3E%3Cline x1="6.5" y1="18" x2="7.5" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="2" y1="22" x2="22" y2="22"/%3E%3Crect x="4" y="10" width="6" height="12"/%3E%3Crect x="10" y="3" width="8" height="19"/%3E%3Crect x="18" y="13" width="3" height="9"/%3E%3Cline x1="13" y1="7" x2="15" y2="7"/%3E%3Cline x1="13" y1="11" x2="15" y2="11"/%3E%3Cline x1="13" y1="15" x2="15" y2="15"/%3E%3Cline x1="6.5" y1="14" x2="7.5" y2="14"/%3E%3Cline x1="6.5" y1="18" x2="7.5" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-images::before,
html .fa-image::before,
html .fa-images::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="3" width="18" height="18" rx="2"/%3E%3Ccircle cx="8.5" cy="8.5" r="1.5"/%3E%3Cpolyline points="21 15 16 10 5 21"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="3" width="18" height="18" rx="2"/%3E%3Ccircle cx="8.5" cy="8.5" r="1.5"/%3E%3Cpolyline points="21 15 16 10 5 21"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-image-off::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="3" width="18" height="18" rx="2"/%3E%3Ccircle cx="8.5" cy="8.5" r="1.5"/%3E%3Cpolyline points="21 15 16 10 5 21"/%3E%3Cline x1="2.5" y1="21.5" x2="21.5" y2="2.5"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="3" width="18" height="18" rx="2"/%3E%3Ccircle cx="8.5" cy="8.5" r="1.5"/%3E%3Cpolyline points="21 15 16 10 5 21"/%3E%3Cline x1="2.5" y1="21.5" x2="21.5" y2="2.5"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-incognito::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cpath d="M4.93 4.93l2.83 2.83"/%3E%3Cpath d="M19.07 4.93l-2.83 2.83"/%3E%3Cpath d="M4.93 19.07l2.83-2.83"/%3E%3Cpath d="M19.07 19.07l-2.83-2.83"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cpath d="M4.93 4.93l2.83 2.83"/%3E%3Cpath d="M19.07 4.93l-2.83 2.83"/%3E%3Cpath d="M4.93 19.07l2.83-2.83"/%3E%3Cpath d="M19.07 19.07l-2.83-2.83"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-info-circle::before,
html .bi-info-circle-fill::before,
html .ni-info::before,
html .ni-info-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="12" y1="16" x2="12" y2="12"/%3E%3Cline x1="12" y1="8" x2="12.01" y2="8"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="12" y1="16" x2="12" y2="12"/%3E%3Cline x1="12" y1="8" x2="12.01" y2="8"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-instagram-round::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="2" width="20" height="20" rx="5" ry="5"/%3E%3Cpath d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/%3E%3Cline x1="17.5" y1="6.5" x2="17.51" y2="6.5"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="2" width="20" height="20" rx="5" ry="5"/%3E%3Cpath d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/%3E%3Cline x1="17.5" y1="6.5" x2="17.51" y2="6.5"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-key::before,
html .bi-key-fill::before,
html .fa-key::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-collection::before,
html .bi-layers::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"/%3E%3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"/%3E%3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-life-preserver::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Ccircle cx="12" cy="12" r="4"/%3E%3Cline x1="4.93" y1="4.93" x2="9.17" y2="9.17"/%3E%3Cline x1="14.83" y1="14.83" x2="19.07" y2="19.07"/%3E%3Cline x1="14.83" y1="9.17" x2="19.07" y2="4.93"/%3E%3Cline x1="4.93" y1="19.07" x2="9.17" y2="14.83"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Ccircle cx="12" cy="12" r="4"/%3E%3Cline x1="4.93" y1="4.93" x2="9.17" y2="9.17"/%3E%3Cline x1="14.83" y1="14.83" x2="19.07" y2="19.07"/%3E%3Cline x1="14.83" y1="9.17" x2="19.07" y2="4.93"/%3E%3Cline x1="4.93" y1="19.07" x2="9.17" y2="14.83"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-lightbulb::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M9 18h6"/%3E%3Cpath d="M10 22h4"/%3E%3Cpath d="M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M9 18h6"/%3E%3Cpath d="M10 22h4"/%3E%3Cpath d="M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-link-45deg::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/%3E%3Cpath d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/%3E%3Cpath d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-list::before,
html .bi-list-ul::before,
html .fa-list-ul::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="8" y1="6" x2="21" y2="6"/%3E%3Cline x1="8" y1="12" x2="21" y2="12"/%3E%3Cline x1="8" y1="18" x2="21" y2="18"/%3E%3Cline x1="3" y1="6" x2="3.01" y2="6"/%3E%3Cline x1="3" y1="12" x2="3.01" y2="12"/%3E%3Cline x1="3" y1="18" x2="3.01" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="8" y1="6" x2="21" y2="6"/%3E%3Cline x1="8" y1="12" x2="21" y2="12"/%3E%3Cline x1="8" y1="18" x2="21" y2="18"/%3E%3Cline x1="3" y1="6" x2="3.01" y2="6"/%3E%3Cline x1="3" y1="12" x2="3.01" y2="12"/%3E%3Cline x1="3" y1="18" x2="3.01" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-spinner::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="12" y1="2" x2="12" y2="6"/%3E%3Cline x1="12" y1="18" x2="12" y2="22"/%3E%3Cline x1="4.93" y1="4.93" x2="7.76" y2="7.76"/%3E%3Cline x1="16.24" y1="16.24" x2="19.07" y2="19.07"/%3E%3Cline x1="2" y1="12" x2="6" y2="12"/%3E%3Cline x1="18" y1="12" x2="22" y2="12"/%3E%3Cline x1="4.93" y1="19.07" x2="7.76" y2="16.24"/%3E%3Cline x1="16.24" y1="7.76" x2="19.07" y2="4.93"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="12" y1="2" x2="12" y2="6"/%3E%3Cline x1="12" y1="18" x2="12" y2="22"/%3E%3Cline x1="4.93" y1="4.93" x2="7.76" y2="7.76"/%3E%3Cline x1="16.24" y1="16.24" x2="19.07" y2="19.07"/%3E%3Cline x1="2" y1="12" x2="6" y2="12"/%3E%3Cline x1="18" y1="12" x2="22" y2="12"/%3E%3Cline x1="4.93" y1="19.07" x2="7.76" y2="16.24"/%3E%3Cline x1="16.24" y1="7.76" x2="19.07" y2="4.93"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-lock-fill::before,
html .fa-lock::before,
html .ni-lock-alt::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="11" width="18" height="11" rx="2" ry="2"/%3E%3Cpath d="M7 11V7a5 5 0 0 1 10 0v4"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="11" width="18" height="11" rx="2" ry="2"/%3E%3Cpath d="M7 11V7a5 5 0 0 1 10 0v4"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-map::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6"/%3E%3Cline x1="8" y1="2" x2="8" y2="18"/%3E%3Cline x1="16" y1="6" x2="16" y2="22"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6"/%3E%3Cline x1="8" y1="2" x2="8" y2="18"/%3E%3Cline x1="16" y1="6" x2="16" y2="22"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-geo-alt::before,
html .bi-geo-alt-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/%3E%3Ccircle cx="12" cy="10" r="3"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/%3E%3Ccircle cx="12" cy="10" r="3"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-minus::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="5" y1="12" x2="19" y2="12"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="5" y1="12" x2="19" y2="12"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-currency-euro::before,
html .bi-piggy-bank::before,
html .fa-dollar-sign::before,
html .ni-money::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="12" y1="1" x2="12" y2="23"/%3E%3Cpath d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="12" y1="1" x2="12" y2="23"/%3E%3Cpath d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-display::before,
html .ni-laptop::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="3" width="20" height="14" rx="2" ry="2"/%3E%3Cline x1="8" y1="21" x2="16" y2="21"/%3E%3Cline x1="12" y1="17" x2="12" y2="21"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="3" width="20" height="14" rx="2" ry="2"/%3E%3Cline x1="8" y1="21" x2="16" y2="21"/%3E%3Cline x1="12" y1="17" x2="12" y2="21"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-moon::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-three-dots::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="1"/%3E%3Ccircle cx="5" cy="12" r="1"/%3E%3Ccircle cx="19" cy="12" r="1"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="1"/%3E%3Ccircle cx="5" cy="12" r="1"/%3E%3Ccircle cx="19" cy="12" r="1"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-three-dots-vertical::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="1"/%3E%3Ccircle cx="12" cy="5" r="1"/%3E%3Ccircle cx="12" cy="19" r="1"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="1"/%3E%3Ccircle cx="12" cy="5" r="1"/%3E%3Ccircle cx="12" cy="19" r="1"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-thumbtack::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="12" y1="17" x2="12" y2="22"/%3E%3Cpath d="M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24z"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="12" y1="17" x2="12" y2="22"/%3E%3Cpath d="M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24z"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-play-circle::before,
html .ni-play-circle::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cpolygon points="10 8 16 12 10 16 10 8"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cpolygon points="10 8 16 12 10 16 10 8"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-plus::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="12" y1="5" x2="12" y2="19"/%3E%3Cline x1="5" y1="12" x2="19" y2="12"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="12" y1="5" x2="12" y2="19"/%3E%3Cline x1="5" y1="12" x2="19" y2="12"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-plus-square::before,
html .fa-plus-circle::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="12" y1="8" x2="12" y2="16"/%3E%3Cline x1="8" y1="12" x2="16" y2="12"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="12" y1="8" x2="12" y2="16"/%3E%3Cline x1="8" y1="12" x2="16" y2="12"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-radar::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Ccircle cx="12" cy="12" r="6"/%3E%3Ccircle cx="12" cy="12" r="2"/%3E%3Cline x1="12" y1="12" x2="19" y2="5"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Ccircle cx="12" cy="12" r="6"/%3E%3Ccircle cx="12" cy="12" r="2"/%3E%3Cline x1="12" y1="12" x2="19" y2="5"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-redo::before,
html .ni-repeat::before,
html .ni-update::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="17 1 21 5 17 9"/%3E%3Cpath d="M3 11V9a4 4 0 0 1 4-4h14"/%3E%3Cpolyline points="7 23 3 19 7 15"/%3E%3Cpath d="M21 13v2a4 4 0 0 1-4 4H3"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="17 1 21 5 17 9"/%3E%3Cpath d="M3 11V9a4 4 0 0 1 4-4h14"/%3E%3Cpolyline points="7 23 3 19 7 15"/%3E%3Cpath d="M21 13v2a4 4 0 0 1-4 4H3"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-search::before,
html .fa-search::before,
html .ni-search::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="11" cy="11" r="8"/%3E%3Cline x1="21" y1="21" x2="16.65" y2="16.65"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="11" cy="11" r="8"/%3E%3Cline x1="21" y1="21" x2="16.65" y2="16.65"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-send::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="22" y1="2" x2="11" y2="13"/%3E%3Cpolygon points="22 2 15 22 11 13 2 9 22 2"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="22" y1="2" x2="11" y2="13"/%3E%3Cpolygon points="22 2 15 22 11 13 2 9 22 2"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-share::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="18" cy="5" r="3"/%3E%3Ccircle cx="6" cy="12" r="3"/%3E%3Ccircle cx="18" cy="19" r="3"/%3E%3Cline x1="8.59" y1="13.51" x2="15.42" y2="17.49"/%3E%3Cline x1="15.41" y1="6.51" x2="8.59" y2="10.49"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="18" cy="5" r="3"/%3E%3Ccircle cx="6" cy="12" r="3"/%3E%3Ccircle cx="18" cy="19" r="3"/%3E%3Cline x1="8.59" y1="13.51" x2="15.42" y2="17.49"/%3E%3Cline x1="15.41" y1="6.51" x2="8.59" y2="10.49"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-shield-check::before,
html .fa-shield-alt::before,
html .fa-user-shield::before,
html .ni-shield-check::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/%3E%3Cpolyline points="9 12 11 14 15 10"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/%3E%3Cpolyline points="9 12 11 14 15 10"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-random::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="16 3 21 3 21 8"/%3E%3Cline x1="4" y1="20" x2="21" y2="3"/%3E%3Cpolyline points="21 16 21 21 16 21"/%3E%3Cline x1="15" y1="15" x2="21" y2="21"/%3E%3Cline x1="4" y1="4" x2="9" y2="9"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="16 3 21 3 21 8"/%3E%3Cline x1="4" y1="20" x2="21" y2="3"/%3E%3Cpolyline points="21 16 21 21 16 21"/%3E%3Cline x1="15" y1="15" x2="21" y2="21"/%3E%3Cline x1="4" y1="4" x2="9" y2="9"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-ban::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="4.93" y1="4.93" x2="19.07" y2="19.07"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="4.93" y1="4.93" x2="19.07" y2="19.07"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-sliders::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="4" y1="21" x2="4" y2="14"/%3E%3Cline x1="4" y1="10" x2="4" y2="3"/%3E%3Cline x1="12" y1="21" x2="12" y2="12"/%3E%3Cline x1="12" y1="8" x2="12" y2="3"/%3E%3Cline x1="20" y1="21" x2="20" y2="16"/%3E%3Cline x1="20" y1="12" x2="20" y2="3"/%3E%3Cline x1="1" y1="14" x2="7" y2="14"/%3E%3Cline x1="9" y1="8" x2="15" y2="8"/%3E%3Cline x1="17" y1="16" x2="23" y2="16"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="4" y1="21" x2="4" y2="14"/%3E%3Cline x1="4" y1="10" x2="4" y2="3"/%3E%3Cline x1="12" y1="21" x2="12" y2="12"/%3E%3Cline x1="12" y1="8" x2="12" y2="3"/%3E%3Cline x1="20" y1="21" x2="20" y2="16"/%3E%3Cline x1="20" y1="12" x2="20" y2="3"/%3E%3Cline x1="1" y1="14" x2="7" y2="14"/%3E%3Cline x1="9" y1="8" x2="15" y2="8"/%3E%3Cline x1="17" y1="16" x2="23" y2="16"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-ticket::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="5" width="20" height="14"/%3E%3Ccircle cx="8" cy="11" r="2.5"/%3E%3Cpath d="M4.5 17c.6-1.8 2-2.8 3.5-2.8s2.9 1 3.5 2.8"/%3E%3Cline x1="14" y1="10" x2="19" y2="10"/%3E%3Cline x1="14" y1="14" x2="18" y2="14"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="2" y="5" width="20" height="14"/%3E%3Ccircle cx="8" cy="11" r="2.5"/%3E%3Cpath d="M4.5 17c.6-1.8 2-2.8 3.5-2.8s2.9 1 3.5 2.8"/%3E%3Cline x1="14" y1="10" x2="19" y2="10"/%3E%3Cline x1="14" y1="14" x2="18" y2="14"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-hand-thumbs-up::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-sort-amount-down-alt::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="4" y1="6" x2="20" y2="6"/%3E%3Cline x1="4" y1="12" x2="14" y2="12"/%3E%3Cline x1="4" y1="18" x2="9" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="4" y1="6" x2="20" y2="6"/%3E%3Cline x1="4" y1="12" x2="14" y2="12"/%3E%3Cline x1="4" y1="18" x2="9" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-star::before,
html .fa-star::before,
html .ni-star::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="none"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="none"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-star-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" stroke="none"%3E%3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" stroke="none"%3E%3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-star-half-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/%3E%3Cline x1="12" y1="2" x2="12" y2="17.77"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/%3E%3Cline x1="12" y1="2" x2="12" y2="17.77"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-tags::before,
html .fa-tags::before,
html .ni-tag-alt::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"/%3E%3Ccircle cx="7" cy="7" r="1.5"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"/%3E%3Ccircle cx="7" cy="7" r="1.5"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-trash::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="3 6 5 6 21 6"/%3E%3Cpath d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/%3E%3Cline x1="10" y1="11" x2="10" y2="17"/%3E%3Cline x1="14" y1="11" x2="14" y2="17"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="3 6 5 6 21 6"/%3E%3Cpath d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/%3E%3Cline x1="10" y1="11" x2="10" y2="17"/%3E%3Cline x1="14" y1="11" x2="14" y2="17"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-type::before,
html .fa-heading::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="4 7 4 4 20 4 20 7"/%3E%3Cline x1="9" y1="20" x2="15" y2="20"/%3E%3Cline x1="12" y1="4" x2="12" y2="20"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="4 7 4 4 20 4 20 7"/%3E%3Cline x1="9" y1="20" x2="15" y2="20"/%3E%3Cline x1="12" y1="4" x2="12" y2="20"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-unlock::before,
html .ni-unlock::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="11" width="18" height="11" rx="2" ry="2"/%3E%3Cpath d="M7 11V7a5 5 0 0 1 9.9-1"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="3" y="11" width="18" height="11" rx="2" ry="2"/%3E%3Cpath d="M7 11V7a5 5 0 0 1 9.9-1"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-upload::before,
html .ni-upload::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/%3E%3Cpolyline points="17 8 12 3 7 8"/%3E%3Cline x1="12" y1="3" x2="12" y2="15"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/%3E%3Cpolyline points="17 8 12 3 7 8"/%3E%3Cline x1="12" y1="3" x2="12" y2="15"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-portrait::before,
html .fa-user::before,
html .fa-user-circle::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/%3E%3Ccircle cx="12" cy="7" r="4"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/%3E%3Ccircle cx="12" cy="7" r="4"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-person-badge::before,
html .ni-user-alt-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/%3E%3Ccircle cx="12" cy="7" r="4"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/%3E%3Ccircle cx="12" cy="7" r="4"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-person-check::before,
html .fa-user-check::before,
html .ni-user-check::before,
html .ni-user-check-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/%3E%3Ccircle cx="8.5" cy="7" r="4"/%3E%3Cpolyline points="17 11 19 13 23 9"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/%3E%3Ccircle cx="8.5" cy="7" r="4"/%3E%3Cpolyline points="17 11 19 13 23 9"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-people::before,
html .ni-users::before,
html .ni-users-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/%3E%3Ccircle cx="9" cy="7" r="4"/%3E%3Cpath d="M23 21v-2a4 4 0 0 0-3-3.87"/%3E%3Cpath d="M16 3.13a4 4 0 0 1 0 7.75"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/%3E%3Ccircle cx="9" cy="7" r="4"/%3E%3Cpath d="M23 21v-2a4 4 0 0 0-3-3.87"/%3E%3Cpath d="M16 3.13a4 4 0 0 1 0 7.75"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-wallet-alt::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M20 7H5a2 2 0 0 1 0-4h13v4"/%3E%3Cpath d="M3 5v14a2 2 0 0 0 2 2h16V7"/%3E%3Ccircle cx="17" cy="14" r="1"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M20 7H5a2 2 0 0 1 0-4h13v4"/%3E%3Cpath d="M3 5v14a2 2 0 0 0 2 2h16V7"/%3E%3Ccircle cx="17" cy="14" r="1"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-wallet-off::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M20 7H5a2 2 0 0 1 0-4h13v4"/%3E%3Cpath d="M3 5v14a2 2 0 0 0 2 2h16V7"/%3E%3Cline x1="2" y1="2" x2="22" y2="22"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M20 7H5a2 2 0 0 1 0-4h13v4"/%3E%3Cpath d="M3 5v14a2 2 0 0 0 2 2h16V7"/%3E%3Cline x1="2" y1="2" x2="22" y2="22"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .fa-hard-hat::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-x::before,
html .bi-x-lg::before,
html .fa-times::before,
html .ni-cross::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="18" y1="6" x2="6" y2="18"/%3E%3Cline x1="6" y1="6" x2="18" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cline x1="18" y1="6" x2="6" y2="18"/%3E%3Cline x1="6" y1="6" x2="18" y2="18"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-x-circle::before,
html .ni-cross-circle::before,
html .ni-cross-circle-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="15" y1="9" x2="9" y2="15"/%3E%3Cline x1="9" y1="9" x2="15" y2="15"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3Cline x1="15" y1="9" x2="9" y2="15"/%3E%3Cline x1="9" y1="9" x2="15" y2="15"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-youtube::before,
html .fa-youtube::before,
html .ni-youtube::before,
html .ni-youtube-fill::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"/%3E%3Cpolygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"/%3E%3Cpolygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .bi-lightning::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/%3E%3C/svg%3E') center / contain no-repeat;
}
html .ni-zoom-in::before {
    content: "" !important;
    display: inline-block !important;
    width: 1em; height: 1em; vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="11" cy="11" r="8"/%3E%3Cline x1="21" y1="21" x2="16.65" y2="16.65"/%3E%3Cline x1="11" y1="8" x2="11" y2="14"/%3E%3Cline x1="8" y1="11" x2="14" y2="11"/%3E%3C/svg%3E') center / contain no-repeat;
            mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Ccircle cx="11" cy="11" r="8"/%3E%3Cline x1="21" y1="21" x2="16.65" y2="16.65"/%3E%3Cline x1="11" y1="8" x2="11" y2="14"/%3E%3Cline x1="8" y1="11" x2="14" y2="11"/%3E%3C/svg%3E') center / contain no-repeat;
}

/* ═══ commercify_ui_components.css ═══ */

/* ═══ 0. Logos de marque à 2 variantes (lettrage sombre en mode clair, blanc en mode sombre) ═══ */
.cfy-brand-logo {
    display: inline-block;
    height: 32px;
    width: auto;
    max-width: 100%;
    margin-bottom: var(--cfy-sp-5, 24px);
}
body.dark-mode .cfy-brand-logo--on-light,
body:not(.dark-mode) .cfy-brand-logo--on-dark { display: none; }

/* Drapeaux du footer (images, plus d'emojis) */
.cfy-footer-flag {
    flex: 0 0 auto;
    width: 18px;
    height: 12px;
    object-fit: cover;
    box-shadow: 0 0 0 1px var(--cfy-hr-rule);
}

/* Conteneur de debug du footer vide depuis que le debug est masqué (cadre vide en bas à droite) */
footer .footer-badge:not(:has(*)) { display: none !important; }

/* ═══ 1. Échelle d'espacement (4px) ══════════════════════════════════════════════════════════ */
:root, body {
    --cfy-sp-1: 4px;
    --cfy-sp-2: 8px;
    --cfy-sp-3: 12px;
    --cfy-sp-4: 16px;
    --cfy-sp-5: 24px;
    --cfy-sp-6: 32px;
    --cfy-sp-7: 48px;
    --cfy-sp-8: 64px;
    /* Hauteurs de contrôle (boutons, champs, pagination) */
    --cfy-ctl-sm: 32px;
    --cfy-ctl-md: 40px;
    --cfy-ctl-lg: 48px;
}

/* ═══ 2. Boutons : 3 tailles, une seule forme ═══════════════════════════════════════════════
   Relevé du 2026-09-25 : 29 variantes (h 20→74px, texte 12→16px, capitales ou non ; « Retour » 38px
   à côté de « Fermer » 43px en 16px dans le même pied de modale). Exclus : boutons-icônes carrés,
   tuiles du tableau de bord, flèches de carrousel, vignettes, header, menu latéral. */
html body :is(.btn, .cfy-copy-btn, .cfy-catalog-btn, .commercify-modal-btn-fermer, .dashboard-modal-footer-back-btn,
    .btn-export-primary, .donation-btn):not(.btn-icon, .btn-link, .vignette-flip-toggle, .fbv-arrow, .publisher-header-toggle-btn,
    .cfy-ad-action-btn, [class*="dashboard-modal-"][class*="-btn"]:not(.dashboard-modal-footer-back-btn),
    .dashboard-worldmap-btn, .dashboard-import-btn, .dashboard-export-btn, .dashboard-quick-vignette-btn,
    .btn-sm, .btn-xs, .btn-lg, .btn-xl):not(.product-card *, .catalog-header *, .nk-sidebar *, .dashboard-quick-vignette *) {
    min-height: var(--cfy-ctl-md);
    padding-block: 0 !important;
    padding-inline: var(--cfy-sp-4) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--cfy-sp-2);
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
html body :is(.btn-sm, .btn-xs, .cfy-copy-btn):not(.btn-icon, .btn-link, .vignette-flip-toggle):not(.product-card *, .catalog-header *, .nk-sidebar *) {
    min-height: var(--cfy-ctl-sm);
    padding-block: 0 !important;
    padding-inline: var(--cfy-sp-3) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap;
}
html body :is(.btn-lg, .btn-xl):not(.btn-icon, .btn-link):not(.product-card *, .catalog-header *, .nk-sidebar *) {
    min-height: var(--cfy-ctl-lg);
    padding-block: var(--cfy-sp-2) !important;
    padding-inline: var(--cfy-sp-5) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--cfy-sp-2);
    font-size: var(--cfy-fs-base) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
/* Boutons pleine largeur : rester en bloc */
html body :is(.btn-block, .w-100, .d-block, .d-flex).btn:not(.product-card *) { display: flex; width: 100%; }
/* Contenu des boutons (spans stylés inline en capitales) */
html body :is(.btn, .donation-btn, .commercify-modal-btn-fermer) :is(span, small, strong):not(.visually-hidden):not(.product-card *, .catalog-header *) {
    text-transform: none !important;
    letter-spacing: 0 !important;
}
/* Pagination : même hauteur que les petits boutons */
html body .page-link:not(#cfy-b1) {
    min-height: var(--cfy-ctl-sm);
    min-width: var(--cfy-ctl-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-block: 0 !important;
    padding-inline: 10px !important;
    line-height: 1 !important;
}

/* ═══ 3. Focus clavier visible (accessibilité) ═══════════════════════════════════════════════ */
html body :is(a, button, .btn, input, select, textarea, [role="button"], [tabindex]):focus-visible {
    outline: 2px solid var(--cfy-t-accent) !important;
    outline-offset: 2px !important;
}
html body :is(.form-control, .form-select):focus-visible { outline-offset: 0 !important; }

/* ═══ 4. Champs de formulaire ════════════════════════════════════════════════════════════════ */
html body :is(input.form-control, select.form-select, select.form-control):not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"]):not(.form-control-sm, .form-control-lg, .form-select-sm, .form-select-lg):not(.product-card *, .catalog-header *) {
    min-height: var(--cfy-ctl-md);
    padding-block: var(--cfy-sp-2);
    padding-inline: var(--cfy-sp-3);
}
html body :is(.form-control-lg, .form-select-lg):not(.catalog-header *) { min-height: var(--cfy-ctl-lg); padding-inline: var(--cfy-sp-4); }
html body :is(.form-control-sm, .form-select-sm):not(.catalog-header *) { min-height: var(--cfy-ctl-sm); padding-inline: 10px; }
html body textarea.form-control { padding: var(--cfy-sp-3); }
html body :is(.form-group, .form-control-wrap + .form-note) { margin-bottom: var(--cfy-sp-4); }
html body .form-label { margin-bottom: 6px; }

/* ═══ 5. Badges (hors vignettes, qui ont leurs propres règles) ═══════════════════════════════ */
html body .badge:not(.product-card *, .catalog-header *, .nk-sidebar *, .cfy-social-badge):not([style*="padding"]) {
    padding: var(--cfy-sp-1) var(--cfy-sp-2) !important;
    line-height: 1.25;
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-1);
}
html body .badge[style*="padding"]:not(.product-card *, .catalog-header *) {   /* style="padding:0.5em 1em" inline (dash) */
    padding: 6px var(--cfy-sp-3) !important;
}

/* ═══ 6. Cartes de contenu (pages publisher / dash / platform ; pas les vignettes ni le footer) ══ */
html body .nk-content :is(.card-inner, .card-body):not(.p-0, .p-1, .p-2, .card-inner-sm, .card-inner-md):not(.product-card *, .vignette-item *, footer *, .modal *) {
    padding: var(--cfy-sp-5);
}
@media (max-width: 767.98px) {
    html body .nk-content :is(.card-inner, .card-body):not(.p-0, .p-1, .p-2, .card-inner-sm, .card-inner-md):not(.product-card *, .vignette-item *, footer *, .modal *) {
        padding: var(--cfy-sp-4);
    }
}

/* ═══ 7. Modales : même respiration partout ═════════════════════════════════════════════════ */
html body :is(.modal, .commercify-modal) :is(.modal-header, .dashboard-modal-header) { padding-block: var(--cfy-sp-5) !important; }
html body :is(.modal, .commercify-modal) :is(.modal-footer, .dashboard-modal-footer) {
    padding: var(--cfy-sp-4) var(--cfy-sp-5) !important;
    gap: var(--cfy-sp-3);
}
html body #languageModal :is(.modal-body, .dashboard-modal-body) { padding: var(--cfy-sp-5) !important; }
html body #modalExportAds :is(.modal-body, .dashboard-modal-body) { padding: var(--cfy-sp-5) !important; }

/* Pieds de modale et boutons ciblés par #id dans leurs feuilles (Fermer 43px/16px, Retour 38px,
   Exporter 38px) : alignés sur le bouton standard 40px / 13px semi-gras. */
html body :is(.commercify-modal-btn-fermer, .dashboard-modal-footer-back-btn, .btn-export-primary):not(#cfy-b1):not(#cfy-b2) {
    min-height: var(--cfy-ctl-md) !important;
    height: auto !important;
    padding-block: 0 !important;
    padding-inline: var(--cfy-sp-4) !important;
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
/* Logos des modales : logo transparent (lettrage blanc) au lieu du logo à fond noir (« boîte
   noire » sur les en-têtes de modale clairs). En mode clair, invert + hue-rotate(180deg) passe le
   lettrage au quasi-noir en conservant l'orange du « m ». */
body:not(.dark-mode) :is(.modal, .commercify-modal, .map-modal-overlay) img[src*="logo2025_1_transparent"] {
    filter: invert(1) hue-rotate(180deg);
}
:is(.modal, .commercify-modal, .map-modal-overlay) img[src*="logo2025_1_transparent"],
:is(.modal, .commercify-modal, .map-modal-overlay) :is(.dashboard-modal-logo-link, a:has(> img[src*="logo2025_1_transparent"])) {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
}
/* … et la bordure noire de 10px posée sur l'image du logo (commercify_modal_*.css) */
/* La carte du monde (.map-modal-overlay, construite en JS hors .modal) suit la même règle (2026-09-26). */
html body :is(.modal, .commercify-modal, .map-modal-overlay) img.dashboard-modal-logo:not(#cfy-b1) { border-color: transparent !important; }

/* ═══ 8. États : dialogues, chargements, alertes, états vides ═══════════════════════════════ */
/* Dialogues d'alerte et de confirmation : même anatomie que les modales du site
   (en-tête = header, corps teinté, pied teinté, cadre à l'accent du thème). */
html body .swal2-popup.cfy-dialog {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center;
    border-radius: 0 !important;
    background: color-mix(in srgb, var(--cfy-t-fill) 3%, var(--cfy-t-surface)) !important;
    color: var(--cfy-tx-ink-2) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), .6) !important;
    box-shadow: var(--cfy-t-shadow) !important;
    padding: 0 !important;
    width: min(460px, calc(100vw - 32px)) !important;
    font-family: var(--cfy-font-sans) !important;
    overflow: hidden;
}
html body .swal2-popup.cfy-dialog > * { grid-column: 1 / -1; }
/* En-tête : le titre porte la bande du header */
html body .swal2-popup.cfy-dialog .cfy-dialog__title {
    grid-row: 1;
    background: var(--cfy-hr-hd-bg) !important;
    border-bottom: 1px solid var(--cfy-hr-rule) !important;
    box-shadow: inset 0 2px 0 var(--cfy-hr-accent) !important;
    font-size: var(--cfy-fs-md) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    line-height: var(--cfy-lh-snug) !important;
    color: var(--cfy-hr-ink) !important;
    text-align: start !important;
    padding: var(--cfy-sp-4) var(--cfy-sp-5) !important;
    margin: 0 !important;
    max-width: none !important;
    overflow-wrap: anywhere;
}
html body .swal2-popup.cfy-dialog .cfy-dialog__title:empty { display: none !important; }
/* Corps : pictogramme à gauche, message à droite */
html body .swal2-popup.cfy-dialog .swal2-icon {
    display: flex !important;
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    font-size: 8px !important;   /* pictogramme de 40px */
    border-radius: 0;
    border-width: 2px !important;
    margin-block: var(--cfy-sp-5) !important;
    margin-inline: var(--cfy-sp-5) 0 !important;
    transform: none;
}
html body .swal2-popup.cfy-dialog .cfy-dialog__text {
    grid-column: 2;
    grid-row: 2;
    font-size: var(--cfy-fs-base) !important;
    line-height: var(--cfy-lh-body) !important;
    color: var(--cfy-tx-ink) !important;
    text-align: start !important;
    margin: 0 !important;
    padding: var(--cfy-sp-5) !important;
    overflow-wrap: anywhere;
}
/* Pied : les actions sur une bande teintée */
html body .swal2-popup.cfy-dialog .cfy-dialog__actions {
    grid-row: 3;
    width: 100%;
    margin: 0 !important;
    padding: var(--cfy-sp-3) var(--cfy-sp-5) !important;
    gap: var(--cfy-sp-3);
    flex-wrap: wrap;
    justify-content: flex-end;
    background: color-mix(in srgb, var(--cfy-t-fill) 8%, var(--cfy-t-surface-2)) !important;
    border-top: 1px solid rgba(var(--cfy-t-accent-rgb), .35) !important;
}
html body .swal2-popup.cfy-dialog .cfy-dialog__actions .btn {
    margin: 0 !important;
    min-height: var(--cfy-ctl-md);
    padding: 0 var(--cfy-sp-5) !important;
    border-radius: 0 !important;
    font-size: var(--cfy-fs-sm) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    box-shadow: none !important;
    text-transform: none !important;
}
/* Bouton principal, y compris pour une action sans retour : aplat du thème (l'alerte est portée par le pictogramme) */
html body .swal2-popup.cfy-dialog .cfy-dialog__actions :is(.btn-primary, .btn-danger) {
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
    color: var(--cfy-t-on-fill) !important;
    border: 1px solid var(--cfy-t-fill-lo) !important;
}
html body .swal2-popup.cfy-dialog .cfy-dialog__actions :is(.btn-primary, .btn-danger):hover {
    background: var(--cfy-t-fill-lo) !important;
}
html body .swal2-popup.cfy-dialog .cfy-dialog__actions .btn-outline-secondary {
    background: var(--cfy-t-surface) !important;
    color: var(--cfy-tx-ink-2) !important;
    border: 1px solid var(--cfy-t-line-2) !important;
}
html body .swal2-popup.cfy-dialog .cfy-dialog__actions .btn-outline-secondary:hover { color: var(--cfy-t-accent) !important; border-color: var(--cfy-t-accent) !important; }
html body .swal2-popup.cfy-dialog .cfy-dialog__actions .btn:focus-visible {
    outline: 2px solid var(--cfy-t-accent) !important;
    outline-offset: 2px !important;
}
/* Pictogrammes : avertissement en orange sémantique, question et information en neutre */
html body .swal2-popup.cfy-dialog .swal2-icon.swal2-warning { border-color: var(--cfy-tx-warning) !important; color: var(--cfy-tx-warning) !important; }
html body .swal2-popup.cfy-dialog .swal2-icon.swal2-question,
html body .swal2-popup.cfy-dialog .swal2-icon.swal2-info { border-color: var(--cfy-t-line-2) !important; color: var(--cfy-tx-muted) !important; }
html body .swal2-container.swal2-backdrop-show:has(.cfy-dialog) { background: var(--cfy-t-backdrop) !important; }

/* Indicateurs de chargement Bootstrap : couleur d'accent, épaisseur fine */
html body .spinner-border { color: var(--cfy-t-accent); border-width: 2px; }
html body .spinner-border-sm { border-width: 2px; }

/* Alertes (messages de page) : même respiration et même filet partout */
html body .alert:not(.product-card *) {
    border-radius: 0;
    padding: var(--cfy-sp-3) var(--cfy-sp-4);
    gap: var(--cfy-sp-3);
}
html body .alert :is(.alert-heading, h4, h5):first-child { margin-bottom: var(--cfy-sp-1); }

/* État vide générique (à employer pour tout nouvel écran vide : .cfy-empty > icône + titre + texte + action) */
.cfy-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--cfy-sp-3);
    padding: var(--cfy-sp-7) var(--cfy-sp-5);
    color: var(--cfy-tx-muted);
}
.cfy-empty__title { font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-semibold); color: var(--cfy-tx-ink); margin: 0; }
.cfy-empty__text { font-size: var(--cfy-fs-base); max-width: 48ch; margin: 0; }

/* Footer : avatars des 3 catalogues officiels (à la place de l'icône « user ») — carrés, filet header */
footer .community-link .cfy-footer-official-avatar {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    object-fit: cover;
    border-radius: 0;
    border: 1px solid var(--cfy-hr-rule);
    transition: border-color 0.15s ease;
}
footer .community-link:is(:hover, :focus-visible, .active) .cfy-footer-official-avatar { border-color: var(--cfy-hr-accent); }

/* Footer « Informations plateforme » : 5 cartes depuis l'ajout de « Annonces par badge » (2026-10-11)
   -> une seule ligne de 5 au-dessus de 1280px (au lieu de 4 + 1 orpheline) */
@media (min-width: 1280px) {
    html body footer .modern-stats-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
/* Entre 1280 et 1599px, cinq cartes tiennent sur la ligne avec une marge intérieure et une gouttière réduites */
@media (min-width: 1280px) and (max-width: 1599.98px) {
    html body footer .modern-stats-grid { gap: 0.75rem !important; }
    html body footer .modern-stats-grid .stat-card { padding: 1rem; }
    html body footer .modern-stats-grid .stat-card > .stat-label { padding-right: 2.5rem; }
}

/* Footer : carte « Pré-inscription » (année d'ouverture seule tant que la bêta privée n'est pas ouverte) */
html body footer .prereg-card .stat-icon { color: var(--cfy-hr-accent-text); opacity: 0.4; }
html body[class*="cfy-ht-"] footer.modern-footer .prereg-card .stat-value.cfy-prereg-year {
    display: inline-block;
    position: relative;
    margin-top: var(--cfy-sp-1);
    padding-bottom: var(--cfy-sp-2);
    font-size: var(--cfy-fs-display) !important;
    font-weight: var(--cfy-fw-bold) !important;
    line-height: var(--cfy-lh-tight) !important;
    letter-spacing: var(--cfy-ls-display);
    font-variant-numeric: tabular-nums;
    color: var(--cfy-hr-accent-text) !important;
    text-shadow: 0 0 18px rgba(var(--cfy-hr-accent-rgb), 0.35);
}
html body[class*="cfy-ht-"] footer.modern-footer .prereg-card .cfy-prereg-year::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40%;
    height: 3px;
    background: linear-gradient(90deg, var(--cfy-hr-accent), rgba(var(--cfy-hr-accent-rgb), 0));
}
html body[class*="cfy-ht-"] footer.modern-footer .prereg-card:hover .cfy-prereg-year::after { width: 100%; transition: width 0.25s ease; }

/* Footer : carte « Informations complémentaires » en fiche libellé / valeur (filets entre les lignes, badge en pied) */
html body footer .stat-card.version-card { display: flex; flex-direction: column; }
html body footer .stat-card.version-card .stat-label { padding-inline-end: var(--cfy-sp-7); }
html body footer .version-card .cfy-info-list { display: grid; margin: 0 0 var(--cfy-sp-3); padding: 0; }
html body footer .version-card .cfy-info-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    column-gap: var(--cfy-sp-3);
    padding: var(--cfy-sp-2) 0;
    border-top: 1px solid var(--cfy-hr-ph-line-2);
}
html body footer .version-card .cfy-info-row:first-child { border-top: 0; padding-top: 0; }
html body footer .version-card .cfy-info-row dt {
    margin: 0;
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-regular);
    line-height: var(--cfy-lh-snug);
    letter-spacing: 0;
    text-transform: none;
    color: var(--cfy-hr-ink-2);
}
html body footer .version-card .cfy-info-row dd {
    margin: 0;
    font-size: var(--cfy-fs-base);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    text-align: end;
    color: var(--cfy-hr-ink);
}
html body footer .stat-card.version-card .version-badge { margin-top: auto; }

/* Écran « catalogue vide » : description en gris fixe (--cfy-text-muted de commercify-modern, 4:1 en sombre) */
html body .cfy-catalog-empty-state .cfy-catalog-empty-desc:not(#cfy-b1):not(#cfy-b2) { color: var(--cfy-tx-ink-2) !important; }
/* Badges « Prix fixe » / « Par mois » du bandeau sombre des vignettes : fond teinté d'accent trop clair
   quand l'accent est blanc (Graphite, Crimson-Snow) -> fond sombre neutre du header */
html body :is(.product-card, .vignette-item) .bg-dark :is(a.badge.price-badge, a.badge.me-1):not(.bg-warning):not(#cfy-b1):not(#cfy-b2) {
    background: var(--cfy-hr-pill-bg) !important;
}
/* En-tête éditeur : libellé « Fiche annonce » en gris atténué sur fond d'en-tête teinté (3,99:1, 32 thèmes) */
html body .publisher-header-ad-context-label:not(#cfy-b1):not(#cfy-b2) { color: var(--cfy-tx-ink-2) !important; }
/* Sous-titre dans un bouton plein (dash/settings/badge « Voir les quotas / associés à votre badge ») :
   il prenait la couleur atténuée des surfaces sur l'aplat (1:1) -> même couleur que le bouton */
html body :is(.btn-primary, .btn-primary-gold, .commercify-modal-btn-fermer, .btn-export-primary) :is(small, .small, span):not(#cfy-b1):not(#cfy-b2) { color: inherit !important; }
html body :is(.btn-primary, .btn-primary-gold) :is(small, .small).opacity-75:not(#cfy-b1) { opacity: 1 !important; }
/* Langue et export : textes secondaires (gris atténué sur carte teintée, 4,2:1) */
html body :is(.language-card .language-native, .language-card .language-code, .export-card .export-card-description):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    color: var(--cfy-tx-ink-2) !important;
    opacity: 1 !important;
}
/* Pages légales : texte des encadrés gris en couleur secondaire du thème (gris fixe illisible sur fond teinté sombre) */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology, .page-platform-doc-typology, .page-platform-faq-typology, .page-platform-plans-typology, .page-platform-map-typology, .page-platform-about-typology):not(#cfy-b1):not(#cfy-b2) .bg-body-secondary :is(li, p, span:not([class*="badge"])) { color: var(--cfy-t-ink-2) !important; }

/* ═══ commercify_lang_flags.css ═══ */

/* Drapeaux de langue au format 4:3, sans recadrage carré. Angles droits. */
#languageModal .language-card .language-card-inner .language-flag {
    width: 40px !important;
    height: 30px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}
/* Modale Langues IHM : bandeau « langue actuelle » */
#languageModal .modal-body .language-current-session-flag {
    width: 32px !important;
    height: 24px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}
@media (max-width: 991.98px) {
    #languageModal .language-card .language-card-inner .language-flag {
        width: 32px !important;
        height: 24px !important;
    }
}
@media (max-width: 575.98px) {
    #languageModal .language-card .language-card-inner .language-flag {
        width: 28px !important;
        height: 21px !important;
    }
}

/* Bloc « Langues » de la home : vignette 96×72 (4:3) */
.cfy-home-block--langues-strip .cfy-home-block-rayon-card .cfy-home-block-rayon-card__img {
    width: 96px;
    height: 72px;
    object-fit: cover;
}

/* ═══ commercify_imagery_tokens.css ═══ */
/* ==========================================================================
   Charte imagerie et iconographie : tokens de taille et utilitaires.
   Couleurs : uniquement les tokens de thème (--cfy-t-*, --cfy-hr-*).
   Angles droits partout.
   ========================================================================== */
:root {
    /* Tuiles d'images (4:3) */
    --cfy-img-tile-w: 96px;
    --cfy-img-tile-h: 72px;
    --cfy-img-tile-cell: 144px;        /* largeur mini d'une cellule de grille : image + case d'état */
    --cfy-img-icon: 72px;              /* pictogramme carré dans une tuile 4:3 */
    --cfy-img-loc-w: 144px;            /* tuile Localité de la fiche annonce (1,5 x la tuile) */
    --cfy-img-loc-h: 108px;

    /* Drapeaux 4:3 */
    --cfy-flag-xs-w: 16px;  --cfy-flag-xs-h: 12px;
    --cfy-flag-sm-w: 24px;  --cfy-flag-sm-h: 18px;
    --cfy-flag-md-w: 32px;  --cfy-flag-md-h: 24px;
    --cfy-flag-lg-w: 40px;  --cfy-flag-lg-h: 30px;

    /* Avatars carrés */
    --cfy-avatar-xs: 24px;
    --cfy-avatar-sm: 32px;
    --cfy-avatar-md: 48px;
    --cfy-avatar-lg: 80px;
    --cfy-avatar-xl: 96px;

    /* Logos (hauteur) */
    --cfy-logo-sm: 24px;
    --cfy-logo-md: 32px;
    --cfy-logo-lg: 50px;

    /* Icônes */
    --cfy-ic-xs: 12px;
    --cfy-ic-sm: 14px;
    --cfy-ic-md: 16px;
    --cfy-ic-base: 20px;
    --cfy-ic-lg: 24px;
    --cfy-ic-xl: 32px;
    --cfy-ic-2xl: 48px;                /* pictos de marque (réseaux sociaux du footer) */
    --cfy-ic-stroke: 2;

    /* Filet autour d'une image (drapeau, avatar, tuile) */
    --cfy-img-frame: 0 0 0 1px var(--cfy-t-line);
}

/* --------------------------------------------------------------------------
   Utilitaires
   -------------------------------------------------------------------------- */

/* Image teintée par le thème : la forme vient du masque (mask-image posé sur l'élément), la couleur du token */
.cfy-tint {
    display: block;
    background: var(--cfy-tint-color, var(--cfy-t-accent));
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

/* Mini-carte en 2 couches : contexte atténué + zone à l'accent du thème */
.cfy-hp-ctx {
    --cfy-tint-color: var(--cfy-t-muted);
    opacity: .5;
}
.cfy-hp-hl {
    --cfy-tint-color: var(--cfy-t-accent);
}
.cfy-loc-media--geo {
    position: relative;
}
.cfy-loc-media--geo > .cfy-tint {
    position: absolute;
    inset: 0;
}

/* Placeholder thémé : pictogramme « image » sur la surface */
.cfy-ph {
    display: block;
    position: relative;
    background: var(--cfy-t-surface-3);
}
.cfy-ph::after {
    content: "";
    position: absolute;
    inset: 22%;
    background: var(--cfy-t-faint);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Étiquette de code posée sur une image (langue, pays, devise) */
.cfy-img-code {
    position: absolute;
    inset-inline-end: 3px;
    bottom: 3px;
    z-index: 2;
    padding: 1px 4px;
    background: var(--cfy-hr-panel-bg);
    color: var(--cfy-hr-accent-text);
    box-shadow: inset 0 0 0 1px rgba(var(--cfy-hr-accent-rgb), .55);
    font-family: var(--cfy-font-family, inherit);
    font-size: var(--cfy-fs-caption, 12px);
    font-weight: var(--cfy-fw-bold, 700);
    line-height: 1.25;
    letter-spacing: var(--cfy-ls-caps, .06em);
    text-transform: uppercase;
    pointer-events: none;
}

/* Tuile neutre (élément sans image propre) : le code tient lieu d'image */
.cfy-img-neutral {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cfy-hr-panel-bg);
    color: var(--cfy-hr-accent-text);
    box-shadow: inset 0 0 0 1px rgba(var(--cfy-hr-accent-rgb), .55);
    font-size: var(--cfy-fs-h4, 20px);
    font-weight: var(--cfy-fw-bold, 700);
    letter-spacing: var(--cfy-ls-caps, .06em);
    text-transform: uppercase;
}

/* Drapeaux : tailles de l'échelle */
.cfy-flag-xs { width: var(--cfy-flag-xs-w) !important; height: var(--cfy-flag-xs-h) !important; }
.cfy-flag-sm { width: var(--cfy-flag-sm-w) !important; height: var(--cfy-flag-sm-h) !important; }
.cfy-flag-md { width: var(--cfy-flag-md-w) !important; height: var(--cfy-flag-md-h) !important; }
.cfy-flag-lg { width: var(--cfy-flag-lg-w) !important; height: var(--cfy-flag-lg-h) !important; }
:is(.cfy-flag-xs, .cfy-flag-sm, .cfy-flag-md, .cfy-flag-lg) {
    object-fit: cover;
    border-radius: 0 !important;
    box-shadow: var(--cfy-img-frame);
    flex: none;
}

/* Avatars : tailles de l'échelle */
.cfy-avatar-xs { width: var(--cfy-avatar-xs) !important; height: var(--cfy-avatar-xs) !important; }
.cfy-avatar-sm { width: var(--cfy-avatar-sm) !important; height: var(--cfy-avatar-sm) !important; }
.cfy-avatar-md { width: var(--cfy-avatar-md) !important; height: var(--cfy-avatar-md) !important; }
.cfy-avatar-lg { width: var(--cfy-avatar-lg) !important; height: var(--cfy-avatar-lg) !important; }
.cfy-avatar-xl { width: var(--cfy-avatar-xl) !important; height: var(--cfy-avatar-xl) !important; }
:is(.cfy-avatar-xs, .cfy-avatar-sm, .cfy-avatar-md, .cfy-avatar-lg) {
    object-fit: cover;
    border-radius: 0 !important;
    box-shadow: var(--cfy-img-frame);
    flex: none;
}

/* Icônes : tailles de l'échelle (SVG et glyphes) */
.cfy-ic-xs { --cfy-ic: var(--cfy-ic-xs); }
.cfy-ic-sm { --cfy-ic: var(--cfy-ic-sm); }
.cfy-ic-md { --cfy-ic: var(--cfy-ic-md); }
.cfy-ic-base { --cfy-ic: var(--cfy-ic-base); }
.cfy-ic-lg { --cfy-ic: var(--cfy-ic-lg); }
.cfy-ic-xl { --cfy-ic: var(--cfy-ic-xl); }
.cfy-ic-2xl { --cfy-ic: var(--cfy-ic-2xl); }
svg:is(.cfy-ic-xs, .cfy-ic-sm, .cfy-ic-md, .cfy-ic-base, .cfy-ic-lg, .cfy-ic-xl, .cfy-ic-2xl) {
    width: var(--cfy-ic) !important;
    height: var(--cfy-ic) !important;
}
:is(i, em, span):is(.cfy-ic-xs, .cfy-ic-sm, .cfy-ic-md, .cfy-ic-base, .cfy-ic-lg, .cfy-ic-xl, .cfy-ic-2xl) {
    font-size: var(--cfy-ic) !important;
}

/* Une icône ne se laisse jamais écraser par un conteneur flex (elle tombait à 7–10px sur mobile) */
svg.cfy-ic {
    flex-shrink: 0;
}

/* Angles droits sur toutes les images (charte : border-radius 0 partout) */
html body img:not(.cfy-keep-radius) {
    border-radius: 0 !important;
}

/* ═══ commercify_imagery_hyperprofil.css ═══ */
/* ==========================================================================
   Tuiles des pages de profil (langues, pays, devises, catégories, rayons,
   régions, départements, villes) : image 96x72 servie à 1:1, grille dense.
   Couleurs : tokens de thème uniquement. Angles droits.
   ========================================================================== */

/* ---- Grille : une cellule par tuile, en-têtes et blocs sur toute la largeur ---- */
html body .hyperprofil-content-wrap .card-inner > .row {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(var(--cfy-img-tile-cell), 1fr));
    gap: 12px;
    margin: 0 !important;
}
html body .hyperprofil-content-wrap .card-inner > .row > * {
    grid-column: 1 / -1;
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding-inline: 0 !important;
    margin-inline: 0 !important;
}
html body .hyperprofil-content-wrap .card-inner > .row > [data-search]:not(h4) {
    grid-column: auto;
    margin-top: 0 !important;
}

/* ---- Bandeau image : la tuile 96x72 centrée sur la surface ---- */
html body .hyperprofil-content-wrap .image-control [class*="-image-wrapper"] {
    aspect-ratio: auto !important;
    height: calc(var(--cfy-img-tile-h) + 16px);
    padding: 8px !important;
    justify-content: flex-start !important;   /* image à gauche, case d'état à droite : jamais superposées */
    background: var(--cfy-t-surface-3);
}
html body .hyperprofil-content-wrap .cfy-hp-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: var(--cfy-img-tile-w);
    height: var(--cfy-img-tile-h);
    box-shadow: var(--cfy-img-frame);
    transition: filter .2s ease;
}
html body .hyperprofil-content-wrap .image-control [class*="-image-wrapper"] .cfy-hp-media img {
    width: var(--cfy-img-tile-w) !important;
    height: var(--cfy-img-tile-h) !important;
    padding: 0 !important;
    object-fit: cover;
    filter: none !important;
}

/* Pictogrammes carrés (catégories, rayons) : 72x72, sans cadre */
html body .hyperprofil-content-wrap .cfy-hp-media--icon {
    box-shadow: none;
}
html body .hyperprofil-content-wrap .image-control [class*="-image-wrapper"] .cfy-hp-media--icon img {
    width: var(--cfy-img-icon) !important;
    height: var(--cfy-img-icon) !important;
    object-fit: contain;
}

/* Masques teintés : pièces, pictogrammes monochromes, mini-cartes */
html body .hyperprofil-content-wrap :is(.cfy-hp-media--mask, .cfy-hp-media--geo) {
    box-shadow: none;
}
html body .hyperprofil-content-wrap .cfy-hp-media > .cfy-tint {
    position: absolute;
    inset: 0;
}
html body .hyperprofil-content-wrap .cfy-hp-media--mask > .cfy-tint {
    inset: 4px;
}

/* Placeholder et tuile neutre au même gabarit */
html body .hyperprofil-content-wrap .cfy-hp-media.cfy-ph {
    box-shadow: inset 0 0 0 1px var(--cfy-t-line);
}

/* Non sélectionné : image légèrement éteinte, rallumée au survol ou au focus */
html body .hyperprofil-content-wrap .custom-control-input:not(:checked) + .custom-control-label .cfy-hp-media {
    filter: grayscale(.35) brightness(.94);
}
html body .hyperprofil-content-wrap .custom-control-input:not(:checked) + .custom-control-label:hover .cfy-hp-media,
html body .hyperprofil-content-wrap .custom-control-input:focus-visible + .custom-control-label .cfy-hp-media {
    filter: none;
}

/* Sélectionné : liseré d'aplat au pied de l'image (remplace l'ancien dégradé doré) */
html body .hyperprofil-content-wrap .custom-control-input:checked + .custom-control-label [class*="-overlay"] {
    background: linear-gradient(to top, rgba(var(--cfy-t-fill-rgb), .28) 0%, rgba(var(--cfy-t-fill-rgb), 0) 55%) !important;
}

/* ---- Case d'état : 18px dans l'angle du bandeau, hors de l'image ---- */
html body .hyperprofil-content-wrap .image-control > .custom-control-label::before,
html body .hyperprofil-content-wrap .image-control > .custom-control-label::after {
    top: 4px !important;
    right: 4px !important;
    width: 18px !important;
    height: 18px !important;
}
html body .hyperprofil-content-wrap .image-control > .custom-control-label::before {
    background-color: var(--cfy-t-surface) !important;
    border: 2px solid var(--cfy-t-line-2) !important;
    box-shadow: none !important;
}
html body .hyperprofil-content-wrap .custom-control-input:checked + .custom-control-label::before {
    background-color: var(--cfy-t-fill) !important;
    border-color: var(--cfy-t-fill-lo) !important;
}
html body .hyperprofil-content-wrap .custom-control-input:checked + .custom-control-label::after {
    width: 5px !important;
    height: 10px !important;
    top: 7px !important;
    right: 10.5px !important;
    border-color: var(--cfy-t-on-fill) !important;
    border-width: 0 2px 2px 0 !important;
}
html[dir="rtl"] body .hyperprofil-content-wrap .image-control > .custom-control-label::before,
html[dir="rtl"] body .hyperprofil-content-wrap .image-control > .custom-control-label::after {
    right: auto !important;
    left: 4px !important;
}
html[dir="rtl"] body .hyperprofil-content-wrap .custom-control-input:checked + .custom-control-label::after {
    left: 10.5px !important;
}

/* ---- Libellé sous l'image : compact ---- */
html body .hyperprofil-content-wrap [data-search] > .preview-block > a.preview-title {
    padding: 6px 20px 6px 8px !important;
    min-height: 0;
    letter-spacing: .02em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto;
}
html[dir="rtl"] body .hyperprofil-content-wrap [data-search] > .preview-block > a.preview-title {
    padding: 6px 8px 6px 20px !important;
}
html body .hyperprofil-content-wrap [data-search] > .preview-block > a.preview-title::after {
    inset-inline-end: 6px;
}
html body .hyperprofil-content-wrap [data-search] > .preview-block > a.preview-title:not(:last-of-type) {
    padding-bottom: 0 !important;
}

/* En-têtes de groupe plus serrés (la grille est dense) */
html body .hyperprofil-content-wrap h4[data-group-id] {
    margin-top: 1.25rem !important;
}

/* Drapeaux dans les libellés et les en-têtes de groupe : échelle 4:3 */
html body .hyperprofil-content-wrap [data-search] > .preview-block > a.preview-title img {
    width: var(--cfy-flag-xs-w) !important;
    height: var(--cfy-flag-xs-h) !important;
    border: 0 !important;
    box-shadow: var(--cfy-img-frame);
}
html body .hyperprofil-content-wrap h4[data-group-id] .hyperprofil-group-title img {
    width: var(--cfy-flag-sm-w) !important;
    height: var(--cfy-flag-sm-h) !important;
    border: 0 !important;
    box-shadow: var(--cfy-img-frame);
}

@media (max-width: 575.98px) {
    html body .hyperprofil-content-wrap .card-inner > .row {
        grid-template-columns: repeat(auto-fill, minmax(136px, 1fr));
        gap: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .hyperprofil-content-wrap .cfy-hp-media {
        transition: none;
    }
}

/* Case d'état verrouillée (formulaire non déverrouillé) : surface du thème, pas le bleu DashLite */
html body .hyperprofil-content-wrap .custom-control-input:disabled:not(:checked) + .custom-control-label::before {
    background-color: var(--cfy-t-surface-2) !important;
    border-color: var(--cfy-t-line) !important;
}

/* Mobile : tuile 80x60 (image 96/192 réduite), 3 colonnes à 390px */
@media (max-width: 575.98px) {
    html body .hyperprofil-content-wrap {
        --cfy-img-tile-w: 80px;
        --cfy-img-tile-h: 60px;
        --cfy-img-icon: 60px;
    }
    html body .hyperprofil-content-wrap .card-inner > .row {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 6px;
    }
    html body .hyperprofil-content-wrap .image-control [class*="-image-wrapper"] {
        height: calc(var(--cfy-img-tile-h) + 8px);
        padding: 4px !important;
    }
    html body .hyperprofil-content-wrap .image-control > .custom-control-label::before,
    html body .hyperprofil-content-wrap .image-control > .custom-control-label::after {
        top: 2px !important;
        right: 2px !important;
        width: 16px !important;
        height: 16px !important;
    }
    html body .hyperprofil-content-wrap .custom-control-input:checked + .custom-control-label::after {
        width: 4px !important;
        height: 9px !important;
        top: 4px !important;
        right: 8px !important;
    }
    html body .hyperprofil-content-wrap [data-search] > .preview-block > a.preview-title {
        padding: 4px 16px 4px 6px !important;
    }
    html body .hyperprofil-content-wrap .cfy-img-code {
        font-size: var(--cfy-fs-caption, 12px);
        padding: 0 3px;
    }
}

/* ═══ commercify_imagery_icons.css ═══ */
/* ==========================================================================
   Icônes : tailles ramenées sur l'échelle --cfy-ic-* (12/14/16/20/24/32, 48 pour les marques).
   Règle d'usage : 16 dans un bouton, un badge ou une ligne de texte ; 20 dans le header,
   le menu et les barres d'actions ; 24 près d'un titre ; 32 pour un pictogramme de carte.
   ========================================================================== */

/* 12 : liens compacts du footer */
html body a.nav-link-modern > span.me-2 > svg,
html body .footer-youtube-icon > svg {
    width: var(--cfy-ic-xs) !important;
    height: var(--cfy-ic-xs) !important;
}
html body .vignette-urgent-pin .urgent-badge > i {
    font-size: var(--cfy-ic-xs) !important;
}

/* 16 : icône dans un bouton, un badge ou un onglet */
html body .cfy-badge-cta-compact > svg,
html body .badge > svg,
html body .btn > svg.me-1,
html body .btn > svg.ms-2,
html body .btn.btn-sm > svg,
html body .hyperprofil-bulk-col .btn > svg {
    width: var(--cfy-ic-md) !important;
    height: var(--cfy-ic-md) !important;
    flex: none;
}
html body .cfy-pi-zone-tab > i {
    font-size: var(--cfy-ic-md) !important;
}

/* 20 : header, menu latéral, barres d'actions */
html body .cfy-header-map-btn > svg,
html body .cfy-pin-ico > svg,
html body .cfy-catalog-action-btn > svg,
html body .cfy-dim-ico > svg {
    width: var(--cfy-ic-base) !important;
    height: var(--cfy-ic-base) !important;
}

/* 24 : boutons de vignette, titres de page, notes, pastilles d'icône */
html body .product-card > .btn-icon > svg,
html body h3.page-title svg,
html body ul.rating > li > svg.star-rating,
html body .icon-circle > svg {
    width: var(--cfy-ic-lg) !important;
    height: var(--cfy-ic-lg) !important;
}

/* 32 : pictogrammes de cartes statistiques */
html body .stat-card .stat-icon > svg,
html body .icon-circle-xxl > svg {
    width: var(--cfy-ic-xl) !important;
    height: var(--cfy-ic-xl) !important;
}

/* 48 : pictos de marque du footer */
html body .social-icon-wrapper > .social-icon > svg {
    width: var(--cfy-ic-2xl) !important;
    height: var(--cfy-ic-2xl) !important;
}

/* 12 : liens légaux, compteur de vues, note compacte */
html body .legal-link-inline > span.me-2 > svg,
html body .view-count svg,
html body .catalog-link-scoring > svg.star-rating {
    width: var(--cfy-ic-xs) !important;
    height: var(--cfy-ic-xs) !important;
}
/* 14 : puces d'instructions */
html body .alert-pro li > i[class*="bi-"] {
    font-size: var(--cfy-ic-sm) !important;
}
/* 20 : titre de carte */
html body h5.card-title > svg {
    width: var(--cfy-ic-base) !important;
    height: var(--cfy-ic-base) !important;
}

/* 20 : bouton menu du header tablette */
html body .catalog-header .nk-nav-toggle > svg {
    width: var(--cfy-ic-base) !important;
    height: var(--cfy-ic-base) !important;
    max-height: none !important;
}
/* 32 : pictogramme d'alerte des pages légales */
html body em.ni.display-4 {
    font-size: var(--cfy-ic-xl) !important;
}

/* ═══ commercify_header_impact.css ═══ */
/* ═══════════════════════════════════════════════════════════════════════════════════════════
   Header « Impact » (desktop ≥ 1200px) : bloc de marque sombre + logo agrandi, console
   drapeau / globe / recherche rapide encadrée, barre d'actions segmentée, liseré d'accent.
   Mêmes éléments qu'avant, aucun ajouté ni retiré. Couleurs : tokens --cfy-hr-* uniquement.
   Les effets décoratifs (halo, dégradés, reflets, ombres) sont neutralisés en mode performance.
   ═══════════════════════════════════════════════════════════════════════════════════════════ */

/* Sous 1200px, le conteneur de la console est transparent pour la mise en page. */
.cfy-hd-console {
    display: contents;
}

@media (min-width: 1200px) {

    html body .catalog-header.cfy-hr {
        --cfy-hd-h: 104px;
        --cfy-hd-ctl-h: 58px;
        --cfy-hd-brand-veil: rgba(0, 0, 0, 0.72);
        --cfy-hd-cell-rule: rgba(var(--cfy-hr-accent-rgb), 0.32);
        padding: 0 !important;
    }

    /* ---------- Structure : hauteur, zones pleine hauteur ---------- */
html body .catalog-header.cfy-hr .header-wrap-codepen {
        height: var(--cfy-hd-h);
        width: 100%;
        gap: 0;
        padding: 0;
        align-items: center;
    }
    html body .catalog-header.cfy-hr .header-logo-section {
        flex: 1 1 auto;
        min-width: 0;
        height: 100%;
        margin: 0 !important;
    }
    html body .catalog-header.cfy-hr .line-logo,
    html body .catalog-header.cfy-hr .line-logo-left {
        flex: 1 1 auto;
        min-width: 0;
        max-width: none;
        height: 100%;
        margin: 0 !important;
        gap: 0;
        align-items: center;
    }

    /* Reflet léger sur tout le header ; le halo d'accent passe dans le bloc de marque. */
html body .catalog-header.cfy-hr::before {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 55%);
    }

    /* Liseré d'accent 3px entre header et zone des catalogues */
html body .catalog-header.cfy-hr::after {
        z-index: 2;
        height: 3px;
        background: linear-gradient(90deg, var(--cfy-hr-accent-lo), var(--cfy-hr-accent-hi) 45%, var(--cfy-hr-accent));
        box-shadow: none;
    }

    /* ---------- Bloc de marque : colonne du menu + logo ---------- */
html body .nk-sidebar.cfy-mv2 > .nk-sidebar-head {
        background: linear-gradient(var(--cfy-hd-brand-veil, rgba(0, 0, 0, 0.72)), var(--cfy-hd-brand-veil, rgba(0, 0, 0, 0.72))), var(--cfy-hr-hd-bg) !important;
        border-bottom: 0 !important;
        box-shadow: inset 0 -3px 0 var(--cfy-hr-accent-lo);
    }
    html body .nk-sidebar.cfy-mv2 .nk-sidebar-head .nk-nav-compact,
    html body .nk-sidebar.cfy-mv2 .nk-sidebar-head .nk-nav-toggle {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        border-color: transparent !important;
        color: var(--cfy-hr-accent-text) !important;
    }
    html body .nk-sidebar.cfy-mv2 .nk-sidebar-head .nk-nav-compact:hover,
    html body .nk-sidebar.cfy-mv2 .nk-sidebar-head .nk-nav-compact:focus-visible,
    html body .nk-sidebar.cfy-mv2 .nk-sidebar-head .nk-nav-toggle:hover,
    html body .nk-sidebar.cfy-mv2 .nk-sidebar-head .nk-nav-toggle:focus-visible {
        background: var(--cfy-hr-flat) !important;
        border-color: var(--cfy-hr-flat) !important;
        color: var(--cfy-hr-on-flat) !important;
    }

    /* id présent sur le lien du logo : une règle historique y impose display:block !important */
html body .catalog-header.cfy-hr #anchortop.logo-wrapper {
        display: flex !important;
        align-items: center;
        align-self: stretch;
        height: 100% !important;
        padding: 0 46px 0 34px;
        background:
            radial-gradient(220px 90px at 50% 50%, rgba(var(--cfy-hr-accent-rgb), calc(var(--cfy-hr-halo-a) + 0.04)), transparent 100%),
            var(--cfy-hd-brand-veil);
        border-inline-start: 1px solid rgba(255, 255, 255, 0.06);
    }
    html body .catalog-header.cfy-hr .logo-wrapper .catalog-logo {
        height: 64px !important;
        max-height: 64px !important;
        width: auto !important;
        max-width: none !important;
    }

    /* ---------- Console : drapeau | globe | recherche rapide ---------- */
html body .catalog-header.cfy-hr .cfy-hd-console {
        display: flex;
        align-items: stretch;
        flex: 1 1 auto;
        min-width: 0;
        height: var(--cfy-hd-ctl-h);
        margin: 0 28px 0 32px;
        border: 2px solid rgba(var(--cfy-hr-accent-rgb), 0.65);
        background: var(--cfy-hr-pill-bg);
        overflow: hidden;
    }
    html body .catalog-header.cfy-hr .cfy-hd-console:hover,
    html body .catalog-header.cfy-hr .cfy-hd-console:focus-within {
        border-color: var(--cfy-hr-accent);
    }
    html body .catalog-header.cfy-hr .cfy-hd-console:focus-within {
        box-shadow: inset 0 0 0 1px var(--cfy-hr-accent);
    }

    html body .catalog-header.cfy-hr .cfy-hd-console .header-flag-btn-after-logo,
    html body .catalog-header.cfy-hr .cfy-hd-console .cfy-header-map-btn {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 18px !important;
        border: 0 !important;
        border-inline-end: 1px solid var(--cfy-hd-cell-rule) !important;
        background: transparent !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-console .header-flag-btn-after-logo:hover,
    html body .catalog-header.cfy-hr .cfy-hd-console .header-flag-btn-after-logo:focus-visible,
    html body .catalog-header.cfy-hr .cfy-hd-console .cfy-header-map-btn:hover,
    html body .catalog-header.cfy-hr .cfy-hd-console .cfy-header-map-btn:focus-visible {
        background: var(--cfy-hr-pill-bg) !important;
        box-shadow: inset 0 -2px 0 var(--cfy-hr-accent);
    }
    html body .catalog-header.cfy-hr .cfy-hd-console .flag-img-after-logo {
        width: var(--cfy-flag-md-w, 32px) !important;
        height: var(--cfy-flag-md-h, 24px) !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-console .cfy-header-map-btn {
        color: var(--cfy-hr-accent);
    }
    html body .catalog-header.cfy-hr .cfy-hd-console .cfy-header-map-icon {
        width: 24px;
        height: 24px;
    }

    /* ---------- Barre d'actions segmentée : Options | Tableau de bord | Connexion ---------- */
html body .catalog-header.cfy-hr .header-actions {
        align-self: center;
        align-items: stretch;
        height: var(--cfy-hd-ctl-h);
        gap: 0 !important;
        margin: 0 24px 0 0 !important;
        border: 2px solid var(--cfy-hr-accent);
    }
    html body .catalog-header.cfy-hr .header-actions > .header-action-btn {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 22px !important;
        gap: 10px;
        border: 0 !important;
        border-inline-end: 1px solid rgba(var(--cfy-hr-accent-rgb), 0.35) !important;
        box-shadow: none;
        font-size: var(--cfy-fs-base) !important;
        font-weight: var(--cfy-fw-bold) !important;
        letter-spacing: 0.09em;
        text-transform: uppercase;
    }
    /* La charte typo pose la taille « légende » en !important sur les libellés internes du header */
html body .catalog-header.cfy-hr .header-actions > .header-action-btn :is(.visitor-btn-label-default, .visitor-btn-label-hover, .visitor-name-header) {
        font-size: inherit !important;
        font-weight: inherit !important;
    }
    html body .catalog-header.cfy-hr .header-actions > .header-action-btn:last-child {
        border-inline-end: 0 !important;
    }

    html body .catalog-header.cfy-hr .header-actions .cfy-header-options-link,
    html body .catalog-header.cfy-hr .header-actions .catalog-nav-item-dashboard-tablet,
    html body .catalog-header.cfy-hr .header-actions .catalog-nav-item-dashboard-tablet.active {
        color: var(--cfy-hr-ink) !important;
        background: transparent !important;
    }
    html body .catalog-header.cfy-hr .header-actions .cfy-header-options-link:hover,
    html body .catalog-header.cfy-hr .header-actions .cfy-header-options-link:focus-visible,
    html body .catalog-header.cfy-hr .header-actions .catalog-nav-item-dashboard-tablet:hover:not(.active),
    html body .catalog-header.cfy-hr .header-actions .catalog-nav-item-dashboard-tablet:focus-visible {
        color: var(--cfy-hr-ink) !important;
        /* pastille sombre du header : un voile d'accent clair faisait perdre le texte blanc sur les headers vifs */
        background: var(--cfy-hr-pill-bg) !important;
        box-shadow: inset 0 -2px 0 var(--cfy-hr-accent);
    }
    html body .catalog-header.cfy-hr .header-actions .cfy-header-options-link::after {
        content: none;
    }
    html body .catalog-header.cfy-hr .header-actions .cfy-header-options-link::before,
    html body .catalog-header.cfy-hr .header-actions .catalog-nav-item-dashboard-tablet::before {
        width: 19px;
        height: 19px;
        background-color: var(--cfy-hr-accent);
    }

    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header,
    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header.btn-visitor-no-modal {
        padding: 0 30px !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }
    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header:hover,
    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header:focus-visible {
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
    }
    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header.btn-visitor-no-modal::before {
        width: 19px;
        height: 19px;
    }
    html body .catalog-header.cfy-hr .header-actions .visitor-name-header {
        text-transform: none;
        letter-spacing: 0;
    }
    html body .catalog-header.cfy-hr .header-actions .visitor-avatar-img-header {
        width: 32px;
        height: 32px;
    }
}

/* Écrans 1440–1799px : logo et marges intermédiaires */
@media (min-width: 1440px) and (max-width: 1799.98px) {
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper {
        padding: 0 30px 0 26px;
    }
    html body .catalog-header.cfy-hr .logo-wrapper .catalog-logo {
        height: 50px !important;
        max-height: 50px !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-console {
        margin: 0 20px;
    }
    html body .catalog-header.cfy-hr .header-actions {
        margin-inline-end: 18px !important;
    }
    html body .catalog-header.cfy-hr .header-actions > .header-action-btn {
        padding: 0 16px !important;
        letter-spacing: 0.06em;
    }
    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header,
    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header.btn-visitor-no-modal {
        padding: 0 22px !important;
    }
}

/* Écrans 1200–1439px : même composition, gabarit resserré */
@media (min-width: 1200px) and (max-width: 1439.98px) {
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper {
        padding: 0 24px 0 22px;
    }
    html body .catalog-header.cfy-hr .logo-wrapper .catalog-logo {
        height: 44px !important;
        max-height: 44px !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-console {
        margin: 0 16px 0 18px;
    }
    html body .catalog-header.cfy-hr .cfy-hd-console .header-flag-btn-after-logo,
    html body .catalog-header.cfy-hr .cfy-hd-console .cfy-header-map-btn {
        padding: 0 14px !important;
    }
    html body .catalog-header.cfy-hr .header-actions {
        margin-inline-end: 16px !important;
    }
    html body .catalog-header.cfy-hr .header-actions > .header-action-btn {
        padding: 0 14px !important;
        font-size: var(--cfy-fs-sm) !important;
        letter-spacing: 0.05em;
    }
    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header,
    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header.btn-visitor-no-modal {
        padding: 0 18px !important;
    }
}

/* Écrans 1200–1365px : logo et cellules encore resserrés pour garder le champ lisible */
@media (min-width: 1200px) and (max-width: 1365.98px) {
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper {
        padding: 0 18px 0 16px;
    }
    html body .catalog-header.cfy-hr .logo-wrapper .catalog-logo {
        height: 36px !important;
        max-height: 36px !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-console {
        margin: 0 12px;
    }
    html body .catalog-header.cfy-hr .cfy-hd-console .header-flag-btn-after-logo,
    html body .catalog-header.cfy-hr .cfy-hd-console .cfy-header-map-btn {
        padding: 0 10px !important;
    }
    html body .catalog-header.cfy-hr .header-actions {
        margin-inline-end: 12px !important;
    }
    html body .catalog-header.cfy-hr .header-actions > .header-action-btn {
        padding: 0 11px !important;
        gap: 7px;
        letter-spacing: 0.03em;
    }
    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header,
    html body .catalog-header.cfy-hr .header-actions .btn-visitor-header.btn-visitor-no-modal {
        padding: 0 14px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════════════════════
   Étape 2 : cellule « Votre activité » (cloche + panneau), états actifs, focus clavier,
   indice de raccourci de la recherche, @pseudo tronqué.
   ═══════════════════════════════════════════════════════════════════════════════════════════ */
/* Cloche et panneau : desktop uniquement (le header tablette / mobile n'est pas refait) */
.cfy-hd-activity,
.cfy-hd-activity-panel {
    display: none !important;
}

@media (min-width: 1200px) {

    /* ---------- Cloche ---------- */
html body .catalog-header.cfy-hr .header-actions > .cfy-hd-activity {
        display: inline-flex !important;
        position: relative;
        align-items: center;
        justify-content: center;
        min-width: 64px;
        padding: 0 20px !important;
        color: var(--cfy-hr-accent) !important;
        background: transparent !important;
        cursor: pointer;
    }
    html body .catalog-header.cfy-hr .header-actions > .cfy-hd-activity svg {
        width: 21px;
        height: 21px;
    }
    html body .catalog-header.cfy-hr .header-actions > .cfy-hd-activity:hover {
        background: var(--cfy-hr-pill-bg) !important;
        box-shadow: inset 0 -2px 0 var(--cfy-hr-accent);
    }
}

/* Pastille du compteur et panneau « Votre activité » : à toutes les largeurs (la cloche est aussi dans le
   header tablette et dans la console du smartphone depuis le 2026-10-06, commercify_header_mobile.css) */
@media all {
    html body .catalog-header.cfy-hr .cfy-hd-activity-badge {
        position: absolute;
        top: 7px;
        inset-inline-end: 9px;
        min-width: 20px;
        height: 20px;
        padding: 0 5px;
        box-sizing: border-box;
        background: var(--cfy-hr-flat);
        color: var(--cfy-hr-on-flat);
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-bold) !important;
        line-height: 20px;
        letter-spacing: 0;
        text-align: center;
        pointer-events: none;
    }
    /* Message non lu en attente : rouge sémantique « non lu » (même code que le menu) */
html body .catalog-header.cfy-hr .cfy-hd-activity-badge.is-unread {
        background: #e85347;
        color: #ffffff;
    }

}

@media (min-width: 1200px) {
    /* ---------- États actifs : panneau ouvert depuis la cellule ---------- */
html body .catalog-header.cfy-hr .header-actions > .header-action-btn[aria-expanded="true"] {
        background: var(--cfy-hr-pill-bg) !important;
        box-shadow: inset 0 -3px 0 var(--cfy-hr-accent) !important;
    }

    /* ---------- Focus clavier homogène sur toutes les cellules du header ---------- */
html body .catalog-header.cfy-hr :is(.header-actions > .header-action-btn, .cfy-hd-console .header-flag-btn-after-logo, .cfy-hd-console .cfy-header-map-btn, #anchortop.logo-wrapper):focus-visible {
        outline: 2px solid var(--cfy-hr-accent) !important;
        outline-offset: -4px !important;
    }

    /* ---------- @pseudo du badge connecté : tronqué proprement ---------- */
html body .catalog-header.cfy-hr .header-actions .visitor-name-header {
        display: inline-block;
        max-width: 180px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: middle;
    }

}

@media all {
    /* ---------- Panneau « Votre activité » (déplacé dans <body> à l'ouverture) ---------- */
body .cfy-hd-activity-panel:not([hidden]) {
        display: block !important;
        position: fixed;
        z-index: 1040;
        width: 400px;
        max-width: calc(100vw - 16px);
        max-height: calc(100vh - 140px);
        overflow-y: auto;
        overscroll-behavior: contain;
        background: var(--cfy-hr-panel-bg);
        border: 1px solid rgba(var(--cfy-hr-accent-rgb), 0.6);
        box-shadow: inset 0 2px 0 var(--cfy-hr-accent), 0 18px 40px -12px rgba(0, 0, 0, 0.6);
        color: var(--cfy-hr-ink);
    }
    body .cfy-hd-activity-panel,
    body .cfy-hd-activity-panel * {
        border-radius: 0 !important;
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-title {
        padding: 16px 18px 10px;
        border-bottom: 1px solid var(--cfy-hr-rule);
        color: var(--cfy-hr-accent-text);
        font-size: var(--cfy-fs-caption);
        font-weight: var(--cfy-fw-bold);
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-list {
        list-style: none;
        margin: 0;
        padding: 6px 0;
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-row {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 44px;
        padding: 0 18px;
        border-inline-start: 3px solid transparent;
        color: var(--cfy-hr-ink-2) !important;
        text-decoration: none !important;
        font-size: var(--cfy-fs-base);
        font-weight: var(--cfy-fw-medium);
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-row:hover,
    body .cfy-hd-activity-panel .cfy-hd-activity-row:focus-visible {
        background: rgba(var(--cfy-hr-accent-rgb), 0.14);
        border-inline-start-color: var(--cfy-hr-accent);
        color: var(--cfy-hr-ink) !important;
        outline: none !important;
        box-shadow: none !important;
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-ico {
        display: inline-flex;
        flex: 0 0 auto;
        color: var(--cfy-hr-accent);
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-label {
        flex: 1 1 auto;
        min-width: 0;
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-count {
        flex: 0 0 auto;
        min-width: 28px;
        text-align: end;
        color: var(--cfy-hr-ink-muted);
        font-weight: var(--cfy-fw-semibold);
        font-variant-numeric: tabular-nums;
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-row.has-count .cfy-hd-activity-count {
        color: var(--cfy-hr-accent-text);
        font-weight: var(--cfy-fw-bold);
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-messages.has-count {
        color: var(--cfy-hr-ink) !important;
        font-weight: var(--cfy-fw-semibold);
    }
    /* Visiteur : incitation + bouton plein */
body .cfy-hd-activity-panel .cfy-hd-activity-cta-text {
        margin: 0;
        padding: 14px 18px 12px;
        color: var(--cfy-hr-ink-2);
        font-size: var(--cfy-fs-base);
        line-height: 1.5;
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-cta {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-height: 44px;
        margin: 0 18px 18px;
        background: var(--cfy-hr-flat);
        color: var(--cfy-hr-on-flat) !important;
        text-decoration: none !important;
        font-size: var(--cfy-fs-base);
        font-weight: var(--cfy-fw-bold);
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }
    body .cfy-hd-activity-panel .cfy-hd-activity-cta:hover,
    body .cfy-hd-activity-panel .cfy-hd-activity-cta:focus-visible {
        background: var(--cfy-hr-accent-hi);
        outline: 2px solid var(--cfy-hr-accent-hi);
        outline-offset: 2px;
    }
}

/* Écrans 1200–1439px : cloche resserrée, indice de raccourci masqué */
@media (min-width: 1200px) and (max-width: 1439.98px) {
    html body .catalog-header.cfy-hr .header-actions .visitor-name-header {
        max-width: 120px;
    }
    html body .catalog-header.cfy-hr .header-actions > .cfy-hd-activity {
        min-width: 52px;
        padding: 0 14px !important;
    }
}

@media (min-width: 1200px) and (max-width: 1365.98px) {
    html body .catalog-header.cfy-hr .header-actions .visitor-name-header {
        max-width: 90px;
    }
    html body .catalog-header.cfy-hr .header-actions > .cfy-hd-activity {
        min-width: 46px;
        padding: 0 11px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════════════════════
   Bouton « Bot IA » (2026-09-28) juste avant la cloche : même cellule que la cloche.
   Placeholder de la Recherche Rapide réduit (le texte saisi garde sa taille).
   ═══════════════════════════════════════════════════════════════════════════════════════════ */
.cfy-hd-chatbot {
    display: none !important;
}

@media (min-width: 1200px) {
    html body .catalog-header.cfy-hr .header-actions > .cfy-hd-chatbot {
        display: inline-flex !important;
        position: relative;
        align-items: center;
        justify-content: center;
        min-width: 64px;
        padding: 0 20px !important;
        color: var(--cfy-hr-accent) !important;
        background: transparent !important;
        cursor: pointer;
    }
    html body .catalog-header.cfy-hr .header-actions > .cfy-hd-chatbot svg {
        width: 21px;
        height: 21px;
    }
    html body .catalog-header.cfy-hr .header-actions > .cfy-hd-chatbot:hover,
    html body .catalog-header.cfy-hr .header-actions > .cfy-hd-chatbot[aria-expanded='true'] {
        background: var(--cfy-hr-pill-bg) !important;
        box-shadow: inset 0 -2px 0 var(--cfy-hr-accent);
    }
}
@media (min-width: 1200px) and (max-width: 1439.98px) {
    html body .catalog-header.cfy-hr .header-actions > .cfy-hd-chatbot {
        min-width: 52px;
        padding: 0 14px !important;
    }
}
@media (min-width: 1200px) and (max-width: 1365.98px) {
    html body .catalog-header.cfy-hr .header-actions > .cfy-hd-chatbot {
        min-width: 46px;
        padding: 0 11px !important;
    }
}

/* ═══ commercify_header_proue.css ═══ */
/* ═══════════════════════════════════════════════════════════════════════════════════════════
   Header desktop (≥ 1200px) « v2 » :
   - logo centré sur une plaque sombre qui descend sous le header (trapèze à liseré d'accent) ;
   - zone de gauche : toutes les actions (langue, carte, catalogues, recherches, options, assistant,
     activité, tableau de bord, connexion), disposition « Marquise » par défaut (2 rangées) ;
     les autres dispositions ont leur propre petite feuille, chargée seulement pour elles ;
   - zone de droite : bannière publicitaire qui déborde sous le header comme la plaque.
   Couleurs : tokens --cfy-hr-* ; la bannière garde les couleurs de ses créations (or et noir).
   ═══════════════════════════════════════════════════════════════════════════════════════════ */

.cfy-hd-tagline,
.cfy-hd-marks,
.cfy-hd-lbl,
.cfy-hd-allcat,
.cfy-hd-banner,
.cfy-hd-menu-btn,
.cfy-hd-menu-panel {
    display: none;
}
/* Sous 1200px : conteneur neutre de l'assistant ; recherches en pictogramme (tablette), masquées sur mobile */
.cfy-hd-ia-root {
    display: contents;
}
@media (max-width: 991.98px) {
    .cfy-hd-search-adv,
    .cfy-hd-search-ia {
        display: none !important;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .catalog-header.cfy-hr :is(.cfy-hd-search-adv, .cfy-hd-search-ia) {
        border: 0 !important;
        background: transparent !important;
        color: var(--cfy-hr-hd-ink-3) !important;
    }
    .catalog-header.cfy-hr :is(.cfy-hd-search-adv, .cfy-hd-search-ia):is(:hover, :focus-visible) {
        color: var(--cfy-hr-accent-text) !important;
    }
}

@media (min-width: 1200px) {

    html body .catalog-header.cfy-hr,
    html body .system-message-wrapper,
    html body .cfy-hmq {
        --cfy-pr-w: 470px;          /* largeur de la plaque du logo */
        --cfy-pr-drop: 24px;        /* débord de la plaque sous le header */
        --cfy-pr-k: 0.203125;       /* pente commune des bords en biais (décalage / hauteur) */
        --cfy-pr-tz: calc(var(--cfy-pr-k) * (var(--cfy-hd-h) + var(--cfy-pr-drop)));   /* retrait bas de la plaque */
        --cfy-pr-logo-h: 52px;      /* hauteur du logo */
        --cfy-pr-rule: 4px;         /* épaisseur du liseré */
        --cfy-mq-u: 32px;           /* barre de service */
        --cfy-mq-m: 72px;           /* barre principale (32 + 72 = hauteur du header) */
        --cfy-mq-gap: 18px;         /* écart entre les liens de la barre de service */
        overflow: visible !important;
    }

    /* ---------- Débordement autorisé : la plaque sort du header ---------- */
html body .nk-header.nk-header-fixed,
    html body .nk-header.nk-header-fixed > .container-fluid,
    html body .nk-header.nk-header-fixed .nk-header-wrap,
    html body .catalog-header.cfy-hr .header-wrap-codepen {
        overflow: visible !important;
    }

    /* Pas de reflet translucide sur le header */
html body .catalog-header.cfy-hr::before {
        background: none !important;
    }

    /* ---------- Centrage sur la fenêtre : le header commence après le menu latéral, une colonne finale
       de la largeur du menu recentre la plaque (déplié 290px, replié 76px, aucun menu : 0) ---------- */
html body .catalog-header.cfy-hr,
    html body .system-message-wrapper,
    html body .cfy-hmq {
        --cfy-pr-sb: 0px;           /* largeur du menu latéral */
        /* décalage plafonné : la colonne de gauche garde au moins 320px */
        --cfy-pr-off: clamp(0px, calc(100vw - var(--cfy-pr-sb) - 48px - var(--cfy-pr-w) - 32px - 640px), var(--cfy-pr-sb));
    }
    html body .nk-sidebar + .nk-wrap :is(.catalog-header.cfy-hr, .system-message-wrapper, .cfy-hmq) {
        --cfy-pr-sb: 290px;
    }
    html body .nk-sidebar.is-compact + .nk-wrap :is(.catalog-header.cfy-hr, .system-message-wrapper, .cfy-hmq) {
        --cfy-pr-sb: 76px;
    }

    /* ---------- Zone de gauche : la boîte du header s'arrête 16px avant la plaque (marge de fin
       calculée depuis le centre de la plaque) ; les conteneurs d'origine deviennent transparents et
       leurs boutons se placent directement dans cette zone ---------- */
    html body .catalog-header.cfy-hr .header-wrap-codepen {
        position: relative;
        display: flex !important;
        flex-wrap: wrap;
        align-content: flex-start;
        align-items: center;
        justify-content: flex-start !important;
        column-gap: var(--cfy-mq-gap);
        row-gap: 0;
        height: var(--cfy-hd-h);
        max-width: none !important;   /* même largeur que le header : centre identique avec ou sans menu latéral */
        padding-block: 0 !important;
        padding-inline: 24px calc(50% + var(--cfy-pr-off) / 2 + var(--cfy-pr-w) / 2 + 16px) !important;
    }
    html body .catalog-header.cfy-hr :is(.header-logo-section, .line-logo, .line-logo-left, .cfy-hd-console, .header-actions) {
        display: contents !important;
    }

    /* Bande de la barre de service, pleine largeur, opaque */
    html body .catalog-header.cfy-hr .header-wrap-codepen::before {
        content: "";
        position: absolute;
        z-index: 0;
        top: 0;
        left: 0;
        right: 0;
        height: var(--cfy-mq-u);
        background: var(--cfy-hr-ph-bg);
        border-bottom: 1px solid var(--cfy-hr-ph-line);
        pointer-events: none;
    }

    /* ---------- Socle commun des actions ---------- */
    html body .catalog-header.cfy-hr .header-wrap-codepen :is(.header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet, .cfy-hd-search-adv, .cfy-hd-search-ia, .cfy-hd-menu-btn, .btn-visitor-header) {
        position: relative;
        z-index: 3;
        box-sizing: border-box;
        display: inline-flex !important;
        align-items: center;
        gap: 7px;
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        border-radius: 0 !important;
        text-decoration: none !important;
        white-space: nowrap;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-lbl {
        display: inline;
        font-size: inherit !important;
        font-weight: inherit !important;
        letter-spacing: inherit;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen :is(.cfy-header-map-btn, .cfy-hd-chatbot, .cfy-hd-activity, .cfy-hd-search-adv, .cfy-hd-search-ia, .cfy-hd-menu-btn) svg {
        flex: 0 0 auto;
        width: 15px !important;
        height: 15px !important;
        color: var(--cfy-hr-accent);
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen :is(.cfy-header-options-link, .catalog-nav-item-dashboard-tablet)::before {
        width: 15px !important;
        height: 15px !important;
        margin: 0 !important;
        background-color: var(--cfy-hr-accent);
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .flag-img-after-logo {
        width: 20px !important;
        height: 15px !important;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-activity .cfy-hd-activity-badge {
        position: static;
        min-width: 18px;
        height: 18px;
        padding: 0 5px;
        line-height: 18px;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen :is(.header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet, .cfy-hd-search-adv, .cfy-hd-search-ia, .cfy-hd-menu-btn, .btn-visitor-header, .cfy-hd-allcat):focus-visible {
        outline: 2px solid var(--cfy-hr-accent) !important;
        outline-offset: 2px !important;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .btn-visitor-header :is(.visitor-btn-label-default, .visitor-btn-label-hover, .visitor-name-header) {
        color: inherit !important;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .visitor-avatar-img-header {
        width: 18px;
        height: 18px;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .visitor-name-header {
        max-width: 140px;
    }

    /* « Tous les catalogues » : bloc d'accent biseauté (pente de la plaque) */
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat {
        --cfy-hl-cut: calc(var(--cfy-pr-k) * 44px);
        position: relative;
        z-index: 3;
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 10px;
        height: 44px;
        padding-block: 0;
        padding-inline: 16px calc(14px + var(--cfy-hl-cut));
        background: var(--cfy-hr-flat);
        color: var(--cfy-hr-on-flat) !important;
        font-size: var(--cfy-fs-sm);
        font-weight: var(--cfy-fw-bold);
        text-decoration: none !important;
        white-space: nowrap;
        -webkit-clip-path: polygon(0 0, calc(100% - var(--cfy-hl-cut)) 0, 100% 100%, 0 100%);
        clip-path: polygon(0 0, calc(100% - var(--cfy-hl-cut)) 0, 100% 100%, 0 100%);
    }
    html[dir="rtl"] body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat {
        -webkit-clip-path: polygon(var(--cfy-hl-cut) 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(var(--cfy-hl-cut) 0, 100% 0, 100% 100%, 0 100%);
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat > svg {
        flex: 0 0 auto;
        width: 16px;
        height: 16px;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat-label {
        font-size: var(--cfy-fs-sm) !important;
        font-weight: var(--cfy-fw-bold) !important;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat:is(:hover, :focus-visible) {
        background: var(--cfy-hr-flat-hi);
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat[aria-expanded="true"] {
        background: var(--cfy-hr-flat-hi);
        box-shadow: inset 0 -3px 0 var(--cfy-hr-on-flat);
    }
    /* Le bouton d'origine de la barre catalogues est remplacé par celui du header */
    html body .cfy-catalog-navbar .cfy-catalog-navbar-all {
        display: none !important;
    }

    /* ═════════ Disposition 01 « Marquise » (défaut) : liens de service en haut, actions en bas ═════════ */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen {
        column-gap: 10px;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen::after {
        content: "";
        order: 9;
        flex: 0 0 100%;
        height: 0;
    }
    /* Rangée 1 : liens de service (petites capitales) */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet) {
        height: 24px !important;
        margin-block: 4px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--cfy-hr-ink-2) !important;
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-semibold) !important;
        line-height: 1;
        letter-spacing: var(--cfy-ls-caps, 0.06em);
        text-transform: uppercase;
        margin-inline-end: 8px !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet):is(:hover, :focus-visible, [aria-expanded="true"]) {
        color: var(--cfy-hr-accent-text) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-chatbot, .cfy-hd-activity)[aria-expanded="true"] {
        box-shadow: inset 0 -2px 0 var(--cfy-hr-accent) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .header-flag-btn-after-logo { order: 1; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-header-map-btn { order: 2; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-header-options-link { order: 7; font-size: 0 !important; gap: 0; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-chatbot { order: 4; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-chatbot .cfy-hd-lbl { display: none; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-activity { order: 5; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .catalog-nav-item-dashboard-tablet { order: 6; }
    /* Rangée 2 : actions (44px, centrées dans les 72px de la rangée, au-dessus du liseré) */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-hd-search-ia, .btn-visitor-header) {
        margin-block: 12px 16px !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat { order: 10; margin-inline-end: -6px !important; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-search-adv { order: 11; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-search-ia { order: 12; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header { order: 13; margin-inline-start: auto !important; }
    /* « Recherche avancée » / « Recherche IA » : parallélogrammes construits comme la plaque du logo
       (forme extérieure en accent = liseré, panneau intérieur ::before décalé de --cfy-sb-s sur les côtés
       et --cfy-sb-b en bas, bords en biais strictement parallèles à la pente --cfy-pr-k) ; enchaînés à
       « Tous les catalogues » avec un écart constant --cfy-sb-gap le long de la pente. */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat {
        margin-inline-end: 0 !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia) {
        --cfy-sb-h: 44px;
        --cfy-sb-s: 2px;
        --cfy-sb-b: 3px;
        --cfy-sb-gap: 6px;
        --cfy-sb-c: calc(var(--cfy-pr-k) * var(--cfy-sb-h));
        --cfy-sb-ci: calc(var(--cfy-pr-k) * (var(--cfy-sb-h) - var(--cfy-sb-b)));
        position: relative;
        isolation: isolate;
        height: var(--cfy-sb-h) !important;
        margin-inline-start: calc(var(--cfy-sb-gap) - var(--cfy-sb-c) - 10px) !important;
        padding-block: 0 !important;
        padding-inline: calc(var(--cfy-sb-c) + 10px) !important;
        border: 0 !important;
        background: var(--cfy-hr-accent) !important;
        box-shadow: none !important;
        color: var(--cfy-hr-ink) !important;
        font-size: var(--cfy-fs-sm) !important;
        font-weight: var(--cfy-fw-semibold) !important;
        letter-spacing: 0;
        text-transform: none;
        -webkit-clip-path: polygon(0 0, calc(100% - var(--cfy-sb-c)) 0, 100% 100%, var(--cfy-sb-c) 100%);
        clip-path: polygon(0 0, calc(100% - var(--cfy-sb-c)) 0, 100% 100%, var(--cfy-sb-c) 100%);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia)::before {
        content: "";
        position: absolute;
        z-index: -1;
        inset: 0 var(--cfy-sb-s) var(--cfy-sb-b);
        background: var(--cfy-hr-ph-bg);
        -webkit-clip-path: polygon(0 0, calc(100% - var(--cfy-sb-c)) 0, calc(100% - var(--cfy-sb-c) + var(--cfy-sb-ci)) 100%, var(--cfy-sb-ci) 100%);
        clip-path: polygon(0 0, calc(100% - var(--cfy-sb-c)) 0, calc(100% - var(--cfy-sb-c) + var(--cfy-sb-ci)) 100%, var(--cfy-sb-ci) 100%);
    }
    html[dir="rtl"] body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia) {
        -webkit-clip-path: polygon(var(--cfy-sb-c) 0, 100% 0, calc(100% - var(--cfy-sb-c)) 100%, 0 100%);
        clip-path: polygon(var(--cfy-sb-c) 0, 100% 0, calc(100% - var(--cfy-sb-c)) 100%, 0 100%);
    }
    html[dir="rtl"] body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia)::before {
        -webkit-clip-path: polygon(var(--cfy-sb-c) 0, 100% 0, calc(100% - var(--cfy-sb-ci)) 100%, calc(var(--cfy-sb-c) - var(--cfy-sb-ci)) 100%);
        clip-path: polygon(var(--cfy-sb-c) 0, 100% 0, calc(100% - var(--cfy-sb-ci)) 100%, calc(var(--cfy-sb-c) - var(--cfy-sb-ci)) 100%);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia) svg {
        width: 16px !important;
        height: 16px !important;
        color: var(--cfy-hr-accent-text);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia):is(:hover, :focus-visible, [aria-expanded="true"]) {
        --cfy-sb-b: 5px;
        color: var(--cfy-hr-accent-text) !important;
        box-shadow: none !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia):is(:hover, :focus-visible, [aria-expanded="true"])::before {
        background: var(--cfy-hr-ph-bg-2);
    }
    /* Le contour de focus serait rogné par la découpe : le liseré latéral s'épaissit à la place */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia):focus-visible {
        --cfy-sb-s: 4px;
        outline: 0 !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header,
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header.btn-visitor-no-modal {
        height: 44px !important;
        padding: 0 16px !important;
        border: 1px solid var(--cfy-hr-accent) !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--cfy-hr-accent-text) !important;
        font-size: var(--cfy-fs-sm) !important;
        font-weight: var(--cfy-fw-bold) !important;
        letter-spacing: var(--cfy-ls-caps, 0.06em);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header:is(:hover, :focus-visible) {
        background: var(--cfy-hr-flat) !important;
        color: var(--cfy-hr-on-flat) !important;
    }
    /* Badge connecté : le bouton reste dans la rangée du header (il passait dessous, sur la barre claire) ;
       un identifiant long revient à la ligne à l'intérieur du bouton, jamais coupé. */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header:not(.btn-visitor-no-modal):not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 132px !important;
        min-width: 0 !important;
        max-width: fit-content !important;
    }
    /* Connexion / badge connecté (@slug) : trapèze aux deux bords en biais opposés, comme la plaque du logo
       (« \ » à gauche, « / » à droite, pente --cfy-pr-k). ::before (pictogramme) et ::after (règle de debug
       historique) étant pris, les liserés sont des calques de fond : une bande de --cfy-vb-s perpendiculaire
       à chaque bord en biais (décalée de la distance coin → bord, --cfy-vb-d), une bande de --cfy-vb-b
       en bas, sur l'aplat --cfy-vb-bg ; haut ouvert comme la plaque. */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header:not(#cfy-b1),
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header.btn-visitor-no-modal:not(#cfy-b1) {
        --cfy-vb-h: 44px;
        --cfy-vb-s: 2px;
        --cfy-vb-b: 3px;
        --cfy-vb-bg: var(--cfy-hr-ph-bg);
        --cfy-vb-c: calc(var(--cfy-pr-k) * var(--cfy-vb-h));
        --cfy-vb-d: calc(var(--cfy-vb-c) * cos(atan(var(--cfy-pr-k))));
        --cfy-vb-a: atan(var(--cfy-pr-k));
        --cfy-vb-al: calc(90deg - var(--cfy-vb-a));    /* bande du bord gauche, depuis le coin bas gauche */
        --cfy-vb-ar: calc(270deg + var(--cfy-vb-a));   /* bande du bord droit, depuis le coin bas droit */
        --cfy-vb-ab: 0deg;                             /* bande horizontale : en bas */
        --cfy-vb-poly: polygon(0 0, 100% 0, calc(100% - var(--cfy-vb-c)) 100%, var(--cfy-vb-c) 100%);
        padding-inline: calc(var(--cfy-vb-c) + 14px) !important;
        border: 0 !important;
        background:
            linear-gradient(var(--cfy-vb-al), transparent var(--cfy-vb-d), var(--cfy-hr-accent) var(--cfy-vb-d) calc(var(--cfy-vb-d) + var(--cfy-vb-s)), transparent calc(var(--cfy-vb-d) + var(--cfy-vb-s))),
            linear-gradient(var(--cfy-vb-ar), transparent var(--cfy-vb-d), var(--cfy-hr-accent) var(--cfy-vb-d) calc(var(--cfy-vb-d) + var(--cfy-vb-s)), transparent calc(var(--cfy-vb-d) + var(--cfy-vb-s))),
            linear-gradient(var(--cfy-vb-ab), var(--cfy-hr-accent) var(--cfy-vb-b), transparent var(--cfy-vb-b)),
            var(--cfy-vb-bg) !important;
        transition: none;
        -webkit-clip-path: var(--cfy-vb-poly);
        clip-path: var(--cfy-vb-poly);
    }
    /* Survol : inversion des bordures -- trapèze retourné (biais « / » à gauche, « \ » à droite, large en bas),
       liseré horizontal en haut ; les bandes partent alors des coins hauts */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header:not(#cfy-b1):is(:hover, :focus-visible) {
        --cfy-vb-al: calc(90deg + var(--cfy-vb-a));
        --cfy-vb-ar: calc(270deg - var(--cfy-vb-a));
        --cfy-vb-ab: 180deg;
        --cfy-vb-poly: polygon(var(--cfy-vb-c) 0, calc(100% - var(--cfy-vb-c)) 0, 100% 100%, 0 100%);
        --cfy-vb-bg: var(--cfy-hr-flat);
        color: var(--cfy-hr-on-flat) !important;
    }
    /* Flèche historique du survol (couleur figée, collée au bord droit) : tomberait sur le biais */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header.btn-visitor-no-modal:not(#cfy-b1)::after {
        content: none;
    }
    /* Le contour de focus serait rogné par la découpe : les liserés s'épaississent à la place */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header:not(#cfy-b1):focus-visible {
        --cfy-vb-s: 4px;
        --cfy-vb-b: 5px;
        outline: 0 !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header .visitor-name-header:not(#cfy-b1):not(#cfy-b2) {
        min-width: 0;
        max-width: none !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        line-height: var(--cfy-lh-tight) !important;
        text-align: start;
    }

    /* ---------- Bannière de la zone de droite : pleine zone, déborde sous le header comme la plaque,
       bord intérieur biseauté parallèle à la plaque ; couleurs de la création (or et noir) ---------- */
    html body .catalog-header.cfy-hr .cfy-hd-banner {
        --cfy-ad-bg: #0b0b0c;
        --cfy-ad-gold: #F5C31C;
        --cfy-ad-gold-text: #f7cf49;   /* or éclairci pour le texte : contraste perceptuel suffisant sur le fond sombre */
        --cfy-ad-ink: #f2f2f0;
        --cfy-ad-ink-2: #d4d4d0;
        --cfy-bn-h: calc(var(--cfy-hd-h) + var(--cfy-pr-drop));
        --cfy-bn-tz: calc(var(--cfy-pr-k) * var(--cfy-bn-h));
        --cfy-bn-ti: calc(var(--cfy-pr-k) * (var(--cfy-bn-h) - 3px));
        position: absolute;
        z-index: 4;
        top: 0;
        right: 0;
        left: calc(50% - var(--cfy-pr-off) / 2 + var(--cfy-pr-w) / 2 + 12px - var(--cfy-bn-tz));
        display: block;
        height: var(--cfy-bn-h);
        margin: 0;
        background: linear-gradient(180deg, var(--cfy-hr-accent-lo), var(--cfy-hr-accent-hi));
        -webkit-clip-path: polygon(var(--cfy-bn-tz) 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(var(--cfy-bn-tz) 0, 100% 0, 100% 100%, 0 100%);
        transition: transform 0.28s ease;
    }
    html[dir="rtl"] body .catalog-header.cfy-hr .cfy-hd-banner {
        left: 0;
        right: calc(50% + var(--cfy-pr-off) / 2 + var(--cfy-pr-w) / 2 + 12px - var(--cfy-bn-tz));
        -webkit-clip-path: polygon(0 0, calc(100% - var(--cfy-bn-tz)) 0, 100% 100%, 0 100%);
        clip-path: polygon(0 0, calc(100% - var(--cfy-bn-tz)) 0, 100% 100%, 0 100%);
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-in {
        position: absolute;
        inset: 0 0 3px 0;
        display: flex;
        align-items: center;
        gap: 20px;
        padding-block: 0;
        padding-inline: calc(var(--cfy-bn-tz) + 24px) 24px;
        overflow: hidden;
        background: radial-gradient(ellipse 60% 120% at 22% 60%, #3a2c05 0%, var(--cfy-ad-bg) 70%);
        color: var(--cfy-ad-ink) !important;
        text-decoration: none !important;
        -webkit-clip-path: polygon(calc(var(--cfy-bn-ti) + 3px) 0, 100% 0, 100% 100%, 3px 100%);
        clip-path: polygon(calc(var(--cfy-bn-ti) + 3px) 0, 100% 0, 100% 100%, 3px 100%);
        transition: padding 0.28s ease;
    }
    html[dir="rtl"] body .catalog-header.cfy-hr .cfy-hd-banner-in {
        -webkit-clip-path: polygon(0 0, calc(100% - var(--cfy-bn-ti) - 3px) 0, calc(100% - 3px) 100%, 0 100%);
        clip-path: polygon(0 0, calc(100% - var(--cfy-bn-ti) - 3px) 0, calc(100% - 3px) 100%, 0 100%);
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-pic {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 64px;
        height: 64px;
        border: 2px solid var(--cfy-ad-gold);
        color: var(--cfy-ad-gold);
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-pic svg {
        width: 34px;
        height: 34px;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-tx {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-width: 0;
        line-height: 1.15;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-tx small {
        color: var(--cfy-ad-gold-text);
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-bold) !important;
        letter-spacing: var(--cfy-ls-caps, 0.06em);
        text-transform: uppercase;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-tx strong {
        color: var(--cfy-ad-ink);
        font-size: var(--cfy-fs-h4) !important;
        font-weight: var(--cfy-fw-bold) !important;
        line-height: 1.15;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-sub {
        color: var(--cfy-ad-ink-2);
        font-size: var(--cfy-fs-sm) !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-cta {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 8px;
        height: 38px;
        padding: 0 14px;
        background: var(--cfy-ad-gold);
        color: #000 !important;
        font-size: var(--cfy-fs-sm) !important;
        font-weight: var(--cfy-fw-bold) !important;
        white-space: nowrap;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-cta svg {
        width: 15px;
        height: 15px;
    }
    html[dir="rtl"] body .catalog-header.cfy-hr .cfy-hd-banner-cta svg {
        transform: scaleX(-1);
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-in:is(:hover, :focus-visible) .cfy-hd-banner-cta {
        background: var(--cfy-ad-ink);
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-in:focus-visible {
        outline: 2px solid var(--cfy-ad-gold);
        outline-offset: -6px;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-tag {
        position: absolute;
        top: 0;
        inset-inline-end: 0;
        padding: 2px 8px;
        background: #000;
        color: #d4d4d0;
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-semibold) !important;
        letter-spacing: var(--cfy-ls-caps, 0.06em);
        text-transform: uppercase;
        line-height: 18px;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-ann {
        position: absolute;
        inset-inline-end: 12px;
        bottom: 6px;
        color: #d4d4cf;
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-semibold) !important;
        letter-spacing: 0.14em;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-ann b {
        color: var(--cfy-ad-gold-text);
        letter-spacing: 0.02em;
    }
    /* ---------- Carrousel de bannières vidéo : diapos empilées dans la même forme biseautée,
       vidéo calée sur le bord extérieur (le texte des vidéos y est ancré) ---------- */
    html body .catalog-header.cfy-hr .cfy-hd-bslides {
        position: absolute;
        inset: 0 0 3px 0;
        overflow: hidden;
        background: var(--cfy-ad-bg);
        -webkit-clip-path: polygon(calc(var(--cfy-bn-ti) + 3px) 0, 100% 0, 100% 100%, 3px 100%);
        clip-path: polygon(calc(var(--cfy-bn-ti) + 3px) 0, 100% 0, 100% 100%, 3px 100%);
    }
    html[dir="rtl"] body .catalog-header.cfy-hr .cfy-hd-bslides {
        -webkit-clip-path: polygon(0 0, calc(100% - var(--cfy-bn-ti) - 3px) 0, calc(100% - 3px) 100%, 0 100%);
        clip-path: polygon(0 0, calc(100% - var(--cfy-bn-ti) - 3px) 0, calc(100% - 3px) 100%, 0 100%);
    }
    html body .catalog-header.cfy-hr .cfy-hd-bslide {
        position: absolute;
        inset: 0;
        display: block;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.6s ease, visibility 0s linear 0.6s;
    }
    html body .catalog-header.cfy-hr .cfy-hd-bslide.is-active {
        opacity: 1;
        visibility: visible;
        transition: opacity 0.6s ease, visibility 0s;
    }
    html body .catalog-header.cfy-hr .cfy-hd-bslide video {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: right center;
        pointer-events: none;
    }
    html[dir="rtl"] body .catalog-header.cfy-hr .cfy-hd-bslide video {
        object-position: left center;
    }
    /* Création fournie en un seul gabarit large : montrée en entier, réduite à la largeur de l'encart
       (jamais rognée), centrée dans la zone libre du biseau */
    html body .catalog-header.cfy-hr .cfy-hd-bslide--whole {
        box-sizing: border-box;
        padding-inline-start: calc(var(--cfy-bn-ti) + 6px);
        padding-inline-end: 4px;   /* le header dépasse de 4px hors de l'écran de chaque côté */
    }
    html body .catalog-header.cfy-hr .cfy-hd-bslide--whole img,
    html body .catalog-header.cfy-hr .cfy-hd-bslide--whole video,
    html[dir="rtl"] body .catalog-header.cfy-hr .cfy-hd-bslide--whole video {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        pointer-events: none;
    }
    html body .catalog-header.cfy-hr .cfy-hd-bslide:focus-visible {
        outline: 2px solid var(--cfy-ad-gold);
        outline-offset: -6px;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner--video .cfy-hd-banner-tag {
        z-index: 2;
    }
    /* Points de navigation : côté intérieur, en bas ; zone cliquable 20px, repère carré 8px */
    html body .catalog-header.cfy-hr .cfy-hd-bdots {
        position: absolute;
        z-index: 2;
        bottom: 6px;
        inset-inline-start: 14px;
        display: flex;
        gap: 2px;
        padding: 0 3px;
        background: var(--cfy-ad-bg);
    }
    html body .catalog-header.cfy-hr .cfy-hd-bdot {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
    }
    html body .catalog-header.cfy-hr .cfy-hd-bdot::before {
        content: "";
        width: 8px;
        height: 8px;
        border: 1px solid var(--cfy-ad-ink);
        background: transparent;
        transition: background-color 0.2s ease;
    }
    html body .catalog-header.cfy-hr .cfy-hd-bdot[aria-current="true"]::before {
        border-color: var(--cfy-ad-gold);
        background: var(--cfy-ad-gold);
    }
    html body .catalog-header.cfy-hr .cfy-hd-bdot:focus-visible {
        outline: 2px solid var(--cfy-ad-gold);
        outline-offset: 0;
    }

    /* Rabat au défilement : même mouvement que la plaque */
    html body .catalog-header.cfy-hr.cfy-hd-folded .cfy-hd-banner {
        transform: translateY(calc(-1 * var(--cfy-pr-drop)));
    }
    html body .catalog-header.cfy-hr.cfy-hd-folded .cfy-hd-banner-in {
        padding-top: var(--cfy-pr-drop);
    }

    /* ---------- Liseré : même épaisseur que le bord du chevron ---------- */
html body .catalog-header.cfy-hr::after {
        height: var(--cfy-pr-rule);
        background: linear-gradient(90deg, var(--cfy-hr-accent-lo), var(--cfy-hr-accent-hi) 50%, var(--cfy-hr-accent-lo));
    }

    /* ---------- Plaque du logo : rectangle sombre opaque qui descend sous le header, bordures en
       trapèze (liseré d'accent de 3px sur les côtés inclinés et le bas, fond du lien) + intérieur (::before) ---------- */
html body .catalog-header.cfy-hr #anchortop.logo-wrapper {
        position: absolute !important;
        z-index: 5;
        top: 0;
        left: calc(50% - var(--cfy-pr-off) / 2);
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 7px;
        width: var(--cfy-pr-w) !important;
        max-width: none !important;
        height: calc(var(--cfy-hd-h) + var(--cfy-pr-drop)) !important;
        max-height: none !important;
        padding: 0 0 calc(var(--cfy-pr-drop) - 6px) !important;
        margin: 0 !important;
        transform: translateX(-50%) !important;
        border: 0 !important;
        background: linear-gradient(180deg, var(--cfy-hr-accent-lo), var(--cfy-hr-accent-hi)) !important;
        box-shadow: none;
        -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - var(--cfy-pr-tz)) 100%, var(--cfy-pr-tz) 100%);
        clip-path: polygon(0 0, 100% 0, calc(100% - var(--cfy-pr-tz)) 100%, var(--cfy-pr-tz) 100%);
    }
    html[dir="rtl"] body .catalog-header.cfy-hr #anchortop.logo-wrapper {
        left: calc(50% + var(--cfy-pr-off) / 2);
    }
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper::before {
        content: "";
        position: absolute;
        z-index: 0;
        inset: 0 3px 3px;
        background: var(--cfy-hr-ph-bg);
        -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - var(--cfy-pr-tz) + 0.6px) 100%, calc(var(--cfy-pr-tz) - 0.6px) 100%);
        clip-path: polygon(0 0, 100% 0, calc(100% - var(--cfy-pr-tz) + 0.6px) 100%, calc(var(--cfy-pr-tz) - 0.6px) 100%);
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-marks {
        position: relative;
        z-index: 1;
        display: flex;
        gap: 6px;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-marks i {
        display: block;
        width: 18px;
        height: 3px;
        background: var(--cfy-hr-ph-line-2);
    }

    /* ---------- Balayage lumineux aller-retour sur les traits (masque = forme des traits) ---------- */
html body .catalog-header.cfy-hr #anchortop .cfy-hd-marks {
        -webkit-mask: repeating-linear-gradient(90deg, #000 0 18px, transparent 18px 24px);
        mask: repeating-linear-gradient(90deg, #000 0 18px, transparent 18px 24px);
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-marks::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 30px;
        height: 100%;
        background: linear-gradient(90deg, transparent, var(--cfy-hr-accent) 30%, var(--cfy-hr-accent-hi) 50%, var(--cfy-hr-accent) 70%, transparent);
        animation: cfyK2000 1.6s ease-in-out infinite alternate;
    }
    /* Pause pendant le défilement ; pas de pause sur inactivité : animation de composition seule,
       sans recalcul de style ni mise en page */
.scrolling .cfy-hd-marks::after {
        animation-play-state: paused !important;
    }

    /* ---------- Plaque repliée dans le header pendant le défilement : logo réduit, devises
       posées au-dessus du liseré, traits masqués (transform / opacity uniquement) ---------- */
html body .catalog-header.cfy-hr #anchortop.logo-wrapper,
    html body .catalog-header.cfy-hr #anchortop :is(.catalog-logo, .cfy-hd-tagline, .cfy-hd-marks) {
        transition: transform 0.28s ease, opacity 0.2s ease;
    }
    html body .catalog-header.cfy-hr.cfy-hd-folded #anchortop.logo-wrapper {
        transform: translateX(-50%) translateY(calc(-1 * var(--cfy-pr-drop))) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-folded #anchortop .cfy-hd-tagline {
        transform: translateY(calc(var(--cfy-hd-h) / 2 - var(--cfy-pr-logo-h) / 2 - 24px + var(--cfy-pr-drop)));
    }
    html body .catalog-header.cfy-hr.cfy-hd-folded #anchortop .catalog-logo {
        transform: translateY(calc(var(--cfy-pr-drop) + 6px)) scale(0.85);
    }
    html body .catalog-header.cfy-hr.cfy-hd-folded #anchortop .cfy-hd-marks {
        transform: translateY(calc(var(--cfy-hd-h) / 2 - var(--cfy-pr-logo-h) / 2 - 32px + var(--cfy-pr-drop)));
        opacity: 0;
    }
    .cfy-hd-folded .cfy-hd-marks::after {
        animation-play-state: paused !important;
    }
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper .catalog-logo {
        position: relative;
        z-index: 1;
        height: var(--cfy-pr-logo-h) !important;
        max-height: var(--cfy-pr-logo-h) !important;
        width: auto !important;
        max-width: calc(var(--cfy-pr-w) - 48px) !important;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-tagline {
        position: relative;
        z-index: 1;
        display: block;
        --cfy-tl-h: 1.6em;                  /* hauteur d'une ligne du tambour (place pour le halo) */
        width: calc(var(--cfy-pr-w) - 48px);
        max-width: calc(var(--cfy-pr-w) - 48px);
        height: var(--cfy-tl-h);
        overflow: hidden;
        padding: 0 4px;
        background: var(--cfy-hr-ph-bg);   /* même fond que la plaque : invisible, fixe le fond réel du texte */
        color: var(--cfy-hr-accent-text);
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-semibold) !important;
        line-height: var(--cfy-tl-h);
        letter-spacing: var(--cfy-ls-caps, 0.06em);
        text-align: center;
        text-transform: uppercase;
    }

    /* ---------- Devises en tambour vertical : 5 devises + copie de la 1re, montée toutes les 4 s
       (transform seul) ; halo d'accent sur les lettres et reflet qui balaie le texte au rythme des traits ---------- */
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-reel {
        display: block;
        animation: cfyTaglineReel 20s ease-in-out infinite;
        will-change: transform;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-tl {
        display: block;
        height: var(--cfy-tl-h);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        background: linear-gradient(90deg, var(--cfy-hr-accent-text) 0 40%, var(--cfy-hr-ink) 50%, var(--cfy-hr-accent-text) 60% 100%);
        background-size: 300% 100%;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        filter: drop-shadow(0 0 3px var(--cfy-hr-accent));
        animation: cfyTaglineShine 1.6s ease-in-out infinite alternate;
    }
    .scrolling .cfy-hd-reel,
    .scrolling .cfy-hd-tl {
        animation-play-state: paused !important;
    }
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper:focus-visible {
        outline: 2px solid var(--cfy-hr-ink) !important;
        outline-offset: -8px !important;
    }

    /* ---------- Barre fixe de la page éditeur : sous le header (la pointe du logo passe devant) ;
       elle passe sous le méga-menu des catalogues quand il est ouvert ---------- */
html body .page-publisher-typology[data-sticky-desktop="1"] .publisher-header-card.publisher-header-sticky {
        z-index: 1009;
        top: calc(var(--publisher-sticky-top, var(--publisher-sticky-top-desktop, 85px)) + var(--publisher-sticky-drop, 0px));
    }
    /* Plaque repliée pendant le défilement : la barre remonte sous le header, au même rythme */
    html body .page-publisher-typology[data-sticky-desktop="1"] .publisher-header-card.publisher-header-sticky.is-hd-folded {
        top: var(--publisher-sticky-top, var(--publisher-sticky-top-desktop, 85px));
    }
    html body .page-publisher-typology[data-sticky-desktop="1"] .publisher-header-card.publisher-header-sticky.is-placed {
        transition: top 0.28s ease;
    }
}

/* ---------- Gabarits : taille de la plaque ---------- */
@media (min-width: 1800px) and (max-width: 1919.98px) {
    html body .catalog-header.cfy-hr,
    html body .system-message-wrapper {
        --cfy-pr-w: 440px;
        --cfy-pr-logo-h: 48px;
    }
}
@media (min-width: 1440px) and (max-width: 1799.98px) {
    html body .catalog-header.cfy-hr,
    html body .system-message-wrapper {
        --cfy-pr-w: 400px;
        --cfy-pr-logo-h: 44px;
    }
}
@media (min-width: 1200px) and (max-width: 1439.98px) {
    html body .catalog-header.cfy-hr,
    html body .system-message-wrapper {
        --cfy-pr-w: 350px;
        --cfy-pr-drop: 22px;
        --cfy-pr-logo-h: 38px;
        --cfy-mq-gap: 14px;
    }
}
@media (min-width: 1200px) and (max-width: 1365.98px) {
    html body .catalog-header.cfy-hr,
    html body .system-message-wrapper {
        --cfy-pr-w: 320px;
        --cfy-pr-logo-h: 34px;
    }
}

/* ---------- Paliers de largeur : zone de gauche et bannière ---------- */
@media (min-width: 1200px) and (max-width: 1799.98px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-activity, .catalog-nav-item-dashboard-tablet) .cfy-hd-lbl,
    html body .catalog-header.cfy-hr .cfy-hd-banner-sub {
        display: none;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .catalog-nav-item-dashboard-tablet {
        font-size: 0 !important;
        gap: 0;
    }
}
@media (min-width: 1200px) and (max-width: 1919.98px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia) .cfy-hd-lbl {
        display: block;
        width: min-content;
        white-space: normal;
        line-height: 1.15;
        font-size: var(--cfy-fs-caption) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia) {
        /* Loupe gardée à côté du libellé sur deux lignes : la marge
           latérale rend la place de l'icône pour que « Tous les catalogues » reste entier. */
        padding-inline: var(--cfy-sb-c) !important;
        gap: 6px;
    }
}
@media (min-width: 1200px) and (max-width: 1599.98px) {
    html body .catalog-header.cfy-hr .cfy-hd-banner-pic {
        display: none;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-tx strong {
        font-size: var(--cfy-fs-md) !important;
    }
}
@media (min-width: 1200px) and (max-width: 1599.98px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header :is(.visitor-btn-label-default, .visitor-btn-label-hover) {
        display: none;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header:not(#cfy-b1) {
        padding-inline: calc(var(--cfy-vb-c) + 10px) !important;
    }
    /* Badge connecté : avatar seul, comme le bouton de connexion en icône seule, dans toutes les dispositions
       (la zone n'a pas la place d'un identifiant, même sur deux lignes : il était rogné par le cadre du bouton ;
       il reste dans l'infobulle et revient en entier à 1600px). */
    html body .catalog-header.cfy-hr .header-wrap-codepen .btn-visitor-header .visitor-name-header:not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header:not(.btn-visitor-no-modal):not(#cfy-b1):not(#cfy-b2) {
        flex: 0 0 auto !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header .visitor-avatar-img-header {
        width: 26px;
        height: 26px;
    }
}
@media (min-width: 1200px) and (max-width: 1439.98px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-header-map-btn .cfy-hd-lbl,
    html body .catalog-header.cfy-hr .cfy-hd-banner-tx small {
        display: none;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header:not(#cfy-b1) {
        padding-inline: calc(var(--cfy-vb-c) + 10px) !important;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .visitor-name-header {
        max-width: 90px;
    }
    html body .catalog-header.cfy-hr .cfy-hd-banner-in {
        gap: 12px;
        padding-inline-end: 16px;
    }
}

@media (min-width: 1200px) and (max-width: 1365.98px) {
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat-label {
        display: none;
    }
}

@keyframes cfyK2000 {
    from { transform: translateX(-6px); }
    to { transform: translateX(66px); }
}
@keyframes cfyTaglineReel {
    0%, 17% { transform: translateY(0); }
    20%, 37% { transform: translateY(calc(-1 * var(--cfy-tl-h))); }
    40%, 57% { transform: translateY(calc(-2 * var(--cfy-tl-h))); }
    60%, 77% { transform: translateY(calc(-3 * var(--cfy-tl-h))); }
    80%, 97% { transform: translateY(calc(-4 * var(--cfy-tl-h))); }
    100% { transform: translateY(calc(-5 * var(--cfy-tl-h))); }
}
@keyframes cfyTaglineShine {
    from { background-position: 100% 0; }
    to { background-position: 0 0; }
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-tl {
        background: none;
        -webkit-text-fill-color: currentColor;
        animation: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-reel {
        animation-timing-function: steps(1, end);
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-tl {
        animation: none;
        background: none;
        -webkit-text-fill-color: currentColor;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-marks::after {
        animation: none;
        display: none;
    }
    html body .catalog-header.cfy-hr #anchortop :is(.catalog-logo, .cfy-hd-tagline, .cfy-hd-marks),
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper {
        transition: none;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-marks i:first-child {
        background: var(--cfy-hr-accent);
    }
}

/* Recherche avancée en cours : le bouton reste à l'état actif (aplat plein, texte sur aplat) */
@media (min-width: 1200px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-search-adv.is-current {
        --cfy-sb-b: 5px;
        color: var(--cfy-hr-on-flat) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-search-adv.is-current::before {
        background: var(--cfy-hr-flat);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-search-adv.is-current:is(:hover, :focus-visible)::before {
        background: var(--cfy-hr-flat-hi);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-search-adv.is-current svg {
        color: inherit;
    }
}

/* ---------- Texte agrandi (zoom du texte, taille de police minimale du navigateur, traductions longues) ----------
   Les paliers ci-dessus sont calculés pour la taille de texte nominale. Quand le texte est plus grand, la rangée
   ne doit jamais passer à la ligne (les boutons sortaient du header par le bas) : chaque bouton part d'une base
   nulle et s'élargit jusqu'à sa largeur naturelle, sans la dépasser. À taille nominale le résultat est identique
   (chacun atteint sa largeur naturelle, l'espace restant va à la marge automatique de Connexion) ; quand la place
   manque, les boutons se partagent la rangée et leurs libellés finissent par « … » (libellé complet dans
   l'infobulle). Aucun libellé n'est masqué. */
@media (min-width: 1200px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet, .cfy-hd-allcat, .cfy-hd-search-adv, .cfy-hd-search-ia, .btn-visitor-header):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        flex: 1 1 0 !important;
        min-width: var(--cfy-hd-fit-min, 24px) !important;   /* pictogramme toujours visible */
        max-width: max-content !important;
        overflow: hidden;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-hd-search-ia, .btn-visitor-header) {
        --cfy-hd-fit-min: 56px;   /* pictogramme + découpes en biais */
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-lbl, .cfy-hd-txt, .cfy-hd-allcat-label, .visitor-btn-label-default, .visitor-name-header):not(#cfy-b1):not(#cfy-b2) {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    /* libellés sur deux lignes (1200-1919px) : lignes entières seulement, dans les 44px du bouton */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia) .cfy-hd-lbl {
        max-height: round(down, 40px, 1lh);
    }
}

/* ---------- Espace sous le header : la zone de contenu (barre des catalogues, pages) commence --cfy-hd-below
   sous le header (ajoutée au décalage du contenu calculé au chargement) ---------- */
@media (min-width: 1200px) {
    html body .nk-header.nk-header-fixed {
        --cfy-hd-below: 20px;
    }
}

/* Recherche IA en maintenance (2026-10-15) : bouton affiché mais grisé et inerte (aria-disabled), message dans
   l'infobulle — même rendu au repos et au survol, à toutes les dispositions du header. */
html body .catalog-header .cfy-hd-search-ia[aria-disabled="true"]:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3),
html body .catalog-header .cfy-hd-search-ia[aria-disabled="true"]:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):is(:hover, :focus-visible, :active) {
    opacity: .4 !important;
    filter: grayscale(1) !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* « Tous les catalogues » : loupe sur toute la hauteur du bouton (le tracé touche les bords haut et bas).
   Le tracé occupe 20/24 de la boîte, d'où une boîte à 1,2 × la hauteur du bouton, centrée et rognée par le
   bouton ; marges latérales négatives = vide transparent du tracé. Trait affiné. Smartphone (tuile) non concerné. */
@media (min-width: 768px) {
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat {
        --cfy-ac-h: 44px;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat > svg:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):not(#cfy-b5) {
        flex: 0 0 auto !important;
        align-self: center !important;
        width: calc(var(--cfy-ac-h) * 1.2) !important;
        height: calc(var(--cfy-ac-h) * 1.2) !important;
        margin-inline: calc(var(--cfy-ac-h) * -0.1) !important;
        stroke-width: 1.6;
        max-width: none !important;
        max-height: none !important;
        min-width: calc(var(--cfy-ac-h) * 1.2);
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat:not(#cfy-b1) {
        padding-inline: 8px calc(8px + var(--cfy-hl-cut)) !important;
        gap: 6px !important;
    }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-allcat {
        --cfy-ac-h: 40px;
    }
}
/* Place rendue à « Tous les catalogues » : Recherche avancée / IA sans marge latérale supplémentaire */
@media (min-width: 1920px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia) {
        padding-inline: var(--cfy-sb-c) !important;
    }
}

/* « Tous les catalogues », ordinateur, disposition marquise : liseré clair en haut au repos ; au survol, un cadre
   part de la loupe et s'efface une seule fois, et « Rechercher dans » s'incruste au-dessus du libellé.
   La forme en biais passe sur ::before pour que le cadre puisse déborder du bouton. */
.cfy-hd-allcat-pre {
    display: none;
}
@media (min-width: 1200px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        isolation: isolate;
        overflow: visible !important;
        background: transparent !important;
        box-shadow: none !important;
        -webkit-clip-path: none !important;
        clip-path: none !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: var(--cfy-hr-flat);
        box-shadow: inset 0 2px 0 var(--cfy-hr-flat-hi);
        -webkit-clip-path: polygon(0 0, calc(100% - var(--cfy-hl-cut)) 0, 100% 100%, 0 100%);
        clip-path: polygon(0 0, calc(100% - var(--cfy-hl-cut)) 0, 100% 100%, 0 100%);
        transition: background-color .18s;
    }
    html[dir="rtl"] body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat::before {
        -webkit-clip-path: polygon(var(--cfy-hl-cut) 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(var(--cfy-hl-cut) 0, 100% 0, 100% 100%, 0 100%);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat:is(:hover, :focus-visible)::before {
        background: var(--cfy-hr-flat-hi);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat[aria-expanded="true"]::before {
        background: var(--cfy-hr-flat-hi);
        box-shadow: inset 0 -3px 0 var(--cfy-hr-on-flat);
    }
    /* cadre carré parti de la loupe (tracé de 44px à 8px du bord) */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat::after {
        content: "";
        position: absolute;
        top: 0;
        inset-inline-start: 8px;
        width: var(--cfy-ac-h);
        height: var(--cfy-ac-h);
        border: 2px solid var(--cfy-hr-flat);
        opacity: 0;
        pointer-events: none;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat:is(:hover, :focus-visible)::after {
        animation: cfyAllcatPulse .7s ease-out 1;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat-label {
        transition: transform .2s;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat-pre {
        display: block;
        position: absolute;
        top: 7px;
        inset-inline-start: calc(14px + var(--cfy-ac-h));
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-medium, 500);
        line-height: 14px;
        white-space: nowrap;
        opacity: 0;
        transform: translateY(4px);
        transition: opacity .2s, transform .2s;
        pointer-events: none;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat:is(:hover, :focus-visible) .cfy-hd-allcat-label {
        transform: translateY(7px);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat:is(:hover, :focus-visible) .cfy-hd-allcat-pre {
        opacity: 1;
        transform: none;
    }
}
/* icône seule : pas de libellé, donc pas de surtitre */
@media (min-width: 1200px) and (max-width: 1365.98px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat-pre {
        display: none;
    }
}
@keyframes cfyAllcatPulse {
    0% { opacity: .9; transform: scale(1); }
    100% { opacity: 0; transform: scale(1.7); }
}
@media (prefers-reduced-motion: reduce) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat:is(:hover, :focus-visible)::after {
        animation: none;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-allcat-label, .cfy-hd-allcat-pre, .cfy-hd-allcat::before) {
        transition: none;
    }
}

/* Ordinateur, disposition marquise : loupe de « Tous les catalogues » un peu réduite
   (tracé à 0,875 × la hauteur du bouton au lieu de toute la hauteur) ; la place rendue va aux marges
   intérieures de « Recherche avancée » et « Recherche IA ». Tablette inchangée. */
@media (min-width: 1200px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat > svg:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):not(#cfy-b5):not(#cfy-b6) {
        width: calc(var(--cfy-ac-h) * 1.05) !important;
        height: calc(var(--cfy-ac-h) * 1.05) !important;
        min-width: calc(var(--cfy-ac-h) * 1.05);
        margin-inline: calc(var(--cfy-ac-h) * -.0875) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat::after {
        inset-inline-start: calc(8px - var(--cfy-ac-h) * .0625);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat-pre {
        inset-inline-start: calc(14px + var(--cfy-ac-h) * .875);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia):not(#cfy-b1) {
        padding-inline: calc(var(--cfy-sb-c) + 6px) !important;
    }
}
@media (min-width: 1200px) and (max-width: 1919.98px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-search-adv, .cfy-hd-search-ia):not(#cfy-b1):not(#cfy-b2) {
        padding-inline: calc(var(--cfy-sb-c) + 2px) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat:not(#cfy-b1):not(#cfy-b2) {
        gap: 4px !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat-pre {
        inset-inline-start: calc(12px + var(--cfy-ac-h) * .875);
    }
}

/* Ordinateur, disposition marquise : loupe de « Tous les catalogues » en médaillon carré inversé
   — carré de 30px en couleur du texte du bouton, loupe de 18px en
   couleur du bouton, extrémités carrées. Le cadre qui pulse et « Rechercher dans » suivent le médaillon.
   Tablette et smartphone inchangés. */
@media (min-width: 1200px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat > svg:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):not(#cfy-b5):not(#cfy-b6):not(#cfy-b7) {
        box-sizing: border-box;
        width: 30px !important;
        height: 30px !important;
        min-width: 30px;
        margin-inline: 0 !important;
        padding: 6px;
        background: var(--cfy-hr-on-flat);
        color: var(--cfy-hr-flat);
        stroke-width: 2.6;
        stroke-linecap: square;
        stroke-linejoin: miter;
        overflow: visible;
        transition: color .18s;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat:is(:hover, :focus-visible, [aria-expanded="true"]) > svg:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):not(#cfy-b5):not(#cfy-b6):not(#cfy-b7) {
        color: var(--cfy-hr-flat-hi);
    }
    /* cadre centré sur le médaillon (8px de marge + 15px de demi-médaillon − demi-hauteur du bouton) */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat::after {
        inset-inline-start: calc(23px - var(--cfy-ac-h) / 2);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat-pre {
        inset-inline-start: 44px;
    }
}
@media (min-width: 1200px) and (max-width: 1919.98px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-allcat-pre {
        inset-inline-start: 42px;
    }
}

/* ---------- Disposition « Marquise », rangée de service (≥ 1200px) : ordre et libellés ----------
   Accueil (pictogramme), langue (drapeau + code), Map, Dashboard et Paramètres (pictogramme + libellé),
   assistant et notifications (pictogramme seul, libellé dans l'infobulle). Mêmes libellés à toutes les largeurs. */
@media (min-width: 1200px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-header-map-btn:not(#cfy-b1) { order: 2; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .catalog-nav-item-dashboard-tablet:not(#cfy-b1) { order: 3; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-header-options-link:not(#cfy-b1) { order: 4; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-chatbot:not(#cfy-b1) { order: 5; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-activity:not(#cfy-b1) { order: 6; }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.catalog-nav-item-dashboard-tablet, .cfy-header-options-link):not(#cfy-b1):not(#cfy-b2) {
        gap: 6px;
        font-size: var(--cfy-fs-caption) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-header-map-btn .cfy-hd-lbl:not(#cfy-b1):not(#cfy-b2) {
        display: inline;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-activity .cfy-hd-lbl:not(#cfy-b1):not(#cfy-b2) {
        display: none;
    }
    /* Libellés coupés au besoin (overflow) : hauteur de ligne qui garde les accents des capitales (È) */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .catalog-nav-item-dashboard-tablet) :is(.cfy-hd-lbl, .cfy-hd-txt):not(#cfy-b1):not(#cfy-b2) {
        line-height: 1.4;
    }
    /* Écart entre deux liens : 10px (écart de colonne seul) */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-home, .header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet):not(#cfy-b1):not(#cfy-b2) {
        margin-inline-end: 0 !important;
    }
}
/* Ordinateur inférieur au FHD : écart de 6px et capitales moins espacées, pour garder les libellés entiers */
@media (min-width: 1200px) and (max-width: 1439.98px) {
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen :is(.cfy-hd-home, .header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet):not(#cfy-b1):not(#cfy-b2) {
        margin-inline-end: -4px !important;
        letter-spacing: 0.02em;
    }
}

/* ═══ commercify_header_marquee.css ═══ */
/* ═══════════════ Bandeau d'informations : bande de 24px sous le bas du header, à gauche de la plaque du logo ═══════════════
   Même bande que le message plateforme, qui garde la priorité. Affiché à partir de 1200px seulement. Hauteur du
   conteneur inchangée ; débords voulus et bornés : 4px au-dessus (onglet, tracé), fond jusqu'au bord de la fenêtre et
   jusqu'au biais de la plaque, panneaux dépliés au survol par-dessus la barre des catalogues. Angles droits, couleurs
   par jetons du thème, tailles et graisses de la charte. */

.cfy-hmq { display: none; }

@media (min-width: 1200px) {
    html body .cfy-hmq:not([hidden]) {
        --cfy-hmq-k: var(--cfy-pr-k, 0.203125);
        --cfy-hmq-cut: calc(24px * var(--cfy-hmq-k));
        --cfy-hmq-up: #6ef0a8;
        position: fixed;
        z-index: 1016;
        top: 104px;
        height: 24px;
        inset-inline-start: calc(var(--cfy-pr-sb, 0px) + 24px);
        inset-inline-end: calc((100% - var(--cfy-pr-sb, 0px)) / 2 + var(--cfy-pr-off, 0px) / 2 + var(--cfy-pr-w, 470px) / 2 + 16px);
        display: flex;
        align-items: center;
        container: cfyhmq / inline-size;
        font-family: var(--cfy-font-sans);
        font-size: var(--cfy-fs-sm);
        font-weight: var(--cfy-fw-medium);
        line-height: 1;
        color: var(--cfy-tx-ink);
        white-space: nowrap;
    }
    /* Priorité au message plateforme ; pages à bande de 12px : pas de bandeau */
    html body .system-message-wrapper ~ .cfy-hmq { visibility: hidden; }
    html.cfy-pg-hyperprofil-toolbar body .cfy-hmq { display: none; }
    html.cfy-mm-open body .cfy-hmq { visibility: hidden; }
    /* Page défilée ou header replié : aucun bandeau */
    html body .cfy-hmq.is-away { display: none; }
    /* Accès du header descendus dans la bande : aucun bandeau */
    html body .cfy-hmq.is-crowded { visibility: hidden; pointer-events: none; }
}

.cfy-hmq-clip { position: relative; flex: 1 1 0; min-width: 0; height: 24px; overflow: hidden; }
.cfy-hmq-half { display: inline-flex; align-items: center; height: 24px; }
.cfy-hmq-track {
    display: inline-flex;
    align-items: center;
    height: 24px;
    animation: cfy-hmq-run var(--cfy-hmq-dur, 40s) linear infinite;
}
@keyframes cfy-hmq-run { to { transform: translateX(-50%); } }
@keyframes cfy-hmq-run-rtl { to { transform: translateX(50%); } }
[dir="rtl"] .cfy-hmq-track { animation-name: cfy-hmq-run-rtl; }
.cfy-hmq:is(:hover, :focus-within) .cfy-hmq-track { animation-play-state: paused; }
.cfy-hmq a { color: inherit; text-decoration: none; }
.cfy-hmq a:focus-visible { outline: 1px solid var(--cfy-tx-link); outline-offset: -1px; }
.cfy-hmq-ic { flex: 0 0 auto; width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: square; stroke-linejoin: miter; }
.cfy-hmq-caps { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
.cfy-hmq-num { font-family: var(--cfy-font-mono); font-variant-numeric: tabular-nums; }
/* Chiffres, prix et textes d'annonces : sens de lecture propre à leur contenu, quel que soit celui de la page */
.cfy-hmq-num, .cfy-hmq-f-t, .cfy-hmq-f-c, .cfy-hmq-f-drop h4, .cfy-hmq-f-meta span, .cfy-hmq-f-meta div, .cfy-hmq-f-meta b { unicode-bidi: plaintext; }
/* Écritures liées : pas d'espacement entre les lettres */
[dir="rtl"] .cfy-hmq-caps, [dir="rtl"] .cfy-hmq-q-n, [dir="rtl"] .cfy-hmq--led .cfy-hmq-track { letter-spacing: 0; }

/* Fond de bandeau sombre (famille du header) : du bord de la fenêtre au biais de la plaque */
.cfy-hmq-strip {
    position: absolute;
    top: 0;
    bottom: 0;
    inset-inline: -24px -29px;
    background: var(--cfy-hr-ph-bg);
    box-shadow: inset 0 -1px 0 var(--cfy-hr-ph-line-2);
    clip-path: polygon(0 0, calc(100% - var(--cfy-hmq-cut)) 0, 100% 100%, 0 100%);
}
[dir="rtl"] .cfy-hmq-strip { clip-path: polygon(var(--cfy-hmq-cut) 0, 100% 0, 100% 100%, 0 100%); }
/* Bande posée avant l'arrivée des données : même fond, pas de bande claire vide au chargement */
.cfy-hmq.cfy-hmq-pending::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    inset-inline: -24px -29px;
    background: var(--cfy-hr-ph-bg);
    box-shadow: inset 0 -1px 0 var(--cfy-hr-ph-line-2);
    clip-path: polygon(0 0, calc(100% - var(--cfy-hmq-cut)) 0, 100% 100%, 0 100%);
}
[dir="rtl"] .cfy-hmq.cfy-hmq-pending::before { clip-path: polygon(var(--cfy-hmq-cut) 0, 100% 0, 100% 100%, 0 100%); }

/* Panneau déplié au survol ou au focus, sous la bande */
.cfy-hmq-drop {
    position: absolute;
    z-index: 2;
    top: calc(100% + 5px);
    inset-inline-start: 0;
    max-width: calc(100vw - 48px);
    visibility: hidden;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity .18s ease, transform .18s ease, visibility 0s .18s;
    box-shadow: var(--cfy-t-shadow);
    white-space: normal;
}
.cfy-hmq:is(:hover, :focus-within) .cfy-hmq-drop { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.cfy-hmq-drop--light { background: var(--cfy-t-surface); border: 1px solid var(--cfy-t-line-2); border-top: 2px solid var(--cfy-t-fill); color: var(--cfy-tx-ink); }
.cfy-hmq-drop--dark { background: var(--cfy-hr-ph-bg); border: 1px solid var(--cfy-hr-ph-line-2); border-top: 2px solid var(--cfy-hr-accent); color: var(--cfy-hr-ink); }

/* ───────── Canal bêta ───────── */
.cfy-hmq-a-cap {
    position: relative;
    flex: 0 0 auto;
    align-self: flex-start;
    display: flex;
    align-items: center;
    gap: 7px;
    height: 28px;
    margin-top: -4px;
    padding: 4px 17px 0 10px;
    background: var(--cfy-hr-flat);
    box-shadow: inset 0 4px 0 var(--cfy-hr-accent);
    color: var(--cfy-hr-on-flat);
    clip-path: polygon(0 0, calc(100% - 28px * var(--cfy-hmq-k)) 0, 100% 100%, 0 100%);
}
[dir="rtl"] .cfy-hmq-a-cap { padding: 4px 10px 0 17px; clip-path: polygon(calc(28px * var(--cfy-hmq-k)) 0, 100% 0, 100% 100%, 0 100%); }
.cfy-hmq-dot { width: 6px; height: 6px; background: currentColor; animation: cfy-hmq-blink 1.6s steps(2, jump-none) infinite; }
@keyframes cfy-hmq-blink { 50% { opacity: .2; } }
.cfy-hmq--beta .cfy-hmq-clip {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 30px), transparent);
    mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 30px), transparent);
}
.cfy-hmq-a-it { display: inline-block; }
.cfy-hmq-k { display: inline-block; margin-inline-end: 8px; padding: 2px 5px; border: 1px solid currentColor; color: var(--cfy-tx-link); }
.cfy-hmq-k[data-k="fix"] { color: var(--cfy-tx-ink-2); }
.cfy-hmq-k[data-k="soon"] { border-style: dashed; }
.cfy-hmq-sep { flex: 0 0 auto; width: 1px; height: 14px; margin: 0 16px; background: var(--cfy-tx-muted); opacity: .55; transform: skewX(11.5deg); }
.cfy-hmq-a-end { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; padding-inline-start: 8px; font-size: var(--cfy-fs-caption); color: var(--cfy-tx-ink-2); }
.cfy-hmq-a-drop { width: 480px; padding: 10px 12px 6px; }
.cfy-hmq-a-drop h4 { margin: 0 0 6px; color: var(--cfy-tx-ink-2); }
.cfy-hmq-a-drop p { display: grid; grid-template-columns: minmax(70px, max-content) 1fr; align-items: baseline; gap: 8px; margin: 0; padding: 6px 0; border-top: 1px solid var(--cfy-t-line); font-size: var(--cfy-fs-sm); line-height: var(--cfy-lh-snug); }
.cfy-hmq-a-drop .cfy-hmq-k { margin: 0; justify-self: start; }
@container cfyhmq (max-width: 419.98px) { .cfy-hmq-a-end { display: none; } }
@container cfyhmq (max-width: 259.98px) { .cfy-hmq-a-cap span { display: none; } }

/* ───────── Marché ───────── */
html body .cfy-hmq.cfy-hmq--market:not([hidden]) { background: var(--cfy-hr-ph-bg); font-size: var(--cfy-fs-caption); color: var(--cfy-hr-ink); }
.cfy-hmq-b-cap { position: relative; flex: 0 0 auto; display: flex; align-items: center; gap: 7px; height: 24px; padding-inline-end: 10px; }
.cfy-hmq-b-cap b {
    display: flex;
    align-items: center;
    height: 24px;
    margin-inline-start: -24px;
    padding: 0 12px 0 24px;
    background: var(--cfy-hr-flat);
    color: var(--cfy-hr-on-flat);
    clip-path: polygon(0 0, calc(100% - var(--cfy-hmq-cut)) 0, 100% 100%, 0 100%);
}
[dir="rtl"] .cfy-hmq-b-cap b { padding: 0 24px 0 12px; clip-path: polygon(var(--cfy-hmq-cut) 0, 100% 0, 100% 100%, 0 100%); }
.cfy-hmq-led { width: 6px; height: 6px; background: var(--cfy-hmq-up); animation: cfy-hmq-blink 1s steps(2, jump-none) infinite; }
.cfy-hmq-b-clock { color: var(--cfy-hr-accent-text); font-weight: var(--cfy-fw-semibold); }
.cfy-hmq--market .cfy-hmq-clip { margin-inline-end: -14px; }
.cfy-hmq-q { position: relative; display: inline-flex; align-items: center; gap: 7px; height: 24px; padding: 0 12px; border-inline-start: 1px dotted var(--cfy-hr-ph-line-2); }
.cfy-hmq-q-n { color: var(--cfy-hr-accent-text); font-weight: var(--cfy-fw-bold); letter-spacing: var(--cfy-ls-caps); }
.cfy-hmq-q-v { font-weight: var(--cfy-fw-semibold); }
.cfy-hmq-q-d { display: inline-flex; align-items: center; gap: 4px; font-weight: var(--cfy-fw-semibold); color: var(--cfy-hr-ink-muted); }
.cfy-hmq-q-d.is-up { color: var(--cfy-hmq-up); }
.cfy-hmq-q-d.is-up::before { content: ""; width: 0; height: 0; border: 4px solid transparent; border-top: 0; border-bottom: 6px solid currentColor; }
.cfy-hmq-spark { flex: 0 0 38px; width: 38px; min-width: 38px; max-width: none; height: 16px; overflow: visible; }
.cfy-hmq-spark path { fill: none; stroke: var(--cfy-hr-accent); stroke-width: 1.4; }
.cfy-hmq-q.is-tick { animation: cfy-hmq-flash .7s ease-out; }
@keyframes cfy-hmq-flash { from { background: rgba(var(--cfy-hr-accent-rgb), .4); } to { background: transparent; } }
.cfy-hmq-b-drop { width: 330px; padding: 12px 14px; inset-inline-start: 120px; }
.cfy-hmq-b-drop .cfy-hmq-b-h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.cfy-hmq-b-drop .cfy-hmq-b-h b { color: var(--cfy-hr-accent-text); }
.cfy-hmq-b-drop .cfy-hmq-b-h span { font-size: var(--cfy-fs-caption); color: var(--cfy-hr-ink-muted); }
.cfy-hmq-b-drop strong { display: block; margin: 8px 0 6px; font-size: var(--cfy-fs-h3); font-weight: var(--cfy-fw-bold); line-height: 1; }
.cfy-hmq-bars { display: flex; align-items: flex-end; gap: 4px; height: 52px; padding-top: 4px; border-bottom: 1px solid var(--cfy-hr-ph-line-2); }
.cfy-hmq-bars i { flex: 1 1 0; min-height: 1px; background: var(--cfy-hr-accent); }
.cfy-hmq-b-drop small { display: block; margin-top: 4px; font-size: var(--cfy-fs-caption); color: var(--cfy-hr-ink-muted); }
.cfy-hmq-b-drop dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 8px 0 0; }
.cfy-hmq-b-drop dt { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-regular); color: var(--cfy-hr-ink-muted); }
.cfy-hmq-b-drop dd { margin: 2px 0 0; font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-semibold); }
@container cfyhmq (max-width: 359.98px) { .cfy-hmq-b-clock, .cfy-hmq-led { display: none; } }

/* ───────── Tableau des départs ───────── */
html body .cfy-hmq.cfy-hmq--board:not([hidden]) { background: var(--cfy-hr-ph-bg); color: var(--cfy-hr-ink); }
.cfy-hmq-c-cap { position: relative; flex: 0 0 auto; display: flex; align-items: center; gap: 6px; padding-inline-end: 12px; color: var(--cfy-hr-accent-text); }
.cfy-hmq-c-row { position: relative; display: inline-flex; align-items: center; }
.cfy-hmq-fl {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 11px;
    height: 18px;
    margin-inline-end: 1px;
    background: var(--cfy-hr-tile-bg);
    box-shadow: inset 0 9px 0 rgba(var(--cfy-hr-accent-rgb), .06);
    color: var(--cfy-hr-ink);
    font-family: var(--cfy-font-mono);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    font-style: normal;
}
.cfy-hmq-fl::after { content: ""; position: absolute; inset-inline: 0; top: 8.5px; height: 1px; background: var(--cfy-hr-ph-bg); }
/* Un champ = un groupe de volets lu de gauche à droite ; un mot d'écriture liée tient sur un seul volet large */
.cfy-hmq-fg { display: inline-flex; align-items: center; direction: ltr; }
.cfy-hmq-fg:not(:last-child) { margin-inline-end: 8px; }
.cfy-hmq-fl.is-wide { width: calc(var(--cfy-hmq-n, 1) * 12px - 1px); padding: 0 4px; overflow: hidden; white-space: nowrap; font-family: var(--cfy-font-sans); unicode-bidi: plaintext; }
.cfy-hmq-fl.is-off { display: none; }
.cfy-hmq-fl.is-acc { color: var(--cfy-hr-accent-text); }
.cfy-hmq-fl.is-fa { animation: cfy-hmq-flip-a 70ms linear; }
.cfy-hmq-fl.is-fb { animation: cfy-hmq-flip-b 70ms linear; }
@keyframes cfy-hmq-flip-a { from { transform: scaleY(.25); } }
@keyframes cfy-hmq-flip-b { from { transform: scaleY(.25); } }
.cfy-hmq-c-drop { inset-inline-start: -24px; padding: 8px 12px 10px 24px; border-inline-start: 0; }
.cfy-hmq-c-hd { display: flex; margin-bottom: 5px; color: var(--cfy-hr-accent-text); }
.cfy-hmq-c-hd span { flex: 0 0 auto; overflow: hidden; }
.cfy-hmq-c-drop .cfy-hmq-c-row { display: flex; margin-top: 3px; }
.cfy-hmq-c-drop a.cfy-hmq-c-row:is(:hover, :focus-visible) .cfy-hmq-fl { background: var(--cfy-hr-ph-line-2); }
@container cfyhmq (max-width: 259.98px) { .cfy-hmq-c-cap span { display: none; } }

/* ───────── Afficheur à diodes ───────── */
.cfy-hmq--led .cfy-hmq-clip {
    margin: 0 -29px 0 -24px;
    background: color-mix(in srgb, var(--cfy-hr-accent) 14%, var(--cfy-hr-ph-bg));
    clip-path: polygon(0 0, calc(100% - var(--cfy-hmq-cut)) 0, 100% 100%, 0 100%);
}
[dir="rtl"] .cfy-hmq--led .cfy-hmq-clip { margin: 0 -24px 0 -29px; clip-path: polygon(var(--cfy-hmq-cut) 0, 100% 0, 100% 100%, 0 100%); }
.cfy-hmq--led .cfy-hmq-track { animation-timing-function: steps(var(--cfy-hmq-steps, 200)); padding-top: 1px; color: var(--cfy-hr-accent-text); font-size: var(--cfy-fs-h4); font-weight: var(--cfy-fw-bold); line-height: 24px; letter-spacing: var(--cfy-ls-caps); }
.cfy-hmq--led .cfy-hmq-track span { padding: 0 20px; }
.cfy-hmq--led .cfy-hmq-track i { font-style: normal; color: var(--cfy-hr-accent-text); opacity: .7; }
.cfy-hmq-d-mask {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(var(--cfy-hr-ph-bg) 1px, transparent 1px) 0 0 / 3px 3px,
        linear-gradient(90deg, var(--cfy-hr-ph-bg) 1px, transparent 1px) 0 0 / 3px 3px;
}

/* ───────── Dépêches ───────── */
.cfy-hmq-e-tag {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    height: 20px;
    padding: 0 12px 0 8px;
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
    clip-path: polygon(0 0, 100% 0, calc(100% - 20px * var(--cfy-hmq-k)) 100%, 0 100%);
}
[dir="rtl"] .cfy-hmq-e-tag { padding: 0 8px 0 12px; clip-path: polygon(0 0, 100% 0, 100% 100%, calc(20px * var(--cfy-hmq-k)) 100%); }
.cfy-hmq-e-time { flex: 0 0 auto; padding: 0 10px 0 8px; font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); color: var(--cfy-tx-ink-2); }
.cfy-hmq-e-win { position: relative; flex: 1 1 0; min-width: 0; height: 24px; overflow-x: clip; }
.cfy-hmq-e-line {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: transform .55s cubic-bezier(.2, .8, .2, 1), opacity .4s ease, visibility 0s .55s;
}
.cfy-hmq-e-line.is-in { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.cfy-hmq-e-line.is-out { transform: translateY(-15px); }
.cfy-hmq-e-line b { font-weight: var(--cfy-fw-bold); color: var(--cfy-tx-link); }
.cfy-hmq-e-line span { font-weight: var(--cfy-fw-semibold); }
.cfy-hmq-e-line.is-in.is-long > div { transition: transform 3s linear .9s; transform: translateX(var(--cfy-hmq-ov, 0px)); }
.cfy-hmq-e-line > div { display: flex; align-items: center; gap: 8px; }
.cfy-hmq-e-nav { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 3px; padding-inline-start: 10px; }
.cfy-hmq-e-nav i { position: relative; width: 16px; height: 3px; background: var(--cfy-t-line-2); overflow: hidden; }
.cfy-hmq-e-nav i.is-on::before { content: ""; position: absolute; inset: 0; background: var(--cfy-tx-link); transform-origin: 0 50%; animation: cfy-hmq-fill var(--cfy-hmq-stay, 4.6s) linear forwards; }
[dir="rtl"] .cfy-hmq-e-nav i.is-on::before { transform-origin: 100% 50%; }
@keyframes cfy-hmq-fill { from { transform: scaleX(0); } }
.cfy-hmq--news:is(:hover, :focus-within) .cfy-hmq-e-nav i.is-on::before { animation-play-state: paused; }
@container cfyhmq (max-width: 419.98px) { .cfy-hmq-e-nav, .cfy-hmq-e-time { display: none; } }

/* ───────── Pour vous ───────── */
.cfy-hmq-f-cap { position: relative; flex: 0 0 auto; display: flex; align-items: center; gap: 6px; height: 24px; padding-inline-end: 12px; color: var(--cfy-tx-link); }
.cfy-hmq-f-cap::after { content: ""; position: absolute; inset-inline-end: 0; top: -4px; bottom: -3px; width: 2px; background: var(--cfy-t-fill); transform: skewX(11.5deg); }
.cfy-hmq--foryou .cfy-hmq-clip { overflow: visible; clip-path: inset(-6px 0); margin-inline-start: 4px; }
.cfy-hmq-f-it { display: inline-flex; align-items: center; gap: 8px; padding: 0 18px 0 6px; }
.cfy-hmq-f-th {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    margin: -3px 0;
    object-fit: cover;
    border: 1px solid var(--cfy-t-fill);
    background: var(--cfy-t-surface-3);
    clip-path: polygon(5px 0, 100% 0, 100% calc(100% - 5px), calc(100% - 5px) 100%, 0 100%, 0 5px);
}
.cfy-hmq-f-p { font-weight: var(--cfy-fw-bold); color: var(--cfy-tx-link); }
.cfy-hmq-f-c { font-size: var(--cfy-fs-caption); color: var(--cfy-tx-ink-2); }
.cfy-hmq-f-it:is(:hover, :focus-visible) .cfy-hmq-f-t { color: var(--cfy-tx-link); }
.cfy-hmq-f-drop { display: grid; grid-template-columns: 112px 1fr; gap: 12px; width: 440px; padding: 10px; inset-inline-start: 60px; }
.cfy-hmq-f-drop img { display: block; width: 112px; height: 112px; object-fit: cover; background: var(--cfy-t-surface-3); }
.cfy-hmq-f-drop h4 { margin: 0 0 4px; font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-semibold); line-height: var(--cfy-lh-snug); }
.cfy-hmq-f-drop .cfy-hmq-f-p { font-size: var(--cfy-fs-md); }
.cfy-hmq-f-drop img.cfy-hmq-f-flag { display: inline-block; flex: 0 0 auto; width: var(--cfy-flag-xs-w, 16px); height: var(--cfy-flag-xs-h, 12px); object-fit: cover; background: none; box-shadow: 0 0 0 1px var(--cfy-t-line-2); }
.cfy-hmq-f-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.cfy-hmq-f-sc { display: inline-flex; align-items: center; gap: 2px; font-size: var(--cfy-fs-caption); color: var(--cfy-tx-ink-2); }
.cfy-hmq-f-sc .cfy-hmq-num { margin-inline-end: 3px; }
.cfy-hmq-f-sc svg { display: block; flex: 0 0 auto; }
.cfy-hmq-f-geo { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; font-size: var(--cfy-fs-caption); line-height: var(--cfy-lh-snug); color: var(--cfy-tx-ink); }
.cfy-hmq-f-geo span { min-width: 0; overflow-wrap: anywhere; unicode-bidi: isolate; }
.cfy-hmq-f-desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin: 6px 0 0;
    font-size: var(--cfy-fs-caption);
    line-height: var(--cfy-lh-body);
    color: var(--cfy-tx-ink-2);
    overflow-wrap: anywhere;
    unicode-bidi: plaintext;
}
.cfy-hmq-f-meta { display: flex; flex-wrap: wrap; gap: 0 10px; }
.cfy-hmq-f-meta { margin: 6px 0 0; font-size: var(--cfy-fs-caption); line-height: var(--cfy-lh-body); color: var(--cfy-tx-ink-2); overflow-wrap: anywhere; }
.cfy-hmq-f-meta b { color: var(--cfy-tx-ink); font-weight: var(--cfy-fw-semibold); }
.cfy-hmq-f-cta { display: inline-block; margin-top: 8px; padding: 5px 9px; background: var(--cfy-t-fill); color: var(--cfy-t-on-fill) !important; font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); }
@container cfyhmq (max-width: 299.98px) { .cfy-hmq-f-cap span { display: none; } }

/* ───────── Pouls ───────── */
.cfy-hmq--pulse { justify-content: space-between; gap: 6px; }
.cfy-hmq-g-s { flex: 0 0 auto; display: inline-flex; align-items: baseline; gap: 5px; }
.cfy-hmq-g-s b { font-size: var(--cfy-fs-base); font-weight: var(--cfy-fw-bold); color: var(--cfy-tx-ink); }
.cfy-hmq-g-s:first-of-type b { color: var(--cfy-tx-link); }
.cfy-hmq-g-s span { font-size: var(--cfy-fs-caption); color: var(--cfy-tx-ink-2); }
.cfy-hmq-g-p { flex: 0 0 46px; height: 24px; overflow: visible; }
.cfy-hmq-g-p svg { display: block; width: 46px; height: 40px; margin-top: -10px; overflow: visible; }
.cfy-hmq-g-p path { fill: none; stroke-width: 1.5; stroke-linejoin: miter; }
.cfy-hmq-g-p stop:first-child { stop-color: var(--cfy-hr-accent); }
.cfy-hmq-g-p stop:last-child { stop-color: var(--cfy-tx-link); }
.cfy-hmq-g-tr { opacity: .28; }
.cfy-hmq-g-run { stroke-dasharray: 34 100; stroke-dashoffset: 34; animation: cfy-hmq-pulse 3s linear infinite; }
@keyframes cfy-hmq-pulse { to { stroke-dashoffset: -100; } }
.cfy-hmq-g-s b.is-bump { animation: cfy-hmq-bump .5s ease-out; }
@keyframes cfy-hmq-bump { from { transform: translateY(-5px); opacity: .3; } }
.cfy-hmq-g-s[hidden], .cfy-hmq-g-p[hidden] { display: none; }
@container cfyhmq (max-width: 229.98px) { .cfy-hmq-g-p { display: none; } }

/* Moins d'animations demandé par le système : défilement par pages, sans effet continu */
@media (prefers-reduced-motion: reduce) {
    .cfy-hmq-track { animation-duration: var(--cfy-hmq-dur-paged, 30s); animation-timing-function: steps(var(--cfy-hmq-pages, 4)); }
    .cfy-hmq-dot, .cfy-hmq-led, .cfy-hmq-g-run, .cfy-hmq-q.is-tick, .cfy-hmq-fl, .cfy-hmq-g-s b.is-bump { animation: none !important; }
    .cfy-hmq-e-line, .cfy-hmq-e-line > div, .cfy-hmq-drop { transition: none !important; }
    .cfy-hmq-g-run { stroke-dasharray: none; }
}

/* ═══ commercify_header_logofx.css ═══ */
/* ==========================================================================================
   Logo animé « Onde de proue » (plaque du logo, header desktop ≥ 1200px)
   À chaque changement de devise, une onde part du symbole du logo (48,5 % de sa largeur) et file
   vers les deux bords ; son halo va jusqu'aux bords de la plaque, dont la découpe sert de limite.
   Horloge : 4 s, onde de 85 % à 100 % = 3,4 → 4,0 s, exactement la montée de la devise (tambour de
   20 s, paliers 17/20 %, 37/40 %…), même courbe ; mêmes pauses que le tambour (défilement, plaque repliée).
   transform / opacity seulement. Mode performance et animations réduites : logo statique, enveloppe neutre.
   ========================================================================================== */

/* Enveloppe neutre par défaut : le logo garde exactement sa mise en page d'origine */
.catalog-header .cfy-hd-logo {
    display: contents;
}
.catalog-header :is(.cfy-hd-lfx, .cfy-hd-lfx-core, .cfy-hd-lfx-halo) {
    display: none;
}

@media (min-width: 1200px) and (prefers-reduced-motion: no-preference) {
    html body:not(.performance-mode) .catalog-header.cfy-hr #anchortop .cfy-hd-logo {
        position: relative;
        z-index: 1;
        display: block;
        flex: none;
        line-height: 0;
        isolation: isolate;
    }
    html body:not(.performance-mode) .catalog-header.cfy-hr #anchortop .cfy-hd-logo .catalog-logo {
        display: block;
    }
    html body:not(.performance-mode) .catalog-header.cfy-hr #anchortop .cfy-hd-logo > :is(.cfy-hd-lfx, .cfy-hd-lfx-core, .cfy-hd-lfx-halo) {
        position: absolute;
        display: block;
        pointer-events: none;
    }

    /* Ondes dans les lettres : calque masqué par l'image du logo (masque posé en style inline) */
    html body:not(.performance-mode) .catalog-header.cfy-hr #anchortop .cfy-hd-lfx {
        inset: 0;
        z-index: 2;
        overflow: hidden;
        -webkit-mask-position: 0 0;
        mask-position: 0 0;
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
    }
    html body:not(.performance-mode) .catalog-header.cfy-hr #anchortop .cfy-hd-lfx-wave {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 41.5%;
        width: 14%;
        background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cfy-hr-accent-hi) 60%, #ffffff) 50%, transparent);
        opacity: 0;
        animation: cfyLogoWave 4s infinite;
    }

    /* Halos derrière les lettres : débordent dans la plaque jusqu'à ses bords */
    html body:not(.performance-mode) .catalog-header.cfy-hr #anchortop .cfy-hd-lfx-halo {
        z-index: 0;
        top: -18px;
        bottom: -18px;
        left: 39.5%;
        width: 18%;
        background: radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, var(--cfy-hr-accent) 40%, transparent), transparent 72%);
        opacity: 0;
        animation: cfyLogoWaveHalo 4s infinite;
    }
    html body:not(.performance-mode) .catalog-header.cfy-hr #anchortop .cfy-hd-lfx-core {
        z-index: 0;
        top: -10px;
        bottom: -10px;
        left: 36.5%;
        width: 24%;
        background: radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, var(--cfy-hr-accent-hi) 55%, transparent), transparent 70%);
        opacity: 0;
        animation: cfyLogoWaveCore 4s infinite;
    }
    html body:not(.performance-mode) .catalog-header.cfy-hr #anchortop .cfy-hd-lfx-l {
        --cfy-lfx-dir: -1;
    }
    html body:not(.performance-mode) .catalog-header.cfy-hr #anchortop .cfy-hd-lfx-r {
        --cfy-lfx-dir: 1;
    }

    /* Mêmes pauses que les devises ; calques cachés tant que l'animation est figée */
    .scrolling .cfy-hd-logo > :is(.cfy-hd-lfx-core, .cfy-hd-lfx-halo),
    .scrolling .cfy-hd-lfx-wave,
    .cfy-hd-folded .cfy-hd-logo > :is(.cfy-hd-lfx-core, .cfy-hd-lfx-halo),
    .cfy-hd-folded .cfy-hd-lfx-wave {
        animation-play-state: paused !important;
        visibility: hidden;
    }
}

@keyframes cfyLogoWave {
    0%, 85% { opacity: 0; transform: translateX(0); animation-timing-function: ease-in-out; }
    87% { opacity: 1; }
    97% { opacity: 1; }
    100% { opacity: 0; transform: translateX(calc(var(--cfy-lfx-dir) * 400%)); }
}
@keyframes cfyLogoWaveHalo {
    0%, 85% { opacity: 0; transform: translateX(0); animation-timing-function: ease-in-out; }
    87% { opacity: 1; }
    97% { opacity: 0.9; }
    100% { opacity: 0; transform: translateX(calc(var(--cfy-lfx-dir) * var(--cfy-pr-w) * 0.5)); }
}
@keyframes cfyLogoWaveCore {
    0%, 85% { opacity: 0; }
    88% { opacity: 1; }
    100% { opacity: 0; }
}

/* ═══ commercify_header_logoflip.css ═══ */
/* ==========================================================================================
   Bascule 3D du logo (plaque du logo, header desktop ≥ 1200px)
   Le logo reste affiché 8 s, bascule autour de son axe horizontal vers un mot court (plus petit,
   au premier plan), puis revient : 1,5 s en tout, cycle de 9,5 s.
   Propriété « rotate » seule (le « transform » du logo reste libre pour la plaque repliée), rien d'autre
   n'est animé : pas de mise en page ni de peinture pendant la bascule.
   Hors mode performance : perspective (vraie profondeur). Mode performance : même bascule, à plat.
   Animations réduites, défilement, plaque repliée : logo fixe, mot masqué.
   ========================================================================================== */

.catalog-header .cfy-hd-ver {
    display: none;
}

@media (min-width: 1200px) {
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-logo {
        position: relative;
        z-index: 1;
        display: block;
        flex: none;
        line-height: 0;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-logo .catalog-logo {
        display: block;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-ver {
        position: absolute;
        inset: 0;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
        pointer-events: none;
        opacity: 0;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-ver-img {
        display: block;
        width: auto;
        height: 54%;
        max-width: 100%;
        opacity: 0.88;
    }
}

@media (min-width: 1200px) and (prefers-reduced-motion: no-preference) {
    html body:not(.performance-mode) .catalog-header.cfy-hr #anchortop .cfy-hd-logo {
        perspective: 420px;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-logo > :is(.catalog-logo, .cfy-hd-lfx) {
        animation: cfyLogoFlipOut 9.5s infinite;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-ver {
        animation: cfyLogoFlipIn 9.5s infinite;
    }

    /* Défilement et plaque repliée : retour immédiat au logo */
    html body.scrolling .catalog-header.cfy-hr #anchortop .cfy-hd-logo > :is(.catalog-logo, .cfy-hd-lfx, .cfy-hd-ver),
    html body .catalog-header.cfy-hr.cfy-hd-folded #anchortop .cfy-hd-logo > :is(.catalog-logo, .cfy-hd-lfx, .cfy-hd-ver) {
        animation: none;
    }
}

/* 8 s sur le logo, 0,25 s de sortie, puis retour par l'autre bord pendant les 0,25 dernières secondes */
@keyframes cfyLogoFlipOut {
    0%, 84.21% { rotate: x 0deg; animation-timing-function: ease-in; }
    86.84% { rotate: x 90deg; animation-timing-function: step-end; }
    97.37% { rotate: x -90deg; animation-timing-function: ease-out; }
    100% { rotate: x 0deg; }
}
/* Mot : entre en 0,25 s, tient 0,5 s, sort en 0,25 s */
@keyframes cfyLogoFlipIn {
    0% { rotate: x -90deg; opacity: 0; animation-timing-function: step-end; }
    86.84% { rotate: x -90deg; opacity: 1; animation-timing-function: ease-out; }
    89.47% { rotate: x 0deg; opacity: 1; animation-timing-function: linear; }
    94.74% { rotate: x 0deg; opacity: 1; animation-timing-function: ease-in; }
    97.37% { rotate: x 90deg; opacity: 1; animation-timing-function: step-end; }
    100% { rotate: x 90deg; opacity: 0; }
}

/* ═══ commercify_header_home.css ═══ */
/* ═══════════════════════════════════════════════════════════════════════════════════════════
   Bouton « Accueil » (maison) en tête de la zone de gauche du header.
   - sous 1200px : pictogramme juste avant le logo, même gabarit que le globe ;
   - ≥ 1200px, disposition « Marquise » : carré de 44px en tête de la rangée des actions,
     avant « Tous les catalogues » ; les dispositions Hiérarchie, Menu et Métro le placent
     dans leur propre feuille.
   Couleurs : tokens --cfy-hr-* uniquement.
   ═══════════════════════════════════════════════════════════════════════════════════════════ */

html body .catalog-header .cfy-hd-home {
    order: -3 !important;   /* avant le logo (-2) et le globe (-1) */
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 0 !important;   /* le gabarit historique des boutons impose 52px */
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--cfy-hr-hd-ink-3) !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: color 0.15s ease;
}
html body .catalog-header .cfy-hd-home svg {
    flex: 0 0 auto;
    width: var(--cfy-ic-base, 20px) !important;
    height: var(--cfy-ic-base, 20px) !important;
}
html body .catalog-header .cfy-hd-home:is(:hover, :focus-visible) {
    color: var(--cfy-hr-accent-text) !important;
}
html body .catalog-header .cfy-hd-home:focus-visible {
    outline: 2px solid var(--cfy-hr-accent) !important;
    outline-offset: 2px !important;
}

/* Tablette : le logo garde son écart de 12px ; mobile : collé au logo pour laisser la place aux actions */
@media (max-width: 575.98px) {
    html body .catalog-header .cfy-hd-home {
        width: 32px !important;
        min-width: 32px !important;
        margin-inline-end: 2px !important;
    }
}

@media (min-width: 1200px) {
    /* Socle commun des dispositions : boîte des actions de la zone de gauche */
    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-home {
        position: relative;
        z-index: 3;
        order: 0 !important;
        color: var(--cfy-hr-accent) !important;
    }

    html body .catalog-header.cfy-hr .header-wrap-codepen .cfy-hd-home .cfy-hd-lbl {
        display: none;
    }

    /* « Marquise » : premier lien de la barre de service, avant la langue (pictogramme seul) */
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-home {
        order: 0 !important;
        gap: 7px;
        width: auto !important;
        min-width: 0 !important;
        height: 24px !important;
        margin-block: 4px !important;
        margin-inline-end: 8px !important;
        color: var(--cfy-hr-ink-2) !important;
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-semibold) !important;
        line-height: 1;
        letter-spacing: var(--cfy-ls-caps, 0.06em);
        text-transform: uppercase;
        white-space: nowrap;
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-home svg {
        width: 15px !important;
        height: 15px !important;
        color: var(--cfy-hr-accent);
    }
    html body .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .cfy-hd-home:is(:hover, :focus-visible) {
        color: var(--cfy-hr-accent-text) !important;
    }
}

/* ═══ commercify_header_mobile.css ═══ */
/* Header unique sous 1200px (smartphone, tablette, petit écran), fixe, bord à bord, sans disposition au choix,
   identique sur tous ces écrans : une rangée de 48px — logo, loupe (recherche avancée), compte, bouton Menu.
   Le bouton Menu ouvre un tiroir qui liste les cinq accès en toutes lettres : tous les catalogues,
   recherche avancée, options, carte du monde, tableau de bord. */

/* Éléments propres à ce header : absents du header large */
.cfy-hd-m-ico,
html body .catalog-header .cfy-hd-m-only:not(#cfy-b1):not(#cfy-b2) {
    display: none !important;
}

@media (max-width: 1199.98px) {
    /* Header toujours visible : fixé en haut de l'écran, la page commence dessous */
    html body .nk-header.nk-header-fixed:not(#cfy-b1):not(#cfy-b2) {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 1010 !important;
    }
    /* Le coin du logo déborde de 10px sous le header : le contenu commence 5px sous son bord bas (48 + 10 + 5) */
    html body .nk-wrap:not(#cfy-b1):not(#cfy-b2) {
        padding-top: 63px !important;
    }
    html {
        scroll-padding-top: 71px;
    }

    html body .catalog-header.cfy-hr:not(#cfy-b1):not(#cfy-b2) {
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        left: 0 !important;
        right: 0 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    html body .catalog-header.cfy-hr .header-wrap-codepen:not(#cfy-b1):not(#cfy-b2) {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        height: 48px !important;
        min-height: 48px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 14px !important;
        box-sizing: border-box !important;
    }

    /* Les enveloppes s'effacent : logo et boutons deviennent les éléments directs du header */
    html body .catalog-header.cfy-hr :is(.header-logo-section, .line-logo, .line-logo-left, .cfy-hd-console, .header-actions):not(#cfy-b1):not(#cfy-b2) {
        display: contents !important;
    }

    /* Tout ce qui n'appartient pas à ce header */
    html body .catalog-header.cfy-hr :is(.nk-nav-toggle, .cfy-hd-home, .cfy-hd-tagline, .cfy-hd-marks, .header-flag-btn-after-logo, .cfy-hd-menu-btn, .cfy-hd-ia-root, .cfy-hd-chatbot, .cfy-hd-activity, .cfy-hd-activity-panel, .cfy-hd-menu-panel, .cfy-hd-banner, .cfy-hd-shortcuts, .cfy-hd-lbl, .cfy-hd-txt, .cfy-hd-allcat-label, .visitor-btn-label-default, .visitor-btn-label-hover, .visitor-name-header):not(#cfy-b1):not(#cfy-b2),
    html body .catalog-header.cfy-hr .cfy-hd-search-adv > svg:not(#cfy-b1) {
        display: none !important;
    }
    html body .catalog-header.cfy-hr :is(.header-action-btn, .cfy-hd-allcat, .logo-wrapper)::before,
    html body .catalog-header.cfy-hr :is(.header-action-btn, .cfy-hd-allcat, .logo-wrapper)::after {
        content: none !important;
        display: none !important;
    }

    /* Logo : lien d'accueil, pousse les boutons à droite */
    html body .catalog-header.cfy-hr :is(#anchortop, .logo-wrapper):not(#cfy-b1) {
        order: 0 !important;
        flex: 0 1 auto !important;
        display: flex !important;
        align-items: center !important;
        align-self: center !important;
        height: 44px !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        margin-inline-end: auto !important;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
        background: none !important;
        border: 0 !important;
        box-shadow: none !important;
        clip-path: none !important;
    }
    html body .catalog-header.cfy-hr .catalog-logo:not(#cfy-b1):not(#cfy-b2) {
        height: 24px !important;
        max-height: 24px !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        object-fit: contain;
    }

    /* Les six boutons */
    html body .catalog-header.cfy-hr :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-header-options-link, .cfy-header-map-btn, .catalog-nav-item-dashboard-tablet, .btn-visitor-header):not(#cfy-b1):not(#cfy-b2) {
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: auto !important;
        min-width: 40px !important;
        max-width: none !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: hidden !important;
        border: 1px solid transparent !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--cfy-hr-ink, currentColor) !important;
        font-size: var(--cfy-fs-sm, 13px) !important;
        font-weight: var(--cfy-fw-semibold, 600) !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    html body .catalog-header.cfy-hr .cfy-hd-allcat:not(#cfy-b1):not(#cfy-b2) { order: 3 !important; }
    html body .catalog-header.cfy-hr .cfy-hd-search-adv:not(#cfy-b1):not(#cfy-b2) { order: 4 !important; }
    html body .catalog-header.cfy-hr .cfy-header-options-link:not(#cfy-b1):not(#cfy-b2) { order: 5 !important; }
    html body .catalog-header.cfy-hr .cfy-header-map-btn:not(#cfy-b1):not(#cfy-b2) { order: 6 !important; }
    html body .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet:not(#cfy-b1):not(#cfy-b2) { order: 7 !important; }
    /* Compte : toujours le dernier, à la couleur d'accent (connexion du visiteur, avatar du badgé) */
    html body .catalog-header.cfy-hr .btn-visitor-header:not(#cfy-b1):not(#cfy-b2) {
        order: 8 !important;
        background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo)) !important;
        color: var(--cfy-hr-on-flat) !important;
    }
    html body .catalog-header.cfy-hr .btn-visitor-header .visitor-avatar-img-header:not(#cfy-b1):not(#cfy-b2) {
        display: block !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        object-fit: cover;
    }

    html body .catalog-header.cfy-hr .cfy-hd-m-ico {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }
    html body .catalog-header.cfy-hr :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-header-options-link, .cfy-header-map-btn, .catalog-nav-item-dashboard-tablet, .btn-visitor-header) svg {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 auto;
        color: inherit !important;
    }

    html body .catalog-header.cfy-hr :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-header-options-link, .cfy-header-map-btn, .catalog-nav-item-dashboard-tablet):not(#cfy-b1):active,
    html body .catalog-header.cfy-hr :is(.cfy-hd-allcat, .cfy-header-options-link)[aria-expanded="true"]:not(#cfy-b1) {
        border-color: var(--cfy-hr-accent) !important;
        color: var(--cfy-hr-accent) !important;
    }
    html body .catalog-header.cfy-hr :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-header-options-link, .cfy-header-map-btn, .catalog-nav-item-dashboard-tablet, .btn-visitor-header):focus-visible {
        outline: 2px solid var(--cfy-hr-accent) !important;
        outline-offset: -2px;
    }

    /* Menu latéral et disposition du header : jamais sous 1200px, réglages non proposés */
    html body #cfyCatbarPanelOptions [data-opt-key="navbarWallAlign"],
    html body #cfyCatbarPanelOptions [data-opt-key="bannerHeader"],
    html body #cfyCatbarPanelOptions #cfyOptSec-header,
    html body .nk-sidebar,
    html body .nk-sidebar-overlay,
    html body #cfyCatbarPanelOptions [data-opt-nav="hpmenu"],
    html body #cfyCatbarPanelOptions [data-opt-tab="hpmenu"],
    html body #cfyCatbarPanelOptions .cfy-opt-vnav-sep {
        display: none !important;
    }
}

/* Rangée : loupe, compte, menu. Les cinq accès ne s'affichent que dans le tiroir. */
@media (max-width: 1199.98px) {
    html body .catalog-header.cfy-hr .header-wrap-codepen:not(#cfy-b1):not(#cfy-b2) {
        position: relative !important;
        overflow: visible !important;
    }
    /* Le tiroir dépasse sous le header : aucun conteneur du header ne doit le rogner */
    html body .nk-header.nk-header-fixed:not(#cfy-b1):not(#cfy-b2),
    html body .nk-header.nk-header-fixed > .container-fluid:not(#cfy-b1):not(#cfy-b2),
    html body .nk-header.nk-header-fixed .nk-header-wrap:not(#cfy-b1):not(#cfy-b2) {
        overflow: visible !important;
    }
    html body .catalog-header.cfy-hr :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-header-options-link, .cfy-header-map-btn, .catalog-nav-item-dashboard-tablet):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: none !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-m-only:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        flex: 0 0 40px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        border: 1px solid transparent !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--cfy-hr-ink, currentColor) !important;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    html body .catalog-header.cfy-hr .cfy-hd-m-only svg {
        width: 20px !important;
        height: 20px !important;
        color: inherit !important;
    }
    /* Drapeau de la langue d'interface : seul accès à la fenêtre des langues sur ce header, avant la loupe */
    html body .catalog-header.cfy-hr .header-flag-btn-after-logo:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        order: 6 !important;
        flex: 0 0 40px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        border: 1px solid transparent !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    html body .catalog-header.cfy-hr .header-flag-btn-after-logo .flag-img-after-logo:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: block !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        width: 24px !important;
        height: 18px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        object-fit: cover;
    }
    html body .catalog-header.cfy-hr .header-flag-btn-after-logo:focus-visible {
        outline: 2px solid var(--cfy-hr-accent) !important;
        outline-offset: -2px;
    }
    html body .catalog-header.cfy-hr .cfy-hd-m-search:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { order: 7 !important; }
    html body .catalog-header.cfy-hr .btn-visitor-header:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        order: 8 !important;
        flex: 0 0 40px !important;
        width: 40px !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-m-menu:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { order: 9 !important; }
    html body .catalog-header.cfy-hr .cfy-hd-m-menu[aria-expanded="true"]:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        border-color: var(--cfy-hr-accent) !important;
        color: var(--cfy-hr-accent) !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-m-only:focus-visible {
        outline: 2px solid var(--cfy-hr-accent) !important;
        outline-offset: -2px;
    }

}

/* Réglage sans effet, retiré du panneau Options : effet au survol sur écran tactile. */
@media (hover: none) and (pointer: coarse) {
    html body #cfyCatbarPanelOptions #cfyOptSec-hover {
        display: none !important;
    }
}

/* Recherche avancée en cours : loupe de la rangée et ligne du tiroir à l'état actif */
@media (max-width: 1199.98px) {
    html body .catalog-header.cfy-hr .cfy-hd-m-search.is-current:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        border-color: var(--cfy-hr-flat) !important;
        background: var(--cfy-hr-flat) !important;
        color: var(--cfy-hr-on-flat) !important;
    }
}

/* Logo « Étrave » : un coin plein d'accent entre par le bord de
   l'écran, fend le header et déborde de 10px dessous ; le logo y est découpé en négatif (silhouette à la couleur
   du texte sur accent, masque = image du logo posée en style inline sur .cfy-hd-lfx). Une seconde lame plus
   foncée double l'arête. Pente = 2 × celle de la plaque du desktop. Aucune animation : rendu identique en mode
   performance. L'image reste dans le flux (dimensions, texte alternatif), rendue invisible. */
@media (max-width: 1199.98px) {
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        --cfy-et-h: 58px;
        --cfy-et-c: calc(0.40625 * var(--cfy-et-h));
        position: relative !important;
        z-index: 2 !important;
        flex: 0 0 auto !important;
        align-self: flex-start !important;
        display: flex !important;
        align-items: center !important;
        width: auto !important;
        max-width: none !important;
        height: var(--cfy-et-h) !important;
        min-height: var(--cfy-et-h) !important;
        max-height: none !important;
        margin: 0 !important;
        margin-inline-start: -10px !important; /* .nk-header-wrap déborde de 4px : le coin part du bord de l'écran */
        margin-inline-end: auto !important;
        padding: 0 !important;
        padding-inline: 8px calc(0.7 * var(--cfy-et-c) + 6px) !important;
        background: var(--cfy-hr-accent) !important;
        clip-path: polygon(0 0, 100% 0, calc(100% - var(--cfy-et-c)) 100%, 0 100%) !important;
        overflow: visible !important;
        outline: 0 !important;
        -webkit-tap-highlight-color: transparent;
    }
    /* Seconde lame, plus foncée, le long de l'arête */
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3)::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        border: 0 !important;
        background: var(--cfy-hr-accent-lo) !important;
        clip-path: polygon(calc(100% - 5px) 0, 100% 0, calc(100% - var(--cfy-et-c)) 100%, calc(100% - var(--cfy-et-c) - 5px) 100%) !important;
        pointer-events: none !important;
        animation: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):is(:active, :focus-visible) {
        background: var(--cfy-hr-accent-hi) !important;
    }
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):focus-visible {
        box-shadow: inset 0 -3px 0 var(--cfy-hr-on-accent) !important;
    }

    html body .catalog-header.cfy-hr #anchortop .cfy-hd-logo:not(#cfy-b1):not(#cfy-b2) {
        position: relative !important;
        display: block !important;
        flex: none !important;
        line-height: 0 !important;
    }
    html body .catalog-header.cfy-hr #anchortop .catalog-logo:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: block !important;
        height: var(--cfy-et-logo) !important;
        min-height: 0 !important;
        max-height: none !important;
        width: auto !important;
        max-width: none !important;
        aspect-ratio: 432 / 61;
        opacity: 0 !important;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-logo > .cfy-hd-lfx:not(#cfy-b1):not(#cfy-b2) {
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
        background: var(--cfy-hr-on-accent) !important;
        -webkit-mask-size: 100% 100% !important;
        mask-size: 100% 100% !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
        -webkit-mask-position: center !important;
        mask-position: center !important;
        pointer-events: none !important;
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-logo > :is(.cfy-hd-lfx-core, .cfy-hd-lfx-halo):not(#cfy-b1),
    html body .catalog-header.cfy-hr #anchortop .cfy-hd-lfx-wave:not(#cfy-b1) {
        display: none !important;
    }

    /* RTL : le coin entre par le bord droit */
    [dir="rtl"] body .catalog-header.cfy-hr #anchortop.logo-wrapper:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        clip-path: polygon(0 0, 100% 0, 100% 100%, var(--cfy-et-c) 100%) !important;
    }
    [dir="rtl"] body .catalog-header.cfy-hr #anchortop.logo-wrapper:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3)::after {
        clip-path: polygon(0 0, 5px 0, calc(var(--cfy-et-c) + 5px) 100%, var(--cfy-et-c) 100%) !important;
    }
}

/* Nom de la fonction « langue » : libellé du drapeau dans la console du smartphone, absent ailleurs */
.catalog-header .cfy-hd-m-lname {
    display: none;
}

/* ==========================================================================================
   Smartphone et tablette (< 1200px) : rangée minimale + console « Marquise compacte » (2026-10-20, M5 ; étendue à
   la tablette le 2026-10-20, qui avait jusque-là le header « Marquise » complet, bloc désactivé plus bas)
   Fermé : logo Étrave + bouton Menu seulement. Ouvert (cfy-hd-m-open, posé par commercify_header_mobile.js) :
   le header se déplie sur sa propre couleur, la page passe sous un voile flouté (assombri seulement en mode performance). Ordre du header ordinateur :
   rangée de service en pictogrammes libellés sur deux rangées de quatre cases de 64px (2026-10-20 : pictogrammes
   seuls trop petits et illisibles) (Accueil, Langue, Mapmonde, Dashboard, Paramètres, Bot IA, Notifications ;
   Dashboard avant Paramètres sur smartphone, 2026-10-20),
   le compte en pleine largeur, puis les trois recherches en segments biseautés (Tous les catalogues en accent,
   Recherche avancée, Recherche IA). Ce sont les boutons existants du header, réordonnés en flex ; aucun bouton
   n'est dupliqué. Sauts de ligne : ::after (sous la rangée du logo) et le compte à 100 %.
   ========================================================================================== */
@media (max-width: 1199.98px) {
    html body .catalog-header.cfy-hr .header-wrap-codepen:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        gap: 0 !important;
        padding-inline: 14px 8px !important; /* 4px à l'écran (.nk-header-wrap déborde de 4px) */
        container-type: inline-size;
    }
    /* Largeur disponible : Menu (40px), marges et coin (≈ 62px) */
    html body .catalog-header.cfy-hr #anchortop .catalog-logo:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        --cfy-et-logo: min(26px, calc((100cqw - 62px) / 7.082));
    }
    html body .catalog-header.cfy-hr:not(.cfy-hd-m-open) :is(.header-flag-btn-after-logo, .cfy-hd-m-search, .btn-visitor-header):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: none !important;
    }

    /* Console ouverte : la page derrière ne défile plus et passe sous un voile (toucher le voile ferme) */
    html.cfy-hd-m-lock,
    html.cfy-hd-m-lock body {
        overflow: hidden !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        height: auto !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
    }
    /* Second plan flouté et assombri (2026-10-20) : calque plein écran sous le header, dans son contexte
       d'empilement (z-index -1). Le toucher sur le calque vise .nk-header, hors de .catalog-header : il ferme. */
    html.cfy-hd-m-lock body .nk-header.nk-header-fixed:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::after {
        content: "" !important;
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: -1 !important;
        pointer-events: auto !important;
    }
    /* GPU : flou + voile du thème */
    html.cfy-hd-m-lock body:not(.performance-mode) .nk-header.nk-header-fixed:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::after {
        background: var(--cfy-t-backdrop) !important;
        -webkit-backdrop-filter: blur(6px) brightness(0.8);
        backdrop-filter: blur(6px) brightness(0.8);
    }
    /* Mode performance (CPU) : pas de flou, voile du thème posé deux fois (plus sombre) */
    html.cfy-hd-m-lock body.performance-mode .nk-header.nk-header-fixed:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::after {
        background: linear-gradient(var(--cfy-t-backdrop), var(--cfy-t-backdrop)), var(--cfy-t-backdrop) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .header-wrap-codepen:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        align-content: flex-start !important;
        gap: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 0 14px 10px !important;
    }
    /* Saut de ligne sous la rangée du logo, à la hauteur du débord du coin Étrave */
    html body .catalog-header.cfy-hr.cfy-hd-m-open .header-wrap-codepen:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::after {
        content: "" !important;
        display: block !important;
        position: static !important;
        flex: 0 0 100% !important;
        order: 2 !important;
        height: 11px !important;
        margin: 0 !important;
        background: none !important;
        border: 0 !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .header-wrap-codepen:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::before {
        content: none !important;
        display: none !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open #anchortop.logo-wrapper:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        --cfy-et-h: 48px;
        order: 0 !important;
        flex: 1 1 auto !important;
        height: 48px !important;
        align-self: flex-start !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-m-search:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: none !important;
    }
    /* Menu devient la croix de fermeture */
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-m-menu:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        order: 1 !important;
        flex: none !important;
        align-self: center !important;
        margin-inline-end: -6px !important;
        position: relative !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-m-menu:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) > svg {
        display: none !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-m-menu:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::before,
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-m-menu:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 20px !important;
        height: 2px !important;
        margin: 0 !important;
        background: currentColor !important;
        transform: translate(-50%, -50%) rotate(45deg) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-m-menu:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::after {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
    }

    /* Rangée de service : pictogramme + libellé, quatre cases par rangée séparées par des filets ; la dernière rangée
       s'étire sur toute la largeur quel que soit le nombre d'accès (visiteur sans Notifications ni Bot IA) */
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-ia-root:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: contents !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open :is(.cfy-hd-home, .header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .catalog-nav-item-dashboard-tablet, .cfy-hd-chatbot, .cfy-hd-activity):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        position: relative !important;
        inset: auto !important;
        flex: 1 1 calc(25% - 1px) !important; /* 4 par rangée ; base non nulle : ne se loge pas derrière le saut de ligne (100 %) */
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 64px !important;
        min-height: 64px !important;
        max-height: 64px !important;
        margin: 0 !important;
        padding: 6px 4px !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        border-block: 1px solid color-mix(in srgb, currentColor 16%, transparent) !important;
        border-inline-start: 1px solid color-mix(in srgb, currentColor 10%, transparent) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        clip-path: none !important;
        color: var(--cfy-hr-ink) !important;
        text-decoration: none !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-home:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        order: 10 !important;
        border-inline-start: 0 !important;
        color: var(--cfy-hr-accent) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .header-flag-btn-after-logo:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 11 !important; }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-header-map-btn:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 12 !important; }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-header-options-link:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 14 !important; border-inline-start: 0 !important; } /* 1re case de la 2e rangée */
    html body .catalog-header.cfy-hr.cfy-hd-m-open .catalog-nav-item-dashboard-tablet:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 13 !important; }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-chatbot:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 15 !important; }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-activity:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 16 !important; }
    html body .catalog-header.cfy-hr.cfy-hd-m-open :is(.cfy-hd-home, .cfy-header-map-btn, .cfy-hd-chatbot, .cfy-hd-activity) > svg:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3),
    html body .catalog-header.cfy-hr.cfy-hd-m-open :is(.cfy-header-options-link, .catalog-nav-item-dashboard-tablet) .cfy-hd-m-ico svg:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: block !important;
        flex: none !important;
        width: 22px !important;
        height: 22px !important;
        color: inherit !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open :is(.cfy-header-options-link, .catalog-nav-item-dashboard-tablet) .cfy-hd-m-ico:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: contents !important;
    }
    /* Libellés de la rangée de service : sous le pictogramme, deux lignes au plus (toutes langues) ; le code de la
       langue (« EN ») reste masqué, la case dit « Langue » */
    html body .catalog-header.cfy-hr.cfy-hd-m-open .header-flag-btn-after-logo .cfy-hd-lbl:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: none !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .header-flag-btn-after-logo .flag-img-after-logo:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        flex: none !important;
        width: var(--cfy-flag-sm-w, 24px) !important;
        height: var(--cfy-flag-sm-h, 18px) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open :is(.cfy-hd-home .cfy-hd-lbl, .header-flag-btn-after-logo .cfy-hd-m-lname, .cfy-header-map-btn .cfy-hd-lbl, .cfy-header-options-link .cfy-hd-txt, .catalog-nav-item-dashboard-tablet .cfy-hd-txt, .cfy-hd-chatbot .cfy-hd-lbl, .cfy-hd-activity .cfy-hd-lbl):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        position: static !important;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        color: inherit !important;
        font-size: var(--cfy-fs-caption, 12px) !important;
        font-weight: var(--cfy-fw-medium, 500) !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-transform: none !important;
        text-indent: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-activity .cfy-hd-activity-badge:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        position: absolute !important;
        top: 4px !important;
        inset-inline-start: calc(50% + 4px) !important;
        margin: 0 !important;
    }

    /* Compte en pleine largeur (aplat) */
    html body .catalog-header.cfy-hr.cfy-hd-m-open .btn-visitor-header:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        order: 20 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        position: relative !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: none !important;
        margin: 8px 0 0 !important;
        padding: 0 12px !important;
        background: var(--cfy-hr-flat) !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: var(--cfy-hr-on-flat) !important;
        font-size: var(--cfy-fs-base, 14px) !important;
        font-weight: var(--cfy-fw-semibold, 600) !important;
        text-transform: none !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .btn-visitor-header .visitor-avatar-img-header:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: block !important;
        position: static !important;
        flex: none !important;
        width: 28px !important;
        height: 28px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Trois recherches : segments biseautés collés, libellés sans pictogramme (dessin de la tablette) */
    html body .catalog-header.cfy-hr.cfy-hd-m-open :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-hd-search-ia):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        position: relative !important;
        inset: auto !important;
        flex: 1 1 60px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        margin: 8px 0 0 !important;
        padding: 0 12px !important;
        overflow: hidden !important;
        background: color-mix(in srgb, var(--cfy-hr-ink) 9%, transparent) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%) !important;
        color: var(--cfy-hr-ink) !important;
        font-size: var(--cfy-fs-caption, 12px) !important;
        font-weight: var(--cfy-fw-semibold, 600) !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: normal !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-allcat:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        order: 30 !important;
        background: var(--cfy-hr-accent) !important;
        color: var(--cfy-hr-on-accent) !important;
        clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-search-adv:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        order: 31 !important;
        margin-inline-start: 3px !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .cfy-hd-search-ia:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        order: 32 !important;
        margin-inline-start: 3px !important;
        clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%) !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-hd-search-ia) :is(svg, .cfy-hd-m-ico, .cfy-hd-allcat-pre):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4),
    html body .catalog-header.cfy-hr.cfy-hd-m-open :is(.cfy-hd-allcat, .cfy-hd-search-ia) > svg:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: none !important;
    }

    /* Libellés visibles dans la console */
    html body .catalog-header.cfy-hr.cfy-hd-m-open :is(.cfy-hd-allcat .cfy-hd-allcat-label, .cfy-hd-search-adv .cfy-hd-lbl, .cfy-hd-search-ia .cfy-hd-lbl, .btn-visitor-header .visitor-btn-label-default, .btn-visitor-header .visitor-name-header):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: block !important;
        position: static !important;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        clip: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        color: inherit !important;
        font: inherit !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: normal !important;
        text-indent: 0 !important;
        overflow-wrap: normal;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .btn-visitor-header .visitor-name-header:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        overflow-wrap: anywhere;
    }
    /* « CONNEXION » est émis en capitales : affiché en casse de phrase (après la règle des libellés, qui remet text-transform à none) */
    html body .catalog-header.cfy-hr.cfy-hd-m-open .btn-visitor-header .visitor-btn-label-default:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        text-transform: lowercase !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open .btn-visitor-header .visitor-btn-label-default:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::first-letter {
        text-transform: uppercase !important;
    }
    html body .catalog-header.cfy-hr.cfy-hd-m-open :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-hd-search-ia, .cfy-hd-home, .header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .catalog-nav-item-dashboard-tablet, .cfy-hd-chatbot, .cfy-hd-activity, .btn-visitor-header):focus-visible {
        outline: 2px solid var(--cfy-hr-accent) !important;
        outline-offset: -2px !important;
    }
}

/* ==========================================================================================
   Tablette et petit écran (768–1199px) : header « Marquise » complet, sans bouton Menu, 88px
   Le coin Étrave occupe toute la hauteur (98px avec le débord) ; à droite, rangée de service de 36px
   (Accueil, langue, Mapmonde | Options, Bot IA, Notifications, Dashboard, compte) au-dessus des trois
   recherches en boutons biseautés (52px). Libellés de la rangée de service et logo 40px quand la rangée
   dépasse 980px (requête de conteneur sur .header-wrap-codepen).
   Désactivé le 2026-10-20 (« not all » ne correspond à aucun écran) : la tablette prend la console du smartphone.
   Conservé en attendant une décision de suppression ; pour le rétablir, remettre
   « (min-width: 768px) and (max-width: 1199.98px) » et ramener la console à « (max-width: 767.98px) ».
   ========================================================================================== */
@media not all {
    /* 88 + 10 de débord du coin + 5 */
    html body .nk-wrap:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        padding-top: 103px !important;
    }
    html {
        scroll-padding-top: 111px;
    }
    html body .catalog-header.cfy-hr:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        height: 88px !important;
        min-height: 88px !important;
        max-height: 88px !important;
    }
    html body .catalog-header.cfy-hr .header-wrap-codepen:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: flex !important;
        flex-wrap: wrap !important;
        align-content: flex-start !important;
        align-items: center !important;
        gap: 0 !important;
        height: 88px !important;
        min-height: 88px !important;
        padding: 0 14px !important;
        container-type: inline-size;
        isolation: isolate;
    }
    /* Bande de la rangée de service */
    html body .catalog-header.cfy-hr .header-wrap-codepen:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 36px !important;
        z-index: -1 !important;
        background: color-mix(in srgb, var(--cfy-hr-ink) 5%, transparent) !important;
        border-bottom: 1px solid color-mix(in srgb, var(--cfy-hr-ink) 12%, transparent) !important;
        pointer-events: none !important;
    }
    /* Passage à la seconde rangée */
    html body .catalog-header.cfy-hr .header-wrap-codepen:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4)::after {
        content: "" !important;
        display: block !important;
        position: static !important;
        order: 50 !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: none !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-m-only:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: none !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-ia-root:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: contents !important;
    }

    /* Coin Étrave sur toute la hauteur : 34px de logo, 40px quand la place le permet */
    html body .catalog-header.cfy-hr :is(#anchortop, .cfy-hd-home, .cfy-hd-allcat):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        --cfy-t2-l: 34px;
    }
    html body .catalog-header.cfy-hr #anchortop.logo-wrapper:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        --cfy-et-h: 98px;
        --cfy-et-logo: var(--cfy-t2-l);
        position: absolute !important;
        top: 0 !important;
        inset-inline-start: 4px !important; /* bord de l'écran : .header-wrap-codepen commence 4px avant */
        margin: 0 !important;
    }

    /* Rangée de service */
    html body .catalog-header.cfy-hr :is(.cfy-hd-home, .header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet, .btn-visitor-header):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        position: relative !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 36px !important;
        max-width: none !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        margin: 0 !important;
        padding: 0 8px !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        clip-path: none !important;
        color: var(--cfy-hr-ink) !important;
        font-size: var(--cfy-fs-caption, 12px) !important;
        font-weight: var(--cfy-fw-semibold, 600) !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    html body .catalog-header.cfy-hr :is(.cfy-hd-home, .header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        background: transparent !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-home:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        order: 1 !important;
        margin-inline-start: calc(7.082 * var(--cfy-t2-l) + 36px) !important;
    }
    html body .catalog-header.cfy-hr .header-flag-btn-after-logo:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 2 !important; }
    /* Même ordre que le header ordinateur, liens groupés à gauche : Accueil, langue, Map, Dashboard, Paramètres,
       assistant, notifications ; le compte seul au bout de la rangée */
    html body .catalog-header.cfy-hr .cfy-header-map-btn:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 3 !important; }
    html body .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 4 !important; }
    html body .catalog-header.cfy-hr .cfy-header-options-link:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 5 !important; }
    html body .catalog-header.cfy-hr .cfy-hd-chatbot:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 6 !important; }
    html body .catalog-header.cfy-hr .cfy-hd-activity:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 7 !important; }
    html body .catalog-header.cfy-hr .btn-visitor-header:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        order: 8 !important;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
        padding: 0 7px !important;
        margin-inline-start: auto !important;
        background: var(--cfy-hr-flat) !important;
        color: var(--cfy-hr-on-flat) !important;
    }
    html body .catalog-header.cfy-hr .btn-visitor-header .visitor-avatar-img-header:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: block !important;
        position: static !important;
        width: 26px !important;
        height: 26px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    html body .catalog-header.cfy-hr :is(.cfy-hd-home, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet, .btn-visitor-header) svg:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: block !important;
        flex: none !important;
        width: 20px !important;
        height: 20px !important;
        color: inherit !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-activity .cfy-hd-activity-badge:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        position: absolute !important;
        top: 1px !important;
        inset-inline-end: 0 !important;
        margin: 0 !important;
    }
    html body .catalog-header.cfy-hr :is(.cfy-hd-home, .header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet, .btn-visitor-header):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):is(:active, :focus-visible) {
        color: var(--cfy-hr-accent) !important;
        outline: 0 !important;
        box-shadow: inset 0 -2px 0 var(--cfy-hr-accent) !important;
    }

    /* Rangée des recherches : trois boutons biseautés, libellés entiers. Biais parallèles à l'arête de l'Étrave
       (même pente 0.40625, coupe --cfy-t2-c sur 40px) ; écart horizontal constant de 5px entre boutons. */
    html body .catalog-header.cfy-hr :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-hd-search-ia):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        --cfy-t2-c: calc(0.40625 * 40px);
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        position: relative !important;
        inset: auto !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        margin: 6px 0 !important;
        margin-inline-start: calc(5px - var(--cfy-t2-c)) !important;
        padding: 0 20px !important;
        overflow: hidden !important;
        background: color-mix(in srgb, var(--cfy-hr-ink) 11%, transparent) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        clip-path: polygon(var(--cfy-t2-c) 0, 100% 0, calc(100% - var(--cfy-t2-c)) 100%, 0 100%) !important;
        color: var(--cfy-hr-ink) !important;
        font-size: var(--cfy-fs-sm, 13px) !important;
        font-weight: var(--cfy-fw-semibold, 600) !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-allcat:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        order: 51 !important;
        /* longe l'arête de l'Étrave à 5px : arête (7.082 × logo + 31.9px à y=0, contenu = 10px de l'écran)
           moins 0.40625 × 82px (bas du bouton) + 5px */
        margin-inline-start: calc(7.082 * var(--cfy-t2-l) + 3.5px) !important;
        background: var(--cfy-hr-flat) !important;
        color: var(--cfy-hr-on-flat) !important;
    }
    html body .catalog-header.cfy-hr .cfy-hd-search-adv:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 52 !important; }
    html body .catalog-header.cfy-hr .cfy-hd-search-ia:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { order: 53 !important; }
    [dir="rtl"] body .catalog-header.cfy-hr :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-hd-search-ia):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        clip-path: polygon(0 0, calc(100% - var(--cfy-t2-c)) 0, 100% 100%, var(--cfy-t2-c) 100%) !important;
    }
    html body .catalog-header.cfy-hr :is(.cfy-hd-allcat > svg, .cfy-hd-search-ia > svg, .cfy-hd-search-adv .cfy-hd-m-ico svg):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: block !important;
        flex: none !important;
        width: 18px !important;
        height: 18px !important;
        color: inherit !important;
    }
    html body .catalog-header.cfy-hr :is(.cfy-hd-allcat .cfy-hd-allcat-label, .cfy-hd-search-adv .cfy-hd-lbl, .cfy-hd-search-ia .cfy-hd-lbl):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: inline !important;
        position: static !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        color: inherit !important;
        font: inherit !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }
    html body .catalog-header.cfy-hr :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-hd-search-ia):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):is(:active, :focus-visible) {
        outline: 0 !important;
        background: var(--cfy-hr-flat-hi) !important;
        color: var(--cfy-hr-on-flat) !important;
    }

    /* Rangée étroite : les trois recherches sans pictogramme, pour garder leurs libellés entiers sur une ligne */
    @container (max-width: 979.98px) {
        html body .catalog-header.cfy-hr :is(.cfy-hd-allcat > svg, .cfy-hd-search-ia > svg, .cfy-hd-search-adv .cfy-hd-m-ico):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
            display: none !important;
        }
        html body .catalog-header.cfy-hr :is(.cfy-hd-allcat, .cfy-hd-search-adv, .cfy-hd-search-ia):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
            padding: 0 18px !important;
        }
        /* Rangée de service resserrée : liens et compte sur une seule ligne jusqu'à 768px */
        html body .catalog-header.cfy-hr :is(.cfy-hd-home, .header-flag-btn-after-logo, .cfy-header-map-btn, .cfy-header-options-link, .cfy-hd-chatbot, .cfy-hd-activity, .catalog-nav-item-dashboard-tablet):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
            padding: 0 5px !important;
        }
    }

    /* Rangée de service : code langue, Map, Dashboard et Paramètres avec leur libellé à toutes les largeurs */
    html body .catalog-header.cfy-hr :is(.header-flag-btn-after-logo .cfy-hd-lbl, .cfy-header-map-btn .cfy-hd-lbl, .cfy-header-options-link .cfy-hd-txt, .catalog-nav-item-dashboard-tablet .cfy-hd-txt):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: inline !important;
        position: static !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        color: inherit !important;
        font: inherit !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        text-indent: 0 !important;
        white-space: nowrap !important;
    }
    /* Logo agrandi quand la place le permet */
    @container (min-width: 980px) {
        html body .catalog-header.cfy-hr :is(#anchortop, .cfy-hd-home, .cfy-hd-allcat):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
            --cfy-t2-l: 40px;
        }
    }
}

/* Smartphone et tablette : largeur disponible pour le logo = rangée moins le bouton Menu (40px), marges et coin.
   Plus de bouton de barre des catalogues (2026-10-20 : pas de barre sur smartphone). */
@media (max-width: 1199.98px) {
    html body .catalog-header.cfy-hr #anchortop .catalog-logo:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        --cfy-et-logo: min(26px, calc((100cqw - 62px) / 7.082));
    }
}

/* ═══ commercify_modal_mobile.css ═══ */
/* Fenêtres modales sous 1200px : en-tête réduit au titre et au bouton de fermeture.
   Smartphone : pied sur une rangée, carte du monde empilée (niveaux, carte, fiche, résumé). */

/* Boutons de zoom de la carte du monde : à toutes les tailles d'écran, gros boutons empilés en bas
   à droite de la carte (56px dès 1200px, 48px en dessous ; en rangée sur smartphone). */
html body .map-modal .map-canvas .map-zoom-ctl {
    position: absolute;
    inset-inline-end: 12px;
    bottom: 12px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
html body .map-modal .map-canvas .map-zoom-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
    background: var(--cfy-t-surface);
    color: var(--cfy-t-ink);
    line-height: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
html body .map-modal .map-canvas .map-zoom-btn svg {
    width: 28px;
    height: 28px;
    pointer-events: none;
}
html body .map-modal .map-canvas .map-zoom-btn:hover,
html body .map-modal .map-canvas .map-zoom-btn:focus-visible,
html body .map-modal .map-canvas .map-zoom-btn:active {
    border-color: var(--cfy-t-accent);
    color: var(--cfy-t-accent);
}
html body .map-modal .map-canvas .map-zoom-btn:focus-visible {
    outline: 2px solid var(--cfy-t-accent);
    outline-offset: 1px;
}
/* Carte zoomée : un glisser la déplace */
html body .map-modal .map-canvas.is-zoomed > .map-svg {
    cursor: grab;
}
@media (max-width: 1199.98px) {
    html body .map-modal .map-canvas .map-zoom-ctl {
        inset-inline-end: 8px;
        bottom: 8px;
        gap: 4px;
    }
    html body .map-modal .map-canvas .map-zoom-btn {
        width: 48px;
        height: 48px;
    }
    html body .map-modal .map-canvas .map-zoom-btn svg {
        width: 24px;
        height: 24px;
    }
}

/* Colonne latérale de la carte : transparente sauf de 768 à 1919px */
.map-side {
    display: contents;
}

/* Carte du monde de 768 à 1919px : barre (recherche, niveaux) au-dessus de la carte, fiche de
   navigation et résumé dans une seule colonne à droite qui défile ; rien ne recouvre la carte. */
@media (min-width: 768px) and (max-width: 1919.98px) {
    html body .map-modal .map-modal-main:not(#cfy-b1):not(#cfy-b2) {
        gap: 8px !important;
    }
    html body .map-modal .map-canvas:not(#cfy-b1):not(#cfy-b2) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto minmax(0, 1fr);
        gap: 8px;
        padding: 8px !important;
        box-sizing: border-box;
    }
    html body .map-modal .map-canvas > .map-float-search:not(#cfy-b1):not(#cfy-b2) {
        position: relative !important;
        inset: auto !important;
        grid-row: 1;
        grid-column: 1;
        align-self: center;
        width: 100% !important;
        max-width: 460px !important;
        margin: 0 !important;
        transform: none !important;
    }
    html body .map-modal .map-canvas > .map-float-search .map-float-search-results:not(#cfy-b1) {
        position: absolute !important;
        top: 100% !important;
        inset-inline: 0 !important;
        z-index: 7 !important;
    }
    html body .map-modal .map-canvas > .map-view-toggle:not(#cfy-b1):not(#cfy-b2) {
        position: static !important;
        inset: auto !important;
        grid-row: 1;
        grid-column: 2;
        align-self: center;
        margin: 0 !important;
        transform: none !important;
    }
    html body .map-modal .map-canvas > .map-svg:not(#cfy-b1):not(#cfy-b2) {
        grid-row: 2;
        grid-column: 1 / -1;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
    }
    html body .map-modal .map-side:not(#cfy-b1) {
        display: flex;
        flex-direction: column;
        gap: 8px;
        flex: 0 0 320px;
        width: 320px;
        min-width: 0;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
    html body .map-modal .map-side > .map-country-info:not(#cfy-b1):not(#cfy-b2) {
        position: static !important;
        inset: auto !important;
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        transform: none !important;
        padding: 12px !important;
        overflow: visible !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }
    html body .map-modal .map-side > .map-country-info[hidden]:not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }
    html body .map-modal .map-side > .map-legend:not(#cfy-b1):not(#cfy-b2) {
        flex: 0 0 auto !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        padding: 12px !important;
        overflow: visible !important;
        box-shadow: none !important;
    }
    html body .map-modal .map-side > .map-legend .map-legend-view:not(#cfy-b1) {
        flex: 0 0 auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    html body .map-modal .map-side:not(#cfy-b1) {
        flex-basis: 280px;
        width: 280px;
    }
}

/* Tablette en portrait : carte en haut, fiche de navigation et résumé côte à côte dessous */
@media (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) {
    html body .map-modal .map-modal-main:not(#cfy-b1):not(#cfy-b2) {
        flex-direction: column !important;
    }
    html body .map-modal .map-canvas:not(#cfy-b1):not(#cfy-b2) {
        flex: 0 0 auto !important;
        height: min(62vw, 55vh) !important;
    }
    html body .map-modal .map-side:not(#cfy-b1) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        flex: 1 1 auto;
        width: auto;
    }
    html body .map-modal .map-side > .map-country-info[hidden] + .map-legend:not(#cfy-b1) {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1199.98px) {
    html body .dashboard-modal-header:not(#cfy-b1):not(#cfy-b2) {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        height: auto !important;
        min-height: 48px !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        padding-inline: 12px 52px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    html body .dashboard-modal-header :is(.container-fluid, .row, .dashboard-modal-header-col, .dashboard-modal-header-inner):not(#cfy-b1):not(#cfy-b2) {
        display: block !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        position: static !important;
    }

    /* Logo, langue, recherche, clair/sombre : hors de l'en-tête des modales */
    html body .dashboard-modal-header :is(.dashboard-modal-logo-link, .dashboard-modal-lang-btn, .dashboard-modal-search-btn, .dashboard-modal-theme-btn, .dashboard-modal-header-spacer):not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }

    html body .dashboard-modal-header .dashboard-modal-title:not(#cfy-b1):not(#cfy-b2) {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        display: block !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 12px 0 !important;
        font-size: var(--cfy-fs-md, 16px) !important;
        font-weight: var(--cfy-fw-semibold, 600) !important;
        line-height: 1.3 !important;
        letter-spacing: 0 !important;
        text-align: start !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        border: 0 !important;
        background: none !important;
    }
    html body .dashboard-modal-header .dashboard-modal-title *:not(#cfy-b1):not(#cfy-b2) {
        font-size: inherit !important;
        line-height: inherit !important;
    }
    html body .dashboard-modal-header .dashboard-modal-title:not(#cfy-b1)::before,
    html body .dashboard-modal-header .dashboard-modal-title:not(#cfy-b1)::after {
        content: none !important;
        display: none !important;
    }

    html body .dashboard-modal-header .dashboard-modal-close:not(#cfy-b1):not(#cfy-b2) {
        position: absolute !important;
        top: 4px !important;
        bottom: auto !important;
        inset-inline: auto 4px !important;
        transform: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body .dashboard-modal-header .dashboard-modal-close:not(#cfy-b1) svg {
        width: 20px !important;
        height: 20px !important;
    }
}

@media (max-width: 767.98px) {
    /* Pied : une rangée de boutons, sans les liens */
    html body .dashboard-modal-footer:not(#cfy-b1):not(#cfy-b2) {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 8px !important;
    }
    html body .dashboard-modal-footer .dashboard-modal-footer-nav:not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }
    html body .dashboard-modal-footer .dashboard-modal-footer-actions:not(#cfy-b1):not(#cfy-b2) {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body .dashboard-modal-footer .dashboard-modal-footer-actions > :is(button, a):not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 8px 12px !important;
        white-space: normal !important;
    }

    /* Carte du monde : tout s'empile et la fenêtre défile d'un seul tenant */
    html body .map-modal .map-modal-body:not(#cfy-b1) {
        padding: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }
    html body .map-modal .map-modal-main:not(#cfy-b1) {
        display: block !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 8px !important;
        overflow: visible !important;
    }
    html body .map-modal .map-canvas:not(#cfy-b1) {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 0 8px !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    html body .map-modal .map-canvas > .map-view-toggle:not(#cfy-b1) {
        position: static !important;
        order: 1 !important;
        display: flex !important;
        gap: 4px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        background: none !important;
        box-shadow: none !important;
    }
    html body .map-modal .map-canvas > .map-view-toggle .map-view-btn:not(#cfy-b1) {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        min-height: 40px !important;
        white-space: normal !important;
        overflow: visible !important;
    }
    html body .map-modal .map-canvas > .map-float-search:not(#cfy-b1) {
        position: static !important;
        order: 2 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        transform: none !important;
    }
    html body .map-modal .map-canvas > .map-svg:not(#cfy-b1) {
        order: 3 !important;
        display: block !important;
        width: 100% !important;
        height: clamp(190px, 58vw, 420px) !important;
        max-height: none !important;
    }
    html body .map-modal .map-canvas > .map-country-info:not(#cfy-b1) {
        position: static !important;
        order: 4 !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        transform: none !important;
        overflow: visible !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }
    html body .map-modal .map-country-info :is(.map-country-info-reg-list, .map-country-info-dep-list):not(#cfy-b1) {
        max-height: none !important;
        overflow: visible !important;
    }
    html body .map-modal .map-legend:not(#cfy-b1) {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 !important;
    }
    html body .map-modal .map-legend .map-legend-view:not(#cfy-b1) {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* Langues : recherche en tête, cartes sur plusieurs colonnes */
    html body #languageModal .language-modal-body:not(#cfy-b1) {
        padding: 8px !important;
    }
    html body #languageModal .language-modal-body > .container-fluid:not(#cfy-b1) {
        padding: 0 !important;
    }
    html body #languageModal .language-modal-body > .container-fluid > .row:first-child:not(#cfy-b1) {
        display: flex !important;
        margin: 0 0 8px !important;
    }
    html body #languageModal .language-modal-body > .container-fluid > .row:first-child > :not(.language-search-col):not(#cfy-b1) {
        display: none !important;
    }
    html body #languageModal .language-search-col:not(#cfy-b1) {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
    html body #languageModal .language-grid-separator:not(#cfy-b1) {
        display: none !important;
    }
    html body #languageModal .language-modal-body .row.mb-5:not(#cfy-b1),
    html body #languageModal .language-modal-body .row.mb-5 > .col-12:not(#cfy-b1) {
        margin: 0 !important;
        padding: 0 !important;
    }
    html body #languageModal .language-grid:not(#cfy-b1):not(#cfy-b2) {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body #languageModal .language-grid > .language-card:not(#cfy-b1) {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    html body #languageModal .language-grid .language-card-inner:not(#cfy-b1) {
        width: 100% !important;
        padding: 12px 4px !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word;
    }
}

/* Carte du monde : zoom au doigt (jusqu'à 1919px, la carte y est plus petite) */
@media (max-width: 1919.98px) {
    /* Un doigt fait défiler la fenêtre ; deux doigts zooment ; carte zoomée : un doigt la déplace */
    html body .map-modal .map-canvas > .map-svg {
        touch-action: pan-y;
    }
    html body .map-modal .map-canvas.is-zoomed > .map-svg {
        touch-action: none;
    }
}

@media (max-width: 767.98px) {
    html body .map-modal .map-canvas .map-zoom-ctl:not(#cfy-b1) {
        position: relative;
        inset: auto;
        order: 3;
        flex-direction: row;
        align-self: flex-end;
        margin: -64px 8px 8px;
    }

    /* Mégamenu des catalogues et panneau Options : plein écran */
    html body .cfy-catalog-navbar-mega:not(#cfy-b1):not(#cfy-b2),
    html body #cfyCatbarPanelOptions.cfy-catbar-panel:not(#cfy-b1):not(#cfy-b2) {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: none !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
        z-index: 1045 !important;
        overscroll-behavior: contain;
    }
    html body .cfy-catalog-navbar-mega[hidden],
    html body #cfyCatbarPanelOptions[hidden] {
        display: none !important;
    }

    /* Mégamenu : recherche sur sa propre rangée, pleine largeur, sous le titre et la croix */
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-head-bar {
        row-gap: 8px;
        padding-bottom: 10px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-head-bar .cfy-mm-filter {
        order: 10;
        flex: 1 1 100%;
        max-width: none;
        height: 44px;
    }

    /* Mégamenu, plateau de sélection : dock d'une rangée par groupe (compteur, annuler, action).
       Les puces vivent dans un volet qui s'ouvre par-dessus la liste, sans la réduire. */
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray {
        position: relative;
        z-index: 2;
        gap: 0;
        max-height: none;
        padding: 0 10px;
        overflow: visible;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray[hidden] {
        display: none;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray > .cfy-mm-hptray-head {
        padding: 8px 0;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) :is(.cfy-mm-hptray-hp, .cfy-mm-mjtray) {
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px;
        padding: 6px 0;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-toggle {
        appearance: none;
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        gap: 4px;
        min-width: 48px;
        min-height: 44px;
        padding: 0 8px;
        border: 1px solid var(--cfy-t-line-2);
        border-radius: 0;
        background: var(--cfy-t-surface);
        color: var(--cfy-t-ink);
        font-family: inherit;
        font-size: var(--cfy-fs-sm);
        font-weight: var(--cfy-fw-bold);
        font-variant-numeric: tabular-nums;
        cursor: pointer;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-toggle svg {
        flex: 0 0 auto;
        width: 16px;
        height: 16px;
        transform: rotate(180deg);
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-toggle[aria-expanded="true"] {
        border-color: var(--cfy-t-fill);
        background: var(--cfy-t-accent-soft);
        color: var(--cfy-t-accent);
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-toggle[aria-expanded="true"] svg {
        transform: none;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-toggle.is-warn {
        color: var(--cfy-tx-warning);
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-toggle:focus-visible {
        outline: 2px solid var(--cfy-t-accent);
        outline-offset: 2px;
    }
    /* Actions : « annuler » à sa largeur, l'action principale prend le reste (libellé entier, sur deux lignes au besoin) */
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray .cfy-mm-hptray-actions {
        flex: 1 1 auto;
        flex-wrap: nowrap;
        gap: 8px;
        width: auto;
        min-width: 0;
        margin: 0;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray .cfy-mm-hptray-actions .cfy-mm-hpbtn {
        flex: 0 0 auto;
        min-width: 0;
        min-height: 44px;
        padding: 4px 10px;
        font-size: var(--cfy-fs-sm);
        line-height: 16px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray .cfy-mm-hptray-actions .cfy-mm-hpbtn--primary {
        flex: 1 1 0;
        text-align: center;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray .cfy-mm-hptray-actions .cfy-mm-hpbtn svg {
        flex: 0 0 auto;
        width: 16px;
        height: 16px;
    }
    /* Volet : fermé par défaut, ouvert au-dessus du dock */
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-sheet {
        display: none;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .is-open > .cfy-mm-hptray-sheet {
        position: absolute;
        right: 0;
        bottom: 100%;
        left: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
        max-height: 50vh;
        max-height: 50dvh;
        padding: 10px;
        overflow-y: auto;
        overscroll-behavior: contain;
        border-top: 2px solid var(--cfy-t-fill);
        background: var(--cfy-t-surface-2);
        color: var(--cfy-t-ink);
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-sheet .cfy-mm-hptray-head {
        flex: 0 0 auto;
        flex-wrap: wrap;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-sheet .cfy-mm-hptray-note {
        flex: 1 1 100%;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-sheet .cfy-mm-hptray-chips {
        flex: 0 0 auto;
        flex-wrap: wrap;
        max-height: none;
        padding: 0;
        overflow: visible;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-sheet .cfy-mm-hpchip {
        flex: 0 1 auto;
        max-width: 100%;
        min-height: 40px;
        padding: 0 0 0 10px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-sheet .cfy-mm-hpchip.is-more {
        padding: 0 10px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-sheet .cfy-mm-hpchip > span {
        overflow: visible;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hptray-sheet .cfy-mm-hpchip button {
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        padding: 0;
    }
}


/* Jeux (liste des jeux et les deux parties) : plein écran sous 1200px, sans marge en haut,
   en-tête et pied fixes, zone de jeu sur toute la hauteur restante */
@media (max-width: 1199.98px) {
    html body :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal).modal.show:not(#cfy-b1):not(#cfy-b2) {
        display: flex !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
    html body :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) .modal-dialog {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 100% !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        transform: none !important;
    }
    html body :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) .modal-content {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }
    html body :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) :is(.dashboard-modal-header, .dashboard-modal-footer, .games-modal-disclaimer) {
        flex: 0 0 auto !important;
    }
    html body :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) .games-modal-body {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
    html body #gamesCommercifyModal:not(#cfy-b1):not(#cfy-b2) .games-modal-body {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }
    html body :is(#gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) .games-modal-body {
        overflow: hidden !important;
        touch-action: none;
    }
    /* Mention légale du pied : une ligne courte, centrée */
    html body :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) .games-modal-disclaimer {
        padding: 6px 10px !important;
    }
    html body :is(#gamesCommercifyModal, #gameKoinkoinsModal, #gameShootYourScammersModal):not(#cfy-b1):not(#cfy-b2) .games-modal-disclaimer p {
        font-size: var(--cfy-fs-caption, 12px) !important;
        line-height: 16px !important;
    }
    /* Écrans d'aide et de fin : panneau qui tient dans l'écran */
    html body :is(#gameHelp, #shootGameHelp, #gameEndMessage, #shootGameEndMessage):not(#cfy-b1):not(#cfy-b2) > div {
        width: calc(100% - 20px) !important;
        max-width: 500px !important;
        max-height: calc(100% - 20px) !important;
        overflow-y: auto !important;
        padding: 20px 16px !important;
        box-sizing: border-box !important;
    }
}

/* Smartphone : pastilles du HUD compactes, sur deux lignes au plus */
@media (max-width: 767.98px) {
    html body :is(#gameHUD, #shootGameHUD):not(#cfy-b1):not(#cfy-b2) {
        top: 6px !important;
        left: 6px !important;
        right: 6px !important;
    }
    html body :is(#gameHUD, #shootGameHUD):not(#cfy-b1):not(#cfy-b2) > div {
        gap: 6px !important;
    }
    html body :is(#gameHUD, #shootGameHUD):not(#cfy-b1):not(#cfy-b2) > div > div {
        padding: 6px 10px !important;
        font-size: var(--cfy-fs-sm, 13px) !important;
        line-height: 16px !important;
    }
    html body :is(#gameHelp, #shootGameHelp, #gameEndMessage, #shootGameEndMessage):not(#cfy-b1):not(#cfy-b2) h3 {
        font-size: var(--cfy-fs-lg, 18px) !important;
    }
    html body :is(#gameHelp, #shootGameHelp):not(#cfy-b1):not(#cfy-b2) strong {
        width: auto !important;
        min-width: 64px;
    }
}

/* Mégamenu, en-tête de section sur tablette : affiche compacte. Titre et chiffres d'abord, puis la barre
   d'actions (filtre, boutons) : à droite sur la même rangée quand la largeur le permet, dessous sinon.
   Repliée : une seule rangée de 56px. Cibles de 40px. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2 {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px 14px;
        min-height: 0;
        padding: 12px 12px 12px 110px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2:dir(rtl) {
        padding: 12px 110px 12px 12px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-dc {
        position: absolute;
        top: 0;
        bottom: 0;
        inset-inline-start: 0;
        width: 96px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-main {
        flex: 3 1 300px;
        min-width: 0;
        padding: 0;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-ac {
        flex: 1 1 auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        min-width: 0;
        padding: 0;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-btns {
        flex: 0 0 auto;
        gap: 8px;
        margin-inline-start: auto;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-tools {
        flex: 1 1 0;
        flex-wrap: nowrap;
        justify-content: flex-start;
        min-width: min-content;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-tools .cfy-mm-filter {
        flex: 1 1 0;
        width: auto;
        min-width: 120px;
        min-height: 40px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-tools .cfy-mm-filter input {
        flex: 1 1 0;
        width: 0;
        min-width: 0;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-tools .cfy-mm-hpall {
        flex: 0 0 auto;
        min-height: 40px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-tt {
        margin: 2px 0 8px;
        font-size: var(--cfy-fs-h3);
        overflow-wrap: break-word;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-big b {
        font-size: var(--cfy-fs-h2);
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-st {
        gap: 8px 16px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-btn {
        min-height: 40px;
        padding: 0 12px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-btn.cfy-mm-hero2-ico {
        width: 40px;
        padding: 0;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2-btn svg {
        flex: 0 0 auto;
        width: 16px;
        height: 16px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2 .cfy-mm-onlymine {
        min-height: 40px;
        padding: 0 12px;
    }

    /* Repliée */
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2.is-folded {
        flex-wrap: nowrap;
        min-height: 56px;
        padding: 8px 12px 8px 68px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2.is-folded:dir(rtl) {
        padding: 8px 68px 8px 12px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2.is-folded .cfy-mm-hero2-dc {
        width: 56px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2.is-folded .cfy-mm-hero2-main {
        flex: 1 1 0;
        flex-wrap: nowrap;
        gap: 10px;
        padding: 0;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2.is-folded .cfy-mm-hero2-tt {
        flex: 1 1 0;
        min-width: 0;
        margin: 0;
        font-size: var(--cfy-fs-lg);
        line-height: 20px;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2.is-folded .cfy-mm-hero2-st {
        flex: 0 0 auto;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2.is-folded .cfy-mm-hero2-ac {
        flex: 0 0 auto;
        flex-wrap: nowrap;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2.is-folded :is(.cfy-mm-hero2-trail, .cfy-mm-hero2-tools) {
        display: none;
    }
    html body .cfy-catalog-navbar-mega:not(#cfy-b1) .cfy-mm-hero2.is-folded :is(.cfy-mm-hero2-mj span, .cfy-mm-onlymine span) {
        display: none;
    }
}

/* Modales centrées (actions de la fiche annonce, badges de l'éditeur) sous 1920px : le voile et la boîte
   suivent la hauteur réellement visible (barres du navigateur déduites sur tablette et smartphone), la boîte
   ne dépasse jamais l'écran, en-tête et pied restent en place et seul le corps défile. */
@media (max-width: 1919.98px) {
    html body .commercify-modal:not(#cfy-b1):not(#cfy-b2):has(> .modal-dialog-centered) {
        inset: 0 !important;
        height: 100vh !important;
        height: 100dvh !important;
    }
    html body .commercify-modal:not(#cfy-b1):not(#cfy-b2) > .modal-dialog-centered {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        min-height: 0 !important;
        max-height: calc(100vh - 2rem) !important;
        max-height: calc(100dvh - 2rem) !important;
    }
    html body .commercify-modal:not(#cfy-b1):not(#cfy-b2) > .modal-dialog-centered > .modal-content {
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
        max-height: calc(100vh - 2rem) !important;
        max-height: calc(100dvh - 2rem) !important;
        overflow: hidden !important;
    }
    html body .commercify-modal:not(#cfy-b1):not(#cfy-b2) > .modal-dialog-centered > .modal-content > :is(.modal-header, .modal-footer) {
        flex: 0 0 auto !important;
    }
    html body .commercify-modal:not(#cfy-b1):not(#cfy-b2) > .modal-dialog-centered > .modal-content > .modal-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
}
/* Smartphone : bord unique de 10px autour de la boîte */
@media (max-width: 767.98px) {
    html body .commercify-modal:not(#cfy-b1):not(#cfy-b2):has(> .modal-dialog-centered) {
        padding: 10px !important;
    }
    html body .commercify-modal:not(#cfy-b1):not(#cfy-b2) > .modal-dialog-centered,
    html body .commercify-modal:not(#cfy-b1):not(#cfy-b2) > .modal-dialog-centered > .modal-content {
        max-height: calc(100vh - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
    }
    html body .commercify-modal:not(#cfy-b1):not(#cfy-b2) > .modal-dialog-centered {
        max-width: 100% !important;
    }
}

/* Panneau Options sur smartphone : pas de rappel de l'onglet en tête de contenu (l'onglet actif suffit) ;
   barre du bas réduite aux deux boutons des changements en attente, sur une rangée. */
@media (max-width: 767.98px) {
    html body #cfyCatbarPanelOptions:not(#cfy-b1) .cfy-opt-tab-head,
    html body #cfyCatbarPanelOptions:not(#cfy-b1) .cfy-opt-bar :is(.cfy-opt-legend, .cfy-opt-status, [data-opt-undo]) {
        display: none !important;
    }
    html body #cfyCatbarPanelOptions:not(#cfy-b1) .cfy-opt-bar {
        padding: 8px 10px !important;
        gap: 0 !important;
    }
    html body #cfyCatbarPanelOptions:not(#cfy-b1) .cfy-opt-bar .cfy-opt-actions {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
    }
    html body #cfyCatbarPanelOptions:not(#cfy-b1) .cfy-opt-bar .cfy-opt-btn {
        min-height: 40px;
        justify-content: center;
    }
    html body #cfyCatbarPanelOptions:not(#cfy-b1) .cfy-opt-bar [data-opt-discard] {
        flex: 0 1 auto;
    }
    html body #cfyCatbarPanelOptions:not(#cfy-b1) .cfy-opt-bar [data-opt-apply] {
        flex: 1 1 0;
    }
}

/* ═══ commercify_publisher_mobile.css ═══ */
/* Pages éditeur sur smartphone : carte d'en-tête compacte (avatar, identifiant, quatre onglets entiers),
   contenu bord à bord sans marges emboîtées, fiche annonce lisible. */

@media (max-width: 767.98px) {
    /* --- Contenu : une seule marge, celle de l'écran --- */
    html.cfy-pg-publisher-typology body .nk-content > .card:not(#cfy-b1),
    html.cfy-pg-publisher-typology body .page-publisher-typology > .card:not(.publisher-header-card):not(#cfy-b1) {
        margin: 0 calc(-1 * var(--nk-content-padding, 0px)) !important;
        padding: 0 !important;
        border-inline: 0 !important;
        border-radius: 0 !important;
        width: auto !important;
    }
    html.cfy-pg-publisher-typology body .nk-content > .card > .card-inner:not(#cfy-b1),
    html.cfy-pg-publisher-typology body .page-publisher-typology > .card:not(.publisher-header-card) > .card-inner:not(#cfy-b1) {
        padding: 12px 10px !important;
    }
    html.cfy-pg-publisher-typology body .nk-content > .card > .card-inner > .row:not(#cfy-b1) {
        margin-inline: 0 !important;
    }
    html.cfy-pg-publisher-typology body .nk-content > .card > .card-inner > .row > [class*="col-"]:not(#cfy-b1) {
        padding-inline: 0 !important;
    }

    html.cfy-pg-publisher-typology body .cfy-pi-zone-row:not(#cfy-b1) {
        width: auto !important;
        max-width: none !important;
        margin-inline: 0 !important;
    }
    html.cfy-pg-publisher-typology body .cfy-pi-zone-row > .cfy-pi-zone-col:not(#cfy-b1) {
        padding-inline: 0 !important;
    }

    /* --- Fiche annonce --- */
    html.cfy-pg-publisher-typology body .publisher-ad-action-buttons > ul:not(#cfy-b1) {
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin: 0 0 8px !important;
        padding: 0 !important;
    }
    html.cfy-pg-publisher-typology body .publisher-ad-action-buttons > ul > li:not(#cfy-b1) {
        margin: 0 !important;
    }
    html.cfy-pg-publisher-typology body .product-info .product-title:not(#cfy-b1) {
        font-size: var(--cfy-fs-h4, 20px) !important;
        line-height: 1.3 !important;
        overflow-wrap: anywhere;
    }
    html.cfy-pg-publisher-typology body .price-container:not(#cfy-b1) {
        padding: 12px !important;
        height: auto !important;
        overflow: visible !important;
    }
    html.cfy-pg-publisher-typology body .price-container .product-price:not(#cfy-b1) {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        gap: 4px 8px !important;
        height: auto !important;
        margin: 0 !important;
    }
    html.cfy-pg-publisher-typology body .price-container :is(.price-value, .price-currency):not(#cfy-b1) {
        font-size: var(--cfy-fs-h3, 24px) !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }
    html.cfy-pg-publisher-typology body .price-container .price-details:not(#cfy-b1) {
        flex: 1 1 100% !important;
        margin: 4px 0 0 !important;
        padding: 6px 8px !important;
    }
    html.cfy-pg-publisher-typology body .product-details .row.g-2 > [class*="col-"] > .d-flex:not(#cfy-b1) {
        height: auto !important;
        min-height: 0 !important;
    }
    html.cfy-pg-publisher-typology body .product-details .row.g-2 > [class*="col-"] > .d-flex > .d-flex:not(#cfy-b1) {
        height: auto !important;
        min-height: 0 !important;
        flex: 0 0 auto !important;
    }
    html.cfy-pg-publisher-typology body .product-details br:not(#cfy-b1) {
        display: none !important;
    }
    html.cfy-pg-publisher-typology body .product-details > .nk-block-title:not(#cfy-b1) {
        margin: 24px 0 8px !important;
    }
}

/* Carte d'en-tête de l'éditeur, smartphone et tablette : compacte (avatar 32px, identifiant 16px, onglets 13px) */
@media (max-width: 1199.98px) {
    /* --- Carte d'en-tête de l'éditeur --- */
    html.cfy-pg-publisher-typology body .publisher-header-card:not(#cfy-b1) {
        margin: 0 0 8px !important;
        padding: 0 !important;
        border-radius: 0 !important;
        width: auto !important;
        min-height: 0 !important;
        height: auto !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-card > .card-inner:not(#cfy-b1) {
        padding: 6px 10px !important;
        min-height: 0 !important;
        height: auto !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-card .publisher-header-row-1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: grid !important;
        grid-template-columns: 32px minmax(0, 1fr) 32px !important;
        align-items: center !important;
        gap: 6px 8px !important;
        margin: 0 !important;
        min-height: 0 !important;
        height: auto !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-row-1 > :is(.publisher-header-col-left, .publisher-header-col-right):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3),
    html.cfy-pg-publisher-typology body .publisher-header-row-1 > :is(.publisher-header-col-left, .publisher-header-col-right) > .d-flex:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: contents !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-avatar-link:not(#cfy-b1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 32px !important;
        height: 32px !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-avatar-link .publisher-avatar:not(#cfy-b1) {
        width: 32px !important;
        height: 32px !important;
        min-width: 0 !important;
        min-height: 0 !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-identity:not(#cfy-b1) {
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        margin: 0 !important;
        text-align: start !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-slug:not(#cfy-b1) {
        font-size: var(--cfy-fs-md, 16px) !important;
        line-height: 1.25 !important;
        margin: 0 !important;
        text-align: start !important;
        overflow-wrap: anywhere;
    }
    html.cfy-pg-publisher-typology body .publisher-header-toggle-btn:not(#cfy-b1) {
        grid-column: 3 !important;
        grid-row: 1 !important;
        width: 32px !important;
        height: 32px !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: var(--cfy-fs-base, 14px) !important;
        line-height: 1 !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-ad-context:not(#cfy-b1) {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 4px 6px !important;
        margin: 2px 0 0 !important;
        min-height: 0 !important;
        font-size: var(--cfy-fs-caption, 12px) !important;
        line-height: 1.2 !important;
    }
    html.cfy-pg-publisher-typology body .publisher-nav:not(#cfy-b1) {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 4px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
    }
    html.cfy-pg-publisher-typology body .publisher-nav .publisher-nav__link:not(#cfy-b1) {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 32px !important;
        height: auto !important;
        padding: 4px 8px !important;
        font-size: var(--cfy-fs-sm, 13px) !important;
        white-space: normal !important;
    }
    html.cfy-pg-publisher-typology body .publisher-nav .publisher-nav__label:not(#cfy-b1) {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        font-size: var(--cfy-fs-sm, 13px) !important;
        line-height: 1.2 !important;
    }

    /* Contexte de la fiche annonce : une ligne discrète (libellé, code, retour au catalogue) */
    html.cfy-pg-publisher-typology body .publisher-header-ad-context :is(.publisher-header-ad-context-label, .publisher-header-ad-context-slug, .publisher-header-ad-context-link):not(#cfy-b1):not(#cfy-b2) {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 2px 6px !important;
        font-size: var(--cfy-fs-caption, 12px) !important;
        line-height: 1.3 !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-ad-context .publisher-header-ad-context-label:not(#cfy-b1):not(#cfy-b2) {
        padding-inline: 0 !important;
    }
}

/* Slogan sous l'identifiant : seulement sous 1200px (au-dessus il est dans le volet du bouton +) */
.publisher-header-slogan-inline {
    display: none;
}

/* Identité + sélecteur segmenté : les quatre catalogues forment un seul contrôle, le courant plein à sa couleur */
@media (max-width: 1199.98px) {
    html.cfy-pg-publisher-typology body .publisher-header-slogan-inline:not(#cfy-b1) {
        display: block !important;
        margin: 0 !important;
        font-size: var(--cfy-fs-caption, 12px) !important;
        line-height: 1.3 !important;
        color: var(--cfy-t-muted) !important;
        /* Deux lignes au plus : le slogan complet reste dans le volet du bouton + */
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden !important;
    }
    html.cfy-pg-publisher-typology body .publisher-nav:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: flex !important;
        gap: 0 !important;
        border: 1px solid var(--cfy-t-line-2) !important;
        background: var(--cfy-t-surface) !important;
    }
    html.cfy-pg-publisher-typology body .publisher-nav .publisher-nav__link:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        flex: 1 1 0 !important;
        justify-content: center !important;
        min-height: 34px !important;
        padding: 4px 6px !important;
        border: 0 !important;
        border-inline-start: 1px solid var(--cfy-t-line-2) !important;
        border-radius: 0 !important;
        /* la couleur du catalogue reste en liseré, comme sur grand écran */
        box-shadow: inset 0 -3px 0 var(--cfy-pub-tier, var(--cfy-t-line-2)) !important;
        background: transparent !important;
        color: var(--cfy-t-ink-2) !important;
        text-align: center !important;
        font-size: var(--cfy-fs-caption, 12px) !important;
    }
    html.cfy-pg-publisher-typology body .publisher-nav .publisher-nav__link:first-child:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        border-inline-start: 0 !important;
    }
    html.cfy-pg-publisher-typology body .publisher-nav .publisher-nav__link .publisher-nav__label:not(#cfy-b1):not(#cfy-b2) {
        font-size: var(--cfy-fs-caption, 12px) !important;
        text-align: center !important;
    }
    html.cfy-pg-publisher-typology body .publisher-nav .publisher-nav__link.publisher-nav__link--current:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)) !important;
        color: var(--cfy-t-on-fill) !important;
    }
    html.cfy-pg-publisher-typology body .publisher-nav .publisher-nav__link.publisher-nav__link--current :is(.publisher-nav__label, *):not(#cfy-b1):not(#cfy-b2) {
        color: var(--cfy-t-on-fill) !important;
    }
}

/* Tablette et petit écran : identité et sélecteur sur une seule ligne */
@media (min-width: 768px) and (max-width: 1199.98px) {
    html.cfy-pg-publisher-typology body .publisher-header-card .publisher-header-row-1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        grid-template-columns: 32px minmax(0, 1fr) minmax(0, 480px) 32px !important;
        gap: 6px 10px !important;
        min-height: 44px !important;
    }
    html.cfy-pg-publisher-typology body .publisher-nav:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        grid-column: 3 !important;
        grid-row: 1 !important;
        align-self: center !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-toggle-btn:not(#cfy-b1):not(#cfy-b2) {
        grid-column: 4 !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-slogan-inline:not(#cfy-b1):not(#cfy-b2) {
        -webkit-line-clamp: 1;
        line-clamp: 1;
    }
}

/* Smartphone : la carte d'en-tête va d'un bord à l'autre de l'écran */
@media (max-width: 767.98px) {
    html.cfy-pg-publisher-typology body .publisher-header-card:not(#cfy-b1):not(#cfy-b2) {
        margin-inline: calc(-1 * var(--nk-content-padding, 0px)) !important;
        border-inline: 0 !important;
    }
}

/* Habillage de la carte d'en-tête sous 1200px : mêmes surfaces, filets, étiquettes et couleurs de texte qu'au-dessus
   (surface unie, liseré d'accent en bas, avatar à filet fin, identifiant en couleur de texte, étiquettes 12px). */
@media (max-width: 1199.98px) {
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        background: var(--cfy-t-surface) !important;
        border: 1px solid var(--cfy-t-line-2) !important;
        box-shadow: inset 0 -2px 0 var(--cfy-t-fill) !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card :is(.card-inner, .publisher-header-gradient, .publisher-header-compact):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        background: var(--cfy-t-surface) !important;
        background-image: none !important;
    }
    /* le bloc intérieur couvre la carte : c'est lui qui porte le liseré d'accent du bas */
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card > .card-inner:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        box-shadow: inset 0 -2px 0 var(--cfy-t-fill) !important;
        border-bottom: 0 !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-avatar:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        object-fit: cover !important;
        border: 1px solid var(--cfy-t-line-2) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card :is(.publisher-header-slug, .publisher-header-slug bdi):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        color: var(--cfy-t-ink) !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-header-slogan-inline:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        font-style: normal !important;
        color: var(--cfy-t-ink-2) !important;
    }

    /* Bouton + : anneau de survol et de focus à l'accent du thème */
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-header-toggle-btn:is(:hover, :focus, :focus-visible, :active):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        box-shadow: 0 0 0 2px rgba(var(--cfy-t-accent-rgb), .45) !important;
        outline: none !important;
    }

    /* Volet du bouton + : slogan complet et étiquettes, au dessin des étiquettes du grand écran */
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card :is(.publisher-header-details-collapse, .publisher-header-row-2, .publisher-header-badges-col, .publisher-header-details-inner, .publisher-header-tags-wrap):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        background: transparent !important;
        box-shadow: none !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-header-details-inner:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        border-top: 1px solid var(--cfy-t-line) !important;
        margin-top: var(--cfy-sp-2, 8px) !important;
        padding: var(--cfy-sp-2, 8px) 0 var(--cfy-sp-1, 4px) !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-header-slogan:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        margin: 0 0 var(--cfy-sp-2, 8px) !important;
        font-size: var(--cfy-fs-sm) !important;
        font-style: normal !important;
        font-weight: var(--cfy-fw-regular) !important;
        line-height: var(--cfy-lh-snug) !important;
        color: var(--cfy-t-ink-2) !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-tags:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 6px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-tag:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: inline-flex !important;
        align-items: center !important;
        height: auto !important;
        min-height: 22px !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 2px var(--cfy-sp-2, 8px) !important;
        font-size: var(--cfy-fs-caption) !important;
        font-weight: var(--cfy-fw-semibold) !important;
        line-height: var(--cfy-lh-snug) !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: normal !important;
        text-align: start !important;
        color: var(--cfy-t-ink-2) !important;
        background: var(--cfy-t-surface-2) !important;
        border: 1px solid var(--cfy-t-line-2) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-tag[data-bs-toggle]:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        cursor: pointer !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-tag[data-bs-toggle]:is(:hover, :focus-visible):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        color: var(--cfy-t-accent) !important;
        border-color: var(--cfy-t-accent) !important;
    }

    /* Contexte de la fiche annonce : libellé atténué, code et retour au catalogue en pastilles de surface */
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-header-ad-context-label:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        color: var(--cfy-t-muted) !important;
        background: transparent !important;
        border: 0 !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card :is(.publisher-header-ad-context-slug, .publisher-header-ad-context-link):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        color: var(--cfy-t-ink) !important;
        background: var(--cfy-t-surface-2) !important;
        border-top: 1px solid var(--cfy-t-line-2) !important;
        border-inline: 1px solid var(--cfy-t-line-2) !important;
        border-radius: 0 !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-header-ad-context-slug:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        border-bottom: 1px solid var(--cfy-t-line-2) !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-header-ad-context-link:is(:hover, :focus-visible):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        color: var(--cfy-t-accent) !important;
        border-top-color: var(--cfy-t-accent) !important;
        border-inline-color: var(--cfy-t-accent) !important;
    }
}

/* Avatar et bouton + en haut de la carte (comme au-dessus de 1200px), sur smartphone et tablette */
@media (max-width: 1199.98px) {
    html.cfy-pg-publisher-typology body .publisher-header-card :is(.publisher-header-avatar-link, .publisher-header-toggle-btn):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        align-self: start !important;
    }
}

/* Tablette : contexte de la fiche annonce aligné à gauche sous l'identifiant */
@media (min-width: 768px) and (max-width: 1199.98px) {
    html.cfy-pg-publisher-typology body .publisher-header-card .publisher-header-ad-context:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        justify-content: flex-start !important;
        text-align: start !important;
    }
    /* colonne d'identité assez large pour « Fiche annonce + code » sur une ligne ; le sélecteur prend le reste */
    html.cfy-pg-publisher-typology body .publisher-header-card .publisher-header-row-1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        grid-template-columns: 32px minmax(220px, 1fr) minmax(0, 480px) 32px !important;
    }
}

/* Sous 1200px comme au-dessus : pas de bouton +, tout est visible. Le slogan est déjà sous l'identifiant ;
   les étiquettes restent affichées en permanence sous la carte d'identité. */
@media (max-width: 1199.98px) {
    html.cfy-pg-publisher-typology body .publisher-header-card .publisher-header-toggle-btn:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: none !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-card .publisher-header-row-1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        grid-template-columns: 32px minmax(0, 1fr) !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-card .publisher-header-details-collapse:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: block !important;
        height: auto !important;
        visibility: visible !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-card .publisher-header-details-collapse .publisher-header-slogan:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: none !important;
    }
    html.cfy-pg-publisher-typology body[class*="cfy-ht-"] .page-publisher-typology .publisher-header-card .publisher-header-details-inner:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        border-top: 0 !important;
        margin-top: 6px !important;
        padding: 0 0 2px !important;
    }
    html.cfy-pg-publisher-typology body .publisher-header-card :is(.publisher-header-row-2, .publisher-header-badges-col):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        margin: 0 !important;
        padding: 0 !important;
    }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    html.cfy-pg-publisher-typology body .publisher-header-card .publisher-header-row-1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):not(#cfy-b5) {
        grid-template-columns: 32px minmax(220px, 1fr) minmax(0, 480px) !important;
    }
}

/* Page éditeur (publisher/) : zone « Profil public » sous 1200px. Un seul onglet, masqué : sa barre restait
   en bande vide de 9px. Sur smartphone, la zone était un cadre (bordure 1px) dans la carte, plus 16px de
   remplissage : texte à 27px du bord au lieu du bord unique de 10px. */
@media (max-width: 1199.98px) {
    html.cfy-pg-publisher-typology body .cfy-pi-zone-tabs:has(> .cfy-pi-zone-tab:only-child):not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }
}
@media (max-width: 767.98px) {
    html.cfy-pg-publisher-typology body .cfy-pi-zone:not(#cfy-b1):not(#cfy-b2) {
        border: 0 !important;
        box-shadow: none !important;
    }
    html.cfy-pg-publisher-typology body .cfy-pi-zone-panel:not(#cfy-b1):not(#cfy-b2) {
        padding-inline: 0 !important;
    }
}

/* ═══ commercify_publisher_adp.css ═══ */
/* Page d'entrée d'un catalogue privé : carte « guichet » en deux volets (identité, formulaire) et bande d'étapes. */

.cfy-adp {
    padding: var(--cfy-sp-6) var(--cfy-sp-5) var(--cfy-sp-7);
}

.cfy-adp__card {
    display: grid;
    grid-template-columns: minmax(260px, 5fr) 7fr;
    max-width: 1080px;
    margin: 0 auto;
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
    border-top: 3px solid #6c757d; /* liseré du niveau d'accès « privé » */
    border-radius: 0;
}

/* Volet identité */
.cfy-adp__id {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: var(--cfy-sp-4);
    padding: var(--cfy-sp-6);
    background: var(--cfy-t-surface-3);
    border-right: 1px solid var(--cfy-t-line);
}
.cfy-adp__marks {
    display: flex;
    align-items: center;
    gap: var(--cfy-sp-3);
}
.cfy-adp__lock {
    display: grid;
    place-items: center;
    width: var(--cfy-avatar-lg, 80px);
    height: var(--cfy-avatar-lg, 80px);
    color: var(--cfy-t-accent);
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
}
.cfy-adp__avatar {
    display: block;
    width: var(--cfy-avatar-lg, 80px);
    height: var(--cfy-avatar-lg, 80px);
    object-fit: cover;
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
}
.cfy-adp__kicker {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    letter-spacing: var(--cfy-ls-caps);
    text-transform: uppercase;
    color: var(--cfy-tx-muted);
}
.cfy-adp__kicker::before {
    content: "";
    width: 18px;
    height: 3px;
    background: #6c757d;
}
.cfy-adp__title {
    margin: 0;
    font-size: var(--cfy-fs-h3);
    font-weight: var(--cfy-fw-bold);
    line-height: var(--cfy-lh-snug);
    letter-spacing: var(--cfy-ls-title);
    color: var(--cfy-tx-ink);
}
.cfy-adp__lead {
    margin: 0;
    font-size: var(--cfy-fs-base);
    line-height: var(--cfy-lh-body);
    color: var(--cfy-tx-ink-2);
}
.cfy-adp__slug {
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-t-accent);
    unicode-bidi: isolate;
    overflow-wrap: anywhere;
}

/* Volet formulaire */
.cfy-adp__form {
    display: flex;
    flex-direction: column;
    gap: var(--cfy-sp-2);
    padding: var(--cfy-sp-6) var(--cfy-sp-6) var(--cfy-sp-5);
    min-width: 0;
}
.cfy-adp__h {
    margin: 0;
    font-size: var(--cfy-fs-h4);
    font-weight: var(--cfy-fw-bold);
    line-height: var(--cfy-lh-snug);
    letter-spacing: var(--cfy-ls-title);
    color: var(--cfy-tx-ink);
}
.cfy-adp__sub {
    margin: 0 0 var(--cfy-sp-4);
    font-size: var(--cfy-fs-base);
    color: var(--cfy-tx-muted);
}
.cfy-adp__label {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--cfy-sp-1) var(--cfy-sp-3);
    margin: 0;
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    letter-spacing: var(--cfy-ls-caps);
    text-transform: uppercase;
    color: var(--cfy-tx-ink-2);
}
.cfy-adp__label small {
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-medium);
    letter-spacing: 0;
    text-transform: none;
    color: var(--cfy-tx-muted);
}

/* Champ de code : 12 cases dessinées sous un vrai champ monospace ; les 4 premières sont soulignées (minimum). */
.cfy-adp__row {
    display: flex;
    align-items: stretch;
    gap: var(--cfy-sp-2);
    max-width: 100%;
}
.cfy-adp__input {
    --cfy-adp-fs: 24px;
    --cfy-adp-cell: var(--cfy-t-surface-3);
    --cfy-adp-min: var(--cfy-t-accent);
    box-sizing: content-box;
    width: calc(12 * 2.4ch);
    height: 56px;
    margin: 0;
    padding: 0 0 0 .7ch;
    border: 0;
    border-radius: 0;
    outline: none;
    font-family: var(--cfy-font-mono);
    font-size: var(--cfy-adp-fs);
    font-weight: var(--cfy-fw-semibold);
    line-height: 1;
    letter-spacing: 1.4ch;
    color: var(--cfy-tx-ink);
    caret-color: var(--cfy-t-accent);
    background:
        linear-gradient(var(--cfy-adp-min), var(--cfy-adp-min)) 0 100% / calc(4 * 2.4ch - 4px) 2px no-repeat,
        repeating-linear-gradient(90deg, var(--cfy-adp-cell) 0 calc(2.4ch - 4px), transparent calc(2.4ch - 4px) 2.4ch) 0 0 / calc(12 * 2.4ch - 4px) 100% no-repeat;
}
.cfy-adp__input::placeholder {
    color: transparent;
}
.cfy-adp__row:focus-within .cfy-adp__input {
    box-shadow: 0 0 0 2px var(--cfy-t-accent);
}
.cfy-adp__eye {
    display: grid;
    place-items: center;
    width: 48px;
    padding: 0;
    color: var(--cfy-tx-ink-2);
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
    cursor: pointer;
}
.cfy-adp__eye:hover,
.cfy-adp__eye:focus-visible {
    color: var(--cfy-t-accent);
    border-color: var(--cfy-t-accent);
    outline: none;
}
.cfy-adp__help {
    margin: 0;
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-tx-muted);
}
.cfy-adp__err {
    display: flex;
    align-items: center;
    gap: var(--cfy-sp-2);
    margin: 0;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-tx-danger);
}
/* En mode sombre, le rouge d'erreur est éclairci vers la couleur du texte pour rester lisible. */
body.dark-mode .cfy-adp__err {
    color: color-mix(in srgb, var(--cfy-tx-danger) 40%, var(--cfy-tx-ink));
}
.cfy-adp__err[hidden] {
    display: none;
}
.cfy-adp__form.is-err .cfy-adp__input {
    --cfy-adp-min: var(--cfy-tx-danger);
}

/* Actions */
.cfy-adp__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cfy-sp-3) var(--cfy-sp-5);
    margin-top: var(--cfy-sp-3);
}
.cfy-adp__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--cfy-sp-2);
    height: var(--cfy-ctl-lg, 48px);
    padding: 0 var(--cfy-sp-5);
    font-family: inherit;
    font-size: var(--cfy-fs-base);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-t-on-fill);
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo));
    border: 1px solid var(--cfy-t-fill-lo);
    border-radius: 0;
    cursor: pointer;
}
.cfy-adp__btn:hover {
    color: var(--cfy-t-on-fill);
    filter: brightness(1.08);
}
.cfy-adp__btn:focus-visible {
    outline: 2px solid var(--cfy-t-accent);
    outline-offset: 2px;
}
.cfy-adp__btn[disabled] {
    cursor: progress;
    filter: saturate(.6);
}
.cfy-adp__link {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2);
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-t-accent);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}
.cfy-adp__link:hover,
.cfy-adp__link:focus-visible {
    color: var(--cfy-t-accent);
    border-bottom-color: currentColor;
    outline: none;
}

/* Bande des 3 étapes */
.cfy-adp__steps {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--cfy-t-line);
}
.cfy-adp__step {
    display: flex;
    align-items: flex-start;
    gap: var(--cfy-sp-3);
    padding: var(--cfy-sp-4) var(--cfy-sp-5);
    font-size: var(--cfy-fs-sm);
    line-height: var(--cfy-lh-body);
    color: var(--cfy-tx-ink-2);
}
.cfy-adp__step + .cfy-adp__step {
    border-left: 1px solid var(--cfy-t-line);
}
.cfy-adp__step-n {
    font-family: var(--cfy-font-mono);
    font-size: var(--cfy-fs-md);
    font-weight: var(--cfy-fw-bold);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-t-accent);
}
.cfy-adp__step b {
    display: block;
    font-size: var(--cfy-fs-base);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-tx-ink);
}

/* Secousse du champ sur erreur (absente en mode performance) */
body:not(.performance-mode) .cfy-adp__form.is-shake .cfy-adp__row {
    animation: cfyAdpShake .38s;
}
@keyframes cfyAdpShake {
    20%, 60% { transform: translateX(-6px); }
    40%, 80% { transform: translateX(6px); }
}
@media (prefers-reduced-motion: reduce) {
    body .cfy-adp__form.is-shake .cfy-adp__row { animation: none; }
}

/* Le champ garde sa police à chasse fixe et son dessin face aux règles génériques des champs. */
html body .cfy-adp .cfy-adp__input:not(#cfy-b1):not(#cfy-b2) {
    font-family: var(--cfy-font-mono) !important;
    font-size: var(--cfy-adp-fs) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    letter-spacing: 1.4ch !important;
    line-height: 1 !important;
    padding: 0 0 0 .7ch !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Tablette et petit écran : volets empilés */
@media (max-width: 1199.98px) {
    .cfy-adp {
        padding: var(--cfy-sp-5) var(--cfy-sp-4) var(--cfy-sp-6);
    }
    .cfy-adp__card {
        grid-template-columns: 1fr;
        max-width: 720px;
    }
    .cfy-adp__id {
        border-right: 0;
        border-bottom: 1px solid var(--cfy-t-line);
        padding: var(--cfy-sp-5);
    }
    .cfy-adp__form {
        padding: var(--cfy-sp-5);
    }
}

/* Smartphone : bord unique de 10px, champ et bouton pleine largeur, étapes empilées */
@media (max-width: 767.98px) {
    .cfy-adp {
        padding: var(--cfy-sp-4) 0 var(--cfy-sp-5);
    }
    .cfy-adp__id,
    .cfy-adp__form {
        padding: var(--cfy-sp-4);
    }
    .cfy-adp__id {
        gap: var(--cfy-sp-3);
    }
    .cfy-adp__lock,
    .cfy-adp__avatar {
        width: var(--cfy-avatar-md, 48px);
        height: var(--cfy-avatar-md, 48px);
    }
    .cfy-adp__title {
        font-size: var(--cfy-fs-h4);
    }
    .cfy-adp__h {
        font-size: var(--cfy-fs-lg);
    }
    .cfy-adp__input {
        --cfy-adp-fs: 15px;
        height: 48px;
    }
    .cfy-adp__eye {
        width: 44px;
    }
    .cfy-adp__btn {
        width: 100%;
    }
    .cfy-adp__steps {
        grid-template-columns: 1fr;
    }
    .cfy-adp__step {
        padding: var(--cfy-sp-3) var(--cfy-sp-4);
    }
    .cfy-adp__step + .cfy-adp__step {
        border-left: 0;
        border-top: 1px solid var(--cfy-t-line);
    }
}
@media (max-width: 359.98px) {
    .cfy-adp__input {
        --cfy-adp-fs: 14px;
    }
}

/* ═══ commercify_wall_mobile.css ═══ */
/* Mur d'annonces sur petit écran : défilement sans zones blanches.
   Les vignettes sont dessinées d'avance (pas de rendu différé) et ne créent plus un calque chacune. */

@media (max-width: 1199.98px) {
    html body .vignettes-container .product-card:not(#cfy-b1),
    html body .vignettes-container .vignette-image-optimized:not(#cfy-b1),
    html body .vignettes-container .card-img-top:not(#cfy-b1) {
        content-visibility: visible !important;
        will-change: auto !important;
    }
    html body .vignettes-container .vignette-item:not(#cfy-b1),
    html body .vignettes-container .vignette-image-optimized:not(#cfy-b1) {
        transform: none !important;
        will-change: auto !important;
        backface-visibility: visible !important;
        -webkit-backface-visibility: visible !important;
        transition: none !important;
    }
}

@media (max-width: 767.98px) {
    /* 4 identifiants : la règle du mode mini de commercify_vignette_nautile.css en porte 3 */
    html body .vignette-flip-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        display: none !important;
    }
    /* Le bouton + (catégories / rayons) prend la place du bouton recto / verso, dans le coin */
    html body .location-toggle.vignette-categories-rayon-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        right: 5px !important;
        left: auto !important;
    }
    html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        right: 8px !important;
        left: auto !important;
    }
    html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        right: calc(8 * var(--nz-u)) !important;
        left: auto !important;
    }
    html[dir="rtl"] body .location-toggle.vignette-categories-rayon-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        right: auto !important;
        left: 5px !important;
    }
    html[dir="rtl"] body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        right: auto !important;
        left: 8px !important;
    }
    html[dir="rtl"] body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        right: auto !important;
        left: calc(8 * var(--nz-u)) !important;
    }
}

@media (max-width: 767.98px) {
    html body .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        display: none !important;
    }
}

/* Barre des catalogues : sous le FHD, le fil passe sur plusieurs lignes quand il ne tient pas sur une seule
   (plus de défilement horizontal caché). Les segments restent entiers. */
@media (max-width: 1919.98px) {
    html body .cfy-vignettes-pre-banner:not(#cfy-b1) {
        height: auto !important;
        max-height: none !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row:not(#cfy-b1),
    html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > [class*="col"]:not(#cfy-b1) {
        height: auto !important;
        max-height: none !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    html body .cfy-catalog-navbar.cfy-catalog-navbar--mega:not(#cfy-b1) {
        flex-wrap: wrap !important;
        align-items: stretch !important;
        height: auto !important;
        max-height: none !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    html body .cfy-catalog-navbar .cfy-catalog-navbar-trail:not(#cfy-b1) {
        flex: 1 1 0 !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        row-gap: 4px !important;
        height: auto !important;
        max-height: none !important;
        min-width: 0 !important;
        overflow: visible !important;
        padding-block: 4px !important;
    }
    html body .cfy-catalog-navbar .cfy-catalog-navbar-trail > li:not(#cfy-b1) {
        flex: 0 0 auto !important;
        max-width: 100% !important;
    }
    html body .cfy-catalog-navbar .cfy-catalog-navbar-seg-go:not(#cfy-b1) {
        white-space: normal !important;
        overflow-wrap: anywhere;
        text-align: start;
    }
}

/* Sélecteur de catalogues, toutes largeurs (2026-10-08) : le dessin du smartphone, plus ergonomique, est étendu
   à la tablette et à l'ordinateur. Une seule bande, toutes les commandes à 40px, angles droits.
   « Tous les catalogues » est dans le header : retiré ici. Les quatre catalogues officiels forment un seul
   sélecteur segmenté (segments collés), sans légende.
   Ordinateur et tablette : une ligne — catalogues (ou fil) et « Affiner » à gauche, « Vue » et « Filtres » à droite ;
   à partir de 1200px, première et dernière commande alignées sur les bords du mur.
   Smartphone : deux rangées à 10px des bords — catalogues + « Affiner », puis « Vue » et « Filtres » à parts égales. */
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row:not(#cfy-b1):not(#cfy-b2) {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
}
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > [class*="col"]:not(#cfy-b1):not(#cfy-b2) {
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-block: 0 !important;
}
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-select:not(#cfy-b1):not(#cfy-b2) {
    flex: 1 1 auto !important;
}
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > :is(.cfy-vignettes-pre-col-views, .cfy-vignettes-pre-col-filters):not(#cfy-b1):not(#cfy-b2) {
    display: flex !important;
    padding-inline-start: 0 !important;
}
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-views:not(#cfy-b1):not(#cfy-b2) {
    margin-inline-start: auto !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar:not(#cfy-b1):not(#cfy-b2) {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-block: 0 !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar .cfy-catalog-navbar-all:not(#cfy-b1):not(#cfy-b2) {
    display: none !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar .cfy-catalog-navbar-trail:not(#cfy-b1):not(#cfy-b2) {
    flex: 1 1 auto !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Toutes les commandes du fil à 40px, bordure du segment comprise */
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar-trail > li:not(.cfy-catalog-navbar-dimcap):not(#cfy-b1):not(#cfy-b2) {
    display: flex !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
    min-height: 40px !important;
    height: auto !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar-trail > li > :is(a, button):not(#cfy-b1):not(#cfy-b2) {
    align-self: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    align-items: center !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar-trail .cfy-catalog-navbar-chip-remove:not(#cfy-b1):not(#cfy-b2) {
    display: inline-flex !important;
    justify-content: center !important;
    width: 40px !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crit:not(#cfy-b1):not(#cfy-b2) {
    min-width: 40px !important;
    min-height: 40px !important;
    justify-content: center !important;
    padding: 0 12px !important;
}
html body .cfy-vignettes-pre-banner :is(.cfy-wvs .cfy-wvs-btn, .cfy-fb .cfy-fb-btn):not(#cfy-b1):not(#cfy-b2) {
    height: 40px !important;
    min-height: 40px !important;
}

/* Catalogues officiels : légende « Catalogues officiels » (2026-10-14) puis sélecteur segmenté */
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail:not(#cfy-b1):not(#cfy-b2) {
    gap: 0 !important;
    row-gap: 6px !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail > .cfy-catalog-navbar-dimcap:not(#cfy-b1):not(#cfy-b2) {
    margin: 0 !important;
    padding: 0 !important;
    margin-inline-end: 12px !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail > .cfy-catalog-navbar-seg--fam:not(#cfy-b1):not(#cfy-b2) {
    min-width: min-content !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Libellé jamais tronqué : un catalogue trop long pour la ligne fait passer les segments à la ligne */
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-seg-go > span:not(#cfy-b1):not(#cfy-b2) {
    overflow: visible !important;
    text-overflow: clip !important;
    max-width: none !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail > .cfy-catalog-navbar-seg--fam + .cfy-catalog-navbar-seg--fam:not(#cfy-b1):not(#cfy-b2) {
    margin-inline-start: -1px !important;
}
/* Pas de chevron « ‹ » entre les segments en écriture de droite à gauche (la règle RTL du fil l'emportait sur content: none) */
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail > .cfy-catalog-navbar-seg--fam:not(#cfy-b1):not(#cfy-b2)::before {
    content: none !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-seg--fam .cfy-catalog-navbar-seg-go:not(#cfy-b1):not(#cfy-b2) {
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 2px 16px !important;
    font-size: var(--cfy-fs-base) !important;
    /* Le nombre d'annonces passe sous le libellé, à toutes les largeurs (2026-10-17) : bouton plus étroit */
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    line-height: var(--cfy-lh-snug, 1.2) !important;
    text-align: center !important;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-seg--fam.is-current:not(#cfy-b1):not(#cfy-b2) {
    position: relative;
    z-index: 1;
}
/* Nombre d'annonces publiques du catalogue, après le libellé : couleur du segment (thème), graisse et taille en retrait */
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-seg--fam .cfy-catalog-navbar-seg-count:not(#cfy-b1):not(#cfy-b2) {
    font-size: var(--cfy-fs-caption) !important;
    font-weight: var(--cfy-fw-regular) !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail > .cfy-catalog-navbar-critwrap:not(#cfy-b1):not(#cfy-b2) {
    margin-inline-start: 8px !important;
}

/* Petite tablette : légende sur sa ligne, pour que les quatre boutons restent sur une seule rangée */
@media (min-width: 768px) and (max-width: 1023.98px) {
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail > .cfy-catalog-navbar-dimcap:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 100% !important;
        margin-inline-end: 0 !important;
    }
}

/* Ordinateur : bande de 56px, bords alignés sur le mur (la colonne des catalogues et celle des filtres gardent
   leur retrait égal à la marge du mur). */
@media (min-width: 1200px) {
    html body .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) {
        padding-block: 8px !important;
    }
}

/* Tablette et smartphone : bande au bord unique de 10px, segments plus compacts, « Affiner » en icône */
@media (max-width: 1199.98px) {
    html body .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) {
        padding: 8px 10px !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > [class*="col"]:not(#cfy-b1):not(#cfy-b2),
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar:not(#cfy-b1):not(#cfy-b2) {
        padding-inline: 0 !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crit:not(#cfy-b1):not(#cfy-b2) {
        padding: 0 10px !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-seg--fam .cfy-catalog-navbar-seg-go:not(#cfy-b1):not(#cfy-b2) {
        padding: 2px 12px !important;
        font-size: var(--cfy-fs-sm) !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-crit span:not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row:not(#cfy-b1):not(#cfy-b2) {
        flex-wrap: wrap !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-select:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 100% !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > :is(.cfy-vignettes-pre-col-views, .cfy-vignettes-pre-col-filters):not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 0 !important;
        min-width: max-content !important;
        margin-inline-start: 0 !important;
        contain: none !important;
    }
    html body .cfy-vignettes-pre-banner :is(.cfy-wvs, .cfy-fb, .cfy-fb .cfy-fb-wrap):not(#cfy-b1):not(#cfy-b2) {
        display: flex !important;
        width: 100% !important;
    }
    html body .cfy-vignettes-pre-banner :is(.cfy-wvs .cfy-wvs-btn, .cfy-fb .cfy-fb-btn):not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 auto !important;
        justify-content: center !important;
        min-width: 0 !important;
    }
    /* Le panneau « Vue » s'ouvre sous la bande, sur la largeur utile, comme celui des filtres */
    html body .cfy-vignettes-pre-banner .cfy-wvs:not(#cfy-b1):not(#cfy-b2) {
        position: static !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-wvs .cfy-wvs-pop:not(#cfy-b1):not(#cfy-b2) {
        inset-inline: 10px !important;
        top: calc(100% + 2px) !important;
        width: auto !important;
    }
    /* Catalogues officiels : les quatre segments se partagent la largeur, « Tous les catalogues » (icône) au bout. Un libellé long
       (autres langues) fait passer les segments sur deux rangées, jamais tronqué. */
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail:not(#cfy-b1):not(#cfy-b2) {
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100% !important;
    }
    /* Légende sur sa propre ligne, au-dessus des quatre boutons */
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail > .cfy-catalog-navbar-dimcap:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 100% !important;
        margin-inline-end: 0 !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail > .cfy-catalog-navbar-seg--fam:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 0 !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-seg--fam .cfy-catalog-navbar-seg-go:not(#cfy-b1):not(#cfy-b2) {
        width: 100% !important;
        max-width: none !important;
        padding: 0 2px !important;
        font-size: var(--cfy-fs-caption) !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        line-height: var(--cfy-lh-snug, 1.2) !important;
        text-align: center !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail > .cfy-catalog-navbar-critwrap:not(#cfy-b1):not(#cfy-b2) {
        flex: 0 0 auto !important;
        align-items: stretch !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-crit:not(#cfy-b1):not(#cfy-b2) {
        width: 44px !important;
        height: auto !important;
        min-height: 40px !important;
    }
    /* Smartphone : le bouton « Affiner » est supprimé (2026-10-09) et le header n'a pas « Tous les catalogues » ;
       celui de la barre reprend sa place, en icône au bout des catalogues, et ouvre la section du catalogue consulté. */
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar .cfy-catalog-navbar-all:not(#cfy-b1):not(#cfy-b2) {
        display: inline-flex !important;
        order: 2 !important;
        flex: 0 0 44px !important;
        width: 44px !important;
        min-height: 40px !important;
        height: 40px !important;
        align-self: flex-start !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 0 0 8px !important;
        padding: 0 !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar .cfy-catalog-navbar-all-label:not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-catalog-navbar .cfy-catalog-navbar-trail:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }
}

/* Bandeau des catalogues d'un éditeur (publisher/ads, adr, adp), toutes largeurs (2026-10-08) : même dessin que la
   barre des catalogues du mur. Commandes à 40px, écarts de 8px, catalogues de l'éditeur en sélecteur segmenté collé.
   Sous 1200px les catalogues sont dans l'en-tête de l'éditeur : restent le filtre actif, Vue, Filtres et Exporter.
   Smartphone : une rangée — Vue et Filtres à parts égales, Exporter en icône. */
html body .cfy-pubbar .cfy-pubbar-row:not(#cfy-b1):not(#cfy-b2) {
    flex-wrap: nowrap !important;
    gap: 8px !important;
    padding-block: 0 !important;
}
html body .cfy-pubbar :is(.cfy-pubbar-left, .cfy-pubbar-right):not(#cfy-b1):not(#cfy-b2) {
    gap: 8px !important;
}
html body .cfy-pubbar .cfy-pubbar-right:not(#cfy-b1):not(#cfy-b2) {
    flex: 0 1 auto !important;
    margin-inline-start: auto !important;
}
html body .cfy-pubbar .cfy-pubbar-nav:not(#cfy-b1):not(#cfy-b2) {
    flex-wrap: wrap !important;
    gap: 0 !important;
    row-gap: 6px !important;
}
html body .cfy-pubbar .cfy-pubbar-seg:not(#cfy-b1):not(#cfy-b2) {
    box-sizing: border-box !important;
    min-height: 40px !important;
    padding: 0 24px !important;
    font-size: var(--cfy-fs-base) !important;
}
html body .cfy-pubbar .cfy-pubbar-seg + .cfy-pubbar-seg:not(#cfy-b1):not(#cfy-b2) {
    margin-inline-start: -1px !important;
}
html body .cfy-pubbar .cfy-pubbar-seg.is-current:not(#cfy-b1):not(#cfy-b2) {
    position: relative;
    z-index: 1;
}
html body .cfy-pubbar :is(.cfy-pubbar-crit, .cfy-pubbar-btn):not(#cfy-b1):not(#cfy-b2) {
    box-sizing: border-box !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
}

@media (max-width: 1199.98px) {
    html body .cfy-pubbar .cfy-pubbar-row:not(#cfy-b1):not(#cfy-b2) {
        padding-inline: 0 !important;
    }
    /* Colonne gauche sans les catalogues : seul le filtre actif reste, sans créer d'écart vide */
    html body .cfy-pubbar .cfy-pubbar-left:not(#cfy-b1):not(#cfy-b2) {
        display: contents !important;
    }
}

@media (max-width: 767.98px) {
    html body .cfy-pubbar .cfy-pubbar-row:not(#cfy-b1):not(#cfy-b2) {
        flex-wrap: wrap !important;
    }
    html body .cfy-pubbar .cfy-pubbar-right:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 100% !important;
        flex-wrap: wrap !important;
        justify-content: stretch !important;
        min-width: 0 !important;
    }
    html body .cfy-pubbar .cfy-pubbar-right > :is(.cfy-wvs, .cfy-fb):not(#cfy-b1):not(#cfy-b2) {
        display: flex !important;
        flex: 1 1 0 !important;
        min-width: max-content !important;
    }
    html body .cfy-pubbar .cfy-pubbar-right .cfy-fb .cfy-fb-wrap:not(#cfy-b1):not(#cfy-b2) {
        display: flex !important;
        width: 100% !important;
    }
    html body .cfy-pubbar :is(.cfy-wvs .cfy-wvs-btn, .cfy-fb .cfy-fb-btn):not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 auto !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 0 !important;
    }
    html body .cfy-pubbar .cfy-pubbar-btn:not(#cfy-b1):not(#cfy-b2) {
        flex: 0 0 44px !important;
        width: 44px !important;
        justify-content: center !important;
        padding: 0 !important;
    }
    html body .cfy-pubbar .cfy-pubbar-btn > span:not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }
    html body .cfy-pubbar .cfy-pubbar-crit:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 100% !important;
        justify-content: space-between !important;
    }
}

/* Pagination sur smartphone : jamais plus large que l'écran, jamais de défilement horizontal.
   Restent la page courante et ses deux voisines, la première et la dernière page, les flèches et
   les points de suspension ; si cela ne tient toujours pas, la rangée passe à la ligne. */
@media (max-width: 767.98px) {
    html body :is(.vignettes-pagination-row, .vignettes-pagination-nav):not(#cfy-b1) {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    html body ul.pagination:not(#cfy-b1):not(#cfy-b2) {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        row-gap: 4px !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    html body ul.pagination > .page-item:not(:first-child):not(:last-child):not(:nth-child(2)):not(:nth-last-child(2)):not(.active):not(.disabled):not(.active + .page-item):not(:has(+ .active)):not(#cfy-b1) {
        display: none !important;
    }
    html body ul.pagination > .page-item:not(#cfy-b1) {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }
    html body ul.pagination > .page-item > .page-link:not(#cfy-b1):not(#cfy-b2) {
        min-width: 30px !important;
        width: auto !important;
        height: 32px !important;
        padding: 0 6px !important;
        font-size: var(--cfy-fs-caption, 12px) !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
}

/* Banners du mur sous 1920px : une banner occupe toujours ses emplacements entiers, même seule sur sa rangée
   (une colonne sur smartphone, 2x1 sur une grille de deux colonnes). Sans voisine pour fixer la hauteur de la
   rangée, elle prenait la hauteur de sa photo et paraissait tronquée. 1x1 et 2x1 : un emplacement (hauteur
   minimale d'une vignette) ; 1x2 : deux emplacements et l'écart vertical qui les sépare. */
@media (max-width: 1919.98px) {
    html body :is(.vignettes-container-mini-custom, .vignettes-container-custom) > .vignette-ad:not(#cfy-b1):not(#cfy-b2) {
        min-height: 300px !important;
    }
    html body :is(.vignettes-container-mini-custom, .vignettes-container-custom) > .vignette-ad-1x2:not(#cfy-b1):not(#cfy-b2) {
        min-height: calc(600px + var(--cfy-wall-row-gap, 0px)) !important;
    }
}

/* Rangée prix + badges (type de prix, récurrence) sous 1920px : la vignette étroite rognait « Prix fixe » ;
   les badges passent à la ligne au lieu d'être coupés. */
@media (max-width: 1919.98px) {
    html body .product-card .cfy-price-row:not(#cfy-b1):not(#cfy-b2) {
        flex-wrap: wrap !important;
        row-gap: 4px !important;
        overflow: visible !important;
    }
}

/* Légende « Catalogues officiels » devenue sélecteur : garde la marge intérieure de son cadre */
html body .cfy-vignettes-pre-banner .cfy-catalog-navbar--fam .cfy-catalog-navbar-trail > .cfy-catalog-navbar-dimcap.is-selector:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    padding: 0 6px 0 10px !important;
}

/* ═══ commercify_platform_mobile.css ═══ */
/* Pages plateforme (conditions, confidentialité, mentions, tarifs) sur smartphone :
   une seule marge de 10px, comme le reste du site ; titres et encadrés à l'échelle de l'écran. */

@media (max-width: 767.98px) {
    /* Carte de page : bord à bord, sans cadre ni ombre */
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) > .card:not(#cfy-b1) {
        margin: 0 calc(-1 * var(--nk-content-padding, 0px)) !important;
        padding: 0 !important;
        width: auto !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) > .card > .card-body:not(#cfy-b1) {
        margin: 0 !important;
        padding: 16px 10px !important;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) :is(h1, .display-5, .display-6):not(#cfy-b1) {
        font-size: var(--cfy-fs-h3, 24px) !important;
        line-height: 1.25 !important;
        overflow-wrap: anywhere;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) :is(h2, .h4, .h5):not(#cfy-b1) {
        font-size: var(--cfy-fs-lg, 18px) !important;
        line-height: 1.3 !important;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) .cfy-brand-logo:not(#cfy-b1) {
        max-width: 60% !important;
        height: auto !important;
    }
    /* Encadrés : marge intérieure réduite, icône au-dessus du texte */
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) .alert:not(#cfy-b1) {
        flex-direction: column !important;
        gap: 8px !important;
        padding: 12px !important;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) .alert > em.display-4:not(#cfy-b1) {
        margin: 0 !important;
        font-size: var(--cfy-fs-h3, 24px) !important;
        line-height: 1 !important;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) :is(.p-3, .p-4, .p-5):not(.card-body):not(#cfy-b1) {
        padding: 12px !important;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) :is(ul, ol):not(#cfy-b1) {
        padding-inline-start: 18px !important;
        margin-inline-start: 0 !important;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) section.mb-5:not(#cfy-b1) {
        margin-bottom: 24px !important;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) :is(p, li, td, th, a):not(#cfy-b1) {
        overflow-wrap: anywhere;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) .table-responsive:not(#cfy-b1) {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) .card-body .row:not(#cfy-b1) {
        margin-inline: 0 !important;
    }
    html body :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology) .card-body .row > [class*="col-"]:not(#cfy-b1) {
        padding-inline: 0 !important;
    }

    /* Tarifs : les blocs sont visibles d'emblée (pas d'apparition au défilement, qui laissait des écrans vides) */
    html body .page-platform-plans-typology .cfy-reveal:not(#cfy-b1),
    html body .page-platform-plans-typology .cfy-badge-card:not(#cfy-b1):not(#cfy-b2) {
        content-visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        visibility: visible !important;
    }
    /* Tarifs : marges et titres */
    html body .page-platform-plans-typology .cfy-container:not(#cfy-b1) {
        padding-inline: 0 !important;
    }
    html body .page-platform-plans-typology .cfy-section:not(#cfy-b1) {
        padding-block: 8px !important;
    }
    html body .page-platform-plans-typology .cfy-page-banner:not(#cfy-b1) {
        padding: 12px !important;
    }
    html body .page-platform-plans-typology .cfy-page-banner h1:not(#cfy-b1) {
        font-size: var(--cfy-fs-h4, 20px) !important;
        line-height: 1.3 !important;
    }
    html body .page-platform-plans-typology .cfy-plans-heading:not(#cfy-b1) {
        font-size: var(--cfy-fs-h4, 20px) !important;
        line-height: 1.35 !important;
    }
    html body .page-platform-plans-typology .cfy-plans-subheading:not(#cfy-b1) {
        font-size: var(--cfy-fs-lg, 18px) !important;
    }
    html body .page-platform-plans-typology :is(.cfy-compare-intro, .cfy-plans-note):not(#cfy-b1) {
        padding: 10px 12px !important;
    }
    html body .page-platform-plans-typology .cfy-badge-card-tag:not(#cfy-b1) {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
    html body .page-platform-plans-typology .cfy-banner-table-wrap:not(#cfy-b1) {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}

/* ═══ commercify_search_mobile.css ═══ */
/* Moteur de recherche avancé sur smartphone : bord unique de 10px, sections compactes,
   choix sur deux colonnes, pied sur une seule rangée. */

@media (max-width: 767.98px) {
    html body #modalSearchAdvanced .search-modal-body:not(#cfy-b1) {
        padding: 8px 0 !important;
    }
    html body #modalSearchAdvanced .search-modal-body > .container-fluid:not(#cfy-b1) {
        padding: 0 10px !important;
    }
    html body #modalSearchAdvanced .search-modal-body > .container-fluid > [class*="col-"]:not(#cfy-b1) {
        margin: 0 !important;
        padding: 0 !important;
    }
    html body #modalSearchAdvanced .search-advanced-wrapper:not(#cfy-b1):not(#cfy-b2) {
        padding: 0 !important;
        border: 0 !important;
        background: none !important;
        box-shadow: none !important;
    }

    /* Une section par ligne, 8px entre deux sections */
    html body #modalSearchAdvanced form > .row:not(#cfy-b1) {
        display: block !important;
        margin: 0 !important;
    }
    html body #modalSearchAdvanced form > .row > [class*="col-"]:not(#cfy-b1) {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 8px !important;
        padding: 0 !important;
    }
    html body #modalSearchAdvanced form > .row > [class*="col-"]:empty:not(#cfy-b1) {
        margin: 0 !important;
    }
    html body #modalSearchAdvanced form > .row > [class*="col-"] > .p-3:not(#cfy-b1):not(#cfy-b2) {
        padding: 10px !important;
        box-shadow: none !important;
    }
    html body #modalSearchAdvanced form > .row > [class*="col-"] > .p-3 > label.form-label:not(#cfy-b1):not(#cfy-b2) {
        margin: -10px -10px 10px !important;
        padding: 8px 10px !important;
        min-height: 0 !important;
    }
    html body #modalSearchAdvanced .filter-section-title:not(#cfy-b1):not(#cfy-b2) {
        font-size: var(--cfy-fs-base, 14px) !important;
        line-height: 1.3 !important;
    }
    html body #modalSearchAdvanced .filter-section-label-text:not(#cfy-b1) {
        margin-bottom: 4px !important;
    }

    /* Choix : deux colonnes égales */
    html body #modalSearchAdvanced form .p-3 > .row[class*="row-cols"]:not(#cfy-b1):not(#cfy-b2),
    html body #modalSearchAdvanced #price-range-inputs > .row:not(#cfy-b1):not(#cfy-b2) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin: 0 !important;
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }
    html body #modalSearchAdvanced form .p-3 > .row[class*="row-cols"] > *:not(#cfy-b1):not(#cfy-b2),
    html body #modalSearchAdvanced #price-range-inputs > .row > *:not(#cfy-b1):not(#cfy-b2) {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    /* Listes déroulantes des filtres avancés : une par ligne (leur panneau s'ouvre sur toute la largeur) */
    html body #modalSearchAdvanced #advanced-search-section .p-3 > .row[class*="row-cols"]:not(#cfy-b1):not(#cfy-b2) {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    html body #modalSearchAdvanced .btn-toggle-option:not(#cfy-b1):not(#cfy-b2) {
        width: 100% !important;
        min-height: 40px !important;
        height: 100% !important;
        padding: 6px 30px 6px 8px !important;
        padding-inline: 8px 30px !important;
        justify-content: flex-start !important;
        text-align: start !important;
        white-space: normal !important;
        overflow-wrap: break-word;
        line-height: 1.2 !important;
        font-size: var(--cfy-fs-sm, 13px) !important;
    }
    /* Groupe à trois choix (toutes / avec image / sans image) : toute la largeur, une rangée */
    html body #modalSearchAdvanced form .p-3 > .row[class*="row-cols"] > :is(.col, [class*="col-"]):has(> .btn-group):not(#cfy-b1):not(#cfy-b2) {
        grid-column: 1 / -1 !important;
    }
    html body #modalSearchAdvanced .btn-group > .btn-toggle-option:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 6px 26px 6px 6px !important;
        padding-inline: 6px 26px !important;
    }
    html body #modalSearchAdvanced .btn-group:not(#cfy-b1) {
        height: 100% !important;
    }
    html body #modalSearchAdvanced #advanced-search-section .btn-toggle-option:not(#cfy-b1):not(#cfy-b2) {
        padding-inline-end: 32px !important;
    }

    /* Pied : Retour + Rechercher sur une rangée (la fermeture est dans l'en-tête) */
    html body #modalSearchAdvanced .dashboard-modal-footer .commercify-modal-btn-fermer:not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }
    html body #modalSearchAdvanced .dashboard-modal-footer .dashboard-modal-footer-actions:not(#cfy-b1):not(#cfy-b2) {
        flex-wrap: nowrap !important;
    }
    html body #modalSearchAdvanced .dashboard-modal-footer .search-modal-footer-search-btn:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 50% !important;
    }
    html body #modalSearchAdvanced .dashboard-modal-footer .dashboard-modal-footer-back-btn:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 50% !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 6px 8px !important;
        font-size: var(--cfy-fs-caption, 12px) !important;
        line-height: 1.2 !important;
    }
    html body #modalSearchAdvanced .dashboard-modal-footer .dashboard-modal-footer-back-btn .dashboard-modal-footer-back-btn-text:not(#cfy-b1) {
        white-space: normal !important;
        overflow: visible !important;
        text-align: start;
    }
}

/* ═══ commercify_footer_mobile.css ═══ */
/* Footer sur smartphone : les sections sont empilées sur une colonne, titres et contenus sont donc centrés ;
   bord de 10px comme le reste de la page. */

@media (max-width: 767.98px) {
    html body footer.modern-footer > .container-fluid:not(#cfy-b1) {
        padding-inline: 10px !important;
    }
    html body footer.modern-footer .footer-content:not(#cfy-b1) {
        padding-inline: 0 !important;
    }

    html body footer.modern-footer :is(.footer-section-title, .footer-section-subtitle, .footer-brand-section, .footer-tagline-container, .stat-card, .copyright-text):not(#cfy-b1) {
        text-align: center !important;
    }
    html body footer.modern-footer :is(.footer-tagline-badges, .social-links-container, .social-icons-group, .legal-links-inline, .copyright-section):not(#cfy-b1) {
        justify-content: center !important;
    }
    /* Titres soulignés : le trait suit le centrage */
    html body footer.modern-footer :is(.footer-section-title, .footer-section-subtitle):not(#cfy-b1)::after {
        left: 50% !important;
        right: auto !important;
        margin-inline: 0 !important;
        transform: translateX(-50%) !important;
    }
    /* Liens de navigation et de communauté : icône et libellé centrés dans leur ligne */
    html body footer.modern-footer :is(.nav-link-modern, .community-link, .legal-links-inline > a):not(#cfy-b1) {
        justify-content: center !important;
        text-align: center !important;
    }
    html body footer.modern-footer :is(.nav-link-modern, .community-link) > :is(span, div):not(#cfy-b1) {
        flex: 0 1 auto !important;
        text-align: center !important;
    }
    html body footer.modern-footer .footer-community-section .row.g-2:not(#cfy-b1) {
        justify-content: center !important;
        text-align: center !important;
    }
    html body footer.modern-footer .footer-community-section .row.g-2 :is(a, .d-flex):not(#cfy-b1) {
        justify-content: center !important;
    }
    html body footer.modern-footer .stat-card:not(#cfy-b1) {
        align-items: center !important;
    }
    html body footer.modern-footer .stat-card :is(.d-flex, .stat-header, .stat-content):not(#cfy-b1) {
        justify-content: center !important;
    }
}

/* ═══ commercify_footer_bento.css ═══ */
/* Footer en grille de tuiles : marque, vidéos, chiffres, liens, documents légaux, catalogues, banner 1x1,
   informations complémentaires, pré-inscription. Feuille isolée : la retirer rend le footer sans mise en page,
   sans toucher au reste du site. Couleurs : variables du thème de header. Coins droits partout. */

footer.cfy-ftb {
    --fb-line: var(--cfy-hr-ph-line, #2f2814);
    --fb-line2: var(--cfy-hr-ph-line-2, #3d341b);
    --fb-a: var(--cfy-hr-accent, #FFD34D);
    --fb-ahi: var(--cfy-hr-accent-hi, #FFE38A);
    --fb-alo: var(--cfy-hr-accent-lo, #E8B400);
    --fb-argb: var(--cfy-hr-accent-rgb, 255, 211, 77);
    --fb-on: var(--cfy-hr-on-accent, #1d1500);
    --fb-tl: var(--cfy-hr-accent-text, #fff7dd);
    --fb-ink2: var(--cfy-hr-ink-2, #e9e2cf);
    --fb-ink3: var(--cfy-hr-ink-muted, #b8ae94);
    --fb-deep: color-mix(in srgb, var(--cfy-hr-ph-bg, #17130a) 45%, #000);
    font-size: 14px;
    line-height: 1.5;
}
footer.cfy-ftb *,
footer.cfy-ftb *::before,
footer.cfy-ftb *::after { box-sizing: border-box; border-radius: 0; }
footer.cfy-ftb h3,
footer.cfy-ftb h5,
footer.cfy-ftb h6,
footer.cfy-ftb p { margin: 0; }
footer.cfy-ftb a { color: inherit; text-decoration: none; }

/* Marge latérale serrée : 24 px à 1920, 12 px au minimum (le footer va presque d'un bord à l'autre) */
footer.cfy-ftb .cfy-ftb-in { container-type: inline-size; container-name: cfyfb; position: relative; z-index: 2; flex: 1 1 100%; width: 100%; min-width: 0; }
footer.cfy-ftb .cfy-ftb-wrap { display: block; padding: 32px clamp(12px, 1.25cqw, 24px) 24px; }

/* ---------- grille ---------- */
footer.cfy-ftb .cfy-ftb-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
    grid-template-areas:
        "brand brand brand video video video video video sth sth sth sth"
        "brand brand brand video video video video video ads ads badge badge"
        "brand brand brand video video video video video pub pub pub pub"
        "nav nav nav legal legal legal cat cat cat cat ban ban"
        "info info info info info info info info pre pre pre pre";
}
footer.cfy-ftb.cfy-ftb--noban .cfy-ftb-grid {
    grid-template-areas:
        "brand brand brand video video video video video sth sth sth sth"
        "brand brand brand video video video video video ads ads badge badge"
        "brand brand brand video video video video video pub pub pub pub"
        "nav nav nav legal legal legal cat cat cat cat cat cat"
        "info info info info info info info info pre pre pre pre";
}
footer.cfy-ftb .cfy-ftb-brand { grid-area: brand; }
footer.cfy-ftb .cfy-ftb-video { grid-area: video; }
footer.cfy-ftb .cfy-ftb-sth { grid-area: sth; }
footer.cfy-ftb .cfy-ftb-ads { grid-area: ads; }
footer.cfy-ftb .cfy-ftb-badge { grid-area: badge; }
footer.cfy-ftb .cfy-ftb-pub { grid-area: pub; }
footer.cfy-ftb .cfy-ftb-nav { grid-area: nav; }
footer.cfy-ftb .cfy-ftb-legal { grid-area: legal; }
footer.cfy-ftb .cfy-ftb-cat { grid-area: cat; }
footer.cfy-ftb .cfy-ftb-ban { grid-area: ban; }
footer.cfy-ftb .cfy-ftb-info { grid-area: info; }
footer.cfy-ftb .cfy-ftb-pre { grid-area: pre; }

/* ---------- tuiles ---------- */
footer.cfy-ftb .cfy-ftb-t,
footer.cfy-ftb .cfy-ftb-sc {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 26px;
    border: 1px solid var(--fb-line);
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015));
    transition: border-color 0.2s ease;
}
footer.cfy-ftb .cfy-ftb-t { gap: 14px; }
footer.cfy-ftb .cfy-ftb-t:hover,
footer.cfy-ftb .cfy-ftb-sc:hover { border-color: rgba(var(--fb-argb), 0.5); }

footer.cfy-ftb .cfy-ftb-ic { display: inline-flex; flex: none; }
footer.cfy-ftb .cfy-ftb-ic svg { display: block; }

/* titres de tuile */
footer.cfy-ftb .cfy-ftb-h {
    padding: 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fb-tl);
}
footer.cfy-ftb .cfy-ftb-h::after { content: none; }
footer.cfy-ftb .cfy-ftb-h--sm { font-size: 12px; color: var(--fb-ink2); }

/* ---------- marque ---------- */
/* deux tuiles superposées, séparées par la gouttière de la grille : identité (haut), outils (bas) */
footer.cfy-ftb .cfy-ftb-brand { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
footer.cfy-ftb .cfy-ftb-bz { align-items: center; justify-content: center; gap: 18px; }
footer.cfy-ftb .cfy-ftb-bz--id {
    flex: 1 1 auto;
    border-top: 3px solid var(--fb-a);
    background: radial-gradient(420px 300px at 50% 0, rgba(var(--fb-argb), 0.16), transparent 70%), var(--fb-deep);
}
footer.cfy-ftb .cfy-ftb-bz--tools { flex: 0 0 auto; background: var(--fb-deep); }
/* canal bêta : libellé à pastille */
footer.cfy-ftb .cfy-ftb-chan {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px;
    border: 1px solid var(--fb-a);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--fb-tl);
}
footer.cfy-ftb .cfy-ftb-chan > i { flex: none; width: 8px; height: 8px; background: var(--fb-a); }
footer.cfy-ftb .cfy-ftb-head { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
footer.cfy-ftb .cfy-ftb-logo { display: block; width: 250px; max-width: 100%; height: auto; }
footer.cfy-ftb .cfy-ftb-tag { padding: 0; font-size: 15px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--fb-tl); }
footer.cfy-ftb .cfy-ftb-tag::after { content: none; }
footer.cfy-ftb .cfy-ftb-hash { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
footer.cfy-ftb .cfy-ftb-hash span {
    padding: 3px 8px;
    border: 1px solid rgba(var(--fb-argb), 0.5);
    background: rgba(var(--fb-argb), 0.14);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--fb-tl);
}
footer.cfy-ftb .cfy-footer-app { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0; }
footer.cfy-ftb .cfy-footer-app-os { margin: 0; }
/* réseaux (tuile du bas de la marque) : six boutons sur une seule rangée, icône et nom */
footer.cfy-ftb .cfy-ftb-soc { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; width: 100%; min-width: 0; }
footer.cfy-ftb .cfy-ftb-soc-a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    padding: 10px 5px 8px;
    border: 1px solid var(--fb-line2);
    background: rgba(255, 255, 255, 0.03);
    color: var(--fb-ink3);
    cursor: not-allowed;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
footer.cfy-ftb .cfy-ftb-soc-a svg { display: block; flex: none; width: 28px; height: 28px; }
footer.cfy-ftb .cfy-ftb-soc-a > span { font-size: 12px; font-weight: 600; line-height: 1.2; letter-spacing: 0.02em; }
footer.cfy-ftb .cfy-ftb-soc-a.is-live { background: rgba(255, 255, 255, 0.05); color: var(--cfy-hr-ink, #e9ecef); cursor: pointer; }
footer.cfy-ftb .cfy-ftb-soc-a.is-live:hover { border-color: #ff2b2b; background: rgba(255, 0, 0, 0.1); color: var(--cfy-hr-ink, #fff); transform: translateY(-2px); }
footer.cfy-ftb .cfy-ftb-soc-a.is-live:hover svg { color: #ff2b2b; }

/* ---------- vidéos ---------- */
footer.cfy-ftb .cfy-ftb-video { padding: 0; gap: 0; background: var(--fb-deep); }
footer.cfy-ftb .cfy-ftb-video .footer-brand-video-carousel {
    position: relative;
    display: block;
    flex: 1;
    width: 100%;
    max-width: none;
    min-height: 300px;
    margin: 0;
}
footer.cfy-ftb .cfy-ftb-video .fbv-slides { position: absolute; inset: 0; width: auto; }
footer.cfy-ftb .cfy-ftb-video .fbv-slide { position: absolute; inset: 0; display: none; }
footer.cfy-ftb .cfy-ftb-video .fbv-slide.active { display: block; }
footer.cfy-ftb .cfy-ftb-video .youtube-video-container { height: 100% !important; }
/* grande vignette : voile léger au repos, levé au survol */
footer.cfy-ftb .cfy-ftb-video .youtube-dark-overlay { opacity: 0.35; }
footer.cfy-ftb .cfy-ftb-video .fbv-arrow {
    position: absolute;
    z-index: 8;
    top: 50%;
    width: 32px;
    height: 56px;
    margin: -28px 0 0;
    padding: 0;
    border: 1px solid var(--fb-line2);
    background: rgba(23, 19, 10, 0.82);
    font-size: 20px;
    line-height: 1;
    color: inherit;
    cursor: pointer;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
footer.cfy-ftb .cfy-ftb-video .fbv-arrow-left { inset-inline-start: 0; }
footer.cfy-ftb .cfy-ftb-video .fbv-arrow-right { inset-inline-end: 0; }
footer.cfy-ftb .cfy-ftb-video .fbv-arrow:hover { border-color: var(--fb-a); background: var(--fb-a); color: var(--fb-on); }
/* vignettes de sélection : une rangée ; elle défile si elle ne tient pas (petit écran) */
footer.cfy-ftb .cfy-ftb-vlist { position: relative; display: flex; gap: 8px; padding: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; }
footer.cfy-ftb .cfy-ftb-vlist-b {
    display: flex;
    flex: 1 0 132px;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    padding: 0 0 9px;
    border: 1px solid var(--fb-line2);
    background: rgba(255, 255, 255, 0.03);
    font: inherit;
    font-size: 12px;
    line-height: 1.35;
    text-align: start;
    color: var(--fb-ink2);
    cursor: pointer;
    scroll-snap-align: start;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}
footer.cfy-ftb .cfy-ftb-vth { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #000; }
footer.cfy-ftb .cfy-ftb-vth img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0.7; transition: opacity 0.18s ease; }
footer.cfy-ftb .cfy-ftb-vth i { position: absolute; inset-block-start: 6px; inset-inline-start: 6px; padding: 1px 6px; background: rgba(0, 0, 0, 0.72); font-style: normal; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; color: #fff; }
footer.cfy-ftb .cfy-ftb-vtt { padding: 0 9px; }
footer.cfy-ftb .cfy-ftb-vlist-b:hover { border-color: rgba(var(--fb-argb), 0.6); color: inherit; }
footer.cfy-ftb .cfy-ftb-vlist-b:hover img,
footer.cfy-ftb .cfy-ftb-vlist-b.active img { opacity: 1; }
footer.cfy-ftb .cfy-ftb-vlist-b.active { border-color: var(--fb-a); background: rgba(var(--fb-argb), 0.1); font-weight: 600; color: var(--fb-tl); }
/* miniature absente chez YouTube : visuel de remplacement (logo sur dégradé du thème) */
footer.cfy-ftb .cfy-ftb-vlist-b.is-nothumb .cfy-ftb-vth,
footer.cfy-ftb .fbv-slide.is-nothumb .youtube-video-container {
    background:
        url("../images/logo/logo2025_1_transparent.png") center / 62% auto no-repeat,
        radial-gradient(circle at 30% 20%, rgba(var(--fb-argb), 0.35), transparent 60%),
        linear-gradient(135deg, var(--fb-alo), var(--fb-deep) 70%) !important;
}
footer.cfy-ftb .fbv-slide.is-nothumb .youtube-video-container { background-size: 46% auto, auto, auto !important; }
footer.cfy-ftb .cfy-ftb-vlist-b.is-nothumb .cfy-ftb-vth img { visibility: hidden; }
footer.cfy-ftb .cfy-ftb-vlist-b.active .cfy-ftb-vth i { background: var(--cfy-hr-flat, var(--fb-a)); color: var(--cfy-hr-on-flat, var(--fb-on)); }
footer.cfy-ftb .cfy-ftb-vlist-b:focus-visible { outline: 2px solid var(--fb-ahi); outline-offset: -2px; }

/* ---------- chiffres ---------- */
footer.cfy-ftb .cfy-ftb-sth { display: flex; align-items: center; gap: 14px; padding: 4px 2px 0; }
footer.cfy-ftb .cfy-ftb-sth h3 { font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fb-tl); }
footer.cfy-ftb .cfy-ftb-sth::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(var(--fb-argb), 0.6), transparent); }
footer.cfy-ftb .cfy-ftb-sc-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
footer.cfy-ftb .cfy-ftb-sc-t { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--fb-tl); }
footer.cfy-ftb .cfy-ftb-sc-h .cfy-ftb-ic { color: rgba(var(--fb-argb), 0.55); }
footer.cfy-ftb .cfy-ftb-rows { display: grid; gap: 8px; }
footer.cfy-ftb .cfy-ftb-row { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 2px 12px; }
footer.cfy-ftb .cfy-ftb-row > span { font-size: 13px; }
footer.cfy-ftb .cfy-ftb-row > b { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; color: #fff; }
footer.cfy-ftb .cfy-ftb-row > i { grid-column: 1 / -1; display: block; height: 3px; overflow: hidden; background: rgba(255, 255, 255, 0.07); }
footer.cfy-ftb .cfy-ftb-row > i::after {
    content: "";
    display: block;
    width: calc(var(--cfy-ftb-r, 0) * 100%);
    height: 100%;
    background: linear-gradient(90deg, var(--fb-alo), var(--fb-ahi));
    transform-origin: 0 50%;
    transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}
[dir="rtl"] footer.cfy-ftb .cfy-ftb-row > i::after { transform-origin: 100% 50%; }
footer.cfy-ftb.cfy-ftb-pre .cfy-ftb-row > i::after { transform: scaleX(0); }
/* liens des chiffres : une ligne mène à son catalogue, un titre ouvre le panneau des catalogues */
footer.cfy-ftb a.cfy-ftb-row > span,
footer.cfy-ftb a.cfy-ftb-go { transition: color 0.2s ease; }
footer.cfy-ftb a.cfy-ftb-row:hover > span,
footer.cfy-ftb a.cfy-ftb-row:focus-visible > span,
footer.cfy-ftb a.cfy-ftb-go:hover,
footer.cfy-ftb a.cfy-ftb-go:focus-visible { color: var(--fb-tl); text-decoration: underline; text-underline-offset: 3px; }
footer.cfy-ftb a.cfy-ftb-row:hover > i { background: rgba(var(--fb-argb), 0.22); }
footer.cfy-ftb a.cfy-ftb-row:focus-visible,
footer.cfy-ftb a.cfy-ftb-go:focus-visible { outline: 2px solid var(--fb-ahi); outline-offset: 3px; }
/* grands chiffres */
footer.cfy-ftb .cfy-ftb-row--tot { display: flex; flex-direction: column-reverse; margin-bottom: 14px; }
footer.cfy-ftb .cfy-ftb-row--tot > span { font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--fb-ink2); }
footer.cfy-ftb .cfy-ftb-row--tot > b,
footer.cfy-ftb .cfy-ftb-big,
footer.cfy-ftb .cfy-ftb-yr {
    font-size: 48px;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
    color: var(--fb-tl);
    background: linear-gradient(180deg, var(--cfy-hr-ink, #fff), var(--fb-tl) 60%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
footer.cfy-ftb .cfy-ftb-badge .cfy-ftb-rows { flex: 1; align-content: space-evenly; }
/* éditeurs : compteur à gauche, pastilles à droite */
footer.cfy-ftb .cfy-ftb-pub { display: grid; grid-template-columns: auto 1fr; gap: 0 22px; align-items: center; }
footer.cfy-ftb .cfy-ftb-pub .cfy-ftb-sc-h { grid-column: 1 / -1; }
footer.cfy-ftb .cfy-ftb-avs { display: flex; flex-wrap: wrap; gap: 6px; padding-inline-start: 22px; border-inline-start: 1px solid var(--fb-line2); }
footer.cfy-ftb .cfy-ftb-av {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px 3px 3px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.04);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    overflow-wrap: anywhere;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}
footer.cfy-ftb .cfy-ftb-av img { flex: none; width: 20px; height: 20px; object-fit: cover; }
footer.cfy-ftb .cfy-ftb-av:hover,
footer.cfy-ftb .cfy-ftb-av.active { border-color: var(--fb-a); background: rgba(var(--fb-argb), 0.1); color: var(--fb-tl); }

/* ---------- listes de liens ---------- */
footer.cfy-ftb .cfy-ftb-lks { display: grid; gap: 2px; align-content: start; }
footer.cfy-ftb .cfy-ftb-lk {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    font-size: 14px;
    line-height: 1.35;
    transition: background-color 0.18s ease, color 0.18s ease;
}
footer.cfy-ftb .cfy-ftb-lk--s { padding-block: 7px; font-size: 13px; }
footer.cfy-ftb .cfy-ftb-lk .cfy-ftb-ic { color: var(--fb-ink2); transition: color 0.18s ease; }
footer.cfy-ftb .cfy-ftb-oa { flex: none; width: 32px; height: 32px; border: 1px solid var(--fb-line2); object-fit: cover; }
footer.cfy-ftb .cfy-ftb-fl { flex: none; width: 18px; height: 12px; }
footer.cfy-ftb .cfy-ftb-lk::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 22%;
    bottom: 22%;
    width: 2px;
    background: var(--fb-a);
    transform: scaleY(0);
    transition: transform 0.18s ease;
}
footer.cfy-ftb .cfy-ftb-lk:hover { background: rgba(255, 255, 255, 0.045); color: var(--fb-tl); }
footer.cfy-ftb .cfy-ftb-lk:hover::before,
footer.cfy-ftb .cfy-ftb-lk.active::before { transform: scaleY(1); }
footer.cfy-ftb .cfy-ftb-lk:hover .cfy-ftb-ic,
footer.cfy-ftb .cfy-ftb-lk.active .cfy-ftb-ic { color: var(--fb-a); }
footer.cfy-ftb .cfy-ftb-lk.active { background: rgba(var(--fb-argb), 0.06); color: var(--fb-tl); }

/* ---------- documents légaux ---------- */
/* vignettes : icône au-dessus du titre, deux par rangée */
footer.cfy-ftb .cfy-ftb-lgs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
footer.cfy-ftb .cfy-ftb-lg {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    padding: 14px 10px 12px;
    text-align: center;
    border: 1px solid var(--fb-line2);
    background: rgba(255, 255, 255, 0.03);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}
footer.cfy-ftb .cfy-ftb-lg > span:last-of-type { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
footer.cfy-ftb .cfy-ftb-lg-soon { padding: 1px 8px; border: 1px dashed var(--fb-line2); font-size: 12px; font-style: normal; }
footer.cfy-ftb .cfy-ftb-lg .cfy-ftb-ic { color: var(--fb-ink2); }
footer.cfy-ftb a.cfy-ftb-lg:hover,
footer.cfy-ftb a.cfy-ftb-lg.active { border-color: var(--fb-a); background: rgba(var(--fb-argb), 0.07); color: var(--fb-tl); }
footer.cfy-ftb a.cfy-ftb-lg:hover .cfy-ftb-ic { color: var(--fb-a); }
footer.cfy-ftb .cfy-ftb-lg--off { border-style: dashed; background: none; color: var(--fb-ink3); cursor: default; }
footer.cfy-ftb .cfy-ftb-lg--off .cfy-ftb-ic { color: var(--fb-ink3); }

/* ---------- catalogues ---------- */
footer.cfy-ftb .cfy-ftb-cat { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-content: start; container-type: inline-size; container-name: cfyfbcat; }
/* catalogues officiels : trois vignettes (avatar, libellé, identifiant entier) ; autres catalogues en deux colonnes */
footer.cfy-ftb .cfy-ftb-ocs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
footer.cfy-ftb .cfy-ftb-oc {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px 10px;
    min-width: 0;
    padding: 14px 8px 12px;
    border: 1px solid var(--fb-line2);
    background: rgba(255, 255, 255, 0.03);
    font-size: 13px;
    line-height: 1.35;
    text-align: center;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}
footer.cfy-ftb .cfy-ftb-oc .cfy-ftb-oa,
footer.cfy-ftb .cfy-ftb-oc .cfy-ftb-ic { margin-bottom: 4px; }
footer.cfy-ftb .cfy-ftb-oc > span { color: var(--fb-ink2); }
footer.cfy-ftb .cfy-ftb-oc > b { max-width: 100%; font-weight: 600; overflow-wrap: anywhere; }
footer.cfy-ftb .cfy-ftb-oc:hover,
footer.cfy-ftb .cfy-ftb-oc.active { border-color: var(--fb-a); background: rgba(var(--fb-argb), 0.07); color: var(--fb-tl); }
footer.cfy-ftb .cfy-ftb-cat-col + .cfy-ftb-cat-col .cfy-ftb-lks { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; }
/* tuile étroite : une vignette par rangée, avatar à gauche, pour que l'identifiant reste entier */
@container cfyfbcat (max-width: 479px) {
    footer.cfy-ftb .cfy-ftb-ocs,
    footer.cfy-ftb .cfy-ftb-cat-col + .cfy-ftb-cat-col .cfy-ftb-lks { grid-template-columns: minmax(0, 1fr); }
    footer.cfy-ftb .cfy-ftb-oc { flex-flow: row wrap; justify-content: flex-start; padding: 10px 12px; text-align: start; }
    footer.cfy-ftb .cfy-ftb-oc .cfy-ftb-oa,
    footer.cfy-ftb .cfy-ftb-oc .cfy-ftb-ic { margin-bottom: 0; }
}
footer.cfy-ftb .cfy-ftb-cat-col { display: grid; gap: 12px; align-content: start; min-width: 0; }

/* ---------- banner 1x1 ---------- */
footer.cfy-ftb .cfy-ftb-ban { min-width: 0; }
footer.cfy-ftb .cfy-ftb-ban a { display: block; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--fb-line2); background: #000; transition: border-color 0.2s ease; }
footer.cfy-ftb .cfy-ftb-ban a:hover { border-color: var(--fb-a); }
footer.cfy-ftb .cfy-ftb-ban img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ---------- informations complémentaires (bandeau) ---------- */
footer.cfy-ftb .cfy-ftb-info { display: grid; grid-template-columns: 1fr auto auto; gap: 8px 24px; align-items: center; }
footer.cfy-ftb .cfy-ftb-info .cfy-ftb-sc-h { grid-column: 1 / -1; margin-bottom: 4px; }
/* interrupteur démo / réel : deux boutons jumeaux de même gabarit ; le bouton actif prend l'aplat du thème
   (couple flat / on-flat), l'autre reste sur fond de pastille et s'allume au survol */
/* encadré de l'interrupteur, sous le libellé du canal : double filet aux couleurs du thème */
footer.cfy-ftb .cfy-ftb-realbox {
    display: flex;
    justify-content: center;
    padding: 14px 20px 12px;
    border: 1px solid rgba(var(--fb-argb), 0.6);
    background: rgba(var(--fb-argb), 0.06);
    box-shadow: inset 0 0 0 3px var(--fb-deep), inset 0 0 0 4px rgba(var(--fb-argb), 0.28);
}
footer.cfy-ftb .cfy-ftb-realbox .cfy-ftb-real { align-items: center; text-align: center; }
footer.cfy-ftb .cfy-ftb-real {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    color: inherit;
    text-align: start;
    cursor: pointer;
}
footer.cfy-ftb .cfy-ftb-real-track {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    min-width: 178px;
}
footer.cfy-ftb .cfy-ftb-real-plate { display: none; }
footer.cfy-ftb .cfy-ftb-real-opt {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 16px;
    border: 1px solid var(--fb-line2);
    background: var(--cfy-hr-pill-bg, rgba(255, 255, 255, 0.04));
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--fb-ink2);
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}
footer.cfy-ftb .cfy-ftb-real:not(.is-real) .cfy-ftb-real-opt:nth-of-type(2),
footer.cfy-ftb .cfy-ftb-real.is-real .cfy-ftb-real-opt:nth-of-type(3) {
    border-color: var(--cfy-hr-flat-lo, var(--fb-alo));
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi, var(--fb-ahi)), var(--cfy-hr-flat, var(--fb-a)) 55%, var(--cfy-hr-flat-lo, var(--fb-alo)));
    color: var(--cfy-hr-on-flat, var(--fb-on));
}
footer.cfy-ftb .cfy-ftb-real-txt { font-size: 12px; color: var(--fb-ink2); }
footer.cfy-ftb .cfy-ftb-real:not(:disabled):not(.is-real):hover .cfy-ftb-real-opt:nth-of-type(3),
footer.cfy-ftb .cfy-ftb-real:not(:disabled).is-real:hover .cfy-ftb-real-opt:nth-of-type(2) { border-color: var(--fb-a); color: var(--fb-tl); }
footer.cfy-ftb .cfy-ftb-real:focus-visible { outline: 2px solid var(--fb-ahi); outline-offset: 4px; }
footer.cfy-ftb .cfy-ftb-real.is-busy { cursor: progress; }
footer.cfy-ftb .cfy-ftb-real:disabled { cursor: not-allowed; opacity: 0.55; }
footer.cfy-ftb .cfy-ftb-real:disabled .cfy-ftb-real-opt { border-color: var(--fb-line2) !important; background: var(--cfy-hr-pill-bg, rgba(255, 255, 255, 0.04)) !important; color: var(--fb-ink2) !important; }
footer.cfy-ftb .cfy-ftb-kv { display: grid; gap: 5px; }
footer.cfy-ftb .cfy-ftb-kv .cfy-ftb-row > b { font-size: 14px; }
/* vignettes d'information : icône, valeur, libellé ; quatre par rangée, la plus longue sur deux cases */
footer.cfy-ftb .cfy-ftb-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; gap: 6px; min-width: 0; font-size: 13px; }
footer.cfy-ftb .cfy-ftb-facts .cfy-ftb-kv,
footer.cfy-ftb .cfy-ftb-facts .cfy-ftb-dev:not([hidden]) { display: contents; }
footer.cfy-ftb .cfy-ftb-dev[hidden],
footer.cfy-ftb .cfy-ftb-dev [hidden] { display: none; }
footer.cfy-ftb .cfy-ftb-facts .cfy-ftb-row,
footer.cfy-ftb .cfy-ftb-facts .cfy-footer-device-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 0;
    padding: 10px 8px;
    border: 1px solid var(--fb-line2);
    background: rgba(255, 255, 255, 0.03);
    line-height: 1.3;
    text-align: center;
}
footer.cfy-ftb .cfy-ftb-facts .cfy-footer-device-item[data-cfy-device="privacy"] { grid-column: span 2; }
footer.cfy-ftb .cfy-ftb-facts .cfy-ftb-row > b { order: 1; font-size: 13px; }
footer.cfy-ftb .cfy-ftb-facts .cfy-ftb-row > span:not(.cfy-ftb-ic) { order: 2; font-size: 12px; color: var(--fb-ink2); }
footer.cfy-ftb .cfy-ftb-facts .cfy-footer-device-val { font-weight: 600; overflow-wrap: anywhere; }
footer.cfy-ftb .cfy-ftb-facts svg { display: block; flex: none; width: 18px; height: 18px; color: var(--fb-ink2); }
footer.cfy-ftb .cfy-ftb-pilot {
    align-self: stretch;
    padding: 10px 4px;
    background: rgba(var(--fb-argb), 0.16);
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    writing-mode: vertical-rl;
    color: var(--fb-tl);
}

/* ---------- pré-inscription ---------- */
footer.cfy-ftb .cfy-ftb-pre { display: grid; grid-template-columns: auto 1fr; gap: 0 26px; align-items: center; }
footer.cfy-ftb .cfy-ftb-pre .cfy-ftb-sc-h { grid-column: 1 / -1; }
/* encadré « pré-inscriptions ouvertes » : ouvre la modale de préinscription */
footer.cfy-ftb .cfy-ftb-preopen {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    width: 100%;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid var(--fb-a);
    border-radius: 0;
    background: rgba(var(--fb-argb), 0.1);
    box-shadow: inset 4px 0 0 var(--fb-a);
    font: inherit;
    text-align: start;
    color: var(--fb-ink2);
    cursor: pointer;
    transition: background-color 0.18s ease, border-color 0.18s ease;
}
footer.cfy-ftb .cfy-ftb-preopen:hover { background: rgba(var(--fb-argb), 0.18); border-color: var(--fb-ahi); }
footer.cfy-ftb .cfy-ftb-preopen:focus-visible { outline: 2px solid var(--fb-ahi); outline-offset: 2px; }
footer.cfy-ftb .cfy-ftb-preopen.is-busy { cursor: progress; opacity: 0.75; }
footer.cfy-ftb .cfy-ftb-preopen-k {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fb-tl);
}
footer.cfy-ftb .cfy-ftb-preopen-k i {
    flex: none;
    width: 8px;
    height: 8px;
    background: var(--fb-a);
    box-shadow: 0 0 0 0 rgba(var(--fb-argb), 0.6);
    animation: cfy-ftb-preopen-pulse 2s ease-out infinite;
}
@keyframes cfy-ftb-preopen-pulse {
    0% { box-shadow: 0 0 0 0 rgba(var(--fb-argb), 0.6); }
    70%, 100% { box-shadow: 0 0 0 7px rgba(var(--fb-argb), 0); }
}
@media (prefers-reduced-motion: reduce) {
    footer.cfy-ftb .cfy-ftb-preopen-k i { animation: none; }
}
footer.cfy-ftb .cfy-ftb-preopen-t { font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--cfy-hr-ink, #fff); }
footer.cfy-ftb .cfy-ftb-preopen-c {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
    font-size: 13px;
    font-weight: 700;
    color: var(--fb-tl);
}
footer.cfy-ftb .cfy-ftb-preopen-c svg { flex: none; transition: transform 0.18s ease; }
footer.cfy-ftb .cfy-ftb-preopen:hover .cfy-ftb-preopen-c svg { transform: translateX(3px); }
footer.cfy-ftb .cfy-ftb-don {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 6px 14px;
    border: 1px solid var(--cfy-hr-flat-lo, var(--fb-alo));
    background: linear-gradient(var(--cfy-hr-flat-hi, var(--fb-ahi)), var(--cfy-hr-flat, var(--fb-a)) 55%, var(--cfy-hr-flat-lo, var(--fb-alo)));
    box-shadow: 0 12px 28px -12px rgba(var(--cfy-hr-flat-rgb, var(--fb-argb)), 0.8);
    font-size: 13px;
    font-weight: 600;
    color: var(--cfy-hr-on-flat, var(--fb-on));
    transition: filter 0.18s ease, transform 0.18s ease;
}
footer.cfy-ftb .cfy-ftb-don:hover { transform: translateY(-1px); color: var(--cfy-hr-on-flat, var(--fb-on)); }
footer.cfy-ftb .cfy-ftb-don svg { flex: none; }

/* ---------- bas de page ---------- */
footer.cfy-ftb .cfy-ftb-bot { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-top: 18px; }
footer.cfy-ftb .cfy-ftb-cp { font-size: 13px; line-height: 1.7; }
footer.cfy-ftb .cfy-ftb-cp b { font-weight: 600; }
footer.cfy-ftb .cfy-ftb-cp i { font-style: normal; opacity: 0.6; }
footer.cfy-ftb .cfy-ftb-cp a:hover { color: var(--fb-tl); }

/* ---------- largeurs moyennes : rangées pleines ---------- */
@container cfyfb (max-width: 1499px) {
    footer.cfy-ftb .cfy-ftb-grid {
        grid-template-areas:
            "brand brand brand brand video video video video video video video video"
            "sth sth sth sth sth sth sth sth sth sth sth sth"
            "ads ads ads badge badge badge pub pub pub pub pub pub"
            "nav nav nav nav legal legal legal legal cat cat cat cat"
            "info info info info info info info info info info info info"
            "pre pre pre pre pre pre pre pre pre ban ban ban";
    }
    footer.cfy-ftb.cfy-ftb--noban .cfy-ftb-grid {
        grid-template-areas:
            "brand brand brand brand video video video video video video video video"
            "sth sth sth sth sth sth sth sth sth sth sth sth"
            "ads ads ads badge badge badge pub pub pub pub pub pub"
            "nav nav nav nav legal legal legal legal cat cat cat cat"
            "info info info info info info info info info info info info"
            "pre pre pre pre pre pre pre pre pre pre pre pre";
    }
    footer.cfy-ftb .cfy-ftb-cat { grid-template-columns: 1fr; }
    footer.cfy-ftb .cfy-ftb-pub { display: flex; align-items: stretch; }
    footer.cfy-ftb .cfy-ftb-avs { margin-top: 12px; padding: 12px 0 0; border-inline-start: 0; border-top: 1px solid var(--fb-line2); }
}

/* ---------- tablette : deux colonnes ---------- */
@container cfyfb (max-width: 1023px) {
    footer.cfy-ftb .cfy-ftb-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas: "brand brand" "video video" "sth sth" "ads badge" "pub pub" "nav cat" "legal legal" "info info" "pre ban";
    }
    footer.cfy-ftb.cfy-ftb--noban .cfy-ftb-grid {
        grid-template-areas: "brand brand" "video video" "sth sth" "ads badge" "pub pub" "nav cat" "legal legal" "info info" "pre pre";
    }
    footer.cfy-ftb .cfy-ftb-info { grid-template-columns: 1fr 1fr; }
    footer.cfy-ftb .cfy-ftb-facts { grid-column: 1 / -1; }
    footer.cfy-ftb .cfy-ftb-pilot { grid-column: 1 / -1; padding: 3px 10px; writing-mode: horizontal-tb; }
    footer.cfy-ftb .cfy-ftb-info .cfy-footer-app { grid-column: 1 / -1; }
    footer.cfy-ftb .cfy-ftb-lgs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    footer.cfy-ftb .cfy-ftb-pre { display: flex; align-items: stretch; }
    footer.cfy-ftb .cfy-ftb-pre .cfy-ftb-don { margin-top: auto; }
    footer.cfy-ftb.cfy-ftb--noban .cfy-ftb-pre .cfy-ftb-don { margin-top: 14px; }
    footer.cfy-ftb .cfy-ftb-video .footer-brand-video-carousel { flex: none; min-height: 0; aspect-ratio: 16 / 9; }
}

/* ---------- smartphone : une colonne ---------- */
@container cfyfb (max-width: 599px) {
    footer.cfy-ftb .cfy-ftb-wrap { display: block; padding-top: 28px; }
    footer.cfy-ftb .cfy-ftb-grid,
    footer.cfy-ftb.cfy-ftb--noban .cfy-ftb-grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "brand" "video" "nav" "legal" "cat" "ban" "sth" "ads" "badge" "pub" "info" "pre";
    }
    footer.cfy-ftb.cfy-ftb--noban .cfy-ftb-grid { grid-template-areas: "brand" "video" "nav" "legal" "cat" "sth" "ads" "badge" "pub" "info" "pre"; }
    footer.cfy-ftb .cfy-ftb-t,
    footer.cfy-ftb .cfy-ftb-sc { padding: 20px 16px; }
    footer.cfy-ftb .cfy-ftb-video { padding: 0; }
    footer.cfy-ftb .cfy-ftb-info { grid-template-columns: minmax(0, 1fr); }
    footer.cfy-ftb .cfy-ftb-facts,
    footer.cfy-ftb .cfy-ftb-lgs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    footer.cfy-ftb .cfy-ftb-ban a { max-width: 300px; margin: 0 auto; }
    footer.cfy-ftb .cfy-ftb-pre .cfy-ftb-don { margin-top: 14px; }
}

/* ---------- mode performance, animations réduites ---------- */
body.performance-mode footer.cfy-ftb *,
body.performance-mode footer.cfy-ftb *::before,
body.performance-mode footer.cfy-ftb *::after { transition: none !important; animation: none !important; }
body.performance-mode footer.cfy-ftb .cfy-ftb-bz--id { background: var(--fb-deep); }
body.performance-mode footer.cfy-ftb .cfy-ftb-don,
body.performance-mode footer.cfy-ftb .cfy-ftb-real-plate,
body.performance-mode footer.cfy-ftb .cfy-ftb-real-track { box-shadow: none; }
@media (prefers-reduced-motion: reduce) {
    footer.cfy-ftb *,
    footer.cfy-ftb *::before,
    footer.cfy-ftb *::after { transition: none !important; animation: none !important; }
}

/* ═══ commercify_hyperprofil_mobile.css ═══ */
/* Pages HyperProfil : finition de la barre d'outils (mise à jour, recherche, actions groupées) et,
   sur petit écran, bord unique de 10px, barre compacte et noms de tuiles toujours entiers. */

/* Barre d'outils : pleine largeur quand le menu latéral n'est pas affiché (elle gardait sa place vide) */
@media (min-width: 1200px) {
    html body [id^="hyperprofil_toolbar_"]:not(#cfy-b1):not(#cfy-b2) {
        left: 0 !important;
        right: 0 !important;
    }
    html body .nk-sidebar + .nk-wrap [id^="hyperprofil_toolbar_"]:not(#cfy-b1):not(#cfy-b2) {
        inset-inline-start: 290px !important;
    }
    html body .nk-sidebar.is-compact + .nk-wrap [id^="hyperprofil_toolbar_"]:not(#cfy-b1):not(#cfy-b2) {
        inset-inline-start: 76px !important;
    }
}

/* Grand écran : l'espace réservé sous la barre correspond à sa hauteur réelle (une rangée), plus la partie du header
   qui dépasse sous .nk-header (la barre est posée sous le bas visuel du header) */
@media (min-width: 1200px) {
    html body .hyperprofil-toolbar-spacer:not(#cfy-b1):not(#cfy-b2) {
        height: calc(118px + var(--hyperprofil-header-overhang, 0px)) !important;
        min-height: calc(118px + var(--hyperprofil-header-overhang, 0px)) !important;
    }
}

/* Tuiles : un nom long passe à la ligne au lieu d'être rogné, à toutes les largeurs */
html.cfy-pg-hyperprofil-toolbar body .preview-block .preview-title:not(#cfy-b1) {
    height: auto !important;
    max-height: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
}

/* Pastille du compteur dans le bouton « Mise à jour » : inverse de l'aplat du bouton, dans les deux modes */
html body [id^="hyperprofil_toolbar_"] .hyperprofil-update-btn .hyperprofil-update-badge:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    background: var(--cfy-t-on-fill) !important;
    color: var(--cfy-t-fill) !important;
    border-radius: 0 !important;
}

@media (max-width: 1199.98px) {
    /* Barre compacte : une rangée de 44px, à 10px des bords */
    html body [id^="hyperprofil_toolbar_"]:not(#cfy-b1):not(#cfy-b2) {
        padding: 0 !important;
        background: transparent !important;
    }
    html body [id^="hyperprofil_toolbar_"] > .card:not(#cfy-b1):not(#cfy-b2) {
        margin: 0 !important;
        padding: 0 !important;
        border-inline: 0 !important;
        border-top: 0 !important;
        border-radius: 0 !important;
    }
    html body [id^="hyperprofil_toolbar_"] .card .card-body.hyperprofil-toolbar-body:not(#cfy-b1):not(#cfy-b2) {
        margin: 0 !important;
        padding: 8px 10px !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-toolbar-body > .row:not(#cfy-b1):not(#cfy-b2) {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 0 !important;
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-toolbar-body > .row > [class*="col"]:not(#cfy-b1):not(#cfy-b2) {
        margin: 0 !important;
        padding: 0 !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-btn-col:not(#cfy-b1):not(#cfy-b2) {
        flex: 0 0 auto !important;
        width: auto !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-search-col:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        max-width: none !important;
        width: auto !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-bulk-col:not(#cfy-b1):not(#cfy-b2) {
        flex: 0 0 auto !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        width: auto !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-update-btn:not(#cfy-b1):not(#cfy-b2) {
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 14px !important;
        font-size: var(--cfy-fs-base, 14px) !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-search-input:not(#cfy-b1):not(#cfy-b2) {
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 12px !important;
        font-size: var(--cfy-fs-base, 14px) !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-bulk-col > .btn:not(#cfy-b1):not(#cfy-b2) {
        flex: 0 0 auto !important;
        height: 44px !important;
        min-height: 44px !important;
        min-width: 44px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        justify-content: center !important;
    }
    html body .hyperprofil-toolbar-spacer:not(#cfy-b1):not(#cfy-b2) {
        height: calc(66px + var(--hyperprofil-header-overhang, 0px)) !important;
        min-height: calc(66px + var(--hyperprofil-header-overhang, 0px)) !important;
    }
}

/* Sous 992px : les trois actions groupées en boutons carrés (libellé en infobulle) */
@media (max-width: 991.98px) {
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-bulk-col .hyperprofil-btn-label:not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-bulk-col > .btn:not(#cfy-b1):not(#cfy-b2) {
        width: 44px !important;
        padding: 0 !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-bulk-col > .btn svg:not(#cfy-b1) {
        margin: 0 !important;
    }
}

@media (max-width: 767.98px) {
    /* Smartphone : deux rangées — mise à jour + actions, puis la recherche sur toute la largeur */
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-toolbar-body > .row:not(#cfy-b1):not(#cfy-b2) {
        flex-wrap: wrap !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-btn-col:not(#cfy-b1):not(#cfy-b2) {
        order: 1 !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-bulk-col:not(#cfy-b1):not(#cfy-b2) {
        order: 2 !important;
        margin-inline-start: auto !important;
    }
    html body [id^="hyperprofil_toolbar_"] .hyperprofil-search-col:not(#cfy-b1):not(#cfy-b2) {
        order: 3 !important;
        flex: 0 0 100% !important;
    }
    html body .hyperprofil-toolbar-spacer:not(#cfy-b1):not(#cfy-b2) {
        height: calc(118px + var(--hyperprofil-header-overhang, 0px)) !important;
        min-height: calc(118px + var(--hyperprofil-header-overhang, 0px)) !important;
    }

    /* Contenu : une seule marge de 10px */
    html.cfy-pg-hyperprofil-toolbar body form > [class*="col-"] > .card:not(#cfy-b1):not(#cfy-b2) {
        margin: 0 0 8px !important;
        padding: 0 !important;
        border-inline: 0 !important;
        border-radius: 0 !important;
    }
    html.cfy-pg-hyperprofil-toolbar body form > [class*="col-"] > .card > .card-inner:not(#cfy-b1):not(#cfy-b2) {
        padding: 12px 10px !important;
    }
    html.cfy-pg-hyperprofil-toolbar body form .card-inner > .row > h4:not(#cfy-b1) {
        margin-inline: 0 !important;
    }

    /* Tuiles : le nom tient toujours dans la tuile (retour à la ligne, jamais rogné) */
    html.cfy-pg-hyperprofil-toolbar body .preview-block .preview-title:not(#cfy-b1):not(#cfy-b2) {
        height: auto !important;
        max-height: none !important;
        padding-inline: 6px !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: anywhere !important;
    }
    /* La flèche suit le texte au lieu d'être posée dessus */
    html.cfy-pg-hyperprofil-toolbar body .preview-block .preview-title:not(#cfy-b1):not(#cfy-b2)::after {
        position: static !important;
        display: inline !important;
        margin-inline-start: 4px !important;
        transform: none !important;
    }
    html.cfy-pg-hyperprofil-toolbar body .preview-block:not(#cfy-b1) {
        height: auto !important;
    }
}

/* ═══ commercify_search_results.css ═══ */
/* Listes de résultats de recherche (suggestions de villes de la recherche avancée et des pages de profil) :
   groupes titrés, lignes cliquables avec drapeau, nom, badge et contexte. */

.quicksearch-group-title {
    position: sticky;
    top: 0;
    padding: 0.5rem 1rem 0.3rem;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    background: inherit;
    z-index: 1;
}

.quicksearch-result-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 0.85rem;
    border: none;
    border-top: 1px solid rgba(128, 128, 128, 0.14);
    border-left: 3px solid transparent;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.12s ease, border-left-color 0.12s ease;
}
.quicksearch-group-title + .quicksearch-result-row {
    border-top: none;
}
.quicksearch-result-row:hover,
.quicksearch-result-row:focus-visible,
.quicksearch-result-row.is-active {
    background: rgba(255, 215, 0, 0.14);
    border-left-color: #FFD700;
    outline: none;
}

.quicksearch-result-line1 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 1.02rem;
    line-height: 1.25;
}
.quicksearch-result-flag {
    width: 24px;
    height: 24px;
    border-radius: 0;
    object-fit: cover;
    flex: 0 0 auto;
}
.quicksearch-result-name {
    font-weight: 700;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.quicksearch-result-badge {
    padding: 2px 8px;
    border-radius: 0;
    font-size: 0.7rem;
    font-weight: 700;
    background: rgba(184, 134, 11, 0.16);
    color: #8a6508;
    flex: 0 0 auto;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.quicksearch-result-context {
    font-size: 0.85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.quicksearch-empty {
    padding: 0.6rem 0.85rem;
    font-size: 0.78rem;
    opacity: 0.65;
}

/* Couleurs de texte explicites (clair / sombre) */
.quicksearch-result-name { color: #0e1525; }
.quicksearch-result-context,
.quicksearch-group-title { color: #3a4353; }
[data-bs-theme="dark"] .quicksearch-result-name,
body.dark-mode .quicksearch-result-name { color: #e9edf5; }
[data-bs-theme="dark"] .quicksearch-result-context,
[data-bs-theme="dark"] .quicksearch-group-title,
body.dark-mode .quicksearch-result-context,
body.dark-mode .quicksearch-group-title { color: #b8c2d6; }
[data-bs-theme="dark"] .quicksearch-result-badge,
body.dark-mode .quicksearch-result-badge { background: rgba(255, 215, 0, 0.2); color: #ffe27a; }
body.light-mode .quicksearch-result-name { color: #1a1d21; }
body.light-mode .quicksearch-result-context,
body.light-mode .quicksearch-group-title { color: #4a5568; }
body.light-mode .quicksearch-result-row:hover,
body.light-mode .quicksearch-result-row:focus-visible,
body.light-mode .quicksearch-result-row.is-active { background: rgba(184, 134, 11, 0.1); border-left-color: #b8860b; }
body.light-mode .quicksearch-result-badge { background: rgba(184, 134, 11, 0.16); color: #8a6508; }

/* Charte typographique */
html .quicksearch-group-title { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: 0.07em; }
html .quicksearch-result-line1 { font-size: var(--cfy-fs-md); }
html .quicksearch-result-name { font-weight: var(--cfy-fw-bold); }
html .quicksearch-result-badge { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-bold); letter-spacing: 0.02em; }
html .quicksearch-result-context { font-size: var(--cfy-fs-base); }
html .quicksearch-empty { font-size: var(--cfy-fs-caption); }

/* ═══ commercify_feature_maintenance.css ═══ */
/* Fenêtre « Maintenance en cours » d'une modale ou d'un panneau : voile, carte, chrono circulaire. */

.cfy-fm {
    position: fixed;
    inset: 0;
    z-index: 1000100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--cfy-sp-4, 16px);
    background: var(--cfy-t-backdrop, rgba(0, 0, 0, .6));
    overscroll-behavior: contain;
    animation: cfyFmIn .18s ease-out;
}

.cfy-fm-card {
    width: min(560px, 100%);
    max-height: calc(100vh - 32px);
    overflow: auto;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), .6);
    border-radius: 0;
    background: color-mix(in srgb, var(--cfy-t-fill) 3%, var(--cfy-t-surface));
    box-shadow: var(--cfy-t-shadow, 0 24px 60px -20px rgba(0, 0, 0, .6));
    font-family: var(--cfy-font-sans, inherit);
}

/* En-tête : identique au header du site */
.cfy-fm-head {
    display: flex;
    align-items: center;
    gap: var(--cfy-sp-3, 12px);
    padding: var(--cfy-sp-3, 12px) var(--cfy-sp-4, 16px);
    background: var(--cfy-hr-hd-bg);
    border-bottom: 1px solid var(--cfy-hr-rule);
    box-shadow: inset 0 2px 0 var(--cfy-hr-accent);
}

.cfy-fm-logo {
    height: 28px;
    width: auto;
    flex: 0 0 auto;
}

.cfy-fm-title {
    flex: 1 1 auto;
    margin: 0;
    color: var(--cfy-hr-ink);
    font-size: var(--cfy-fs-base, 14px);
    font-weight: var(--cfy-fw-bold, 700);
    letter-spacing: var(--cfy-ls-caps, .06em);
    line-height: var(--cfy-lh-snug, 1.3);
    text-align: right;
}

.cfy-fm-x {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--cfy-hr-rule);
    border-radius: 0;
    background: var(--cfy-hr-pill-bg);
    color: var(--cfy-hr-ink);
    cursor: pointer;
}

.cfy-fm-x:hover,
.cfy-fm-x:focus-visible {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo));
    color: var(--cfy-hr-on-flat);
    outline: none;
}

/* Corps : chrono à gauche, textes à droite */
.cfy-fm-body {
    display: flex;
    align-items: center;
    gap: var(--cfy-sp-5, 24px);
    padding: var(--cfy-sp-5, 24px);
}

.cfy-fm-ring {
    position: relative;
    flex: 0 0 auto;
    width: 88px;
    height: 88px;
}

.cfy-fm-ring svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.cfy-fm-ring-track {
    fill: none;
    stroke: var(--cfy-t-line-2);
    stroke-width: 5;
}

.cfy-fm-ring-bar {
    fill: none;
    stroke: var(--cfy-t-accent);
    stroke-width: 5;
    stroke-linecap: butt;
    transition: stroke-dashoffset 1s linear;
}

.cfy-fm-num {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cfy-t-ink);
    font-size: var(--cfy-fs-h3, 24px);
    font-weight: var(--cfy-fw-bold, 700);
    font-variant-numeric: tabular-nums;
}

.cfy-fm-text {
    flex: 1 1 auto;
    min-width: 0;
}

.cfy-fm-text p {
    margin: 0;
}

.cfy-fm-feature {
    color: var(--cfy-t-accent);
    font-size: var(--cfy-fs-h4, 20px);
    font-weight: var(--cfy-fw-semibold, 600);
    line-height: var(--cfy-lh-snug, 1.3);
    margin-bottom: var(--cfy-sp-2, 8px) !important;
    overflow-wrap: anywhere;
}

.cfy-fm-lead {
    color: var(--cfy-t-ink);
    font-size: var(--cfy-fs-base, 14px);
    line-height: var(--cfy-lh-body, 1.5);
}

.cfy-fm-note {
    margin-top: var(--cfy-sp-3, 12px) !important;
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px);
    border-left: 3px solid var(--cfy-t-accent);
    background: var(--cfy-t-accent-soft);
    color: var(--cfy-t-ink-2);
    font-size: var(--cfy-fs-sm, 13px);
    line-height: var(--cfy-lh-body, 1.5);
}

.cfy-fm-auto {
    margin-top: var(--cfy-sp-3, 12px) !important;
    color: var(--cfy-t-muted);
    font-size: var(--cfy-fs-caption, 12px);
}

/* Pied : bouton plein */
.cfy-fm-foot {
    display: flex;
    justify-content: flex-end;
    padding: var(--cfy-sp-3, 12px) var(--cfy-sp-4, 16px);
    background: color-mix(in srgb, var(--cfy-t-fill) 8%, var(--cfy-t-surface-2));
    border-top: 1px solid rgba(var(--cfy-t-accent-rgb), .35);
}

.cfy-fm-ok {
    min-height: var(--cfy-ctl-md, 40px);
    padding: 0 var(--cfy-sp-5, 24px);
    border: 1px solid var(--cfy-t-fill-lo);
    border-radius: 0;
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo));
    color: var(--cfy-t-on-fill);
    font-size: var(--cfy-fs-sm, 13px);
    font-weight: var(--cfy-fw-semibold, 600);
}

.cfy-fm-ok:hover,
.cfy-fm-ok:focus-visible {
    color: var(--cfy-t-on-fill);
    background: var(--cfy-t-fill-lo);
    outline: 2px solid rgba(var(--cfy-t-accent-rgb), .45);
    outline-offset: 2px;
}

@keyframes cfyFmIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Smartphone : chrono au-dessus du texte, logo réduit */
@media (max-width: 575.98px) {
    .cfy-fm-body {
        flex-direction: column;
        text-align: center;
        gap: var(--cfy-sp-4, 16px);
        padding: var(--cfy-sp-4, 16px);
    }

    .cfy-fm-note {
        text-align: left;
    }

    .cfy-fm-logo {
        height: 22px;
    }

    .cfy-fm-ok {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cfy-fm,
    .cfy-fm-ring-bar {
        animation: none;
        transition: none;
    }
}

/* ═══ commercify_performance_mode.css ═══ */
/* ═══════════════════════════════════════════════════════════════════════════════════════════
   Mode performance — neutralisation des effets coûteux au rendu (machines modestes, sans GPU).
   La classe body.performance-mode est posée une seule fois au chargement : les sélecteurs larges
   ci-dessous ne sont évalués qu'à ce moment, ils n'ajoutent aucun coût aux restyles ultérieurs.
   Renfort :not(#cfy-pm-a):not(#cfy-pm-b) : ne filtre rien, mais bat les règles d'origine à
   2 identifiants (modales) déclarées en !important.
   Conservés : spinners et indicateurs de chargement, anneaux de focus, filtres de lisibilité
   (inversion de la croix de fermeture, logo), filtres sémantiques (cadenas, carte grisée).
   ═══════════════════════════════════════════════════════════════════════════════════════════ */

/* 1. Flous d'arrière-plan : le plus coûteux en rendu logiciel (recomposition de toute la zone
      derrière l'élément à chaque image). Les fonds semi-opaques d'origine restent en place. */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b),
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) *,
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) *::before,
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) *::after {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    will-change: auto !important;
}

/* 2. Ombres portées par filtre (drop-shadow) : décoratives, recalculées à chaque peinture. */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(
    .btn-search-landscape, .catalog-btn, .btn-hyperprofil-landscape, .btn-visitor-landscape,
    .btn-search-landscape .btn-landscape-svg, .catalog-btn i, .publish-icon,
    .modal-visitor-logo, .publisher-avatar,
    #modalInstallHomescreen :is(.install-modal-logo, .install-modal-emoji, .install-modal-icon),
    #modalInscriptionsOuvertes :is(.welcome-modal-logo, .welcome-modal-emoji),
    #commercify-ia-overlay .cfy-ia-portrait
),
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .dashboard-text-link::before {
    filter: none !important;
}

/* 3. Animations décoratives en boucle (les indicateurs de chargement ne sont pas visés). */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(
    .youtube-play-overlay, .youtube-mega-hover-optimized,
    .hyperprofil-active-badge, .btn-visitor-no-modal .btn-landscape-icon,
    .urgent-badge,
    .footer-youtube-icon, .footer-heart-icon,
    .cfy-publisher-empty-halo-ring, .cfy-publisher-empty-halo-disc
),
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(
    .btn-hyperprofil-landscape.active,
    .product-card.selected
)::before {
    animation: none !important;
}

/* 4. Vignettes : pas de calque de composition permanent par carte (translateZ) ni d'ombre floue
      de 28px au repos ; le survol garde son rendu d'origine (une seule carte à la fois). */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .product-card.vignette-selectable:not(:hover):not(:focus-within) {
    transform: none !important;
    box-shadow: 0 1px 0 var(--cfy-t-line) !important;
}

/* 5. Transitions quasi instantanées sur les zones récentes (complète les zones déjà couvertes :
      header, menu, footer, modales historiques, vignettes). */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(.catalog-header, .commercify-modal, .modal, .map-modal-overlay, .cfy-dialog, .dropdown-menu, .pagination),
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(.catalog-header, .commercify-modal, .modal, .map-modal-overlay, .cfy-dialog, .dropdown-menu, .pagination) *,
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(.catalog-header, .commercify-modal, .modal, .map-modal-overlay, .cfy-dialog, .dropdown-menu, .pagination) *::before,
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(.catalog-header, .commercify-modal, .modal, .map-modal-overlay, .cfy-dialog, .dropdown-menu, .pagination) *::after {
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
}

/* 6. Carte du monde : pas de fondu ni de halo sur les formes, infobulle sans ombre ni fondu,
      océan en aplat. */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .map-svg :is(.map-path, .map-dot) {
    transition: none !important;
    filter: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .map-tooltip,
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .map-zoom-btn {
    transition: none !important;
    box-shadow: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .map-canvas {
    background-image: none !important;
}

/* 7. Header : décor réservé au mode normal. Halo du bloc de marque, reflet, liseré et boutons en
      dégradé deviennent des aplats ; ombres et reflet animé du bouton Connexion retirés. */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr::before {
    background: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr::after {
    background: var(--cfy-hr-accent) !important;
    box-shadow: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr .btn-visitor-header,
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr .btn-visitor-header:is(:hover, :focus-visible) {
    background: var(--cfy-hr-accent) !important;
    box-shadow: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr .btn-visitor-header:is(:hover, :focus-visible) {
    background: var(--cfy-hr-accent-hi) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr :is(.catalog-nav-item-dashboard-tablet) {
    box-shadow: none !important;
}
@media (min-width: 1200px) {
    /* Plaque du logo : K-2000 minimal, un trait en aplat d'accent qui saute de trait en trait, sans dégradé ni
       interpolation ; un aller-retour par devise (4 s), relancé à chaque changement de devise ; repli sans transition */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr #anchortop .cfy-hd-marks::after {
        width: 18px;
        background: var(--cfy-hr-accent) !important;
        animation: cfyK2000Pm 4s steps(1, end) infinite !important;
        will-change: auto;
    }
    /* Plaque repliée : le tambour continue (devise invisible) pour rester en phase avec les traits */
    html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b):not(.scrolling) .catalog-header.cfy-hr.cfy-hd-folded #anchortop .cfy-hd-reel {
        animation-play-state: running !important;
    }
    html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr #anchortop.logo-wrapper,
    html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr #anchortop :is(.catalog-logo, .cfy-hd-tagline, .cfy-hd-marks) {
        transition: none !important;
    }
    /* Devises : remplacement net toutes les 4 s (aucune interpolation), sans halo ni reflet */
    html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr #anchortop .cfy-hd-reel {
        animation-timing-function: steps(1, end) !important;
        will-change: auto;
    }
    html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr #anchortop .cfy-hd-tl {
        animation: none !important;
        background: none !important;
        filter: none !important;
        text-shadow: none !important;
        -webkit-text-fill-color: currentColor !important;
    }
    /* Header v2 : Connexion reste en contour (seul le survol le remplit) ; Marquise : trapèze à liserés en
       calques de fond unis (aucun effet), conservé tel quel */
    html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr:is(.cfy-hl-hierarchie, .cfy-hl-menu) .header-wrap-codepen .btn-visitor-header:not(:hover, :focus-visible) {
        background: transparent !important;
    }
    html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr.cfy-hl-marquise .header-wrap-codepen .btn-visitor-header:not(#cfy-b1) {
        background:
            linear-gradient(var(--cfy-vb-al), transparent var(--cfy-vb-d), var(--cfy-hr-accent) var(--cfy-vb-d) calc(var(--cfy-vb-d) + var(--cfy-vb-s)), transparent calc(var(--cfy-vb-d) + var(--cfy-vb-s))),
            linear-gradient(var(--cfy-vb-ar), transparent var(--cfy-vb-d), var(--cfy-hr-accent) var(--cfy-vb-d) calc(var(--cfy-vb-d) + var(--cfy-vb-s)), transparent calc(var(--cfy-vb-d) + var(--cfy-vb-s))),
            linear-gradient(var(--cfy-vb-ab), var(--cfy-hr-accent) var(--cfy-vb-b), transparent var(--cfy-vb-b)),
            var(--cfy-vb-bg) !important;
    }
    /* Bannière du header : rabat sans transition */
    html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr :is(.cfy-hd-banner, .cfy-hd-banner-in, .cfy-hd-bslide, .cfy-hd-bdot::before) {
        transition: none !important;
    }
    /* Plaque du logo : bordures en aplat d'accent (comme le liseré) */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr #anchortop.logo-wrapper {
        background: var(--cfy-hr-accent) !important;
    }
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .cfy-hd-activity-panel {
    box-shadow: inset 0 2px 0 var(--cfy-hr-accent) !important;
}

/* 8. Modale « Changer d'éditeur » : bandeau en aplat (ni halo ni trame, liseré plein), cartes sans
      entrée échelonnée ni élévation, anneaux d'avatar nets sans ombre floue, barre d'action en aplat. */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-psw-hero::before {
    background: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-psw-hero::after {
    background: var(--cfy-hr-accent) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-psw-hero__avatar {
    box-shadow: 0 0 0 3px var(--cfy-hr-accent) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card,
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card * {
    animation: none !important;
    transform: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card:is(:hover, :focus-visible) {
    box-shadow: 0 0 0 1px var(--cfy-t-accent) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card__media {
    background: color-mix(in srgb, var(--cfy-t-fill) 6%, var(--cfy-t-surface-2)) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card__frame {
    box-shadow: 0 0 0 1px var(--cfy-t-line-2) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card:is(:hover, :focus-visible) .cfy-pswitch-card__frame {
    box-shadow: 0 0 0 2px var(--cfy-t-accent) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card.is-active {
    box-shadow: 0 0 0 2px var(--cfy-t-fill), inset 0 -4px 0 var(--cfy-t-fill) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card.is-active .cfy-pswitch-card__frame {
    box-shadow: 0 0 0 3px var(--cfy-t-fill) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card.is-active .cfy-pswitch-card__media {
    background: color-mix(in srgb, var(--cfy-t-fill) 12%, var(--cfy-t-surface-2)) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card.is-inactive,
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card.is-inactive .cfy-pswitch-card__frame {
    box-shadow: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card.is-inactive * {
    filter: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card__go {
    background: var(--cfy-t-fill) !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card:not(:hover):not(:focus-visible) .cfy-pswitch-card__go {
    visibility: hidden;
}
@media (hover: none) {
    html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) #modalPublisherSwitch .cfy-pswitch-card .cfy-pswitch-card__go {
        visibility: visible;
    }
}

/* Mégamenu, en-têtes de section magnifiés (2026-10-03) : ni motif, ni trame, ni filigrane, ni
   rotation, ni ombre décalée. Il reste l'aplat du thème, les cadres et la typographie. */
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .cfy-mm-hero2::before {
    content: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(.cfy-mm-hero2--category, .cfy-mm-hero2--devise, .cfy-mm-hero2--continent, .cfy-mm-hero2--city, .cfy-mm-hero2--pins) {
    background: var(--cfy-t-fill) !important;
    outline: 0 !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(.cfy-mm-hero2--category, .cfy-mm-hero2--language, .cfy-mm-hero2--region, .cfy-mm-hero2--department) .cfy-mm-hero2-dc {
    background: transparent !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(.cfy-mm-hero2-out, .cfy-mm-hero2-tk) {
    display: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) :is(.cfy-mm-hero2-stamp, .cfy-mm-hero2-tag) {
    transform: none !important;
}
html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .cfy-mm-hero2-sheet {
    box-shadow: none !important;
}

@keyframes cfyK2000Pm {
    0% { transform: translateX(0); }
    16.667% { transform: translateX(24px); }
    33.333% { transform: translateX(48px); }
    50% { transform: translateX(72px); }
    66.667% { transform: translateX(48px); }
    83.333% { transform: translateX(24px); }
    100% { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
    html body.performance-mode:not(#cfy-pm-a):not(#cfy-pm-b) .catalog-header.cfy-hr #anchortop .cfy-hd-marks::after {
        display: none !important;
        animation: none !important;
    }
}

/* Mégamenu, recherche : lignes fantômes d'attente sans scintillement */
body.performance-mode .cfy-catalog-navbar-mega .cfy-mm-sskel :is(.cfy-mm-skel-title, .cfy-mm-sskel-row > i, .cfy-mm-sskel-row > b) {
    animation: none !important;
}

/* Fenêtre « Maintenance en cours » : apparition et chrono sans animation */
body.performance-mode .cfy-fm,
body.performance-mode .cfy-fm-ring-bar {
    animation: none !important;
    transition: none !important;
}

/* Barre de filtres du mur : panneau « Filtres » sans ombre portée */
body.performance-mode .cfy-fb .cfy-fb-pop {
    box-shadow: none !important;
}

/* Bandeau d'informations sous le header : défilement par pages (un changement toutes les 5 s) au lieu du
   défilement continu, sans clignotement, tracé animé ni ombre des panneaux dépliés */
body.performance-mode .cfy-hmq .cfy-hmq-track {
    animation-duration: var(--cfy-hmq-dur-paged, 30s) !important;
    animation-timing-function: steps(var(--cfy-hmq-pages, 4)) !important;
}
body.performance-mode .cfy-hmq :is(.cfy-hmq-dot, .cfy-hmq-led, .cfy-hmq-g-run, .cfy-hmq-q.is-tick, .cfy-hmq-fl, .cfy-hmq-g-s b.is-bump, .cfy-hmq-e-nav i.is-on::before) {
    animation: none !important;
}
body.performance-mode .cfy-hmq .cfy-hmq-g-run {
    stroke-dasharray: none;
}
body.performance-mode .cfy-hmq :is(.cfy-hmq-e-line, .cfy-hmq-e-line > div, .cfy-hmq-drop) {
    transition: none !important;
}
body.performance-mode .cfy-hmq .cfy-hmq-drop {
    box-shadow: none !important;
}

/* Lecteurs intégrés en façade : bouton fixe, sans ombre ni agrandissement au survol */
body.performance-mode .cfy-embed-facade__play {
    transition: none;
    box-shadow: none;
}
body.performance-mode .cfy-embed-facade:hover .cfy-embed-facade__play,
body.performance-mode .cfy-embed-facade__play:focus-visible {
    transform: translate(-50%, -50%);
    box-shadow: none;
}

/* ═══ commercify_slug_integrity.css ═══ */
/* Identifiants @slug : jamais tronqués (ni ellipse, ni coupe par largeur maximale).
   Un @slug s'affiche toujours en entier ; s'il ne tient pas dans la largeur disponible,
   il passe à la ligne au lieu d'être coupé. Le renfort :not(#cfy-b1) l'emporte sur les
   anciennes règles d'ellipse, quel que soit leur ordre de chargement. */

/* Blocs de contenu : slug complet, retour à la ligne si la place manque */
html body :is(
    .publisher-header-slug,
    .publisher-header-ad-context-slug,
    .cfy-editor-card__title,
    .cfy-editor-card__title-link,
    .dashboard-quick-vignette-editor-slug,
    .cfy-publisher-empty-slug,
    .cfy-pswitch-card__slug,
    .cfy-psw-hero__slug,
    .cfy-ia-result-publisher
):not(#cfy-b1) {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    -webkit-line-clamp: unset !important;
}

/* Bouton du compte dans le header : le libellé garde sa ligne et le bouton s'élargit.
   La disposition « métro » gère déjà un libellé sur deux lignes : elle n'est pas concernée. */
html body .visitor-name-header:not(.cfy-hl-metro *):not(#cfy-b1) {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

html body .btn-visitor-header:not(.cfy-hl-metro *):not(#cfy-b1) {
    max-width: none !important;
}

/* En-tête d'éditeur : avatar et navigation d'un côté, slug de l'autre. Quand le slug ne tient
   pas sur la même ligne, son bloc passe sous l'avatar au lieu d'écraser la colonne de gauche
   (l'avatar recouvrait alors le début du slug et masquait la navigation). */
html body .page-publisher-typology .publisher-header-row-1:not(#cfy-b1) {
    display: flex !important;
    flex-wrap: wrap;
}

html body .page-publisher-typology .publisher-header-row-1 > .publisher-header-col-left:not(#cfy-b1) {
    flex: 1 1 auto !important;
    min-width: 0;
}

html body .page-publisher-typology .publisher-header-row-1 > .publisher-header-col-right:not(#cfy-b1) {
    flex: 0 1 max-content !important;
    min-width: 0;
    margin-inline-start: auto;
}

/* ═══ commercify_fix_vignette_views.css ═══ */
/* Vignettes : compteur de vues lisible sur le bandeau sombre de la note, à toutes les largeurs et dans les deux
   modes. Sous 768 px il restait en texte quasi noir, prévu pour une pastille blanche qui n'existe plus.
   Feuille isolée : la retirer de la liste des imports annule entièrement la correction. */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item, [class*="vignettes-container"]) :is(.view-count, .product-tags.rating > span):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    color: var(--cfy-hr-ink) !important;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item, [class*="vignettes-container"]) .view-count:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) svg {
    color: currentColor !important;
    stroke: currentColor !important;
}

/* ═══ commercify_fix_vignettes_theme.css ═══ */
/* Vignettes : fonds des bandeaux et de la zone du titre aux couleurs du thème, étoiles de note pleines.
   Feuille isolée : la retirer de la liste des imports annule entièrement cette étape. */

/* Bandeau du lieu, posé sur le bas de la photo */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .location-overlay:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background: linear-gradient(90deg, color-mix(in srgb, var(--cfy-hr-ph-bg) 94%, transparent) 0%, color-mix(in srgb, var(--cfy-hr-ph-bg-2) 90%, transparent) 100%) !important;
    border-color: var(--cfy-hr-ph-line) !important;
}
/* Bandeau de la note et des vues */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) ul.product-tags.rating:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background: var(--cfy-hr-ph-bg-2) !important;
    color: var(--cfy-hr-ink-2) !important;
}
/* Bandeau du prix */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) > .bg-dark:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background: var(--cfy-hr-ph-bg) !important;
    color: var(--cfy-hr-ink-2) !important;
}
/* Zone du titre : surface du mode, légèrement teintée par le thème */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) h5.product-title:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background: color-mix(in srgb, var(--cfy-t-fill) 5%, var(--cfy-t-surface)) !important;
    border-color: var(--cfy-t-line) !important;
}
/* Liens enveloppants et conteneurs : plus de bleu ni de gris bleutés hérités */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) :is(.product-thumb, .product-thumb > a, ul.product-badges, .cfy-meta-pins):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    color: var(--cfy-hr-ink-2) !important;
}

/* Étoiles de note : toujours pleines, dans leur couleur de score */
html body svg.star-rating[stroke="#f39c12" i] polygon:not(#cfy-b1):not(#cfy-b2) { fill: #f39c12 !important; }
html body svg.star-rating[stroke="#dc3545" i] polygon:not(#cfy-b1):not(#cfy-b2) { fill: #dc3545 !important; }
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .product-thumb a:not([class]):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { color: var(--cfy-hr-ink-2) !important; }

/* Sur le bandeau sombre de la note, le rouge, le vert et le bleu des étoiles sont éclaircis pour rester nets
   dans tous les thèmes (même teinte, plus lumineuse) */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .product-tags.rating svg.star-rating:is([stroke="#dc3545" i], [fill="#dc3545" i]):not(#cfy-b1):not(#cfy-b2),
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .product-tags.rating svg.star-rating:is([stroke="#dc3545" i], [fill="#dc3545" i]):not(#cfy-b1):not(#cfy-b2) polygon { fill: #ff6b78 !important; stroke: #ff6b78 !important; }
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .product-tags.rating svg.star-rating:is([stroke="#28a745" i], [fill="#28a745" i]):not(#cfy-b1):not(#cfy-b2),
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .product-tags.rating svg.star-rating:is([stroke="#28a745" i], [fill="#28a745" i]):not(#cfy-b1):not(#cfy-b2) polygon { fill: #3fcf66 !important; stroke: #3fcf66 !important; }
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .product-tags.rating svg.star-rating:is([stroke="#007bff" i], [fill="#007bff" i]):not(#cfy-b1):not(#cfy-b2),
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .product-tags.rating svg.star-rating:is([stroke="#007bff" i], [fill="#007bff" i]):not(#cfy-b1):not(#cfy-b2) polygon { fill: #5aa9ff !important; stroke: #5aa9ff !important; }

/* ═══ commercify_fix_assistant_megamenu.css ═══ */
/* Deux retouches isolées : l'assistant suit le thème en mode sombre, et le grand compteur du méga-menu
   prend l'accent prévu pour les fonds sombres. Retirer cette feuille de la liste des imports annule les deux. */

/* Assistant : ses couleurs de base restent celles du thème quand l'interface passe en mode sombre */
html body[class*="cfy-ht-"] .cfy-assistant__panel:not(#cfy-b1) {
    --cfy-assistant-bg: var(--cfy-t-surface);
    --cfy-assistant-fg: var(--cfy-t-ink);
    --cfy-assistant-muted: var(--cfy-t-muted);
    --cfy-assistant-row-bg: var(--cfy-t-surface-2);
    --cfy-assistant-hover: rgba(var(--cfy-t-fill-rgb), 0.16);
}

/* Méga-menu, mode clair : le grand compteur est posé sur un bandeau sombre ; l'accent y est éclairci vers la
   surface claire pour rester net (le mode sombre garde sa couleur d'origine, déjà lisible) */
html body.light-mode[class*="cfy-ht-"] .cfy-catalog-navbar-mega .cfy-mm-hero2-big b:not(#cfy-b1):not(#cfy-b2) {
    color: color-mix(in srgb, var(--cfy-t-fill) 25%, var(--cfy-t-surface)) !important;
}

/* ═══ commercify_fix_vignettes_plus.css ═══ */
/* Vignettes : volet du bouton « + » (date, catégorie, sous-catégorie, rayon, sous-rayon) et bouton lui-même aux
   couleurs du thème. Feuille isolée : la retirer de la liste des imports annule entièrement cette étape. */

/* Étiquettes du volet. Au repos : presque effacées (texte et cadre), pour que les vignettes voisines ne
   disputent pas l'attention. Sur la vignette survolée (ou parcourue au clavier) : pastilles pleines du thème. */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) :is(.location-info, .vignette-date) :is(.badge, .badge-pill):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background-color: transparent !important;
    color: var(--cfy-hr-ink) !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    text-shadow: none !important;
    opacity: .14 !important;
    transition: opacity .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item):is(:hover, :focus-within) :is(.location-info, .vignette-date) :is(.badge, .badge-pill):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background-color: color-mix(in srgb, var(--cfy-hr-ph-bg) 92%, transparent) !important;
    border-color: var(--cfy-hr-ph-line-2) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-hr-accent) !important;
    opacity: 1 !important;
}
/* Écrans tactiles : pas de survol, les pastilles restent pleines pour rester lisibles */
@media (hover: none) {
    html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) :is(.location-info, .vignette-date) :is(.badge, .badge-pill):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        background-color: color-mix(in srgb, var(--cfy-hr-ph-bg) 92%, transparent) !important;
        border-color: var(--cfy-hr-ph-line-2) !important;
        box-shadow: inset 0 -2px 0 var(--cfy-hr-accent) !important;
        text-shadow: none !important;
        opacity: 1 !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) :is(.location-info, .vignette-date) :is(.badge, .badge-pill):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { transition: none; }
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) :is(.location-info, .vignette-date) a:hover :is(.badge, .badge-pill):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4),
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) :is(.location-info, .vignette-date) a:focus-visible :is(.badge, .badge-pill):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background-color: var(--cfy-hr-flat) !important;
    color: var(--cfy-hr-on-flat) !important;
    border-color: var(--cfy-hr-flat-lo) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .location-info :is(small, li, a):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    color: var(--cfy-hr-ink) !important;
    border-color: transparent !important;
}

/* Bouton « + » / « − » : pastille sombre du thème au lieu du noir */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background: color-mix(in srgb, var(--cfy-hr-ph-bg) 92%, transparent) !important;
    border-color: var(--cfy-hr-ph-line-2) !important;
    color: var(--cfy-hr-ink) !important;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .location-toggle:hover:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4),
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .location-toggle[aria-expanded="true"]:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    border-color: var(--cfy-hr-accent) !important;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) svg {
    color: currentColor !important;
    stroke: currentColor !important;
}

/* Voile d'attente du verso pendant une action : teinte sombre du thème au lieu du noir */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .flip-back-loading-overlay:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background: color-mix(in srgb, var(--cfy-hr-ph-bg) 84%, transparent) !important;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) .flip-back-loading-overlay:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) > div {
    color: var(--cfy-hr-ink) !important;
}

/* Boutons « + » et « retourner » du recto : même effacement que les étiquettes du volet (0.14 au repos,
   pleins sur la vignette survolée ou parcourue au clavier, pleins sur écran tactile), pour dégager la photo.
   Hors périmètre : boutons des versos, avatar, vignette vidéo en lecture (masquage YouTube prioritaire). */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item):not(.cfy-yt-controls) :is(.location-toggle, .vignette-flip-toggle:not(.vignette-flip-toggle-verso-back)):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    opacity: .14 !important;
    transition: opacity .15s ease, transform .15s ease-out, background-color .15s ease, border-color .15s ease !important;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item):not(.cfy-yt-controls):is(:hover, :focus-within) :is(.location-toggle, .vignette-flip-toggle:not(.vignette-flip-toggle-verso-back)):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    opacity: 1 !important;
}
@media (hover: none) {
    html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item):not(.cfy-yt-controls) :is(.location-toggle, .vignette-flip-toggle:not(.vignette-flip-toggle-verso-back)):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        opacity: 1 !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.product-card, .vignette-item) :is(.location-toggle, .vignette-flip-toggle):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) { transition: none !important; }
}

/* ═══ commercify_fix_catalog_bar.css ═══ */
/* Barre des catalogues (entre le header et les vignettes) : bandeau profond du thème, dans la continuité
   du header, en mode clair comme en mode sombre. Onglet courant en aplat vif du thème.
   Feuille isolée : la retirer de la liste des imports annule entièrement cette étape. */

/* Mode clair : la barre reprend les teintes du header au lieu des surfaces claires.
   Les teintes du header sont mémorisées au niveau de la page, puis rendues à la barre. */
html body[class*="cfy-ht-"]:not(.dark-mode) {
    --cfy-cb-ph-bg: var(--cfy-hr-ph-bg);
    --cfy-cb-ph-bg-2: var(--cfy-hr-ph-bg-2);
    --cfy-cb-ph-line: var(--cfy-hr-ph-line);
    --cfy-cb-ph-line-2: var(--cfy-hr-ph-line-2);
    --cfy-cb-pill-bg: var(--cfy-hr-pill-bg);
    --cfy-cb-panel-bg: var(--cfy-hr-panel-bg);
    --cfy-cb-tile-bg: var(--cfy-hr-tile-bg);
    --cfy-cb-rule: var(--cfy-hr-rule);
    --cfy-cb-ink: var(--cfy-hr-ink);
    --cfy-cb-ink-2: var(--cfy-hr-ink-2);
    --cfy-cb-ink-muted: var(--cfy-hr-ink-muted);
    --cfy-cb-ink-faint: var(--cfy-hr-ink-faint);
    --cfy-cb-hd-ink-3: var(--cfy-hr-hd-ink-3);
    --cfy-cb-accent-text: var(--cfy-hr-accent-text);
    --cfy-cb-accent: var(--cfy-hr-accent);
    --cfy-cb-accent-hi: var(--cfy-hr-accent-hi);
    --cfy-cb-accent-lo: var(--cfy-hr-accent-lo);
    --cfy-cb-accent-rgb: var(--cfy-hr-accent-rgb);
    --cfy-cb-on-accent: var(--cfy-hr-on-accent);
    --cfy-cb-flat: var(--cfy-hr-flat);
    --cfy-cb-flat-hi: var(--cfy-hr-flat-hi);
    --cfy-cb-flat-lo: var(--cfy-hr-flat-lo);
    --cfy-cb-flat-rgb: var(--cfy-hr-flat-rgb);
    --cfy-cb-on-flat: var(--cfy-hr-on-flat);
}
html body[class*="cfy-ht-"]:not(.dark-mode) .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) {
    --cfy-hr-ph-bg: var(--cfy-cb-ph-bg);
    --cfy-hr-ph-bg-2: var(--cfy-cb-ph-bg-2);
    --cfy-hr-ph-line: var(--cfy-cb-ph-line);
    --cfy-hr-ph-line-2: var(--cfy-cb-ph-line-2);
    --cfy-hr-pill-bg: var(--cfy-cb-pill-bg);
    --cfy-hr-panel-bg: var(--cfy-cb-panel-bg);
    --cfy-hr-tile-bg: var(--cfy-cb-tile-bg);
    --cfy-hr-rule: var(--cfy-cb-rule);
    --cfy-hr-ink: var(--cfy-cb-ink);
    --cfy-hr-ink-2: var(--cfy-cb-ink-2);
    --cfy-hr-ink-muted: var(--cfy-cb-ink-muted);
    --cfy-hr-ink-faint: var(--cfy-cb-ink-faint);
    --cfy-hr-hd-ink-3: var(--cfy-cb-hd-ink-3);
    --cfy-hr-accent-text: var(--cfy-cb-accent-text);
    --cfy-hr-accent: var(--cfy-cb-accent);
    --cfy-hr-accent-hi: var(--cfy-cb-accent-hi);
    --cfy-hr-accent-lo: var(--cfy-cb-accent-lo);
    --cfy-hr-accent-rgb: var(--cfy-cb-accent-rgb);
    --cfy-hr-on-accent: var(--cfy-cb-on-accent);
    --cfy-hr-flat: var(--cfy-cb-flat);
    --cfy-hr-flat-hi: var(--cfy-cb-flat-hi);
    --cfy-hr-flat-lo: var(--cfy-cb-flat-lo);
    --cfy-hr-flat-rgb: var(--cfy-cb-flat-rgb);
    --cfy-hr-on-flat: var(--cfy-cb-on-flat);
    --cfy-tx-link: var(--cfy-cb-accent-text);
    --cfy-tx-accent-strong: var(--cfy-cb-accent-text);
    --cfy-vpre-banner-bg: var(--cfy-cb-ph-bg);
    --cfy-catalog-action-bg: var(--cfy-cb-ph-bg-2);
    --cfy-catalog-action-fg: var(--cfy-cb-accent-text);
    --cfy-catalog-action-border: rgba(var(--cfy-cb-accent-rgb), 0.55);
    --cfy-catalog-action-hover-bg: rgba(var(--cfy-cb-accent-rgb), 0.16);
    --cfy-catalog-action-hover-fg: var(--cfy-cb-accent-text);
    --cfy-catalog-action-active-bg: var(--cfy-cb-ph-bg-2);
    --cfy-catalog-action-active-fg: var(--cfy-cb-accent-text);
    --cfy-catalog-action-disabled-bg: var(--cfy-cb-ph-bg);
    --cfy-catalog-action-disabled-fg: var(--cfy-cb-ink-faint);
    --cfy-catalog-action-disabled-border: var(--cfy-cb-ph-line-2);
    --cfy-catalog-navbar-bg: rgba(var(--cfy-cb-accent-rgb), 0.08);
    --cfy-catalog-navbar-border: rgba(var(--cfy-cb-accent-rgb), 0.3);
    --cfy-catalog-navbar-fg: var(--cfy-cb-accent-text);
    --cfy-catalog-navbar-hover-bg: rgba(var(--cfy-cb-accent-rgb), 0.18);
    --cfy-catalog-navbar-hover-border: var(--cfy-cb-accent);
    --cfy-catalog-navbar-option-bg: var(--cfy-cb-panel-bg);
    --cfy-catalog-navbar-option-fg: var(--cfy-cb-ink);
}

/* Bandeau : dégradé profond, filet et liseré d'accent en pied (les deux modes) */
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) {
    background: linear-gradient(180deg, var(--cfy-hr-ph-bg), var(--cfy-hr-ph-bg-2)) !important;
    border-bottom: 1px solid var(--cfy-hr-ph-line-2) !important;
    box-shadow: inset 0 -2px 0 var(--cfy-hr-accent) !important;
}
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
/* Libellé « Catalogues » */
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-dimcap { color: var(--cfy-hr-ink-2) !important; }
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-dimcap :is(.cfy-catalog-navbar-cell-icon, svg) { color: var(--cfy-hr-accent-text) !important; }
/* Onglets des familles de catalogues */
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-seg--fam {
    background: var(--cfy-hr-tile-bg) !important;
    border-color: var(--cfy-hr-ph-line-2) !important;
    box-shadow: none !important;
}
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-seg--fam :is(.cfy-catalog-navbar-seg-go, .cfy-catalog-navbar-seg-go *) { color: var(--cfy-hr-ink) !important; }
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-seg--fam:is(:hover, :focus-within):not(.is-current) { border-color: var(--cfy-hr-accent) !important; }
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-seg--fam.is-current {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo)) !important;
    border-color: var(--cfy-hr-flat-lo) !important;
}
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-seg--fam.is-current :is(.cfy-catalog-navbar-seg-go, .cfy-catalog-navbar-seg-go *) { color: var(--cfy-hr-on-flat) !important; }
/* Bouton « Affiner » */
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-crit {
    background: transparent !important;
    border-color: var(--cfy-hr-accent) !important;
    color: var(--cfy-hr-ink) !important;
}
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-crit > span { color: inherit !important; }
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-crit svg { color: var(--cfy-hr-accent-text) !important; }
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-crit:is(:hover, :focus-visible, [aria-expanded="true"]) {
    background: var(--cfy-hr-flat) !important;
    border-color: var(--cfy-hr-flat-lo) !important;
    color: var(--cfy-hr-on-flat) !important;
}
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-crit:is(:hover, :focus-visible, [aria-expanded="true"]) svg { color: inherit !important; }
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar :is(.cfy-catalog-navbar-seg-go, .cfy-catalog-navbar-crit):focus-visible {
    outline: 2px solid var(--cfy-hr-accent) !important;
    outline-offset: 2px !important;
}

/* Légende devenue sélecteur (ouvre la liste des catalogues) : au survol, au focus et ouverte, aplat du
   thème et texte de l'aplat (le libellé et ses pictogrammes quittent leur couleur de repos) */
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-dimcap.is-selector:is(:hover, :focus-visible, .is-open):not(#cfy-b3) {
    background: var(--cfy-hr-flat) !important;
    border-color: var(--cfy-hr-flat) !important;
    color: var(--cfy-hr-on-flat) !important;
}
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-dimcap.is-selector:is(:hover, :focus-visible, .is-open):not(#cfy-b3) :is(.cfy-catalog-navbar-cell-icon, .cfy-catalog-navbar-dimcap-caret, svg) {
    color: var(--cfy-hr-on-flat) !important;
}
html body[class*="cfy-ht-"] .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2) .cfy-catalog-navbar .cfy-catalog-navbar-dimcap.is-selector:not(#cfy-b3) .cfy-catalog-navbar-dimcap-caret {
    color: var(--cfy-hr-ink-2) !important;
}

/* ═══ commercify_catalog_filterbar.css ═══ */
/* Barre de filtres du mur (proposition D1, 2026-10-07) : un bouton « Filtres » discret à droite de la barre des
   catalogues, qui ouvre un panneau à trois colonnes de cases à cocher ; bandeau des catalogues d'un éditeur.
   Bouton au trait fin dans les couleurs du bandeau profond (famille du header), panneau aux couleurs de la page.
   Ordinateur et tablette seulement : rien sous 768 px.
   Feuille isolée : la retirer de la liste des imports annule entièrement cette étape. */

/* ── Place dans le bandeau : une seule rangée, à droite des catalogues ── */
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-filters {
    flex: 0 0 auto;
    min-width: 0;
    margin-inline-start: auto;
    /* Retraits logiques : le retrait de bord du mur reste du côté de fin de ligne, en LTR comme en RTL. */
    padding-block: var(--cfy-sp-2);
    padding-inline: var(--cfy-sp-3) var(--cfy-navbar-edge, var(--cfy-sp-3));
}

/* ── Barre ── */
html body .cfy-fb {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--cfy-sp-2);
    min-width: 0;
}
html body .cfy-fb-wrap {
    position: relative;
    display: inline-flex;
}
html body .cfy-fb .cfy-fb-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    margin: 0;
    padding: 0 10px;
    background: transparent;
    border: 1px solid var(--cfy-hr-ph-line-2);
    box-shadow: none;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-medium);
    line-height: 1;
    color: var(--cfy-hr-ink-2);
    white-space: nowrap;
    cursor: pointer;
}
html body .cfy-fb .cfy-fb-btn svg {
    flex: none;
}
html body .cfy-fb .cfy-fb-btn:hover,
html body .cfy-fb .cfy-fb-btn.is-open,
html body .cfy-fb .cfy-fb-btn.is-set {
    border-color: var(--cfy-hr-accent);
    color: var(--cfy-hr-ink);
}
/* Nombre de filtres décochés */
html body .cfy-fb .cfy-fb-off {
    display: inline-grid;
    place-items: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--cfy-hr-flat);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-hr-on-flat);
}
html body .cfy-fb .cfy-fb-caret {
    display: inline-flex;
    color: var(--cfy-hr-ink-2);
}
html body .cfy-fb .cfy-fb-reset {
    height: 32px;
    margin: 0;
    padding: 0 var(--cfy-sp-1);
    background: transparent;
    border: 0;
    box-shadow: none;
    font-family: inherit;
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-regular);
    color: var(--cfy-hr-ink-2);
    text-decoration: underline;
    cursor: pointer;
}
html body .cfy-fb .cfy-fb-reset:hover {
    color: var(--cfy-hr-ink);
}
html body .cfy-fb .cfy-fb-btn:focus-visible,
html body .cfy-fb .cfy-fb-reset:focus-visible {
    outline: 2px solid var(--cfy-hr-accent);
    outline-offset: 2px;
}
html body .cfy-fb [hidden] {
    display: none;
}

/* ── Panneau : trois colonnes de cases à cocher ── */
html body .cfy-fb .cfy-fb-pop {
    position: absolute;
    inset-inline-end: 0;
    top: calc(100% + 6px);
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(3, minmax(170px, 1fr));
    gap: 0 var(--cfy-sp-4);
    width: max-content;
    max-width: calc(100vw - 2 * var(--cfy-sp-4));
    padding: var(--cfy-sp-3) var(--cfy-sp-4);
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
    box-shadow: 0 10px 24px var(--cfy-t-shadow);
    color: var(--cfy-t-ink);
    text-align: start;
}
html body .cfy-fb .cfy-fb-pop--2 {
    grid-template-columns: repeat(2, minmax(170px, 1fr));
}
html body .cfy-fb .cfy-fb-pop--1 {
    grid-template-columns: minmax(200px, 1fr);
}
html body .cfy-fb .cfy-fb-pop[hidden] {
    display: none;
}
html body .cfy-fb .cfy-fb-g {
    min-width: 0;
}
html body .cfy-fb .cfy-fb-g-t {
    margin: 4px 0 6px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--cfy-t-line);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-t-muted);
}
html body .cfy-fb .cfy-fb-i {
    display: flex;
    align-items: center;
    gap: var(--cfy-sp-2);
    width: 100%;
    min-height: 32px;
    margin: 0;
    padding: 0 4px;
    background: transparent;
    border: 0;
    box-shadow: none;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-regular);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-t-ink);
    text-align: start;
    cursor: pointer;
}
html body .cfy-fb .cfy-fb-i:hover {
    background: var(--cfy-t-accent-soft);
}
html body .cfy-fb .cfy-fb-i:focus-visible,
html body .cfy-fb .cfy-fb-link:focus-visible {
    outline: 2px solid var(--cfy-t-accent);
    outline-offset: -2px;
}
html body .cfy-fb .cfy-fb-box {
    display: grid;
    place-items: center;
    flex: none;
    width: 16px;
    height: 16px;
    border: 1px solid var(--cfy-t-ink-2);
}
html body .cfy-fb .cfy-fb-i[aria-pressed="true"] .cfy-fb-box {
    background: var(--cfy-t-fill);
    border-color: var(--cfy-t-fill-lo);
}
html body .cfy-fb .cfy-fb-i[aria-pressed="true"] .cfy-fb-box::after {
    content: "";
    width: 8px;
    height: 4px;
    border: solid var(--cfy-t-on-fill);
    border-width: 0 0 2px 2px;
    transform: rotate(-45deg) translateY(-1px);
}
html body .cfy-fb .cfy-fb-l {
    min-width: 0;
    overflow-wrap: anywhere;
}
/* Nombre d'annonces : en gris, à droite */
html body .cfy-fb .cfy-fb-n {
    margin-inline-start: auto;
    padding-inline-start: var(--cfy-sp-3);
    font-size: var(--cfy-fs-caption);
    font-style: normal;
    font-weight: var(--cfy-fw-regular);
    color: var(--cfy-t-muted);
    white-space: nowrap;
}
html body .cfy-fb .cfy-fb-foot {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    margin-top: var(--cfy-sp-2);
    padding-top: var(--cfy-sp-2);
    border-top: 1px solid var(--cfy-t-line);
}
html body .cfy-fb .cfy-fb-link {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
    font-family: inherit;
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-t-accent);
    text-decoration: underline;
    cursor: pointer;
}

/* ── Bandeau des catalogues d'un éditeur ── */
html body .cfy-pubbar .cfy-pubbar-row {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cfy-sp-2) var(--cfy-sp-4);
    padding: var(--cfy-sp-3) var(--cfy-wall-gutter-eff, var(--cfy-sp-4));
}
html body .cfy-pubbar .cfy-pubbar-left,
html body .cfy-pubbar .cfy-pubbar-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cfy-sp-2);
    min-width: 0;
}
html body .cfy-pubbar .cfy-pubbar-right {
    flex: 1 1 320px;
    justify-content: flex-end;
    gap: var(--cfy-sp-2) var(--cfy-sp-4);
    margin-inline-start: auto;
}
/* Bandeau éditeur : bouton « Filtres » à la hauteur d'« Exporter » */
html body .cfy-pubbar .cfy-fb .cfy-fb-btn {
    height: 36px;
}
html body .cfy-pubbar .cfy-pubbar-btn {
    flex: none;
}
html body .cfy-pubbar .cfy-pubbar-nav {
    display: none;
    flex-wrap: wrap;
    gap: var(--cfy-sp-2);
}
html body .cfy-pubbar .cfy-pubbar-seg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 4px var(--cfy-sp-4);
    background: var(--cfy-hr-tile-bg);
    border: 1px solid var(--cfy-hr-ph-line-2);
    font-size: var(--cfy-fs-base);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-hr-ink);
    text-decoration: none;
}
html body .cfy-pubbar .cfy-pubbar-seg:hover,
html body .cfy-pubbar .cfy-pubbar-seg:focus-visible {
    border-color: var(--cfy-hr-accent);
    color: var(--cfy-hr-ink);
}
html body .cfy-pubbar .cfy-pubbar-seg.is-current {
    background: linear-gradient(180deg, var(--cfy-hr-flat-hi), var(--cfy-hr-flat) 60%, var(--cfy-hr-flat-lo));
    border-color: var(--cfy-hr-flat-lo);
    color: var(--cfy-hr-on-flat);
}
html body .cfy-pubbar .cfy-pubbar-crit,
html body .cfy-pubbar .cfy-pubbar-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2);
    min-height: 36px;
    margin: 0;
    padding: 2px var(--cfy-sp-3);
    background: transparent;
    border: 1px solid var(--cfy-hr-accent);
    box-shadow: none;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-hr-ink);
    text-decoration: none;
    cursor: pointer;
}
html body .cfy-pubbar .cfy-pubbar-crit {
    background: var(--cfy-hr-tile-bg);
    border-color: var(--cfy-hr-ph-line-2);
}
html body .cfy-pubbar .cfy-pubbar-crit svg,
html body .cfy-pubbar .cfy-pubbar-btn svg {
    flex: none;
    color: var(--cfy-hr-accent);
}
html body .cfy-pubbar .cfy-pubbar-crit:hover,
html body .cfy-pubbar .cfy-pubbar-btn:hover,
html body .cfy-pubbar .cfy-pubbar-crit:focus-visible,
html body .cfy-pubbar .cfy-pubbar-btn:focus-visible {
    background: var(--cfy-hr-flat);
    border-color: var(--cfy-hr-flat-lo);
    color: var(--cfy-hr-on-flat);
}
html body .cfy-pubbar .cfy-pubbar-crit:hover svg,
html body .cfy-pubbar .cfy-pubbar-btn:hover svg,
html body .cfy-pubbar .cfy-pubbar-crit:focus-visible svg,
html body .cfy-pubbar .cfy-pubbar-btn:focus-visible svg {
    color: inherit;
}

/* Ordinateur : le sélecteur de catalogues de l'éditeur est dans le bandeau, plus dans l'en-tête */
@media (min-width: 1200px) {
    html body .cfy-pubbar .cfy-pubbar-nav {
        display: flex;
    }
    html body .publisher-header-card--nav-in-band:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .publisher-nav {
        display: none !important;
    }
    html body .cfy-pubbar .cfy-pubbar-right {
        flex-wrap: nowrap;
    }
    /* Fiche annonce : le rappel « fiche + code » est à droite du bandeau, plus dans l'en-tête */
    html body .publisher-header-card--nav-in-band:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .publisher-header-ad-context {
        display: none !important;
    }
}
html body .cfy-pubbar .cfy-pubbar-ad {
    gap: var(--cfy-sp-3);
}
html body .cfy-pubbar .cfy-pubbar-ad-label {
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-hr-ink-muted);
}
html body .cfy-pubbar .cfy-pubbar-ad-code {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 var(--cfy-sp-3);
    background: var(--cfy-hr-tile-bg);
    border: 1px solid var(--cfy-hr-ph-line-2);
    font-size: var(--cfy-fs-sm);
    color: var(--cfy-hr-ink);
}

/* Pages d'un éditeur sans mur : bandeau réduit au sélecteur de catalogues ; sous 1200px le sélecteur est dans
   l'en-tête de l'éditeur, le bandeau n'a rien à montrer */
@media (max-width: 1199.98px) {
    html body .cfy-pubbar.cfy-pubbar--nav-only:not(#cfy-b1):not(#cfy-b2) {
        display: none !important;
    }
}

/* Tablette : cibles de 40 px (le panneau garde ses colonnes : sur une seule, il dépasserait la hauteur d'un écran en paysage) */
@media (max-width: 1199.98px) {
    html body .cfy-fb .cfy-fb-btn,
    html body .cfy-pubbar .cfy-fb .cfy-fb-btn,
    html body .cfy-fb .cfy-fb-i,
    html body .cfy-fb .cfy-fb-reset,
    html body .cfy-pubbar .cfy-pubbar-crit,
    html body .cfy-pubbar .cfy-pubbar-btn {
        min-height: 40px;
    }
    html body .cfy-fb .cfy-fb-btn,
    html body .cfy-pubbar .cfy-fb .cfy-fb-btn {
        height: 40px;
    }
    html body .cfy-pubbar .cfy-pubbar-row {
        padding: 10px;
    }
}

/* Smartphone : « Filtres » à côté de « Vue » ; le panneau s'ouvre sous la barre, sur toute la largeur utile, en une
   seule colonne */
@media (max-width: 767.98px) {
    html body .cfy-vignettes-pre-banner:not(#cfy-b1) {
        position: relative;
    }
    html body .cfy-vignettes-pre-banner .cfy-fb,
    html body .cfy-vignettes-pre-banner .cfy-fb .cfy-fb-wrap {
        position: static;
    }
    /* La colonne des filtres ne doit pas servir de repère au panneau (confinement de mise en page) */
    html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-filters:not(#cfy-b1):not(#cfy-b2) {
        contain: none !important;
    }
    html body .cfy-vignettes-pre-banner .cfy-fb .cfy-fb-pop {
        inset-inline: 10px;
        top: calc(100% + 2px);
        grid-template-columns: minmax(0, 1fr);
        gap: var(--cfy-sp-3);
        width: auto;
        max-width: none;
    }
}

/* Tranches de notation protégées par code PIN : cadenas discret ; grisées sans session d'éditeur */
html body .cfy-fb .cfy-fb-i .cfy-fb-lock {
    display: inline-flex;
    margin-inline-start: 4px;
    color: var(--cfy-t-muted);
}
html body .cfy-fb .cfy-fb-i[aria-disabled="true"] {
    opacity: .55;
    cursor: not-allowed;
}

/* ═══ commercify_wall_views.css ═══ */
/* Vues du mur : boutons d'affichage (avant « Filtres ») et briques communes aux vues Liste, Carte et
   Galerie (photo, prix, puces, lieu, éditeur, note, compteurs, case de sélection, bannière).
   Tokens de thème et de typographie uniquement, angles droits.
   Feuille isolée : la retirer de la liste des imports annule entièrement cette étape (les vues retombent sans style). */

/* ══════════ Bouton « Vue du mur » et son panneau ══════════ */
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-views {
    flex: 0 0 auto;
    min-width: 0;
    margin-inline-start: auto;
    /* Retraits logiques : en RTL, le retrait du début de ligne passe à droite (marges de la barre inversées sinon). */
    padding-block: var(--cfy-sp-2);
    padding-inline: var(--cfy-sp-3) 0;
}
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-col-views + .cfy-vignettes-pre-col-filters {
    margin-inline-start: 0;
}
html body .cfy-wvs {
    position: relative;
    display: inline-flex;
}
html body .cfy-wvs [hidden] {
    display: none;
}
html body .cfy-wvs .cfy-wvs-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    margin: 0;
    padding: 0 10px;
    background: transparent;
    border: 1px solid var(--cfy-hr-ph-line-2);
    border-radius: 0;
    box-shadow: none;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-medium);
    line-height: 1;
    color: var(--cfy-hr-ink-2);
    white-space: nowrap;
    cursor: pointer;
}
html body .cfy-wvs .cfy-wvs-btn svg {
    flex: none;
}
html body .cfy-wvs .cfy-wvs-btn:hover,
html body .cfy-wvs .cfy-wvs-btn.is-open {
    border-color: var(--cfy-hr-accent);
    color: var(--cfy-hr-ink);
}
html body .cfy-wvs .cfy-wvs-btn:focus-visible {
    outline: 2px solid var(--cfy-hr-accent);
    outline-offset: 2px;
}
/* Vue active, en pastille à côté du libellé */
html body .cfy-wvs .cfy-wvs-cur {
    display: inline-grid;
    place-items: center;
    height: 18px;
    padding: 0 6px;
    background: var(--cfy-hr-flat);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-hr-on-flat);
}
html body .cfy-wvs .cfy-wvs-caret {
    display: inline-flex;
    color: var(--cfy-hr-ink-2);
}
html body .cfy-wvs.is-busy .cfy-wvs-btn,
html body .cfy-wvs.is-busy .cfy-wvs-i {
    cursor: progress;
}
/* Bandeau des catalogues d'un éditeur : à la hauteur de « Filtres » et « Exporter » */
html body .cfy-pubbar .cfy-wvs .cfy-wvs-btn {
    height: 36px;
}

/* Panneau */
html body .cfy-wvs .cfy-wvs-pop {
    position: absolute;
    inset-inline-end: 0;
    top: calc(100% + 6px);
    z-index: 30;
    display: grid;
    width: 320px;
    max-width: calc(100vw - 2 * var(--cfy-sp-4));
    padding: var(--cfy-sp-2) 0;
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
    box-shadow: 0 10px 24px var(--cfy-t-shadow);
    color: var(--cfy-t-ink);
    text-align: start;
}
html body .cfy-wvs .cfy-wvs-pop[hidden] {
    display: none;
}
html body .cfy-wvs .cfy-wvs-pop-t {
    margin: 2px var(--cfy-sp-3) 6px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--cfy-t-line);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-t-muted);
}
html body .cfy-wvs .cfy-wvs-i {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 18px;
    align-items: center;
    gap: var(--cfy-sp-2);
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 6px var(--cfy-sp-3);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-family: inherit;
    text-align: start;
    color: var(--cfy-t-ink);
    cursor: pointer;
}
html body .cfy-wvs .cfy-wvs-i:hover,
html body .cfy-wvs .cfy-wvs-i:focus-visible {
    background: var(--cfy-t-surface-2);
    outline: none;
}
html body .cfy-wvs .cfy-wvs-i:focus-visible {
    box-shadow: inset 2px 0 0 var(--cfy-t-accent);
}
html body .cfy-wvs .cfy-wvs-i-ic {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    background: var(--cfy-t-surface-3);
    color: var(--cfy-t-muted);
}
html body .cfy-wvs .cfy-wvs-i-t {
    display: grid;
    gap: 1px;
    min-width: 0;
}
html body .cfy-wvs .cfy-wvs-i-t b {
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-t-ink);
}
html body .cfy-wvs .cfy-wvs-i-t small {
    font-size: var(--cfy-fs-caption);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-t-muted);
    overflow-wrap: anywhere;
}
html body .cfy-wvs .cfy-wvs-i-ok {
    display: none;
    color: var(--cfy-t-accent);
}
html body .cfy-wvs .cfy-wvs-i[aria-checked="true"] {
    background: color-mix(in srgb, var(--cfy-t-fill) 8%, var(--cfy-t-surface));
    box-shadow: inset 3px 0 0 var(--cfy-t-fill);
}
html body .cfy-wvs .cfy-wvs-i[aria-checked="true"] .cfy-wvs-i-ic {
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
}
html body .cfy-wvs .cfy-wvs-i[aria-checked="true"] .cfy-wvs-i-t small,
html body .cfy-wvs .cfy-wvs-i:hover .cfy-wvs-i-t small {
    color: var(--cfy-t-ink-2);
}
html body .cfy-wvs .cfy-wvs-i[aria-checked="true"] .cfy-wvs-i-ok {
    display: inline-flex;
}

/* Écran étroit : « Vue » + nom de la vue, panneau calé sur la largeur utile */
@media (max-width: 767.98px) {
    html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-views {
        padding-inline-start: var(--cfy-sp-2);
    }
    html body .cfy-wvs .cfy-wvs-btn,
    html body .cfy-pubbar .cfy-wvs .cfy-wvs-btn {
        height: 40px;
    }
    html body .cfy-wvs .cfy-wvs-pop {
        width: min(320px, calc(100vw - 2 * var(--cfy-sp-2)));
        max-width: none;
    }
}

/* ══════════ Socle des vues ══════════ */
html body .cfy-wv.vignettes-container {
    display: block;
    width: 100%;
    min-width: 0;
}
html body .cfy-wv .cfy-wv-cell {
    display: block;
    width: auto;
    min-width: 0;
}
html body .cfy-wv .cfy-wv-item {
    position: relative;
    min-width: 0;
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line);
    border-radius: 0;
    color: var(--cfy-tx-ink);
    cursor: default;
}
html body .cfy-wv .cfy-wv-item:hover {
    border-color: var(--cfy-t-line-2);
}
html body .cfy-wv .cfy-wv-item.selected {
    border-color: var(--cfy-t-fill);
    box-shadow: inset 0 0 0 2px var(--cfy-t-fill);
    background: color-mix(in srgb, var(--cfy-t-fill) 7%, var(--cfy-t-surface));
}
/* Annonce aux retours négatifs : même signal que les vignettes. Fond rouge pâle (score 0 à 2) ou orange pâle
   (score 3 à 5) dans les deux modes ; en mode clair, le lieu passe sur une pastille rouge ou orange, texte blanc. */
html body .cfy-wv .cfy-wv-item[data-has-negative-feedback="1"]:is([data-score="0"], [data-score="1"], [data-score="2"]) {
    background: rgba(255, 0, 0, 0.2);
}
html body .cfy-wv .cfy-wv-item[data-has-negative-feedback="1"]:is([data-score="3"], [data-score="4"], [data-score="5"]) {
    background: rgba(255, 102, 0, 0.2);
}
html body.light-mode .cfy-wv .cfy-wv-item[data-has-negative-feedback="1"] .cfy-wv-loc {
    padding: 2px 4px;
    color: #fff;
}
html body.light-mode .cfy-wv .cfy-wv-item[data-has-negative-feedback="1"]:is([data-score="0"], [data-score="1"], [data-score="2"]) .cfy-wv-loc {
    background: #C40000;
}
html body.light-mode .cfy-wv .cfy-wv-item[data-has-negative-feedback="1"]:is([data-score="3"], [data-score="4"], [data-score="5"]) .cfy-wv-loc {
    background: #B34700;
}
html body.light-mode .cfy-wv .cfy-wv-item[data-has-negative-feedback="1"] .cfy-wv-loc :is(a, b, span, .cfy-wv-city, .cfy-wv-country, .cfy-wv-postal) {
    color: #fff;
}
/* Sur le fond rouge ou orange, le texte secondaire et le texte atténué montent d'un cran (lisibilité) ; la pastille
   du lieu prend un rouge et un orange légèrement assombris pour que le texte blanc reste lisible (>= 5,5:1) */
html body .cfy-wv .cfy-wv-item[data-has-negative-feedback="1"] {
    --cfy-tx-ink-2: var(--cfy-t-ink);
    --cfy-tx-muted: var(--cfy-t-ink-2);
    --cfy-tx-accent-strong: color-mix(in oklab, var(--cfy-t-accent) 50%, var(--cfy-t-ink));
}
html body .cfy-wv .cfy-wv-item[data-has-negative-feedback="1"].selected {
    box-shadow: inset 0 0 0 2px var(--cfy-t-fill);
}

/* Photo */
html body .cfy-wv .cfy-wv-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--cfy-t-surface-3);
}
html body .cfy-wv .cfy-wv-media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}
html body .cfy-wv .cfy-wv-media.is-noimg img {
    object-fit: contain;
}
html body .cfy-wv .cfy-wv-play {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(0, 0, 0, .22);
    pointer-events: none;
}
html body .cfy-wv .cfy-wv-nimg {
    position: absolute;
    right: 6px;
    bottom: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 6px;
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-medium);
    line-height: 18px;
    color: #fff;
    background: rgba(0, 0, 0, .66);
}
html body .cfy-wv .cfy-wv-pin {
    display: inline-block;
    max-width: 100%;
    padding: 1px 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-bold);
    line-height: 18px;
    letter-spacing: var(--cfy-ls-caps);
    text-decoration: none;
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
}

/* Titre, description */
html body .cfy-wv .cfy-wv-title {
    margin: 0;
    font-family: var(--cfy-font-sans);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    letter-spacing: var(--cfy-ls-title);
    color: var(--cfy-tx-ink);
    overflow-wrap: anywhere;
}
html body .cfy-wv .cfy-wv-title a {
    color: inherit;
    text-decoration: none;
    /* Cible de 24 px de haut sur un titre d'une ligne, sans changer la mise en page (lien en ligne) */
    padding-block: 4px;
}
html body .cfy-wv .cfy-wv-title a:hover,
html body .cfy-wv .cfy-wv-title a:focus-visible {
    text-decoration: underline;
    text-decoration-color: var(--cfy-t-accent);
    text-underline-offset: 3px;
}
html body .cfy-wv .cfy-wv-clamp2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Prix */
html body .cfy-wv .cfy-wv-price-box {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 8px;
    min-width: 0;
}
html body .cfy-wv .cfy-wv-price {
    font-weight: var(--cfy-fw-bold);
    font-variant-numeric: tabular-nums;
    letter-spacing: var(--cfy-ls-title);
    color: var(--cfy-tx-ink);
    white-space: nowrap;
}
html body .cfy-wv .cfy-wv-rec,
html body .cfy-wv .cfy-wv-ptype {
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-tx-muted);
    text-decoration: none;
}
html body .cfy-wv .cfy-wv-rec:hover,
html body .cfy-wv .cfy-wv-ptype:hover {
    color: var(--cfy-tx-link);
}

/* Puces catégorie / rayon */
html body .cfy-wv .cfy-wv-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    min-width: 0;
}
html body .cfy-wv .cfy-wv-chip {
    padding: 0 6px;
    font-size: var(--cfy-fs-caption);
    line-height: 18px;
    color: var(--cfy-tx-ink-2);
    text-decoration: none;
    border: 1px solid var(--cfy-t-line-2);
    overflow-wrap: anywhere;
}
html body .cfy-wv .cfy-wv-chip.is-type {
    border-color: var(--cfy-t-accent);
    color: var(--cfy-tx-accent-strong);
    font-weight: var(--cfy-fw-semibold);
}
html body .cfy-wv .cfy-wv-chip:hover {
    border-color: var(--cfy-t-accent);
    color: var(--cfy-tx-ink);
}

/* Lieu */
html body .cfy-wv .cfy-wv-loc {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 6px;
    min-width: 0;
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-tx-muted);
}
html body .cfy-wv .cfy-wv-loc img {
    display: block;
    flex: none;
    width: 18px;
    height: 13px;
    object-fit: cover;
    outline: 1px solid var(--cfy-t-line);
}
html body .cfy-wv .cfy-wv-loc a {
    color: inherit;
    text-decoration: none;
}
html body .cfy-wv .cfy-wv-loc .cfy-wv-city {
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-tx-ink-2);
    overflow-wrap: anywhere;
}
html body .cfy-wv .cfy-wv-loc a:hover {
    color: var(--cfy-tx-link);
}

/* Éditeur, note, compteurs */
html body .cfy-wv .cfy-wv-pub {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    min-height: 24px;
    font-size: var(--cfy-fs-sm);
    color: var(--cfy-tx-ink-2);
    text-decoration: none;
}
html body .cfy-wv .cfy-wv-pub img {
    flex: none;
    width: 28px;
    height: 28px;
    object-fit: cover;
    border: 1px solid var(--cfy-t-line-2);
}
html body .cfy-wv .cfy-wv-pub span {
    min-width: 0;
    overflow-wrap: anywhere;
}
html body .cfy-wv a.cfy-wv-pub:hover span {
    color: var(--cfy-tx-link);
}
html body .cfy-wv .cfy-wv-stars {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    text-decoration: none;
}
html body .cfy-wv .cfy-wv-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 12px;
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-tx-muted);
}
html body .cfy-wv .cfy-wv-meta > a,
html body .cfy-wv .cfy-wv-meta > span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: inherit;
    text-decoration: none;
}
html body .cfy-wv .cfy-wv-meta > a:hover {
    color: var(--cfy-tx-link);
}

/* Case de sélection : même comportement que sur les vignettes, placée par chaque vue */
html body .cfy-wv .vignette-checkbox.cfy-wv-check {
    position: absolute;
    inset: auto 8px 8px auto;
    transform: none;
    box-shadow: none;
}

/* Avatar de l'éditeur sur la photo, comme au recto des vignettes (cadre de 40 px aux couleurs du thème), pin's à côté */
html body .cfy-wv .cfy-wv-ov {
    position: absolute;
    left: 8px;
    top: 8px;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    gap: 6px;
    max-width: calc(100% - 16px);
    min-width: 0;
    pointer-events: none;
}
html body .cfy-wv .cfy-wv-ov > * {
    pointer-events: auto;
}
html body .cfy-wv .cfy-wv-av {
    flex: 0 0 auto;
    display: block;
    width: 40px;
    height: 40px;
    padding: 4px;
    background: var(--cfy-t-fill);
    box-shadow: 0 1px 4px var(--cfy-t-shadow);
}
html body .cfy-wv a.cfy-wv-av:hover,
html body .cfy-wv a.cfy-wv-av:focus-visible {
    background: var(--cfy-t-fill-hi);
}
html body .cfy-wv a.cfy-wv-av:focus-visible {
    outline: 2px solid var(--cfy-t-accent);
    outline-offset: 2px;
}
html body .cfy-wv .cfy-wv-av img {
    display: block;
    width: 32px;
    height: 32px;
    max-width: none;
    object-fit: cover;
    border-radius: 0;
}
html body .cfy-wv .cfy-wv-ov .cfy-wv-pin {
    position: static;
    min-width: 0;
}

/* Banners des vues : même carte que les banners du mur de vignettes (cadre, avatar de l'éditeur, date, vidéo).
   La case garde le format exact de la banner (1x1, 2x1, 1x2) : rien n'est recadré ni déformé. */
html body .cfy-wv .cfy-wv-adslot {
    position: relative;
    min-width: 0;
    flex: 0 0 auto;
}
html body .cfy-wv .cfy-wv-adslot--1x1 { aspect-ratio: 1 / 1; }
html body .cfy-wv .cfy-wv-adslot--2x1 { aspect-ratio: 2 / 1; }
html body .cfy-wv .cfy-wv-adslot--1x2 { aspect-ratio: 1 / 2; }
html body .cfy-wv .cfy-wv-adslot > .vignette-ad {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
html body .cfy-wv.vignettes-container .cfy-wv-adslot > .vignette-ad .product-card,
html body .cfy-wv.vignettes-container .cfy-wv-adslot > .vignette-ad .product-thumb {
    height: 100% !important;
    min-height: 0 !important;
}
html body .cfy-wv .cfy-wv-adslot > .vignette-ad .product-thumb > a {
    display: block !important;
    width: 100%;
    height: 100%;
}
html body .cfy-wv .cfy-wv-adslot > .vignette-ad :is(img.card-img-top, video) {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
}
/* Deux banners côte à côte (même format) : jamais collées */
html body .cfy-wv .cfy-wv-pair {
    display: flex;
    justify-content: center;
    gap: 12px;
}
html body .cfy-wv .cfy-wv-pair > .cfy-wv-adslot {
    flex: 1 1 0;
}
html body .cfy-wv .cfy-wv-pair.is-single > .cfy-wv-adslot {
    flex: 0 1 calc(50% - 6px);
}
/* Colonne de banners (Liste, Carte) : pile espacée */
html body .cfy-wv .cfy-wv-rail {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}
html body .cfy-wv .cfy-wv-rail > .cfy-wv-adslot {
    width: 100%;
}

/* Les vues s'adaptent à la largeur du mur, pas seulement à celle de l'écran */
html body .cfy-wv.vignettes-container { container: cfywall / inline-size; }

/* ── Briques du recto des vignettes : notation, vues, pays, code postal, date ── */
html body .cfy-wv .cfy-wv-score {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 10px;
    min-width: 0;
}
html body .cfy-wv .cfy-wv-stars {
    gap: 4px;
}
html body .cfy-wv .cfy-wv-score-n {
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    font-variant-numeric: tabular-nums;
    color: var(--cfy-tx-ink-2);
}
/* Zone cliquable de la notation : 24 px de haut au moins (doigt) */
html body .cfy-wv a.cfy-wv-stars {
    min-height: 24px;
}
html body .cfy-wv a.cfy-wv-stars:hover .cfy-wv-score-n {
    color: var(--cfy-tx-link);
}
html body .cfy-wv .cfy-wv-views {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--cfy-fs-caption);
    font-variant-numeric: tabular-nums;
    color: var(--cfy-tx-muted);
}
html body .cfy-wv .cfy-wv-loc .cfy-wv-country {
    color: var(--cfy-tx-ink-2);
    text-transform: uppercase;
    letter-spacing: var(--cfy-ls-caps);
    font-weight: var(--cfy-fw-medium);
}
html body .cfy-wv .cfy-wv-loc .cfy-wv-postal {
    color: var(--cfy-tx-muted);
}
html body .cfy-wv .cfy-wv-loc .cfy-wv-flag {
    display: inline-flex;
}
html body .cfy-wv .cfy-wv-pin {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
html body .cfy-wv .cfy-wv-pin svg {
    flex: none;
}
html body .cfy-wv .cfy-wv-date svg,
html body .cfy-wv .cfy-wv-views svg,
html body .cfy-wv .cfy-wv-meta svg {
    flex: none;
}

/* ===========================================================================
   Réglages par vue (Options › Vue Liste / Carte / Galerie) : marges et espacements. Sans réglage enregistré, aucune
   variable n'est posée et chaque vue garde ses valeurs d'origine.
   =========================================================================== */
html body .cfy-wv-block .cfy-wv.cfy-wv-hastop {
    padding-top: var(--cfy-wv-top, 0px);
}
html body .cfy-vignettes-block.cfy-wv-hastop {
    padding-top: var(--cfy-wv-top, 0px);
}

/* ══════════ Bouton « Mon mur » et son panneau (doublons du panneau Options pour la vue et l'appareil en cours) ══════════ */
html body .cfy-wvs .cfy-wvs-pop.cfy-mur-pop {
    --cfy-tx-ink: var(--cfy-t-ink);
    --cfy-tx-ink-2: var(--cfy-t-ink-2);
    --cfy-tx-muted: var(--cfy-t-muted);
    --cfy-tx-faint: var(--cfy-t-faint);
    --cfy-tx-link: var(--cfy-t-accent);
    --cfy-tx-accent-strong: var(--cfy-t-accent);
    display: flex;
    flex-direction: column;
    width: min(560px, calc(100vw - 32px));
    max-height: min(72vh, 640px);
    padding: 0;
}
html body .cfy-wvs .cfy-wvs-pop.cfy-mur-pop[hidden] {
    display: none;
}
html body .cfy-mur-pop .cfy-mur-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--cfy-sp-1) var(--cfy-sp-3);
    padding: var(--cfy-sp-2) var(--cfy-sp-3);
    border-bottom: 1px solid var(--cfy-t-line);
}
html body .cfy-mur-pop .cfy-mur-head b {
    font-size: var(--cfy-fs-md);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-t-ink);
}
html body .cfy-mur-pop .cfy-mur-scope {
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-t-accent);
}
html body .cfy-mur-pop .cfy-mur-tabs {
    display: flex;
    flex: 0 0 auto;
    overflow-x: auto;
    border-bottom: 1px solid var(--cfy-t-line);
    scrollbar-width: thin;
}
html body .cfy-mur-pop .cfy-mur-tab {
    flex: 0 0 auto;
    margin: 0;
    padding: 9px var(--cfy-sp-3);
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-medium);
    color: var(--cfy-t-ink-2);
    white-space: nowrap;
    cursor: pointer;
}
html body .cfy-mur-pop .cfy-mur-tab:hover,
html body .cfy-mur-pop .cfy-mur-tab:focus-visible {
    background: var(--cfy-t-surface-2);
    outline: none;
}
html body .cfy-mur-pop .cfy-mur-tab.is-active {
    color: var(--cfy-t-ink);
    font-weight: var(--cfy-fw-semibold);
    border-bottom-color: var(--cfy-t-accent);
}
html body .cfy-mur-pop .cfy-mur-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: var(--cfy-sp-3);
}
html body .cfy-mur-pop .cfy-mur-pane > .cfy-opt-sub:first-child,
html body .cfy-mur-pop .cfy-mur-view > .cfy-opt-sub:first-child {
    margin-top: 0;
}
html body .cfy-mur-pop .cfy-mur-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cfy-sp-2);
}
html body .cfy-mur-pop .cfy-mur-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--cfy-sp-2);
    padding: var(--cfy-sp-2) var(--cfy-sp-3);
    border-top: 1px solid var(--cfy-t-line);
    background: var(--cfy-t-surface-2);
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-t-muted);
}
html body .cfy-mur-pop .cfy-mur-all {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-t-accent);
    cursor: pointer;
}
html body .cfy-mur-pop .cfy-mur-all:hover,
html body .cfy-mur-pop .cfy-mur-all:focus-visible {
    text-decoration: underline;
    outline: none;
}
/* Barre des catalogues masquée : bande minimale qui garde Mon mur et Filtres accessibles */
html body .cfy-vignettes-pre-banner.cfy-vignettes-pre-banner--min .cfy-vignettes-pre-col-select {
    flex: 1 1 auto;
}

/* ═══ commercify_catalog_sortbar.css ═══ */
/* Bouton « Tri » du mur : juste après « Filtres », même gabarit de bouton et de panneau que « Mon mur ».
   Trois colonnes de critères (1er, 2e, 3e) côte à côte, une seule colonne sur smartphone.
   Tokens de thème et de typographie uniquement, angles droits.
   Feuille isolée : la retirer de la liste des imports annule entièrement cette étape. */

/* ── Place dans la bande : « Filtres » laisse le bord droit au bouton « Tri » ── */
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-sort {
    flex: 0 0 auto;
    min-width: 0;
    margin-inline-start: auto;
    /* Retraits logiques : le retrait de bord du mur reste du côté de fin de ligne, en LTR comme en RTL. */
    padding-block: var(--cfy-sp-2);
    padding-inline: var(--cfy-sp-2) var(--cfy-navbar-edge, var(--cfy-sp-3));
}
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-filters.cfy-pre-col--before-sort {
    padding-inline-end: 0;
}
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > :is(.cfy-vignettes-pre-col-views, .cfy-vignettes-pre-col-filters) + .cfy-vignettes-pre-col-sort {
    margin-inline-start: 0;
}

/* ── Bouton : pastille du nombre de critères modifiés, état grisé (recherche avancée) ── */
html body .cfy-sort .cfy-sort-off {
    display: inline-grid;
    place-items: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--cfy-hr-flat);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-hr-on-flat);
}
html body .cfy-sort .cfy-sort-off[hidden] {
    display: none;
}
html body .cfy-sort.is-disabled .cfy-wvs-btn {
    opacity: .55;
    cursor: not-allowed;
}

/* ── Panneau : trois colonnes de critères ── */
html body .cfy-wvs .cfy-wvs-pop.cfy-mur-pop.cfy-sort-pop {
    width: min(780px, calc(100vw - 32px));
}
html body .cfy-sort-pop .cfy-mur-body {
    overflow-y: auto;
    padding: var(--cfy-sp-3);
}
html body .cfy-sort-pop .cfy-sort-cols {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--cfy-sp-3);
}
html body .cfy-sort-pop .cfy-sort-col {
    min-width: 0;
}
html body .cfy-sort-pop .cfy-sort-col-t {
    margin: 0 0 var(--cfy-sp-2);
    padding-bottom: 4px;
    border-bottom: 1px solid var(--cfy-t-line);
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-t-muted);
}
html body .cfy-sort-pop .cfy-catbar-choices {
    margin: 0;
}
html body .cfy-sort-pop .cfy-mur-foot {
    gap: var(--cfy-sp-2);
}

/* Tablette : le panneau garde trois colonnes tant que la place le permet */
@media (min-width: 768px) and (max-width: 991.98px) {
    html body .cfy-sort-pop .cfy-sort-cols {
        gap: var(--cfy-sp-2);
    }
}

/* Smartphone : « Tri » partage la rangée de « Mon mur » et « Filtres » ; panneau sur la largeur utile, une colonne */
@media (max-width: 767.98px) {
    html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-sort:not(#cfy-b1):not(#cfy-b2) {
        display: flex !important;
        flex: 1 1 0 !important;
        min-width: max-content !important;
        margin-inline-start: 0 !important;
        padding-inline: 0 !important;
        contain: none !important;
    }
    html body .cfy-sort-pop .cfy-sort-cols {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ═══ commercify_catalog_savesearch.css ═══ */
/* Bouton « Enregistrer cette recherche » du mur de résultats : même gabarit de bouton et de panneau que « Mon mur ».
   Panneau = petit formulaire (nom, tags, note) ; une seule colonne, plein écran sur smartphone comme les autres panneaux.
   Tokens de thème et de typographie uniquement, angles droits.
   Feuille isolée : la retirer de la liste des imports annule entièrement cette étape. */

/* ── Place dans la bande : premier bouton de la zone de droite, avant « Mon mur » (2026-10-20) ──
   Il prend la marge automatique qui pousse la zone à droite ; « Mon mur », alors dernier, porte le retrait de bord
   du mur (même bord droit que le dernier bouton des autres catalogues). */
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-savesearch:not(#cfy-b1):not(#cfy-b2) {
    display: flex !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin-inline-start: auto !important;
    padding-inline: 0 !important;
}
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-savesearch + .cfy-vignettes-pre-col-views:not(#cfy-b1):not(#cfy-b2) {
    margin-inline-start: 0 !important;
}
html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-savesearch ~ .cfy-vignettes-pre-col-views:last-child {
    padding-inline-end: var(--cfy-navbar-edge, var(--cfy-sp-3));
}
/* Smartphone : partage la rangée de « Mon mur » à parts égales */
@media (max-width: 767.98px) {
    html body .cfy-vignettes-pre-banner .cfy-vignettes-pre-row > .cfy-vignettes-pre-col-savesearch:not(#cfy-b1):not(#cfy-b2) {
        flex: 1 1 0 !important;
        min-width: max-content !important;
        margin-inline-start: 0 !important;
        contain: none !important;
    }
}
/* Recherche déjà enregistrée : seule la coche est verte, le texte garde la couleur du bouton (lisibilité Lc 75) */
html body .cfy-ssv .cfy-wvs-btn.is-set svg {
    color: var(--cfy-tx-success);
}
html body .cfy-wvs .cfy-wvs-pop.cfy-mur-pop.cfy-ssv-pop {
    width: min(440px, calc(100vw - 32px));
}
html body .cfy-ssv-pop .cfy-ssv-form {
    display: grid;
    gap: var(--cfy-sp-3);
    padding: var(--cfy-sp-3);
    margin: 0;
    overflow-y: auto;
}
html body .cfy-ssv-pop .cfy-ssv-f {
    display: grid;
    gap: var(--cfy-sp-1);
    margin: 0;
    min-width: 0;
}
html body .cfy-ssv-pop .cfy-ssv-f > span {
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-t-muted);
}
html body .cfy-ssv-pop .cfy-ssv-f :is(input, textarea) {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: var(--cfy-sp-2);
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
    background: var(--cfy-t-surface);
    color: var(--cfy-t-ink);
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    line-height: var(--cfy-lh-body);
}
html body .cfy-ssv-pop .cfy-ssv-f textarea {
    resize: vertical;
}
html body .cfy-ssv-pop .cfy-ssv-f :is(input, textarea):focus {
    outline: 0;
    border-color: var(--cfy-t-accent);
}
html body .cfy-ssv-pop .cfy-ssv-f :is(input, textarea)::placeholder {
    color: var(--cfy-t-faint);
}
html body .cfy-ssv-pop .cfy-ssv-msg {
    margin: 0;
    padding: var(--cfy-sp-2);
    border-inline-start: 3px solid var(--cfy-t-accent);
    background: var(--cfy-t-accent-soft);
    font-size: var(--cfy-fs-sm);
    line-height: var(--cfy-lh-snug);
    color: var(--cfy-t-ink-2);
    overflow-wrap: anywhere;
}
html body .cfy-ssv-pop .cfy-ssv-msg[hidden] {
    display: none;
}
html body .cfy-ssv-pop .cfy-ssv-msg.is-ok {
    border-inline-start-color: var(--cfy-tx-success);
}
html body .cfy-ssv-pop .cfy-ssv-msg.is-warn {
    border-inline-start-color: var(--cfy-tx-warning);
}
html body .cfy-ssv-pop .cfy-ssv-msg.is-ko {
    border-inline-start-color: var(--cfy-tx-danger);
}
html body .cfy-ssv-pop .cfy-ssv-foot {
    justify-content: space-between;
}
html body .cfy-ssv-pop .cfy-ssv-link {
    min-width: 0;
    color: var(--cfy-t-accent);
    font-weight: var(--cfy-fw-semibold);
    overflow-wrap: anywhere;
}
html body .cfy-ssv-pop .cfy-ssv-acts {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--cfy-sp-2);
}
html body .cfy-ssv-pop .cfy-ssv-btn {
    min-height: 36px;
    padding: 0 var(--cfy-sp-3);
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
    background: var(--cfy-t-surface);
    color: var(--cfy-t-ink-2);
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    cursor: pointer;
}
html body .cfy-ssv-pop .cfy-ssv-btn:hover {
    border-color: var(--cfy-t-accent);
    color: var(--cfy-t-accent);
}
html body .cfy-ssv-pop .cfy-ssv-btn.is-primary {
    border-color: var(--cfy-t-fill-lo);
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
}
html body .cfy-ssv-pop .cfy-ssv-btn[hidden] {
    display: none;
}
html body .cfy-ssv-pop .cfy-ssv-btn:disabled {
    opacity: .55;
    cursor: wait;
}

/* ═══ commercify_wall_view_liste.css ═══ */
/* Vue « Liste » du mur : une annonce par ligne. Photo à gauche, puces, titre, description, lieu et compteurs au
   centre, prix, éditeur et note à droite. Une colonne à toutes les largeurs.
   Feuille isolée : la retirer de la liste des imports annule cette vue (sans style). */

html body .cfy-wv--liste .cfy-wvl {
    display: grid;
    gap: 10px;
}
html body .cfy-wv--liste .cfy-wvl-item {
    display: grid;
    grid-template-columns: minmax(160px, 260px) minmax(0, 1fr) minmax(170px, 220px);
    gap: 0 16px;
    padding: 12px;
    content-visibility: auto;
    contain-intrinsic-size: auto 170px;
}
html body .cfy-wv--liste .cfy-wvl-media {
    position: relative;
    min-width: 0;
}

html body .cfy-wv--liste .cfy-wvl-body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
html body .cfy-wv--liste .cfy-wv-title {
    font-size: var(--cfy-fs-lg);
}
html body .cfy-wv--liste .cfy-wvl-desc {
    margin: 0;
    font-size: var(--cfy-fs-sm);
    line-height: var(--cfy-lh-body);
    color: var(--cfy-tx-ink-2);
    overflow-wrap: anywhere;
}
html body .cfy-wv--liste .cfy-wvl-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 16px;
    margin-top: auto;
}
html body .cfy-wv--liste .cfy-wvl-aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    min-width: 0;
    padding: 0 0 28px 16px;
    text-align: right;
    border-left: 1px solid var(--cfy-t-line);
}
html body .cfy-wv--liste .cfy-wvl-aside .cfy-wv-price-box {
    flex-direction: column;
    align-items: flex-end;
}
html body .cfy-wv--liste .cfy-wv-price {
    font-size: var(--cfy-fs-h4);
}
html body .cfy-wv--liste .cfy-wvl-who {
    display: grid;
    justify-items: end;
    gap: 6px;
    min-width: 0;
}

/* Mur moyen (tablette, petit écran) : la colonne prix passe sous le texte */
@container cfywall (max-width: 1099.98px) {
    html body .cfy-wv--liste .cfy-wvl-item {
        grid-template-columns: minmax(150px, 34%) minmax(0, 1fr);
    }
    html body .cfy-wv--liste .cfy-wvl-desc {
        display: none;
    }
    html body .cfy-wv--liste .cfy-wvl-aside {
        grid-column: 2;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        margin-top: 8px;
        padding: 0 28px 0 0;
        text-align: left;
        border-left: 0;
    }
    html body .cfy-wv--liste .cfy-wvl-aside .cfy-wv-price-box {
        flex-direction: row;
        align-items: baseline;
    }
    html body .cfy-wv--liste .cfy-wvl-who {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px 12px;
    }
    html body .cfy-wv--liste .cfy-wv-price {
        font-size: var(--cfy-fs-lg);
    }
}

/* Mur étroit (smartphone) : photo 4:3 à gauche, titre, prix, lieu ; une seule colonne */
@container cfywall (max-width: 599.98px) {
    html body .cfy-wv--liste .cfy-wvl {
        gap: 8px;
    }
    html body .cfy-wv--liste .cfy-wvl-item {
        grid-template-columns: 38% minmax(0, 1fr);
        gap: 0 10px;
        padding: 8px;
    }
    html body .cfy-wv--liste .cfy-wvl-media {
        align-self: start;
    }
    html body .cfy-wv--liste .cfy-wvl-media .cfy-wv-media {
        aspect-ratio: 4 / 3;
    }
    html body .cfy-wv--liste .cfy-wv-title {
        font-size: var(--cfy-fs-base);
    }
    /* Toutes les informations du recto restent visibles : elles passent à la ligne, rien n'est masqué */
    html body .cfy-wv--liste .cfy-wvl-body {
        grid-column: 2;
    }
    html body .cfy-wv--liste .cfy-wvl-foot {
        gap: 4px 10px;
    }
    html body .cfy-wv--liste .cfy-wvl-aside {
        grid-column: 1 / -1;
        margin-top: 8px;
        padding: 8px 28px 0 0;
        border-top: 1px solid var(--cfy-t-line);
    }
    html body .cfy-wv--liste .cfy-wv-price {
        font-size: var(--cfy-fs-md);
    }
}

/* Banners : la liste ne commence jamais par des banners. Colonne de tête à gauche (1x2, 1x1, collante) et colonne de
   droite alignée sur les lignes, toutes deux à partir de la 2ᵉ ligne ; groupes à la largeur de leur colonne. */
@container cfywall (min-width: 1000px) {
    html body .cfy-wv--liste .cfy-wvl.has-lane {
        grid-template-columns: minmax(0, 1fr) var(--cfy-wvl-lane-w, clamp(300px, 26%, 560px));
        column-gap: 20px;
    }
    html body .cfy-wv--liste .cfy-wvl.has-lane > :is(.vignette-item, .cfy-wvl-adcell) {
        grid-column: 1;
    }
    html body .cfy-wv--liste .cfy-wvl.has-lane > .cfy-wvl-lane {
        grid-column: 2;
        grid-row: var(--r) / span var(--s);
    }
}
@container cfywall (min-width: 1300px) {
    html body .cfy-wv--liste .cfy-wvl.has-lead {
        grid-template-columns: 200px minmax(0, 1fr);
        column-gap: 20px;
    }
    html body .cfy-wv--liste .cfy-wvl.has-lead.has-lane {
        grid-template-columns: 200px minmax(0, 1fr) var(--cfy-wvl-lane-w3, clamp(300px, 24%, 540px));
    }
    html body .cfy-wv--liste .cfy-wvl.has-lead > :is(.vignette-item, .cfy-wvl-adcell) {
        grid-column: 2;
    }
    html body .cfy-wv--liste .cfy-wvl.has-lead.has-lane > .cfy-wvl-lane {
        grid-column: 3;
    }
    html body .cfy-wv--liste .cfy-wvl.has-lead > .cfy-wvl-lead {
        grid-column: 1;
        grid-row: 2 / span var(--s);
    }
    html body .cfy-wv--liste .cfy-wvl-lead > .cfy-wvl-lead-in {
        position: sticky;
        top: 12px;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
}
html body .cfy-wv--liste .cfy-wvl-lead {
    display: block;
    min-width: 0;
}
html body .cfy-wv--liste .cfy-wvl-lane {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}
html body .cfy-wv--liste .cfy-wv-tiles {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 12px;
    width: 100%;
}
html body .cfy-wv--liste .cfy-wv-tiles > .cfy-wv-adslot,
html body .cfy-wv--liste .cfy-wv-tiles > .cfy-wv-tiles-stack {
    flex: 1 1 0;
    min-width: 0;
}
html body .cfy-wv--liste .cfy-wv-tiles.is-single > .cfy-wv-adslot {
    flex: 0 1 calc(50% - 6px);
}
html body .cfy-wv--liste .cfy-wv-tiles-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
/* Écran moyen : la colonne de tête passe sous la liste, en bandeau */
@container cfywall (max-width: 1299.98px) {
    html body .cfy-wv--liste .cfy-wvl-lead {
        grid-column: 1 / -1;
        order: 1;
    }
    html body .cfy-wv--liste .cfy-wvl-lead > .cfy-wvl-lead-in {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 12px;
    }
    html body .cfy-wv--liste .cfy-wvl-lead > .cfy-wvl-lead-in > .cfy-wv-adslot {
        width: auto;
        height: 200px;
    }
    html body .cfy-wv--liste .cfy-wvl-lead > .cfy-wvl-lead-in > .cfy-wv-adslot--1x2 {
        height: 300px;
    }
}
/* Écran étroit : chaque groupe suit l'annonce de sa ligne ; colonne vide masquée */
@container cfywall (max-width: 999.98px) {
    html body .cfy-wv--liste .cfy-wvl-lane.is-empty {
        display: none;
    }
    html body .cfy-wv--liste .cfy-wv-tiles {
        max-width: 560px;
        margin: 0 auto;
    }
}
@container cfywall (max-width: 599.98px) {
    html body .cfy-wv--liste .cfy-wvl-lead > .cfy-wvl-lead-in > .cfy-wv-adslot {
        height: 150px;
    }
    html body .cfy-wv--liste .cfy-wvl-lead > .cfy-wvl-lead-in > .cfy-wv-adslot--1x2 {
        height: 240px;
    }
}

/* ===========================================================================
   Réglages de la vue Liste (Options › Vue Liste), posés en classes et variables sur le conteneur de la vue
   =========================================================================== */
html body .cfy-wv--liste.cfy-wv-hasgapy .cfy-wvl { row-gap: var(--cfy-wv-gap-y, 10px); }
html body .cfy-wv--liste.cfy-wv-hasgapx .cfy-wvl { column-gap: var(--cfy-wv-gap-x, 10px); }
html body .cfy-wv--liste.cfy-wv-haspad .cfy-wvl-item { padding-inline: var(--cfy-wv-pad, 12px); }
/* Hauteur des lignes */
html body .cfy-wv--liste.cfy-wvl-row-compact .cfy-wvl-item { padding-block: 6px; }
html body .cfy-wv--liste.cfy-wvl-row-airy .cfy-wvl-item { padding-block: 22px; }
/* Format de la photo */
html body .cfy-wv--liste.cfy-wvl-ratio-43 .cfy-wvl-media .cfy-wv-media { aspect-ratio: 4 / 3; }
html body .cfy-wv--liste.cfy-wvl-ratio-11 .cfy-wvl-media .cfy-wv-media { aspect-ratio: 1 / 1; }
/* Description : masquée, ou 1 à 3 lignes */
html body .cfy-wv--liste.cfy-wvl-desc-0 .cfy-wvl-desc { display: none; }
html body .cfy-wv--liste.cfy-wvl-desc-1 .cfy-wvl-desc { -webkit-line-clamp: 1; line-clamp: 1; }
html body .cfy-wv--liste.cfy-wvl-desc-3 .cfy-wvl-desc { -webkit-line-clamp: 3; line-clamp: 3; }
/* Colonne de droite : éléments affichés */
html body .cfy-wv--liste.cfy-wvl-no-price .cfy-wvl-aside .cfy-wv-price-box,
html body .cfy-wv--liste.cfy-wvl-no-publisher .cfy-wvl-aside .cfy-wv-pub,
html body .cfy-wv--liste.cfy-wvl-no-score .cfy-wvl-aside .cfy-wv-score,
html body .cfy-wv--liste.cfy-wvl-no-views .cfy-wvl-foot .cfy-wv-meta { display: none; }
/* Banners : colonnes de droite et de gauche, colonne de gauche collante */
/* Largeur de la colonne de droite (Options › Banners, 2026-10-15) : moyenne = rendu d'origine, sans classe */
html body .cfy-wv--liste.cfy-wvl-lanew-narrow { --cfy-wvl-lane-w: clamp(240px, 20%, 400px); --cfy-wvl-lane-w3: clamp(220px, 18%, 380px); }
html body .cfy-wv--liste.cfy-wvl-lanew-wide { --cfy-wvl-lane-w: clamp(380px, 34%, 720px); --cfy-wvl-lane-w3: clamp(360px, 30%, 680px); }
html body .cfy-wv--liste.cfy-wvl-nolane .cfy-wvl-lane,
html body .cfy-wv--liste.cfy-wvl-nolead .cfy-wvl-lead { display: none; }
html body .cfy-wv--liste.cfy-wvl-nosticky .cfy-wvl-lead > .cfy-wvl-lead-in { position: static; }

@container cfywall (min-width: 1100px) {
    /* Largeur de la photo */
    html body .cfy-wv--liste.cfy-wvl-photo-narrow .cfy-wvl-item { grid-template-columns: minmax(120px, 180px) minmax(0, 1fr) minmax(170px, 220px); }
    html body .cfy-wv--liste.cfy-wvl-photo-wide .cfy-wvl-item { grid-template-columns: minmax(220px, 340px) minmax(0, 1fr) minmax(170px, 220px); }
    /* Liste sur plusieurs colonnes : pas de colonnes latérales, les banners prennent une case entre les annonces */
    html body .cfy-wv--liste.cfy-wvl-cols-2 .cfy-wvl,
    html body .cfy-wv--liste.cfy-wvl-cols-3 .cfy-wvl { grid-template-columns: repeat(var(--cfy-wvl-cols, 2), minmax(0, 1fr)); }
    html body .cfy-wv--liste.cfy-wvl-cols-3 .cfy-wvl { --cfy-wvl-cols: 3; }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl > :is(.cfy-wvl-lane, .cfy-wvl-lead) { display: none; }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl > .vignette-item { grid-column: auto; }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl > .cfy-wvl-adcell { min-height: 170px; }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl > .cfy-wvl-adcell.is-tall { grid-row: span 2; }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl-item { grid-template-columns: minmax(110px, 38%) minmax(0, 1fr); }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl-aside { grid-column: 2; padding: 8px 0 0; border-left: 0; align-items: flex-start; text-align: start; }
}


/* Liste sur 2 ou 3 colonnes : un groupe de banners occupe une case de la grille, entre les annonces. La case ne pèse
   pas sur la hauteur de la rangée (celle des annonces voisines) ; les banners s'y ajustent sans être rognées. */
html body .cfy-wv--liste .cfy-wvl-adcell {
    min-width: 0;
    min-height: 200px;
    container-type: size;
}
html body .cfy-wv--liste .cfy-wvl-adcell.is-tall {
    min-height: 300px;
}
html body .cfy-wv--liste .cfy-wvl-adcell-in {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 100%;
}
html body .cfy-wv--liste .cfy-wvl-adcell-in > .cfy-wv-adslot {
    --cfy-wvl-ad: min(100cqh, calc((100cqw - 12px) / 2));
    aspect-ratio: auto;
    width: var(--cfy-wvl-ad);
    height: var(--cfy-wvl-ad);
}
html body .cfy-wv--liste .cfy-wvl-adcell-in.is-single > .cfy-wv-adslot {
    --cfy-wvl-ad: min(100cqh, 100cqw);
}
html body .cfy-wv--liste .cfy-wvl-adcell-in > .cfy-wv-adslot--2x1 {
    --cfy-wvl-ad: min(100cqh, 50cqw);
    width: calc(var(--cfy-wvl-ad) * 2);
}
/* Banner 2x1 seul dans sa case : la règle « seul » ci-dessus l'emportait et le banner, deux fois plus large que haut,
   débordait de la case et du mur. Sa largeur totale reste dans la case. */
html body .cfy-wv--liste .cfy-wvl-adcell-in.is-single > .cfy-wv-adslot--2x1 {
    --cfy-wvl-ad: min(100cqh, 50cqw);
}
html body .cfy-wv--liste .cfy-wvl-adcell-in > .cfy-wv-adslot--1x2 {
    --cfy-wvl-ad: min(50cqh, calc((100cqw - 12px) / 2));
    height: calc(var(--cfy-wvl-ad) * 2);
}
html body .cfy-wv--liste .cfy-wvl-adcell-in.is-single > .cfy-wv-adslot--1x2 {
    --cfy-wvl-ad: min(50cqh, 100cqw);
}

/* ═══ commercify_wall_view_carte.css ═══ */
/* Vue « Carte » du mur : liste compacte à gauche, carte du monde à droite, synchronisées ; sur mur étroit, carte plein
   cadre et bouton Liste / Carte. Pays teintés selon le nombre d'annonces, frontières visibles, étiquettes-prix, groupes
   numérotés, fiche, légende et rangée de banners sous la carte, aux couleurs du thème.
   Feuille isolée : la retirer de la liste des imports annule cette vue (sans style). */

html body .cfy-wv--carte .cfy-wvm {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, 38%) minmax(0, 1fr);
    height: min(78vh, 780px);
    min-height: 520px;
    border: 1px solid var(--cfy-t-line);
    background: var(--cfy-t-surface);
}
html body .cfy-wv--carte .cfy-wvm-list {
    min-width: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-right: 1px solid var(--cfy-t-line);
}
html body .cfy-wv--carte .cfy-wvm-item {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 0 12px;
    padding: 10px 36px 10px 12px;
    border: 0;
    border-bottom: 1px solid var(--cfy-t-line);
}
html body .cfy-wv--carte .cfy-wvm-item:hover,
html body .cfy-wv--carte .cfy-wvm-item.is-hl {
    background: var(--cfy-t-surface-2);
    box-shadow: inset 3px 0 0 var(--cfy-t-fill);
}
html body .cfy-wv--carte .cfy-wvm-media {
    position: relative;
    align-self: start;
    min-width: 0;
}
/* Photo étroite : avatar réduit, au plus près du coin */
html body .cfy-wv--carte .cfy-wvm-media .cfy-wv-ov {
    left: 4px;
    top: 4px;
    max-width: calc(100% - 8px);
}
html body .cfy-wv--carte .cfy-wvm-media .cfy-wv-av {
    width: 30px;
    height: 30px;
    padding: 3px;
}
html body .cfy-wv--carte .cfy-wvm-media .cfy-wv-av img {
    width: 24px;
    height: 24px;
}
html body .cfy-wv--carte .cfy-wvm-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 10px;
    min-width: 0;
}
html body .cfy-wv--carte .cfy-wvm-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
html body .cfy-wv--carte .cfy-wv-title {
    font-size: var(--cfy-fs-base);
}
html body .cfy-wv--carte .cfy-wv-price {
    font-size: var(--cfy-fs-md);
}
html body .cfy-wv--carte .vignette-checkbox.cfy-wv-check {
    inset: 10px 10px auto auto;
}

/* Carte */
html body .cfy-wv--carte .cfy-wvm-stage {
    position: relative;
    min-width: 0;
    overflow: hidden;
    touch-action: none;
    cursor: grab;
    background: color-mix(in srgb, var(--cfy-tx-ink) 7%, var(--cfy-t-surface-2));
}
html body .cfy-wv--carte .cfy-wvm-stage.is-drag {
    cursor: grabbing;
}
html body .cfy-wv--carte .cfy-wvm-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
/* Pays : frontière nette, teinte selon le nombre d'annonces publiées (niveaux 0 à 5) */
html body .cfy-wv--carte .cfy-wvm-land path {
    fill: var(--cfy-t-surface);
    stroke: color-mix(in srgb, var(--cfy-tx-ink) 45%, var(--cfy-t-surface));
    stroke-width: .9;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
    transition: fill .12s;
}
html body .cfy-wv--carte :is(.cfy-wvm-land path, .cfy-wvm-lg-sw)[data-lvl="1"] { fill: color-mix(in srgb, var(--cfy-t-accent) 12%, var(--cfy-t-surface)); background: color-mix(in srgb, var(--cfy-t-accent) 12%, var(--cfy-t-surface)); }
html body .cfy-wv--carte :is(.cfy-wvm-land path, .cfy-wvm-lg-sw)[data-lvl="2"] { fill: color-mix(in srgb, var(--cfy-t-accent) 32%, var(--cfy-t-surface)); background: color-mix(in srgb, var(--cfy-t-accent) 32%, var(--cfy-t-surface)); }
html body .cfy-wv--carte :is(.cfy-wvm-land path, .cfy-wvm-lg-sw)[data-lvl="3"] { fill: color-mix(in srgb, var(--cfy-t-accent) 55%, var(--cfy-t-surface)); background: color-mix(in srgb, var(--cfy-t-accent) 55%, var(--cfy-t-surface)); }
html body .cfy-wv--carte :is(.cfy-wvm-land path, .cfy-wvm-lg-sw)[data-lvl="4"] { fill: color-mix(in srgb, var(--cfy-t-accent) 80%, var(--cfy-t-surface)); background: color-mix(in srgb, var(--cfy-t-accent) 80%, var(--cfy-t-surface)); }
html body .cfy-wv--carte :is(.cfy-wvm-land path, .cfy-wvm-lg-sw)[data-lvl="5"] { fill: color-mix(in srgb, var(--cfy-t-accent) 100%, var(--cfy-tx-ink) 22%); background: color-mix(in srgb, var(--cfy-t-accent) 100%, var(--cfy-tx-ink) 22%); }
html body .cfy-wv--carte .cfy-wvm-land path:hover {
    stroke: var(--cfy-tx-ink);
    stroke-width: 1.6;
}
/* Infobulle d'un pays */
html body .cfy-wv--carte .cfy-wvm-tip {
    position: absolute;
    z-index: 7;
    display: grid;
    gap: 1px;
    padding: 6px 10px;
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-tx-ink);
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
    box-shadow: 0 4px 12px var(--cfy-t-shadow);
    pointer-events: none;
}
html body .cfy-wv--carte .cfy-wvm-tip b {
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
}
html body .cfy-wv--carte .cfy-wvm-tip span {
    color: var(--cfy-tx-muted);
}
html body .cfy-wv--carte :is(.cfy-wvm-tip, .cfy-wvm-pop)[hidden] {
    display: none;
}
/* Étiquette-prix : une annonce */
html body .cfy-wv--carte .cfy-wvm-pins {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
}
html body .cfy-wv--carte .cfy-wvm-pin {
    position: absolute;
    z-index: 1;
    transform: translate(-50%, calc(-100% - 7px));
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 3px 8px;
    font-family: inherit;
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-bold);
    font-variant-numeric: tabular-nums;
    line-height: 18px;
    white-space: nowrap;
    color: var(--cfy-tx-ink);
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-tx-ink);
    border-radius: 0;
    box-shadow: 0 2px 6px var(--cfy-t-shadow);
    cursor: pointer;
    pointer-events: auto;
}
html body .cfy-wv--carte .cfy-wvm-pin::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -7px;
    border: 7px solid transparent;
    border-bottom: 0;
    border-top-color: var(--cfy-tx-ink);
    transform: translateX(-50%);
}
html body .cfy-wv--carte .cfy-wvm-pin:hover,
html body .cfy-wv--carte .cfy-wvm-pin:focus-visible,
html body .cfy-wv--carte .cfy-wvm-pin.is-hl {
    z-index: 3;
    color: var(--cfy-t-on-fill);
    background: var(--cfy-t-fill);
    border-color: var(--cfy-t-fill-lo);
    outline: none;
}
html body .cfy-wv--carte .cfy-wvm-pin:hover::after,
html body .cfy-wv--carte .cfy-wvm-pin:focus-visible::after,
html body .cfy-wv--carte .cfy-wvm-pin.is-hl::after {
    border-top-color: var(--cfy-t-fill-lo);
}
/* Groupe : plusieurs annonces proches */
html body .cfy-wv--carte .cfy-wvm-pin.is-group {
    display: grid;
    place-items: center;
    min-width: 36px;
    height: 36px;
    padding: 0 6px;
    overflow: visible;
    transform: translate(-50%, -50%);
    font-size: var(--cfy-fs-sm);
    color: var(--cfy-t-on-fill);
    background: var(--cfy-t-fill);
    border: 2px solid var(--cfy-t-surface);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(var(--cfy-t-fill-rgb), .35), 0 2px 6px var(--cfy-t-shadow);
}
html body .cfy-wv--carte .cfy-wvm-pin.is-group::after {
    content: none;
}
html body .cfy-wv--carte .cfy-wvm-pin.is-group:hover,
html body .cfy-wv--carte .cfy-wvm-pin.is-group.is-hl {
    background: var(--cfy-t-fill-hi);
    box-shadow: 0 0 0 6px rgba(var(--cfy-t-fill-rgb), .45), 0 2px 6px var(--cfy-t-shadow);
}
/* Fiche : une annonce, ou les annonces d'une même ville */
html body .cfy-wv--carte .cfy-wvm-pop {
    position: absolute;
    z-index: 8;
    display: grid;
    width: min(300px, calc(100% - 16px));
    max-height: calc(100% - 16px);
    color: var(--cfy-tx-ink);
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
    box-shadow: 0 10px 28px var(--cfy-t-shadow);
}
html body .cfy-wv--carte .cfy-wvm-pop-h {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 4px 4px 12px;
    font-size: var(--cfy-fs-caption);
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-tx-muted);
    background: var(--cfy-t-surface-2);
    border-bottom: 1px solid var(--cfy-t-line);
}
html body .cfy-wv--carte .cfy-wvm-pop-x {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    font-size: var(--cfy-fs-lg);
    line-height: 1;
    color: var(--cfy-tx-ink);
    background: transparent;
    border: 0;
    border-radius: 0;
    cursor: pointer;
}
html body .cfy-wv--carte .cfy-wvm-pop-x:hover {
    background: var(--cfy-t-surface-3);
}
html body .cfy-wv--carte .cfy-wvm-pop-b {
    overflow-y: auto;
    max-height: 260px;
}
html body .cfy-wv--carte .cfy-wvm-card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid var(--cfy-t-line);
}
html body .cfy-wv--carte .cfy-wvm-card:last-child {
    border-bottom: 0;
}
html body .cfy-wv--carte .cfy-wvm-card:hover {
    background: var(--cfy-t-surface-2);
}
html body .cfy-wv--carte .cfy-wvm-card img {
    width: 64px;
    height: 48px;
    object-fit: cover;
    border-radius: 0;
}
html body .cfy-wv--carte .cfy-wvm-card-t {
    display: grid;
    gap: 2px;
    min-width: 0;
}
html body .cfy-wv--carte .cfy-wvm-card-t b {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    line-height: var(--cfy-lh-snug);
}
html body .cfy-wv--carte .cfy-wvm-card-t em {
    font-style: normal;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-bold);
    color: var(--cfy-tx-success);
}
html body .cfy-wv--carte .cfy-wvm-card-t small {
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-tx-muted);
}
html body .cfy-wv--carte .cfy-wvm-pop-go {
    display: block;
    padding: 9px 12px;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    text-align: center;
    text-decoration: none;
    color: var(--cfy-t-on-fill);
    background: var(--cfy-t-fill);
}
html body .cfy-wv--carte .cfy-wvm-pop-go:hover {
    background: var(--cfy-t-fill-hi);
}
/* Commandes de zoom */
html body .cfy-wv--carte .cfy-wvm-ctl {
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 4;
    display: grid;
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
    box-shadow: 0 2px 8px var(--cfy-t-shadow);
}
html body .cfy-wv--carte .cfy-wvm-btn {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    color: var(--cfy-tx-ink);
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--cfy-t-line);
    border-radius: 0;
    cursor: pointer;
}
html body .cfy-wv--carte .cfy-wvm-btn:last-child {
    border-bottom: 0;
}
html body .cfy-wv--carte .cfy-wvm-btn:hover,
html body .cfy-wv--carte .cfy-wvm-btn:focus-visible {
    color: var(--cfy-t-on-fill);
    background: var(--cfy-t-fill);
    outline: none;
}
/* Colonne de droite : légende au-dessus de la carte (elle ne cache rien), puis la carte */
html body .cfy-wv--carte .cfy-wvm-right {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}
html body .cfy-wv--carte .cfy-wvm-right > .cfy-wvm-stage {
    flex: 1 1 auto;
    min-height: 0;
}
/* Légende : densité des pays, étiquette-prix, groupe, position */
html body .cfy-wv--carte .cfy-wvm-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 22px;
    padding: 8px 12px;
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-tx-ink-2);
    background: var(--cfy-t-surface);
    border-bottom: 1px solid var(--cfy-t-line);
}
html body .cfy-wv--carte .cfy-wvm-lg-dens {
    display: grid;
    grid-template-columns: auto 200px;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 2px 10px;
}
html body .cfy-wv--carte .cfy-wvm-lg-t {
    grid-row: 1 / span 2;
    font-weight: var(--cfy-fw-semibold);
    color: var(--cfy-tx-ink);
}
html body .cfy-wv--carte .cfy-wvm-lg-scale {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    height: 12px;
    border: 1px solid color-mix(in srgb, var(--cfy-tx-ink) 45%, var(--cfy-t-surface));
}
html body .cfy-wv--carte .cfy-wvm-lg-sw {
    display: block;
}
html body .cfy-wv--carte .cfy-wvm-lg-ends {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    white-space: nowrap;
    color: var(--cfy-tx-ink-2);
}
html body .cfy-wv--carte .cfy-wvm-lg-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
html body .cfy-wv--carte .cfy-wvm-pin--sample {
    position: relative;
    transform: none;
    max-width: 110px;
    margin-bottom: 7px;
    pointer-events: none;
    cursor: default;
}
html body .cfy-wv--carte .cfy-wvm-pin--sample.is-group {
    min-width: 28px;
    height: 28px;
    margin: 0;
    transform: none;
}
html body .cfy-wv--carte .cfy-wvm-lg-note {
    color: var(--cfy-tx-ink-2);
}
html body .cfy-wv--carte .cfy-wvm-toggle {
    display: none;
}

/* Mur étroit (fenêtre réduite) : carte plein cadre, bouton flottant Liste / Carte, légende repliée en bas */
@container cfywall (max-width: 819.98px) {
    html body .cfy-wv--carte .cfy-wvm {
        grid-template-columns: minmax(0, 1fr);
        height: min(72vh, 640px);
        min-height: 460px;
    }
    html body .cfy-wv--carte .cfy-wvm-list {
        display: none;
        border-right: 0;
    }
    html body .cfy-wv--carte .cfy-wvm.is-list .cfy-wvm-list {
        display: block;
    }
    html body .cfy-wv--carte .cfy-wvm.is-list .cfy-wvm-stage {
        display: none;
    }
    html body .cfy-wv--carte .cfy-wvm-toggle {
        position: absolute;
        left: 50%;
        bottom: 14px;
        z-index: 6;
        display: inline-flex;
        transform: translateX(-50%);
        padding: 10px 20px;
        font-family: inherit;
        font-size: var(--cfy-fs-sm);
        font-weight: var(--cfy-fw-semibold);
        color: var(--cfy-t-on-fill);
        background: var(--cfy-t-fill);
        border: 0;
        border-radius: 0;
        box-shadow: 0 6px 18px var(--cfy-t-shadow);
        cursor: pointer;
    }
}
@container cfywall (max-width: 599.98px) {
    html body .cfy-wv--carte .cfy-wvm-item {
        grid-template-columns: 96px minmax(0, 1fr);
    }
}

/* Banners : aucune au-dessus de la zone carte ; une rangée en dessous, formats horizontaux (2x1 = 2 unités, 1x1 = 1),
   sur toute la largeur ; grille de 8 unités, centrée. Aucune banner dans la liste. */
html body .cfy-wv--carte .cfy-wvm-adrow {
    padding: 14px;
    background: var(--cfy-t-surface-2);
    border: 1px solid var(--cfy-t-line);
}
html body .cfy-wv--carte .cfy-wvm-adrow--bottom {
    margin-top: 14px;
}
html body .cfy-wv--carte .cfy-wvm-adrow-in {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 14px;
    align-items: center;
}
html body .cfy-wv--carte .cfy-wvm-adrow-in > :first-child {
    grid-column-start: var(--cfy-wvm-off, 1);
}
html body .cfy-wv--carte .cfy-wvm-adrow-in > .cfy-wv-adslot--2x1 {
    grid-column-end: span 2;
}
@container cfywall (max-width: 1099.98px) {
    html body .cfy-wv--carte .cfy-wvm-adrow-in {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    html body .cfy-wv--carte .cfy-wvm-adrow-in > :first-child {
        grid-column-start: auto;
    }
}

/* ===========================================================================
   Réglages de la vue Carte (Options › Vue Carte)
   =========================================================================== */
html body .cfy-wv--carte.cfy-wv-hasmapgap .cfy-wvm { column-gap: var(--cfy-wvm-gap, 0px); }
html body .cfy-wv--carte.cfy-wv-haspad .cfy-wvm-item { padding-block: var(--cfy-wv-pad, 10px); }
html body .cfy-wv--carte.cfy-wv-hasgapy .cfy-wvm-list { display: grid; row-gap: var(--cfy-wv-gap-y, 0px); align-content: start; }
/* Largeur de la liste */
html body .cfy-wv--carte.cfy-wvm-w-third .cfy-wvm { grid-template-columns: minmax(300px, 33%) minmax(0, 1fr); }
html body .cfy-wv--carte.cfy-wvm-w-half .cfy-wvm { grid-template-columns: minmax(320px, 50%) minmax(0, 1fr); }
/* Carte à gauche de la liste */
html body .cfy-wv--carte.cfy-wvm-pos-left .cfy-wvm { direction: rtl; }
html body .cfy-wv--carte.cfy-wvm-pos-left .cfy-wvm > * { direction: ltr; }
/* Hauteur de la carte */
html body .cfy-wv--carte.cfy-wvm-h-medium .cfy-wvm { height: min(60vh, 600px); min-height: 440px; }
html body .cfy-wv--carte.cfy-wvm-h-full .cfy-wvm { height: calc(100vh - 140px); min-height: 520px; }
/* Taille de la photo dans la liste */
html body .cfy-wv--carte.cfy-wvm-photo-small .cfy-wvm-item { grid-template-columns: 84px minmax(0, 1fr); }
html body .cfy-wv--carte.cfy-wvm-photo-large .cfy-wvm-item { grid-template-columns: 150px minmax(0, 1fr); }
/* Teinte des pays sur 6 et 7 niveaux */
html body .cfy-wv--carte :is(.cfy-wvm-land path, .cfy-wvm-lg-sw)[data-lvl="6"] { fill: color-mix(in srgb, var(--cfy-t-accent) 100%, var(--cfy-tx-ink) 34%); background: color-mix(in srgb, var(--cfy-t-accent) 100%, var(--cfy-tx-ink) 34%); }
html body .cfy-wv--carte :is(.cfy-wvm-land path, .cfy-wvm-lg-sw)[data-lvl="7"] { fill: color-mix(in srgb, var(--cfy-t-accent) 100%, var(--cfy-tx-ink) 46%); background: color-mix(in srgb, var(--cfy-t-accent) 100%, var(--cfy-tx-ink) 46%); }

/* ═══ commercify_wall_view_galerie.css ═══ */
/* Vue « Galerie » du mur : tuiles carrées, photo plein cadre (une grande tuile toutes les neuf). Recto : pin's, case
   et bouton de retournement en haut ; prix, notation et titre posés sur la photo. Verso : toutes les autres
   informations de l'annonce. Annonces à retours négatifs : teinte rouge (score 0 à 2) ou orange (3 à 5).
   Feuille isolée : la retirer de la liste des imports annule cette vue (sans style). */

html body .cfy-wv--galerie .cfy-wvg {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    grid-auto-flow: dense;
    gap: 8px;
}
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-cell {
    min-width: 0;
}
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-cell.is-big {
    grid-column: span 2;
    grid-row: span 2;
}

/* Tuile et retournement */
html body .cfy-wv--galerie .cfy-wvg-item {
    position: relative;
    aspect-ratio: 1 / 1;
    height: 100%;
    overflow: visible;
    border: 0;
    background: transparent;
    perspective: 1400px;
}
html body .cfy-wv--galerie .cfy-wvg-item:hover {
    border: 0;
}
html body .cfy-wv--galerie .cfy-wvg-inner {
    position: absolute;
    inset: 0;
    transform-style: preserve-3d;
    transition: transform .45s ease;
}
html body .cfy-wv--galerie .cfy-wvg-item.is-flipped .cfy-wvg-inner {
    transform: rotateY(180deg);
}
html body .cfy-wv--galerie .cfy-wvg-face {
    position: absolute;
    inset: 0;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
/* Face cachée masquée pour de bon, à mi-rotation (90°) : sans cela, avec l'accélération graphique ou sous Firefox, les
   éléments positionnés du recto (avatar, bouton de retournement) traversent le verso, en miroir, donc inversés */
html body .cfy-wv--galerie .cfy-wvg-front,
html body .cfy-wv--galerie .cfy-wvg-item.is-flipped .cfy-wvg-back {
    visibility: visible;
    transition: visibility 0s linear .225s;
}
html body .cfy-wv--galerie .cfy-wvg-back,
html body .cfy-wv--galerie .cfy-wvg-item.is-flipped .cfy-wvg-front {
    visibility: hidden;
    transition: visibility 0s linear .225s;
}
html body.performance-mode .cfy-wv--galerie .cfy-wvg-inner,
html body.performance-mode .cfy-wv--galerie .cfy-wvg-face {
    transition: none;
}
@media (prefers-reduced-motion: reduce) {
    html body .cfy-wv--galerie .cfy-wvg-inner,
    html body .cfy-wv--galerie .cfy-wvg-face {
        transition: none;
    }
}

/* Recto : photo plein cadre */
html body .cfy-wv--galerie .cfy-wvg-front {
    background: var(--cfy-t-surface-3);
}
html body .cfy-wv--galerie .cfy-wvg-front .cfy-wv-media {
    position: absolute;
    inset: 0;
    aspect-ratio: auto;
    height: 100%;
}
html body .cfy-wv--galerie .cfy-wvg-front .cfy-wv-media .cfy-wv-nimg {
    top: 52px;
    bottom: auto;
}
html body .cfy-wv--galerie .cfy-wvg-top {
    position: absolute;
    left: 8px;
    right: 8px;
    top: 8px;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    pointer-events: none;
}
html body .cfy-wv--galerie .cfy-wvg-top > * {
    pointer-events: auto;
}
html body .cfy-wv--galerie .cfy-wvg-top .cfy-wv-ov {
    position: static;
    flex: 1 1 auto;
    max-width: none;
}
html body .cfy-wv--galerie .cfy-wvg-top .cfy-wv-pin {
    max-width: calc(100% - 90px);
}
html body .cfy-wv--galerie .cfy-wvg-flip {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    margin: 0 0 0 auto;
    padding: 0;
    color: #fff;
    background: rgba(0, 0, 0, .62);
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 0;
    cursor: pointer;
}
/* Survol et focus : le bouton reste un carré sombre (fond plus dense, bord clair) ; jamais l'aplat du thème, réservé au
   cadre de l'avatar, pour qu'on ne confonde pas les deux coins de la tuile */
html body .cfy-wv--galerie .cfy-wvg-flip:hover,
html body .cfy-wv--galerie .cfy-wvg-flip:focus-visible {
    color: #fff;
    background: rgba(0, 0, 0, .85);
    border-color: #fff;
    outline: none;
}
html body .cfy-wv--galerie .cfy-wvg-flip:focus-visible {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, .85), 0 0 0 4px #fff;
}
/* Case de sélection : en haut, à gauche du bouton de retournement, sur les deux faces */
html body .cfy-wv--galerie .vignette-checkbox.cfy-wv-check {
    inset: 14px 48px auto auto;
    z-index: 3;
}

/* Recto : prix, notation et titre sur la photo */
html body .cfy-wv--galerie .cfy-wvg-cap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    display: grid;
    gap: 4px;
    padding: 48px 12px 10px;
    background: linear-gradient(180deg, transparent 0, rgba(0, 0, 0, .55) 42%, rgba(0, 0, 0, .86) 100%);
    color: #fff;
    pointer-events: none;
}
html body .cfy-wv--galerie .cfy-wvg-cap a {
    pointer-events: auto;
}
html body .cfy-wv--galerie .cfy-wvg-cap-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 2px 10px;
    min-width: 0;
}
html body .cfy-wv--galerie .cfy-wvg-cap .cfy-wv-price {
    font-size: var(--cfy-fs-lg);
    color: #fff;
}
html body .cfy-wv--galerie .cfy-wvg-cap .cfy-wv-rec {
    color: rgba(255, 255, 255, .88);
}
html body .cfy-wv--galerie .cfy-wvg-cap :is(.cfy-wv-score-n, .cfy-wv-views) {
    color: rgba(255, 255, 255, .92);
}
html body .cfy-wv--galerie .cfy-wvg-cap .cfy-wv-title {
    font-size: var(--cfy-fs-base);
    color: #fff;
}
html body .cfy-wv--galerie .cfy-wvg-item.is-big .cfy-wvg-cap .cfy-wv-title {
    font-size: var(--cfy-fs-h4);
}
html body .cfy-wv--galerie .cfy-wvg-item.is-big .cfy-wvg-cap .cfy-wv-price {
    font-size: var(--cfy-fs-h4);
}

/* Annonces à retours négatifs : même signal que les vignettes, rouge (score 0 à 2) ou orange (3 à 5) */
html body .cfy-wv--galerie .cfy-wvg-item[data-has-negative-feedback="1"]:is([data-score="0"], [data-score="1"], [data-score="2"]) .cfy-wvg-front {
    box-shadow: inset 0 0 0 3px #FF0000;
}
html body .cfy-wv--galerie .cfy-wvg-item[data-has-negative-feedback="1"]:is([data-score="0"], [data-score="1"], [data-score="2"]) .cfy-wvg-cap {
    background: linear-gradient(180deg, rgba(255, 0, 0, 0) 0, rgba(190, 0, 0, .72) 42%, rgba(140, 0, 0, .92) 100%);
}
html body .cfy-wv--galerie .cfy-wvg-item[data-has-negative-feedback="1"]:is([data-score="3"], [data-score="4"], [data-score="5"]) .cfy-wvg-front {
    box-shadow: inset 0 0 0 3px #FF6600;
}
html body .cfy-wv--galerie .cfy-wvg-item[data-has-negative-feedback="1"]:is([data-score="3"], [data-score="4"], [data-score="5"]) .cfy-wvg-cap {
    background: linear-gradient(180deg, rgba(255, 102, 0, 0) 0, rgba(200, 80, 0, .72) 42%, rgba(150, 60, 0, .92) 100%);
}
html body .cfy-wv--galerie .cfy-wvg-item[data-has-negative-feedback="1"]:is([data-score="0"], [data-score="1"], [data-score="2"]) .cfy-wvg-back {
    background: linear-gradient(rgba(255, 0, 0, .2), rgba(255, 0, 0, .2)), var(--cfy-t-surface);
}
html body .cfy-wv--galerie .cfy-wvg-item[data-has-negative-feedback="1"]:is([data-score="3"], [data-score="4"], [data-score="5"]) .cfy-wvg-back {
    background: linear-gradient(rgba(255, 102, 0, .2), rgba(255, 102, 0, .2)), var(--cfy-t-surface);
}

/* Verso : toutes les informations, défilement si besoin */
html body .cfy-wv--galerie .cfy-wvg-back {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 10px 12px 12px;
    overflow-y: auto;
    overscroll-behavior: contain;
    transform: rotateY(180deg);
    background: var(--cfy-t-surface);
    border: 1px solid var(--cfy-t-line-2);
}
/* En-tête du verso au gabarit du recto : avatar et bouton de retournement exactement aux mêmes places */
html body .cfy-wv--galerie .cfy-wvg-back {
    padding-top: 56px;
}
html body .cfy-wv--galerie .cfy-wvg-top.cfy-wvg-top--back {
    left: 7px; /* bordure de 1px du verso : mêmes coordonnées qu'au recto */
    right: 7px;
    top: 7px;
}
html body .cfy-wv--galerie .cfy-wvg-top--back .cfy-wv-ov {
    align-items: center;
}
html body .cfy-wv--galerie .cfy-wvg-top--back .cfy-wv-pub {
    min-width: 0;
}
html body .cfy-wv--galerie .cfy-wvg-top--back .cfy-wv-pub span {
    overflow-wrap: anywhere;
}
/* Bouton de retournement du verso : même aspect qu'au recto (carré sombre, icône claire), jamais confondu avec le
   cadre doré de l'avatar */
html body .cfy-wv--galerie .cfy-wvg-back .cfy-wv-title {
    font-size: var(--cfy-fs-md);
}
html body .cfy-wv--galerie .cfy-wvg-back .cfy-wv-price {
    font-size: var(--cfy-fs-lg);
}
html body .cfy-wv--galerie .cfy-wvg-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 12px;
    min-width: 0;
}
html body .cfy-wv--galerie .cfy-wvg-item.is-flipped .vignette-checkbox.cfy-wv-check {
    display: none;
}

/* Banners : tuiles sponsor dont la taille suit le format — 1x1 = une tuile, 2x1 = deux tuiles côte à côte, 1x2 = deux
   tuiles l'une sur l'autre ; la banner remplit sa tuile, ratio exact */
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-gcell {
    min-width: 0;
}
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-gcell--1x1 { aspect-ratio: 1 / 1; }
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-gcell--2x1 { grid-column: span 2; aspect-ratio: 2 / 1; }
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-gcell--1x2 { grid-row: span 2; aspect-ratio: 1 / 2; }
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-gcell > .cfy-wv-adslot {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
}

/* Mur étroit : une tuile par ligne */
@container cfywall (max-width: 599.98px) {
    html body .cfy-wv--galerie .cfy-wvg {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }
    html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-cell.is-big {
        grid-column: auto;
        grid-row: auto;
    }
    html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-gcell--2x1 {
        grid-column: auto;
    }
    html body .cfy-wv--galerie .cfy-wvg-item.is-big .cfy-wvg-cap :is(.cfy-wv-title, .cfy-wv-price) {
        font-size: var(--cfy-fs-lg);
    }
}

/* ===========================================================================
   Réglages de la vue Galerie (Options › Vue Galerie)
   =========================================================================== */
html body .cfy-wv--galerie.cfy-wv-hasgapy .cfy-wvg { row-gap: var(--cfy-wv-gap-y, 8px); }
html body .cfy-wv--galerie.cfy-wv-hasgapx .cfy-wvg { column-gap: var(--cfy-wv-gap-x, 8px); }
/* le dégradé garde sa hauteur en haut du texte : la marge intérieure règle les côtés et le bas */
html body .cfy-wv--galerie.cfy-wv-haspad .cfy-wvg-cap { padding-inline: var(--cfy-wv-pad, 12px); padding-bottom: var(--cfy-wv-pad, 10px); }
/* Taille des tuiles en grille automatique */
html body .cfy-wv--galerie.cfy-wvg-size-small .cfy-wvg { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
html body .cfy-wv--galerie.cfy-wvg-size-large .cfy-wvg { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
/* Nombre fixe de tuiles par ligne */
html body .cfy-wv--galerie.cfy-wvg-fixed .cfy-wvg { grid-template-columns: repeat(var(--cfy-wvg-cols, 4), minmax(0, 1fr)); }
/* Une colonne : aucune case ne s'étend sur deux colonnes, sinon la grille en gagne une de plus que demandé.
   Une ou deux colonnes : le banner 2x1 n'occupe qu'une colonne. Les grandes tuiles restent actives dès deux colonnes. */
html body .cfy-wv--galerie.cfy-wvg-fixed-one .cfy-wvg > .cfy-wv-cell.is-big { grid-column: auto; grid-row: auto; }
html body .cfy-wv--galerie.cfy-wvg-fixed-narrow .cfy-wvg > .cfy-wv-gcell--2x1 { grid-column: auto; }
/* Format des tuiles */
html body .cfy-wv--galerie.cfy-wvg-ratio-43 .cfy-wvg-item { aspect-ratio: 4 / 3; }
html body .cfy-wv--galerie.cfy-wvg-ratio-169 .cfy-wvg-item { aspect-ratio: 16 / 9; }
html body .cfy-wv--galerie.cfy-wvg-ratio-native .cfy-wvg-item { aspect-ratio: 16 / 9; }
/* Grandes tuiles désactivées */
html body .cfy-wv--galerie.cfy-wvg-nobig .cfy-wvg > .cfy-wv-cell.is-big { grid-column: auto; grid-row: auto; }
/* Texte posé sur la photo */
html body .cfy-wv--galerie.cfy-wvg-cap-none .cfy-wvg-front .cfy-wvg-cap { display: none; }
html body .cfy-wv--galerie.cfy-wvg-cap-price .cfy-wvg-front .cfy-wvg-cap .cfy-wv-title { display: none; }
html body .cfy-wv--galerie.cfy-wvg-cap-title .cfy-wvg-front .cfy-wvg-cap .cfy-wvg-cap-row { display: none; }

/* Verso aux couleurs du thème, comme celui des vignettes : panneau du thème, texte et liens lisibles */
html body .cfy-wv--galerie .cfy-wvg-item .cfy-wvg-back {
    --cfy-tx-ink: var(--cfy-hr-ink);
    --cfy-tx-ink-2: var(--cfy-hr-ink-muted, var(--cfy-hr-ink));
    --cfy-tx-muted: var(--cfy-hr-ink-muted, var(--cfy-hr-ink));
    --cfy-tx-accent: var(--cfy-hr-accent-text, var(--cfy-hr-accent));
    --cfy-tx-accent-strong: var(--cfy-hr-accent-text, var(--cfy-hr-accent));
    --cfy-t-line: var(--cfy-hr-rule, rgba(255, 255, 255, .14));
    --cfy-t-line-2: var(--cfy-hr-rule, rgba(255, 255, 255, .14));
    background: var(--cfy-hr-panel-bg, var(--cfy-t-surface));
    color: var(--cfy-hr-ink, var(--cfy-tx-ink));
    border-top: 2px solid var(--cfy-hr-accent, var(--cfy-t-accent));
}
html body .cfy-wv--galerie .cfy-wvg-item .cfy-wvg-back a {
    color: var(--cfy-hr-accent-text, var(--cfy-hr-accent));
}
/* Bouton × du verso : même carré que le bouton de retournement, juste à sa gauche */
html body .cfy-wv--galerie .cfy-wvg-close {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    margin: 0 0 0 auto;
    padding: 0;
    color: var(--cfy-hr-ink, #fff);
    background: var(--cfy-hr-tile-bg, rgba(0, 0, 0, .62));
    border: 1px solid var(--cfy-hr-rule, rgba(255, 255, 255, .35));
    border-radius: 0;
    cursor: pointer;
}
html body .cfy-wv--galerie .cfy-wvg-close:hover,
html body .cfy-wv--galerie .cfy-wvg-close:focus-visible {
    /* même rouge sémantique que le bouton × du verso des vignettes */
    color: #ffffff;
    background: rgba(220, 53, 69, 1);
    border-color: rgba(255, 255, 255, 0.55);
    outline: none;
}
html body .cfy-wv--galerie .cfy-wvg-close + .cfy-wvg-unflip {
    margin-inline-start: 4px;
}
html body .cfy-wv--galerie.cfy-wvg-noclose .cfy-wvg-close { display: none; }
html body .cfy-wv--galerie.cfy-wvg-noclose .cfy-wvg-unflip { margin-inline-start: auto; }
/* Bouton de retournement estompé au repos (comme les vignettes), net au survol de la tuile */
html body .cfy-wv--galerie.cfy-wvg-btnfade .cfy-wvg-front .cfy-wvg-flip { opacity: .14; transition: opacity .15s; }
html body .cfy-wv--galerie.cfy-wvg-btnfade .cfy-wvg-item:hover .cfy-wvg-front .cfy-wvg-flip,
html body .cfy-wv--galerie.cfy-wvg-btnfade .cfy-wvg-front .cfy-wvg-flip:focus-visible { opacity: 1; }

/* ===========================================================================
   Géométrie de la mosaïque (2026-10-10) : le format est porté par la CASE de la grille, la tuile la remplit.
   Avant, la tuile portait le format et prenait la hauteur de sa rangée : dans une rangée étirée par un banner
   ou une grande tuile, elle devenait plus large que sa colonne et recouvrait ses voisines.
   Toutes les rangées ont la même hauteur (largeur de colonne / format). Un banner occupe un nombre entier de
   cases et garde son format exact, centré dans ses cases.
   =========================================================================== */
html body .cfy-wv--galerie { --cfy-wvg-r: 1; }
html body .cfy-wv--galerie.cfy-wvg-ratio-43 { --cfy-wvg-r: 1.3333; }
html body .cfy-wv--galerie:is(.cfy-wvg-ratio-169, .cfy-wvg-ratio-native) { --cfy-wvg-r: 1.7778; }
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-cell {
    aspect-ratio: var(--cfy-wvg-r);
    min-height: 0;
}
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-cell > .cfy-wvg-item {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
}
/* Banners : case calée sur les rangées de tuiles, banner au format exact à l'intérieur */
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-gcell {
    container-type: size;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    overflow: hidden;
    aspect-ratio: var(--cfy-wvg-r);
    background: var(--cfy-t-surface-2);
    --cfy-wvg-a: 1;
}
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-gcell--2x1 { --cfy-wvg-a: 2; aspect-ratio: calc(2 * var(--cfy-wvg-r)); }
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-gcell--1x2 { --cfy-wvg-a: 0.5; aspect-ratio: calc(var(--cfy-wvg-r) / 2); }
html body .cfy-wv--galerie .cfy-wvg > .cfy-wv-gcell > .cfy-wv-adslot {
    flex: 0 0 auto;
    width: min(100cqw, calc(100cqh * var(--cfy-wvg-a)));
    height: min(100cqh, calc(100cqw / var(--cfy-wvg-a)));
    aspect-ratio: auto;
}
/* Tuiles plus larges que hautes : le banner prend deux rangées (quatre pour le format 1x2) pour garder sa taille */
@container cfywall (min-width: 600px) {
    html body .cfy-wv--galerie:is(.cfy-wvg-ratio-43, .cfy-wvg-ratio-169, .cfy-wvg-ratio-native) .cfy-wvg > :is(.cfy-wv-gcell--1x1, .cfy-wv-gcell--2x1) { grid-row: span 2; }
    html body .cfy-wv--galerie:is(.cfy-wvg-ratio-43, .cfy-wvg-ratio-169, .cfy-wvg-ratio-native) .cfy-wvg > .cfy-wv-gcell--1x1 { aspect-ratio: calc(var(--cfy-wvg-r) / 2); }
    html body .cfy-wv--galerie:is(.cfy-wvg-ratio-43, .cfy-wvg-ratio-169, .cfy-wvg-ratio-native) .cfy-wvg > .cfy-wv-gcell--2x1 { aspect-ratio: var(--cfy-wvg-r); }
    html body .cfy-wv--galerie.cfy-wvg-ratio-43 .cfy-wvg > .cfy-wv-gcell--1x2 { grid-row: span 3; aspect-ratio: calc(var(--cfy-wvg-r) / 3); }
    html body .cfy-wv--galerie:is(.cfy-wvg-ratio-169, .cfy-wvg-ratio-native) .cfy-wvg > .cfy-wv-gcell--1x2 { grid-row: span 4; aspect-ratio: calc(var(--cfy-wvg-r) / 4); }
}
/* Une ou deux colonnes fixes : le banner 2x1 n'occupe qu'une colonne */
html body .cfy-wv--galerie.cfy-wvg-fixed-narrow .cfy-wvg > .cfy-wv-gcell--2x1 { aspect-ratio: var(--cfy-wvg-r); }
html body .cfy-wv--galerie.cfy-wvg-fixed-narrow:is(.cfy-wvg-ratio-43, .cfy-wvg-ratio-169, .cfy-wvg-ratio-native) .cfy-wvg > .cfy-wv-gcell--2x1 { grid-row: span 1; }

/* ═══ commercify_fix_dashboard_identity.css ═══ */
/* Tableau de bord : carte de l'éditeur et compteurs de notifications dans un même cadre.
   Le cadre suit la largeur du @slug (jamais tronqué), les compteurs forment une grille 4 × 2
   accolée à l'identité. Feuille isolée : retirer son import suffit à annuler la mise en forme. */

html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn {
    display: flex;
    flex: 0 1 auto;
    align-self: stretch;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    background: var(--cfy-t-surface-2);
    border: 1px solid var(--cfy-t-line-2);
}

/* Zone identité : prend la largeur de son contenu, plus de dimensions figées */
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn > .dashboard-card.dashboard-quick-vignette-editor {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    color: var(--cfy-t-ink) !important;
    text-align: start !important;
    cursor: pointer;
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn > .dashboard-card.dashboard-quick-vignette-editor:hover,
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn > .dashboard-card.dashboard-quick-vignette-editor:focus-visible {
    background: var(--cfy-t-surface-3) !important;
    box-shadow: none !important;
    transform: none !important;
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn > .dashboard-card.dashboard-quick-vignette-editor:focus-visible {
    outline: 2px solid var(--cfy-t-accent) !important;
    outline-offset: -2px !important;
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .dashboard-card-inner {
    justify-content: flex-start !important;
    gap: var(--cfy-sp-3, 12px) !important;
    min-width: 0 !important;
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .dashboard-quick-vignette-editor-slug {
    font-size: var(--cfy-fs-md) !important;
    font-weight: var(--cfy-fw-semibold) !important;
    line-height: var(--cfy-lh-tight) !important;
    color: var(--cfy-t-ink) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .dashboard-quick-vignette-editor-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: start !important;
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .cfy-didn-chev {
    flex: 0 0 auto;
    color: var(--cfy-t-faint);
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn > .dashboard-card:hover .cfy-didn-chev,
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn > .dashboard-card:focus-visible .cfy-didn-chev {
    color: var(--cfy-t-accent);
}

/* Compteurs : grille 4 × 2 sur le flanc de l'identité */
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn > .cfy-dnotif {
    display: grid;
    grid-template-columns: repeat(4, auto);
    grid-auto-rows: 1fr;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    margin: 0;
    border: 0;
    border-inline-start: 1px solid var(--cfy-t-line-2);
    background: transparent;
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .cfy-dnotif-head,
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .cfy-dnotif-seg {
    justify-content: center;
    min-width: 72px;
    border-inline-end: 1px solid var(--cfy-t-line);
    border-bottom: 1px solid var(--cfy-t-line);
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .cfy-dnotif > :nth-child(4n) {
    border-inline-end: 0;
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .cfy-dnotif > :nth-child(n+5) {
    border-bottom: 0;
}
html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .cfy-dnotif-title {
    display: none;
}

/* Smartphone : cadre sur toute la largeur, grille sous l'identité */
@media (max-width: 575.98px) {
    html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn {
        flex: 1 1 100%;
        flex-direction: column;
    }
    html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn > .cfy-dnotif {
        grid-template-columns: repeat(4, 1fr);
        border-inline-start: 0;
        border-top: 1px solid var(--cfy-t-line-2);
    }
    html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .cfy-dnotif-head,
    html body #dashboardModal:not(#cfy-b1):not(#cfy-b2) .cfy-didn .cfy-dnotif-seg {
        min-width: 0;
        min-height: 40px;
    }
}

/* ═══ commercify_options_apply.css ═══ */
/* Étape isolée et annulable (2026-10-09, audit Options / Filtres / Mon mur) : retirer l'import de cette feuille
   dans la feuille d'entrée du header puis régénérer le bundle pour revenir à l'état précédent.
   1. Réglages en attente et bouton « Appliquer les changements » (panneau Options, Mon mur, Filtres).
   2. Message furtif après un réglage appliqué en direct.
   3. Couleur des boutons de pagination : palettes posées par une classe du body (sans classe : thème). */

/* 1. Réglage modifié mais pas encore appliqué : filet en pointillés à la couleur du thème */
html body .cfy-opt .cfy-opt-choice.is-pending,
html body .cfy-opt .cfy-opt-switch.is-pending,
html body .cfy-opt .cfy-opt-range.is-pending {
    outline: 1px dashed var(--cfy-t-accent);
    outline-offset: 2px;
}
html body .cfy-opt .cfy-opt-btn[hidden],
html body .cfy-fb .cfy-fb-apply[hidden] {
    display: none;
}
html body .cfy-opt .cfy-opt-btn .cfy-opt-pending-n,
html body .cfy-fb .cfy-fb-apply .cfy-opt-pending-n {
    font-variant-numeric: tabular-nums;
    font-weight: var(--cfy-fw-regular, 400);
}
html body .cfy-opt .cfy-opt-pending-n:empty,
html body .cfy-fb .cfy-opt-pending-n:empty {
    display: none;
}
/* Déclencheur du panneau fermé avec des réglages en attente : point à la couleur du thème */
html body .cfy-has-pending {
    position: relative;
}
html body .cfy-has-pending::after {
    content: "";
    position: absolute;
    top: 4px;
    inset-inline-end: 4px;
    width: 8px;
    height: 8px;
    background: var(--cfy-t-accent);
    pointer-events: none;
}
/* Mon mur : barre du bas (état, annuler, appliquer) au-dessus du lien vers Options */
html body .cfy-mur-pop .cfy-mur-apply {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--cfy-sp-2, 8px);
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-3, 12px);
    border-top: 1px solid var(--cfy-t-line);
    background: var(--cfy-t-surface);
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-t-muted);
}
html body .cfy-mur-pop .cfy-mur-apply .cfy-opt-actions {
    margin-inline-start: auto;
}
/* Filtres : pied du panneau (réinitialiser à gauche, appliquer à droite) */
html body .cfy-fb .cfy-fb-applybar {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--cfy-sp-2, 8px);
    padding-top: var(--cfy-sp-2, 8px);
    border-top: 1px solid var(--cfy-t-line);
    font-size: var(--cfy-fs-caption);
    color: var(--cfy-t-muted);
}
/* Panneau plus haut que l'écran (smartphone) : la barre reste collée en bas, toujours à portée */
html body .cfy-fb .cfy-fb-pop {
    overflow-y: auto;
    overscroll-behavior: contain;
}
html body .cfy-fb .cfy-fb-applybar {
    position: sticky;
    bottom: 0;
    z-index: 2;
    /* pas de marge négative : la barre garde sa propre rangée et ne recouvre jamais la dernière ligne des colonnes */
    padding-bottom: var(--cfy-sp-2, 8px);
    background: var(--cfy-t-surface);
}
html body .cfy-fb .cfy-fb-applybar .cfy-fb-apply-txt {
    margin-inline-end: auto;
}
html body .cfy-fb .cfy-fb-apply,
html body .cfy-fb .cfy-fb-discard {
    display: inline-flex;
    align-items: center;
    gap: var(--cfy-sp-2, 8px);
    min-height: var(--cfy-ctl-sm, 32px);
    padding: 0 var(--cfy-sp-3, 12px);
    background: var(--cfy-t-surface);
    color: var(--cfy-t-ink-2);
    border: 1px solid var(--cfy-t-line-2);
    border-radius: 0;
    font-family: inherit;
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-semibold);
    cursor: pointer;
}
html body .cfy-fb .cfy-fb-apply {
    background: var(--cfy-t-fill);
    color: var(--cfy-t-on-fill);
    border-color: var(--cfy-t-fill-lo);
}
html body .cfy-fb .cfy-fb-apply:disabled,
html body .cfy-fb .cfy-fb-discard:disabled {
    opacity: 0.45;
    cursor: default;
}
html body .cfy-fb .cfy-fb-i.is-pending .cfy-fb-box {
    outline: 1px dashed var(--cfy-t-accent);
    outline-offset: 2px;
}

/* 1 bis. Smartphone et tablette (< 1200 px) : la barre « Appliquer » de Mon mur et de Filtres ne prend de la place
   que s'il y a un changement en attente, et tient alors sur une seule rangée (annuler à gauche, appliquer à droite). */
@media (max-width: 1199.98px) {
    html body .cfy-mur-pop .cfy-mur-apply.is-idle,
    html body .cfy-fb .cfy-fb-applybar.is-idle {
        display: none;
    }
    html body .cfy-mur-pop .cfy-mur-apply,
    html body .cfy-fb .cfy-fb-applybar {
        flex-wrap: nowrap;
        gap: var(--cfy-sp-2, 8px);
        padding-top: 6px;
        padding-bottom: 6px;
    }
    /* Le nombre en attente est déjà dans le bouton : la phrase d'état reste lue par les lecteurs d'écran */
    html body .cfy-mur-pop .cfy-mur-apply .cfy-opt-pending-txt,
    html body .cfy-fb .cfy-fb-applybar .cfy-fb-apply-txt,
    html body .cfy-mur-pop .cfy-mur-apply [data-opt-discard] > span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }
    html body .cfy-mur-pop .cfy-mur-apply .cfy-opt-actions {
        display: flex;
        flex-wrap: nowrap;
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        margin: 0;
        gap: var(--cfy-sp-2, 8px);
    }
    html body .cfy-mur-pop .cfy-mur-apply .cfy-opt-btn,
    html body .cfy-fb .cfy-fb-applybar .cfy-fb-apply,
    html body .cfy-fb .cfy-fb-applybar .cfy-fb-discard {
        min-height: var(--cfy-ctl-sm, 32px);
        padding-block: 0;
        white-space: nowrap;
        justify-content: center;
    }
    html body .cfy-mur-pop .cfy-mur-apply [data-opt-discard] {
        flex: 0 0 auto;
        min-width: var(--cfy-ctl-sm, 32px);
        padding-inline: var(--cfy-sp-2, 8px);
    }
    html body .cfy-fb .cfy-fb-applybar .cfy-fb-discard {
        flex: 0 0 auto;
    }
    html body .cfy-mur-pop .cfy-mur-apply [data-opt-apply],
    html body .cfy-fb .cfy-fb-applybar .cfy-fb-apply {
        flex: 1 1 auto;
        min-width: 0;
    }
    /* Mon mur : le pied ne garde que le lien vers Options (la phrase d'aide reste dans le panneau Options) */
    html body .cfy-mur-pop .cfy-mur-foot > span {
        display: none;
    }
    html body .cfy-mur-pop .cfy-mur-foot {
        padding-top: 6px;
        padding-bottom: 6px;
    }
}

/* 1 ter. Onglets séparés (2026-10-10) : un seul onglet du panneau Options affiché à la fois, le défilement
   ne passe plus d'un onglet au suivant. Classe posée par le script : sans script, tout reste visible. */
html body .cfy-opt .cfy-opt-scroll.is-paged > .cfy-opt-tab:not(.is-current) {
    display: none;
}
html body .cfy-opt .cfy-opt-scroll.is-paged > .cfy-opt-tab.is-current {
    margin-top: 0;
    border-top: 0;
}
html body .cfy-opt .cfy-opt-scroll.is-paged {
    scroll-behavior: auto;
    overscroll-behavior: contain;
}

/* 2. Message furtif : en bas de l'écran, au-dessus de tout, sans capter les clics */
html body .cfy-opt-toast {
    position: fixed;
    inset-inline: 0;
    bottom: 24px;
    z-index: 10990;
    display: flex;
    justify-content: center;
    pointer-events: none;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}
html body .cfy-opt-toast.is-visible {
    opacity: 1;
    transform: none;
}
html body .cfy-opt-toast > span {
    max-width: min(520px, calc(100vw - 32px));
    padding: var(--cfy-sp-2, 8px) var(--cfy-sp-4, 16px);
    background: var(--cfy-hr-panel-bg, #17130a);
    color: var(--cfy-hr-ink, #fff);
    border: 1px solid var(--cfy-t-accent);
    font-size: var(--cfy-fs-sm);
    font-weight: var(--cfy-fw-medium);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.28);
}
html body .cfy-opt-toast.is-error > span {
    border-color: #c62828;
}
html body.performance-mode .cfy-opt-toast {
    transition: none;
}

/* 3. Couleur des boutons de pagination */
/* >>> palettes de pagination (généré) */
html body.cfy-pagpal-orange-dark[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link { background: #333 !important; color: #fff !important; border-color: #333 !important; box-shadow: none !important; }
html body.cfy-pagpal-orange-dark[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link:is(:hover, :focus-visible) { background: #444 !important; color: #fff !important; border-color: #444 !important; }
html body.cfy-pagpal-orange-dark[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link { background: #000 !important; border-color: #000 !important; }
html body.cfy-pagpal-orange-dark[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link:is(:hover, :focus-visible) { background: #222 !important; border-color: #222 !important; }
html body.cfy-pagpal-orange-dark[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.active .page-link { background: #ff6b35 !important; color: #fff !important; border-color: #ff6b35 !important; box-shadow: none !important; }
html body.cfy-pagpal-orange-dark[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.disabled .page-link { background: #333 !important; color: #999 !important; border-color: #333 !important; }
html body.cfy-pagpal-orange-dark[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child).disabled .page-link { background: #555 !important; border-color: #555 !important; }
html body.cfy-pagpal-blue-purple[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link { background: #4a5568 !important; color: #fff !important; border-color: #4a5568 !important; box-shadow: none !important; }
html body.cfy-pagpal-blue-purple[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link:is(:hover, :focus-visible) { background: #5a6678 !important; color: #fff !important; border-color: #5a6678 !important; }
html body.cfy-pagpal-blue-purple[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link { background: #2b5cff !important; border-color: #2b5cff !important; }
html body.cfy-pagpal-blue-purple[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link:is(:hover, :focus-visible) { background: #3b6cff !important; border-color: #3b6cff !important; }
html body.cfy-pagpal-blue-purple[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.active .page-link { background: #854fff !important; color: #fff !important; border-color: #854fff !important; box-shadow: none !important; }
html body.cfy-pagpal-blue-purple[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.disabled .page-link { background: #4a5568 !important; color: #a0aec0 !important; border-color: #4a5568 !important; }
html body.cfy-pagpal-blue-purple[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child).disabled .page-link { background: #718096 !important; border-color: #718096 !important; }
html body.cfy-pagpal-green-emerald[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link { background: #2d3748 !important; color: #fff !important; border-color: #2d3748 !important; box-shadow: none !important; }
html body.cfy-pagpal-green-emerald[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link:is(:hover, :focus-visible) { background: #3d4758 !important; color: #fff !important; border-color: #3d4758 !important; }
html body.cfy-pagpal-green-emerald[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link { background: #000 !important; border-color: #000 !important; }
html body.cfy-pagpal-green-emerald[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link:is(:hover, :focus-visible) { background: #1a1a1a !important; border-color: #1a1a1a !important; }
html body.cfy-pagpal-green-emerald[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.active .page-link { background: #1ee0ac !important; color: #fff !important; border-color: #1ee0ac !important; box-shadow: none !important; }
html body.cfy-pagpal-green-emerald[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.disabled .page-link { background: #2d3748 !important; color: #718096 !important; border-color: #2d3748 !important; }
html body.cfy-pagpal-green-emerald[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child).disabled .page-link { background: #4a5568 !important; border-color: #4a5568 !important; }
html body.cfy-pagpal-pink-magenta[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link { background: #4a4a5c !important; color: #fff !important; border-color: #4a4a5c !important; box-shadow: none !important; }
html body.cfy-pagpal-pink-magenta[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link:is(:hover, :focus-visible) { background: #5a5a6c !important; color: #fff !important; border-color: #5a5a6c !important; }
html body.cfy-pagpal-pink-magenta[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link { background: #9c27b0 !important; border-color: #9c27b0 !important; }
html body.cfy-pagpal-pink-magenta[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link:is(:hover, :focus-visible) { background: #ab47bc !important; border-color: #ab47bc !important; }
html body.cfy-pagpal-pink-magenta[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.active .page-link { background: #e91e63 !important; color: #fff !important; border-color: #e91e63 !important; box-shadow: none !important; }
html body.cfy-pagpal-pink-magenta[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.disabled .page-link { background: #4a4a5c !important; color: #b0b0c0 !important; border-color: #4a4a5c !important; }
html body.cfy-pagpal-pink-magenta[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child).disabled .page-link { background: #8e8e9e !important; border-color: #8e8e9e !important; }
html body.cfy-pagpal-indigo-cyan[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link { background: #374151 !important; color: #fff !important; border-color: #374151 !important; box-shadow: none !important; }
html body.cfy-pagpal-indigo-cyan[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link:is(:hover, :focus-visible) { background: #475161 !important; color: #fff !important; border-color: #475161 !important; }
html body.cfy-pagpal-indigo-cyan[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link { background: #06b6d4 !important; border-color: #06b6d4 !important; }
html body.cfy-pagpal-indigo-cyan[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link:is(:hover, :focus-visible) { background: #0891b2 !important; border-color: #0891b2 !important; }
html body.cfy-pagpal-indigo-cyan[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.active .page-link { background: #6366f1 !important; color: #fff !important; border-color: #6366f1 !important; box-shadow: none !important; }
html body.cfy-pagpal-indigo-cyan[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.disabled .page-link { background: #374151 !important; color: #9ca3af !important; border-color: #374151 !important; }
html body.cfy-pagpal-indigo-cyan[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child).disabled .page-link { background: #6b7280 !important; border-color: #6b7280 !important; }
html body.cfy-pagpal-black-grey[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link { background: #212121 !important; color: #fafafa !important; border-color: #212121 !important; box-shadow: none !important; }
html body.cfy-pagpal-black-grey[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-link:is(:hover, :focus-visible) { background: #333333 !important; color: #fafafa !important; border-color: #333333 !important; }
html body.cfy-pagpal-black-grey[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link { background: #000000 !important; border-color: #000000 !important; }
html body.cfy-pagpal-black-grey[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child):not(.disabled):not(.active) .page-link:is(:hover, :focus-visible) { background: #1a1a1a !important; border-color: #1a1a1a !important; }
html body.cfy-pagpal-black-grey[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.active .page-link { background: #555555 !important; color: #fafafa !important; border-color: #555555 !important; box-shadow: none !important; }
html body.cfy-pagpal-black-grey[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) .page-item.disabled .page-link { background: #181818 !important; color: #7e7e7e !important; border-color: #181818 !important; }
html body.cfy-pagpal-black-grey[class*="cfy-pagpal-"] :is(#vignettes-pagination-top, #vignettes-pagination-bottom, #publisher-pagination-top, #publisher-pagination-bottom):not(#cfy-b1) :is(.page-item:first-child, .page-item:last-child).disabled .page-link { background: #757575 !important; border-color: #757575 !important; }
/* <<< palettes de pagination (généré) */

/* ═══ commercify_wall_view_effects.css ═══ */
/* Fichier généré, ne pas éditer à la main.
   Étape isolée et annulable : retirer l'import de cette feuille puis régénérer le bundle.
   Cadres et effets au survol des vues Liste, Carte et Galerie : mêmes règles que les vignettes, portées sur
   les annonces des vues. */
/* Cadre : biseau */
body.cfy-thumbframe-biseau .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-color: var(--cfy-t-line-2); }
/* Cadre : brutal */
body.cfy-thumbframe-brutal .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border: 2px solid var(--cfy-t-ink); }
/* Cadre : capsule */
body.cfy-thumbframe-capsule .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-radius: 16px !important; border: 2px solid rgba(var(--cfy-t-accent-rgb), .55); }
/* Cadre : cartouche */
body.cfy-thumbframe-cartouche .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-color: var(--cfy-t-line-2); }
/* Cadre : chanfrein */
body.cfy-thumbframe-chanfrein .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-color: var(--cfy-t-accent); clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px); }
/* Cadre : degrade */
body.cfy-thumbframe-degrade .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-color: transparent; }
/* Cadre : double */
body.cfy-thumbframe-double .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-color: rgba(var(--cfy-t-accent-rgb), .45); }
/* Cadre : doux */
body.cfy-thumbframe-doux .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-radius: 10px !important; border-color: var(--cfy-t-line); }
/* Cadre : equerres */
body.cfy-thumbframe-equerres .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-color: var(--cfy-t-line); }
/* Cadre : filet */
body.cfy-thumbframe-filet .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-color: var(--cfy-t-line-2); }
/* Cadre : galerie */
body.cfy-thumbframe-galerie .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-color: var(--cfy-t-line-2); }
/* Cadre : passe */
body.cfy-thumbframe-passe .cfy-wv .cfy-wv-cell:not(.cfy-no-frame) > .cfy-wv-item { border-color: var(--cfy-t-line-2); }
/* Survol : 3d */
body.cfy-thumbhover-3d:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within) { border-color: var(--cfy-t-accent) !important; }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-3d:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item { transition: transform .35s cubic-bezier(.19, 1, .22, 1), box-shadow .35s cubic-bezier(.19, 1, .22, 1) !important; } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-3d:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within):not(.selected) { box-shadow: 0 24px 46px rgba(15, 23, 42, .22) !important; } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-3d:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item::after { content: ""; position: absolute; inset: -5px; z-index: -1; pointer-events: none; background: rgba(var(--cfy-t-fill-rgb), .3); border: 2px solid rgba(var(--cfy-t-fill-rgb), .6); opacity: 0; transform: scale(.95); transition: opacity .3s ease, transform .3s ease; } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-3d:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within)::after { opacity: 1; transform: scale(1.02); } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-3d:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item .cfy-wv-media img { transition: transform .4s ease, filter .4s ease !important; } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-3d:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within) .cfy-wv-media img { transform: scale(1.04) !important; filter: brightness(1.05) !important; } }
/* Survol : balayage */
body.cfy-thumbhover-balayage:not(#cfy-th) .cfy-wv .cfy-wv-item::after { content: ""; position: absolute; inset: 0; z-index: 6; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 0 2px var(--cfy-t-accent); opacity: 0; }
body.cfy-thumbhover-balayage:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within)::after { opacity: 1; }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-balayage:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item .cfy-wv-media::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(105deg, transparent 34%, rgba(255, 255, 255, .5) 48%, rgba(var(--cfy-t-fill-rgb), .35) 54%, transparent 66%); transform: translateX(-110%); } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-balayage:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within) .cfy-wv-media::after { transform: translateX(110%); transition: transform .75s cubic-bezier(.3, .6, .2, 1); } }
/* Survol : levitation */
body.cfy-thumbhover-levitation:not(#cfy-th) .cfy-wv .cfy-wv-item::after { content: ""; position: absolute; inset: 0; z-index: 6; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 0 2px var(--cfy-t-accent); opacity: 0; }
body.cfy-thumbhover-levitation:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within)::after { opacity: 1; }
body.cfy-thumbhover-levitation:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within):not(.selected) { box-shadow: 0 4px 0 var(--cfy-t-fill) !important; }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-levitation:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item { transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s ease !important; } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-levitation:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within) { transform: translateY(-6px) !important; } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-levitation:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within):not(.selected) { box-shadow: 0 18px 28px -16px rgba(var(--cfy-t-fill-rgb), .75), 0 6px 12px -6px rgba(0, 0, 0, .3) !important; } }
/* Survol : lisere */
body.cfy-thumbhover-lisere:not(#cfy-th) .cfy-wv .cfy-wv-item::after { content: ""; position: absolute; inset: 0; z-index: 6; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 0 3px var(--cfy-t-accent); opacity: 0; }
body.cfy-thumbhover-lisere:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within)::after { opacity: 1; }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-lisere:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item::after { transition: opacity .15s ease; } }
/* Survol : loupe */
body.cfy-thumbhover-loupe:not(#cfy-th) .cfy-wv .cfy-wv-item::after { content: ""; position: absolute; inset: 0; z-index: 6; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 0 2px var(--cfy-t-accent); opacity: 0; }
body.cfy-thumbhover-loupe:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within)::after { opacity: 1; }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-loupe:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item .cfy-wv-media img { transition: transform .5s cubic-bezier(.2, .7, .2, 1) !important; } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-loupe:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within) .cfy-wv-media img { transform: scale(1.08) !important; } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-loupe:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item .cfy-wv-media::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0; background: linear-gradient(to top, rgba(0, 0, 0, .3), transparent 45%); box-shadow: inset 0 -3px 0 var(--cfy-t-fill); transition: opacity .3s ease; } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-loupe:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within) .cfy-wv-media::after { opacity: 1; } }
/* Survol : projecteur */
body.cfy-thumbhover-projecteur:not(#cfy-th) .cfy-wv .cfy-wv-item::after { content: ""; position: absolute; inset: 0; z-index: 6; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 0 2px var(--cfy-t-accent); opacity: 0; }
body.cfy-thumbhover-projecteur:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within)::after { opacity: 1; }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-projecteur:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item { transition: opacity .15s ease !important; } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-projecteur:not(.performance-mode):not(#cfy-th) .cfy-wv:has(.cfy-wv-cell:hover) .cfy-wv-cell:not(:hover) > .cfy-wv-item { opacity: .4; transition: opacity .22s ease .09s !important; } }
/* Survol : surlignage */
body.cfy-thumbhover-surlignage:not(#cfy-th) .cfy-wv .cfy-wv-item .cfy-wv-title { background: linear-gradient(var(--cfy-t-fill), var(--cfy-t-fill)) no-repeat left bottom / 100% 0; }
body.cfy-thumbhover-surlignage:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within) .cfy-wv-title { background-size: 100% 100%; color: var(--cfy-t-on-fill) !important; }
body.cfy-thumbhover-surlignage:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within) .cfy-wv-title a { color: inherit !important; }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-surlignage:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item .cfy-wv-title { transition: background-size .24s cubic-bezier(.2, .7, .2, 1), color .12s ease .06s; } }
/* Survol : tirette */
body.cfy-thumbhover-tirette:not(#cfy-th) .cfy-wv .cfy-wv-item::after { content: ""; position: absolute; inset: auto 0 0 0; height: 4px; z-index: 6; pointer-events: none; background: var(--cfy-t-fill); transform: scaleX(0); transform-origin: left center; }
[dir="rtl"] body.cfy-thumbhover-tirette:not(#cfy-th) .cfy-wv .cfy-wv-item::after { transform-origin: right center; }
body.cfy-thumbhover-tirette:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within)::after { transform: scaleX(1); }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-tirette:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item::after { transition: transform .28s cubic-bezier(.2, .7, .2, 1); } }
/* Survol : viseur */
body.cfy-thumbhover-viseur:not(#cfy-th) .cfy-wv .cfy-wv-item::after { content: ""; position: absolute; inset: 0; z-index: 6; pointer-events: none; opacity: 0; --q: var(--cfy-t-accent); --l: 18px; --e: 3px; background: linear-gradient(var(--q) 0 0) top left / var(--l) var(--e), linear-gradient(var(--q) 0 0) top left / var(--e) var(--l), linear-gradient(var(--q) 0 0) top right / var(--l) var(--e), linear-gradient(var(--q) 0 0) top right / var(--e) var(--l), linear-gradient(var(--q) 0 0) bottom left / var(--l) var(--e), linear-gradient(var(--q) 0 0) bottom left / var(--e) var(--l), linear-gradient(var(--q) 0 0) bottom right / var(--l) var(--e), linear-gradient(var(--q) 0 0) bottom right / var(--e) var(--l); background-repeat: no-repeat; box-shadow: inset 0 0 0 1px rgba(var(--cfy-t-accent-rgb), .35); }
body.cfy-thumbhover-viseur:not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within)::after { opacity: 1; }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-viseur:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item::after { transform: scale(.92); transition: opacity .16s ease, transform .26s cubic-bezier(.3, 1.5, .5, 1); } }
@media (prefers-reduced-motion: no-preference) { body.cfy-thumbhover-viseur:not(.performance-mode):not(#cfy-th) .cfy-wv .cfy-wv-item:is(:hover, :focus-within)::after { transform: scale(1); } }

/* ═══ commercify_vignette_nautile.css ═══ */
/* ═══════════════════════════════════════════════════════════════════════════════════════
   Vignette « Nautile » — proportions du nombre d'or (φ = 1,618)
   Vignette carrée W×W : photo W×W/φ (rectangle d'or) + texte W×W/φ² (rectangle complémentaire).
   Une seule échelle d'espacement : 5 · 8 · 13 · 21 · 34 px.
   Quand le texte ne tient pas dans W/φ² (vignette étroite), la vignette s'allonge juste assez ;
   toutes les vignettes d'une rangée gardent la même hauteur (titre réservé sur 2 lignes).
   Le contenu du recto passe dans une face avant au premier retournement : les règles visent les deux.
   ═══════════════════════════════════════════════════════════════════════════════════════ */

/* ── Cellule de grille : la hauteur de la rangée vient des cartes ───────────────────────── */
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ── Carte : carrée, s'allonge si le texte ne tient pas (overflow: clip garde ce minimum) ─ */
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    flex: 1 0 auto !important; /* remplit la cellule étirée par la rangée, jamais moins que le carré */
    min-height: auto !important;
    overflow: clip !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ── Banners : même hauteur que la rangée ; sur smartphone (seules sur leur rangée), réglage existant ── */
html body .vignettes-container-mini-custom > .vignette-item.vignette-ad-1x1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    aspect-ratio: 1 / 1 !important;
    align-self: stretch !important;
    height: auto !important;
    min-height: 0 !important;
}
@media (min-width: 768px) {
    html body .vignettes-container-mini-custom > .vignette-item:is(.vignette-ad-2x1, .vignette-ad-1x2):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        align-self: stretch !important;
        height: auto !important;
        min-height: 0 !important;
    }
}
html body .vignettes-container-mini-custom > .vignette-item.vignette-ad .product-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    min-height: 0 !important;
    height: 100% !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-card :is(.product-card-flip-container, .product-card-flip-inner):not(#cfy-b1):not(#cfy-b2) {
    height: 100% !important;
    flex: 1 1 auto;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-card .product-card-flip-front:not(#cfy-b1):not(#cfy-b2) {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Photo : rectangle d'or, image entière à toutes les largeurs */
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .product-thumb:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    order: 0;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1.6180339887 / 1 !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-thumb > a:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    display: block !important;
    height: 100% !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-thumb :is(img.card-img-top, video):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
}

/* Bandeau du lieu : 21px, une ligne ; seule la ville se raccourcit */
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-thumb .location-overlay:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    height: 21px !important;
    min-height: 0 !important;
    padding: 0 8px !important;
    display: flex !important;
    align-items: center !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-thumb .location-overlay-content:not(#cfy-b1):not(#cfy-b2) {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-thumb .location-overlay-left:not(#cfy-b1):not(#cfy-b2) {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-thumb .location-overlay-right:not(#cfy-b1):not(#cfy-b2) {
    flex: 1 1 0 !important; /* la ville cède en premier : pays et code postal restent entiers */
    min-width: 0 !important;
    margin-inline-start: auto !important;
    text-align: end !important;
    overflow: hidden !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-thumb .location-overlay-right :is(.location-overlay-text, .location-city):not(#cfy-b1):not(#cfy-b2) {
    display: block !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-thumb :is(.location-flag-link, .location-flag-wrapper, .location-flag):not(#cfy-b1):not(#cfy-b2) {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    margin: 0 !important;
}

/* ── Haut de la photo : avatar et boutons sur une même ligne, à 8px des bords ──────────── */
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .product-badges:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    top: 8px !important;
    left: 8px !important;
    margin: 0 !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-badges :is(.user-avatar, .user-avatar img):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > :is(.location-toggle, .vignette-flip-toggle):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    top: 8px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .vignette-flip-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    right: 8px !important;
    left: auto !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    right: 47px !important;
    left: auto !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > :is(.location-toggle, .vignette-flip-toggle):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) svg {
    width: 16px !important;
    height: 16px !important;
}
/* Panneau catégories / rayons du bouton + : sous la ligne du haut */
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .location-info:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    top: 47px !important;
}

/* ── Texte : prix, titre sur 2 lignes réservées, note et vues ; même surface que le titre ─ */
html body[class*="cfy-ht-"] .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > :is(div.bg-dark, ul.product-tags, h5.product-title):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background: color-mix(in srgb, var(--cfy-t-fill) 5%, var(--cfy-t-surface)) !important;
    border: 0 !important;
    margin: 0 !important;
}
/* Prix */
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > div.bg-dark:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    order: 1;
    flex: 0 0 auto !important;
    padding: 5px 8px 0 !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .cfy-price-row:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    gap: 5px !important;
    margin: 0 !important;
    min-height: 21px !important;
    height: auto !important;
    flex-wrap: wrap !important; /* badges jamais coupés : la rangée s'allonge si besoin */
    overflow: visible !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .cfy-price-row .badge:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    height: 21px !important;
    padding: 3px 5px !important;
    margin: 0 !important;
    font-size: var(--cfy-fs-caption, 12px) !important;
    line-height: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
}
/* « Prix fixe », « Par mois »… : pastilles claires liserées d'accent (elles étaient sur bande sombre) */
html body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-card .price-badge:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(:hover):not(:focus-visible) {
    background: var(--cfy-t-accent-soft) !important;
    border: 1px solid rgba(var(--cfy-t-accent-rgb), .55) !important;
    color: var(--cfy-t-ink-2) !important;
}
/* Titre */
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > h5.product-title:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    order: 2;
    flex: 1 1 auto !important;
    min-height: calc(5px + 2 * 1.3em) !important;
    padding: 5px 8px 0 !important;
    font-size: var(--cfy-fs-md, 16px) !important;
    line-height: 1.3 !important;
    overflow: hidden !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) h5.product-title > a:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    overflow: hidden !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    height: 2.6em !important; /* toujours 2 lignes réservées : rangées de hauteur égale */
    max-height: 2.6em !important;
}
/* Note et vues : dernière ligne, case de sélection au bout */
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > ul.product-tags:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    order: 3;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 5px 34px 5px 8px !important;
    line-height: 21px !important;
    justify-content: flex-start !important;
    gap: 13px !important;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-card :is(.product-tags a.score-display, .product-tags a.catalog-link-scoring, .view-count, .product-tags.rating > span):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):not(#cfy-b5) {
    color: var(--cfy-t-muted) !important;
    font-size: var(--cfy-fs-caption, 12px) !important;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-card :is(a.score-display.catalog-link-scoring:hover, a.score-display.catalog-link-scoring:focus-visible):not(#cfy-b1):not(#cfy-b2) {
    color: var(--cfy-t-accent) !important;
}
html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .vignette-checkbox:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    right: 8px !important;
    bottom: 5px !important;
    left: auto !important;
    top: auto !important;
}

/* ── Tablette et smartphone : cibles tactiles de 40px ──────────────────────────────────── */
@media (max-width: 1199.98px) {
    html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) .product-badges :is(.user-avatar, .user-avatar img):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
    }
    html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > :is(.location-toggle, .vignette-flip-toggle):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
    }
    html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        right: 53px !important;
    }
    html body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .location-info:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        top: 53px !important;
    }
}

/* ── Langues de droite à gauche : miroir ───────────────────────────────────────────────── */
html[dir="rtl"] body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .product-badges:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    left: auto !important;
    right: 8px !important;
}
html[dir="rtl"] body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .vignette-flip-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    right: auto !important;
    left: 8px !important;
}
html[dir="rtl"] body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    right: auto !important;
    left: 47px !important;
}
html[dir="rtl"] body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .vignette-checkbox:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    right: auto !important;
    left: 8px !important;
}
html[dir="rtl"] body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > ul.product-tags:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    padding: 5px 8px 5px 34px !important;
}
@media (max-width: 1199.98px) {
    html[dir="rtl"] body .vignettes-container-mini-custom > .vignette-item:not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        left: 53px !important;
    }
}

/* ═══════════ Grand format (N colonnes et grille automatique) : la mini-vignette agrandie ═══════════
   Toutes les longueurs suivent la largeur de la carte : unité --nz-u = largeur intérieure / 283
   (283 px = intérieur de la mini en FHD), jamais moins de 1px. Même dessin, plus grand. */
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    container-type: inline-size;
    --nz-u: max(1px, calc(100cqi / 283));
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > ul.product-tags svg:not(#cfy-b1):not(#cfy-b2) {
    width: calc(12 * var(--nz-u)) !important;
    height: calc(12 * var(--nz-u)) !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-info :is(.badge, .badge-pill):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    font-size: calc(12 * var(--nz-u)) !important;
}

html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad):has(> .product-card):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    flex: 1 0 auto !important;
    min-height: auto !important;
    overflow: clip !important;
    display: flex !important;
    flex-direction: column !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-card :is(.product-card-flip-container, .product-card-flip-inner):not(#cfy-b1):not(#cfy-b2) {
    height: 100% !important;
    flex: 1 1 auto;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-card .product-card-flip-front:not(#cfy-b1):not(#cfy-b2) {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .product-thumb:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    flex: 1 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}
/* Photo : rectangle d'or */
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > a:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    order: 0;
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    aspect-ratio: 1.6180339887 / 1 !important;
    overflow: hidden !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > a :is(img.card-img-top, video):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
}
/* Bandeau du lieu : posé sur le bas de la photo, calc(21 * var(--nz-u)) */
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-overlay:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    order: 1;
    position: relative !important;
    z-index: 2;
    margin-top: calc(-21 * var(--nz-u)) !important;
    height: calc(21 * var(--nz-u)) !important;
    min-height: 0 !important;
    padding: 0 calc(8 * var(--nz-u)) !important;
    display: flex !important;
    align-items: center !important;
    background: rgba(0, 0, 0, .55) !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb .location-overlay-content:not(#cfy-b1):not(#cfy-b2) {
    display: flex !important; align-items: center !important; gap: calc(8 * var(--nz-u)) !important;
    width: 100% !important; min-width: 0 !important; flex-wrap: nowrap !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb .location-overlay-left:not(#cfy-b1):not(#cfy-b2) {
    display: flex !important; align-items: center !important; gap: calc(5 * var(--nz-u)) !important;
    flex: 0 1 auto !important; min-width: 0 !important; overflow: hidden !important; white-space: nowrap !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb .location-overlay-right:not(#cfy-b1):not(#cfy-b2) {
    flex: 1 1 0 !important; min-width: 0 !important; margin-inline-start: auto !important;
    text-align: end !important; overflow: hidden !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb .location-overlay-right :is(.location-overlay-text, .location-city):not(#cfy-b1):not(#cfy-b2) {
    display: block !important; max-width: 100% !important; white-space: nowrap !important;
    overflow: hidden !important; text-overflow: ellipsis !important; word-break: normal !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb :is(.location-flag-link, .location-flag-wrapper, .location-flag):not(#cfy-b1):not(#cfy-b2) {
    width: calc(13 * var(--nz-u)) !important; height: calc(13 * var(--nz-u)) !important; min-width: calc(13 * var(--nz-u)) !important; margin: 0 !important;
}
/* Haut de la photo */
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .product-badges:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { top: calc(8 * var(--nz-u)) !important; left: calc(8 * var(--nz-u)) !important; margin: 0 !important; }
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-badges :is(.user-avatar, .user-avatar img):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { width: calc(34 * var(--nz-u)) !important; height: calc(34 * var(--nz-u)) !important; min-width: calc(34 * var(--nz-u)) !important; }
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > :is(.location-toggle, .vignette-flip-toggle):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    top: calc(8 * var(--nz-u)) !important; width: calc(34 * var(--nz-u)) !important; height: calc(34 * var(--nz-u)) !important; min-width: calc(34 * var(--nz-u)) !important;
    padding: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .vignette-flip-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { right: calc(8 * var(--nz-u)) !important; left: auto !important; }
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { right: calc(47 * var(--nz-u)) !important; left: auto !important; }
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > :is(.location-toggle, .vignette-flip-toggle):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) svg { width: calc(16 * var(--nz-u)) !important; height: calc(16 * var(--nz-u)) !important; }
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-info:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { top: calc(47 * var(--nz-u)) !important; }
/* Texte */
html body[class*="cfy-ht-"] :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > :is(div.bg-dark, ul.product-tags, h5.product-title):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    background: color-mix(in srgb, var(--cfy-t-fill) 5%, var(--cfy-t-surface)) !important;
    border: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > div.bg-dark:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { order: 2; flex: 0 0 auto !important; padding: calc(5 * var(--nz-u)) calc(8 * var(--nz-u)) 0 !important; }
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .cfy-price-row:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    gap: calc(5 * var(--nz-u)) !important; margin: 0 !important; min-height: calc(21 * var(--nz-u)) !important; height: auto !important;
    flex-wrap: wrap !important; overflow: visible !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .cfy-price-row .badge:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    height: calc(21 * var(--nz-u)) !important; padding: calc(3 * var(--nz-u)) calc(5 * var(--nz-u)) !important; margin: 0 !important;
    font-size: calc(12 * var(--nz-u)) !important; line-height: calc(15 * var(--nz-u)) !important;
    display: inline-flex !important; align-items: center !important;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-card .price-badge:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(:hover):not(:focus-visible) {
    background: var(--cfy-t-accent-soft) !important;
    border: calc(1 * var(--nz-u)) solid rgba(var(--cfy-t-accent-rgb), .55) !important;
    color: var(--cfy-t-ink-2) !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > h5.product-title:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    order: 3; flex: 1 1 auto !important; min-height: calc(5 * var(--nz-u) + 2 * 1.3em) !important;
    padding: calc(5 * var(--nz-u)) calc(8 * var(--nz-u)) 0 !important; font-size: calc(16 * var(--nz-u)) !important;
    line-height: 1.3 !important; overflow: hidden !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) h5.product-title > a:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important; overflow: hidden !important; padding: 0 !important;
    line-height: 1.3 !important; height: 2.6em !important; max-height: 2.6em !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > ul.product-tags:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    order: 4; flex: 0 0 auto !important; height: auto !important; min-height: 0 !important;
    padding: calc(5 * var(--nz-u)) calc(34 * var(--nz-u)) calc(5 * var(--nz-u)) calc(8 * var(--nz-u)) !important; line-height: calc(21 * var(--nz-u)) !important;
    justify-content: flex-start !important; gap: calc(13 * var(--nz-u)) !important;
}
html body[class*="cfy-ht-"]:not(.cfy-no-theme) :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-card :is(.product-tags a.score-display, .product-tags a.catalog-link-scoring, .view-count, .product-tags.rating > span):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):not(#cfy-b5) {
    color: var(--cfy-t-muted) !important;
    font-size: calc(12 * var(--nz-u)) !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .vignette-checkbox:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    width: calc(21 * var(--nz-u)) !important; height: calc(21 * var(--nz-u)) !important; min-width: calc(21 * var(--nz-u)) !important;
    right: calc(8 * var(--nz-u)) !important; bottom: calc(5 * var(--nz-u)) !important; left: auto !important; top: auto !important; z-index: 3;
}
@media (max-width: 1199.98px) {
    html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-badges :is(.user-avatar, .user-avatar img):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { width: max(40px, calc(34 * var(--nz-u))) !important; height: max(40px, calc(34 * var(--nz-u))) !important; min-width: max(40px, calc(34 * var(--nz-u))) !important; }
    html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > :is(.location-toggle, .vignette-flip-toggle):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { width: max(40px, calc(34 * var(--nz-u))) !important; height: max(40px, calc(34 * var(--nz-u))) !important; min-width: max(40px, calc(34 * var(--nz-u))) !important; }
    html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { right: max(53px, calc(47 * var(--nz-u))) !important; }
    html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-info:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { top: max(53px, calc(47 * var(--nz-u))) !important; }
}
html[dir="rtl"] body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .product-badges:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { left: auto !important; right: calc(8 * var(--nz-u)) !important; }
html[dir="rtl"] body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .vignette-flip-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { right: auto !important; left: calc(8 * var(--nz-u)) !important; }
html[dir="rtl"] body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { right: auto !important; left: calc(47 * var(--nz-u)) !important; }
html[dir="rtl"] body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) :is(.product-card, .product-card-flip-front) > .vignette-checkbox:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { right: auto !important; left: calc(8 * var(--nz-u)) !important; }
html[dir="rtl"] body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > ul.product-tags:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { padding: calc(5 * var(--nz-u)) calc(8 * var(--nz-u)) calc(5 * var(--nz-u)) calc(34 * var(--nz-u)) !important; }
@media (max-width: 1199.98px) {
    html[dir="rtl"] body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-toggle:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { left: max(53px, calc(47 * var(--nz-u))) !important; }
}

html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > h5.product-title > a:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    font-size: calc(16 * var(--nz-u)) !important;
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .product-thumb > .location-overlay :is(.location-overlay-text, .location-link, .location-postalcode):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    font-size: calc(12 * var(--nz-u)) !important;
    line-height: 1.3 !important;
}
/* Grille automatique : montant et type de prix sur une seule rangée, comme la mini */
html body .cfy-vignettes-row > [class*="col-"]:not(.vignette-ad) .product-thumb > div.bg-dark:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: calc(5 * var(--nz-u)) !important;
}
html body .cfy-vignettes-row > [class*="col-"]:not(.vignette-ad) .product-thumb > div.bg-dark > div:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    display: contents !important;
}
html body .cfy-vignettes-row > [class*="col-"]:not(.vignette-ad) .product-thumb > div.bg-dark .badge:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    height: calc(21 * var(--nz-u)) !important;
    padding: calc(3 * var(--nz-u)) calc(5 * var(--nz-u)) !important;
    margin: 0 !important;
    font-size: calc(12 * var(--nz-u)) !important;
    line-height: calc(15 * var(--nz-u)) !important;
    display: inline-flex !important;
    align-items: center !important;
}
/* Banners du grand format : même hauteur que la rangée */
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]).vignette-ad-1x1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    aspect-ratio: 1 / 1 !important; align-self: stretch !important; height: auto !important; min-height: 0 !important;
}
@media (min-width: 768px) {
    html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):is(.vignette-ad-2x1, .vignette-ad-1x2):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        align-self: stretch !important; height: auto !important; min-height: 0 !important;
    }
}
html body :is(.vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]).vignette-ad .product-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    min-height: 0 !important; height: 100% !important;
}

/* Bandeau du lieu : texte de gauche sur une ligne, raccourci si la vignette est étroite */
html body :is(.vignettes-container-mini-custom > .vignette-item, .vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) .location-overlay-left > .location-overlay-text:not(#cfy-b1):not(#cfy-b2) {
    display: block !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
/* Titre : ne se comprime jamais sous ses 2 lignes (la vignette s'allonge) */
html body :is(.vignettes-container-mini-custom > .vignette-item, .vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) :is(.product-card, .product-card-flip-front, .product-thumb) > h5.product-title:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):not(#cfy-b5) {
    flex-shrink: 0 !important;
}

/* Smartphone : banners 2x1 et 1x2 en proportions d'or (plus de hauteur fixe qui étire les rangées) */
@media (max-width: 767.98px) {
    html body :is(.vignettes-container-mini-custom > .vignette-item, .vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]).vignette-ad-2x1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        aspect-ratio: 1.6180339887 / 1 !important;
        align-self: stretch !important;
        height: auto !important;
        min-height: 0 !important;
    }
    html body :is(.vignettes-container-mini-custom > .vignette-item, .vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]).vignette-ad-1x2:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        aspect-ratio: 1 / 1.6180339887 !important;
        align-self: stretch !important;
        height: auto !important;
        min-height: 0 !important;
    }
}
/* Note et vues toujours sur une ligne */
html body :is(.vignettes-container-mini-custom > .vignette-item, .vignettes-container-custom > .vignette-item, .cfy-vignettes-row > [class*="col-"]):not(.vignette-ad) ul.product-tags:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}
/* Grille automatique : la colonne a des marges internes, le carré se porte sur la carte de la banner 1x1 */
html body .cfy-vignettes-row > [class*="col-"].vignette-ad-1x1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    aspect-ratio: auto !important;
}
html body .cfy-vignettes-row > [class*="col-"].vignette-ad-1x1 > .product-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: stretch !important;
}
/* Grille automatique sous 1200px : la banner 2x1 est seule sur sa rangée, rapport 2:1 (hauteur ≈ une vignette) */
@media (max-width: 1199.98px) {
    html body .cfy-vignettes-row > [class*="col-"].vignette-ad-2x1 > .product-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
        aspect-ratio: 2 / 1 !important;
        height: auto !important;
        min-height: 0 !important;
    }
}
/* ═══════════ Grille automatique (grand format) : même mécanique que la mini ═══════════
   CSS Grid, mêmes écarts (17px entre rangées, écart réglable entre colonnes), plus de gouttières
   internes aux colonnes : cadres et survols s'appliquent comme sur la mini. Colonnes du grand format :
   1 (< 576px), 2, 3 (≥ 992px), 4 (≥ 1200px, FHD compris : la mini agrandie). */
html body .cfy-vignettes-layout.cfy-vignettes-row:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    --nz-cols: 1;
    display: grid !important;
    grid-template-columns: repeat(var(--nz-cols), minmax(0, 1fr)) !important;
    grid-auto-flow: row dense !important; /* une banner 2x1 qui ne tient pas en fin de rangée ne laisse pas de trou */
    gap: 0 var(--cfy-thumb-gap, 10px) !important; /* l'écart entre rangées vient de la marge basse de chaque colonne (17px) */
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}
@media (min-width: 576px) { html body .cfy-vignettes-layout.cfy-vignettes-row:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { --nz-cols: 2; } }
@media (min-width: 992px) { html body .cfy-vignettes-layout.cfy-vignettes-row:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { --nz-cols: 3; } }
@media (min-width: 1200px) { html body .cfy-vignettes-layout.cfy-vignettes-row:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { --nz-cols: 4; } }
html body .cfy-vignettes-layout.cfy-vignettes-row > [class*="col-"]:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Éléments vides du conteneur (ancre, conteneur hérité) : hors des cases de la grille */
html body .cfy-vignettes-layout.cfy-vignettes-row > :is(div.vignettes-container, p#anchorpublishers):not(#cfy-b1):not(#cfy-b2) {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
}
@media (min-width: 576px) {
    html body .cfy-vignettes-layout.cfy-vignettes-row > .vignette-ad-2x1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { grid-column: span 2 !important; }
}
html body .cfy-vignettes-layout.cfy-vignettes-row > .vignette-ad-1x2:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { grid-row: span 2 !important; }
/* Les colonnes gardent une marge interne horizontale d'une demi-gouttière (attribut style) : la carte déborde
   d'autant pour remplir la colonne, et le cadre de la colonne épouse la carte comme sur la mini. */
html body .cfy-vignettes-layout.cfy-vignettes-row > [class*="col-"] > .product-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    width: auto !important;
    align-self: stretch !important;
    margin-left: calc(var(--cfy-thumb-gap, 10px) / -2) !important;
    margin-right: calc(var(--cfy-thumb-gap, 10px) / -2) !important;
}
html body .cfy-vignettes-layout.cfy-vignettes-row > [class*="col-"].vignette-ad > .product-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
@media (max-width: 1199.98px) {
    html body .cfy-vignettes-layout.cfy-vignettes-row > [class*="col-"].vignette-ad-2x1:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):not(#cfy-b5) {
        aspect-ratio: auto !important;
        height: auto !important;
        min-height: 0 !important;
    }
    html body .cfy-vignettes-layout.cfy-vignettes-row > [class*="col-"].vignette-ad-2x1 > .product-card:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3):not(#cfy-b4):not(#cfy-b5) {
        flex: 1 1 0 !important;
    }
}
/* NAUTILE-END */

/* ═══ commercify_wall_view_liste_nautile.css ═══ */
/* ═══════════════════════════════════════════════════════════════════════════════════════
   Vue Liste « Nautile » — proportions du nombre d'or, dessin aligné sur la vignette
   - 2 ou 3 colonnes : photo : texte = 1 : φ ; prix, type, éditeur, note, vues et case réunis sur une seule
     barre en bas de l'annonce, sur toute sa largeur (la ligne du bas de la vignette).
   - 1 colonne : la colonne de droite garde sa place mais tient en trois lignes (prix et type, éditeur et note,
     case), au lieu d'une pile de six.
   - Densité (Hauteur des lignes) : compact 5px, confortable 8 / 13px, aéré 21px.
   ═══════════════════════════════════════════════════════════════════════════════════════ */

/* ── Densité ─────────────────────────────────────────────────────────────────────────── */
html body .cfy-wv--liste:not(#cfy-b1) {
    --nzl-pad: 13px;
    --nzl-gap: 8px;
}
html body .cfy-wv--liste.cfy-wvl-row-compact:not(#cfy-b1) {
    --nzl-pad: 5px;
    --nzl-gap: 5px;
}
html body .cfy-wv--liste.cfy-wvl-row-airy:not(#cfy-b1) {
    --nzl-pad: 21px;
    --nzl-gap: 13px;
}
html body .cfy-wv--liste .cfy-wvl-item:not(#cfy-b1):not(#cfy-b2) {
    padding-block: var(--nzl-pad);
    column-gap: 13px;
}
html body .cfy-wv--liste .cfy-wvl-body:not(#cfy-b1) {
    gap: var(--nzl-gap);
}

/* ── 1 colonne : colonne de droite en trois lignes (mur large seulement : en dessous, la colonne passe déjà sous le texte) ───────────────────────────────────── */
@container cfywall (min-width: 1100px) {
    html body .cfy-wv--liste .cfy-wvl-aside:not(#cfy-b1):not(#cfy-b2) {
        gap: var(--nzl-gap);
        padding-bottom: 0;
        justify-content: flex-start;
    }
    html body .cfy-wv--liste .cfy-wvl-aside .cfy-wv-price-box:not(#cfy-b1):not(#cfy-b2) {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: flex-end;
        gap: 5px 8px;
    }
    html body .cfy-wv--liste .cfy-wvl-who:not(#cfy-b1):not(#cfy-b2) {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 5px 13px;
    }
    html body .cfy-wv--liste .cfy-wvl-aside > .cfy-wv-check:not(#cfy-b1):not(#cfy-b2) {
        position: static !important;
        margin-top: auto;
        align-self: flex-end;
    }
}

/* ── 2 ou 3 colonnes : photo 1 / texte φ, barre d'informations en bas ─────────────────── */
@container cfywall (min-width: 1100px) {
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl-item:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.6180339887fr);
        grid-template-areas: "media body" "aside aside";
        gap: var(--nzl-gap) 13px;
        padding: var(--nzl-pad) 13px;
    }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl-media:not(#cfy-b1):not(#cfy-b2) { grid-area: media; align-self: start; }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl-body:not(#cfy-b1):not(#cfy-b2) { grid-area: body; }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl-aside:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        grid-area: aside;
        grid-column: 1 / -1;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 13px;
        min-height: 34px;
        padding: var(--nzl-gap) 0 0;
        border-left: 0;
        border-top: 1px solid var(--cfy-t-line);
        text-align: start;
    }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl-aside .cfy-wv-price-box:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: flex-start;
        gap: 5px 8px;
        min-width: 0;
        margin-right: auto;
    }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wv-price:not(#cfy-b1):not(#cfy-b2) {
        font-size: var(--cfy-fs-lg);
    }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl-who:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        flex-wrap: nowrap;
        justify-content: flex-end;
        flex: 0 0 auto;
    }
    html body .cfy-wv--liste:is(.cfy-wvl-cols-2, .cfy-wvl-cols-3) .cfy-wvl-aside > .cfy-wv-check:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        margin: 0;
        align-self: center;
    }
}

/* ═══ commercify_wall_view_carte_nautile.css ═══ */
/* ═══════════════════════════════════════════════════════════════════════════════════════
   Vue Carte « Nautile » — fiches de la liste aux proportions du nombre d'or, dessin de la vignette
   - Photo au format d'or (φ:1), largeurs de la suite de Fibonacci : petite 89, moyenne 144, grande 233px.
   - À côté de la photo : titre (2 lignes), prix, lieu — la hauteur d'une photo de 144px.
   - Sous la photo, sur toute la largeur : catégories, puis une barre note · vues · date · j'aime … @éditeur.
   - Liste étroite (< 420px) : photo de 89px, le lieu passe sur toute la largeur.
   - Partage liste / carte inchangé : 2/5 – 3/5 est déjà à +0,9 % de φ.
   ═══════════════════════════════════════════════════════════════════════════════════════ */
html body .cfy-wv--carte .cfy-wvm-list:not(#cfy-b1) {
    container: cfywvmlist / inline-size;
}
html body .cfy-wv--carte .cfy-wvm-item:not(#cfy-b1):not(#cfy-b2) {
    --nzc-ph: 144px;
    grid-template-columns: var(--nzc-ph) minmax(0, 1fr);
    grid-template-areas:
        "media title"
        "media price"
        "media loc"
        "chips chips"
        "bar   bar";
    grid-template-rows: auto auto 1fr auto auto;
    gap: 5px 13px;
    padding: 13px 42px 13px 13px;
}
html body .cfy-wv--carte.cfy-wvm-photo-small .cfy-wvm-item:not(#cfy-b1):not(#cfy-b2) { --nzc-ph: 89px; grid-template-columns: var(--nzc-ph) minmax(0, 1fr); }
html body .cfy-wv--carte.cfy-wvm-photo-large .cfy-wvm-item:not(#cfy-b1):not(#cfy-b2) { --nzc-ph: 233px; grid-template-columns: var(--nzc-ph) minmax(0, 1fr); }

html body .cfy-wv--carte .cfy-wvm-media:not(#cfy-b1):not(#cfy-b2) { grid-area: media; align-self: start; }
html body .cfy-wv--carte .cfy-wvm-media .cfy-wv-media:not(#cfy-b1):not(#cfy-b2) { aspect-ratio: 1.6180339887 / 1; }
html body .cfy-wv--carte .cfy-wvm-body:not(#cfy-b1):not(#cfy-b2) { display: contents; }
html body .cfy-wv--carte .cfy-wvm-body > .cfy-wv-title:not(#cfy-b1) { grid-area: title; margin: 0; }
html body .cfy-wv--carte .cfy-wvm-body > .cfy-wv-price-box:not(#cfy-b1) { grid-area: price; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 5px 8px; }
html body .cfy-wv--carte .cfy-wvm-body > .cfy-wv-loc:not(#cfy-b1) { grid-area: loc; align-self: start; }
html body .cfy-wv--carte .cfy-wvm-body > .cfy-wv-chips:not(#cfy-b1) { grid-area: chips; margin-top: 3px; }
/* Barre du bas : note, vues, date, j'aime à gauche ; éditeur à droite */
html body .cfy-wv--carte .cfy-wvm-body > .cfy-wvm-line:not(#cfy-b1) {
    grid-area: bar;
    gap: 5px 13px;
    padding-top: 5px;
    border-top: 1px solid var(--cfy-t-line);
    padding-right: 0;
}
html body .cfy-wv--carte .cfy-wvm-body > .cfy-wv-pub:not(#cfy-b1) {
    grid-area: bar;
    justify-self: end;
    align-self: end;
    padding-top: 5px;
    line-height: 21px;
}
html body .cfy-wv--carte .vignette-checkbox.cfy-wv-check:not(#cfy-b1):not(#cfy-b2) {
    inset: 13px 13px auto auto;
}

/* Liste étroite : photo 89px, le lieu sur toute la largeur */
@container cfywvmlist (max-width: 419.98px) {
    html body .cfy-wv--carte .cfy-wvm-item:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        --nzc-ph: 89px;
        grid-template-columns: var(--nzc-ph) minmax(0, 1fr);
        grid-template-areas:
            "media title"
            "media price"
            "loc   loc"
            "chips chips"
            "bar   bar";
        grid-template-rows: auto 1fr auto auto auto;
        padding: 8px 38px 8px 8px;
    }
    html body .cfy-wv--carte .cfy-wvm-body > .cfy-wv-pub:not(#cfy-b1):not(#cfy-b2) {
        grid-area: auto;
        grid-column: 1 / -1;
        justify-self: start;
        padding-top: 0;
    }
}

/* ═══ commercify_wall_view_galerie_nautile.css ═══ */
/* ═══════════════════════════════════════════════════════════════════════════════════════
   Vue Galerie « Nautile » — légende et en-tête au dessin de la vignette
   - Légende identique sur toutes les tuiles, dans l'ordre de la vignette : prix et type, titre (2 lignes
     réservées), note et vues. Les lignes tombent à la même hauteur d'une tuile à l'autre.
   - En-tête : avatar, case de sélection et bouton de retournement en 34px, alignés, à 8px des bords
     (40px sous 1200px, cibles tactiles).
   - Banner 2x1 : prend la hauteur de sa rangée (son format 2:1 sur deux colonnes et l'écart la faisait déborder).
   ═══════════════════════════════════════════════════════════════════════════════════════ */
html body .cfy-wv--galerie:not(#cfy-b1) { --nzg-btn: 34px; }
@media (max-width: 1199.98px) { html body .cfy-wv--galerie:not(#cfy-b1) { --nzg-btn: 40px; } }

/* ── En-tête ─────────────────────────────────────────────────────────────────────────── */
html body .cfy-wv--galerie .cfy-wvg-top:not(#cfy-b1):not(#cfy-b2) { align-items: center; gap: 5px; }
html body .cfy-wv--galerie .cfy-wvg-top .cfy-wv-av:not(#cfy-b1):not(#cfy-b2) {
    width: var(--nzg-btn);
    height: var(--nzg-btn);
    padding: 2px;
}
html body .cfy-wv--galerie .cfy-wvg-top .cfy-wv-av img:not(#cfy-b1):not(#cfy-b2) {
    width: calc(var(--nzg-btn) - 4px);
    height: calc(var(--nzg-btn) - 4px);
}
html body .cfy-wv--galerie .cfy-wvg-flip:not(#cfy-b1):not(#cfy-b2) {
    width: var(--nzg-btn);
    height: var(--nzg-btn);
}
html body .cfy-wv--galerie .vignette-checkbox.cfy-wv-check:not(#cfy-b1):not(#cfy-b2) {
    width: 21px;
    height: 21px;
    inset: calc(8px + (var(--nzg-btn) - 21px) / 2) calc(8px + var(--nzg-btn) + 8px) auto auto;
}

/* ── Légende ─────────────────────────────────────────────────────────────────────────── */
html body .cfy-wv--galerie .cfy-wvg-cap:not(#cfy-b1):not(#cfy-b2) {
    grid-template-areas: "price" "title" "score";
    gap: 5px;
    padding: 34px 13px 8px;
}
html body .cfy-wv--galerie .cfy-wvg-cap-row:not(#cfy-b1):not(#cfy-b2) { display: contents; }
html body .cfy-wv--galerie .cfy-wvg-cap .cfy-wv-price-box:not(#cfy-b1):not(#cfy-b2) {
    grid-area: price;
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}
html body .cfy-wv--galerie .cfy-wvg-cap .cfy-wv-title:not(#cfy-b1):not(#cfy-b2) {
    grid-area: title;
    margin: 0;
    line-height: 1.3;
    min-height: 2.6em;
}
html body .cfy-wv--galerie .cfy-wvg-cap .cfy-wv-score:not(#cfy-b1):not(#cfy-b2) {
    grid-area: score;
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 21px;
}
/* Réglages « texte sur la photo » : prix seul ou titre seul, l'espace réservé suit */
html body .cfy-wv--galerie.cfy-wvg-cap-price .cfy-wvg-front .cfy-wvg-cap:not(#cfy-b1):not(#cfy-b2) { grid-template-areas: "price" "score"; }
html body .cfy-wv--galerie.cfy-wvg-cap-title .cfy-wvg-front .cfy-wvg-cap:not(#cfy-b1):not(#cfy-b2) { grid-template-areas: "title"; }
html body .cfy-wv--galerie.cfy-wvg-cap-title .cfy-wvg-front .cfy-wvg-cap .cfy-wvg-cap-row > *:not(#cfy-b1):not(#cfy-b2) { display: none; }

/* ── Banner 2x1 : hauteur de la rangée (mur d'au moins 600px, où elle partage sa rangée avec des tuiles) ───────────────────────────────────────────────── */
@container cfywall (min-width: 600px) {
    html body .cfy-wv--galerie:not(.cfy-wvg-fixed-narrow):not(.cfy-wvg-fixed-one) .cfy-wvg > .cfy-wv-gcell--2x1:not(#cfy-b1):not(#cfy-b2) {
        aspect-ratio: auto;
        align-self: stretch;
        min-height: 0;
    }
    html body .cfy-wv--galerie:not(.cfy-wvg-fixed-narrow):not(.cfy-wvg-fixed-one) .cfy-wvg > .cfy-wv-gcell--2x1 > .cfy-wv-adslot:not(#cfy-b1):not(#cfy-b2) {
        width: 100%;
        height: 100%;
        max-height: none;
        aspect-ratio: auto;
    }
}

/* ═══ commercify_wall_nautile.css ═══ */
/* Mur « Nautile » — barre des catalogues de 65px à partir de 1200px (header 105 / 65 = φ). */
@media (min-width: 1200px) {
    html body .cfy-vignettes-pre-banner:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { padding-top: 12px !important; padding-bottom: 12px !important; min-height: 65px !important; }
}

/* ═══ commercify_page_annonce_nautile.css ═══ */
/* Page annonce « Nautile » — à partir de 1200px, colonne principale : colonne de décision = φ² (2,618 : 1),
   écart 34px, décision au moins 360px ; galerie au rapport φ² (≈ 502px de haut à 1920, comme avant).
   Une colonne (< 1200px) : galerie au format d'or φ:1. La hauteur fixe de 500px posée en attribut style
   sur chaque image de la galerie est remplacée par ces formats. */
@media (min-width: 1200px) {
    html body[class*="cfy-ht-"]:not(.page-group-dash):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-fa {
        grid-template-columns: minmax(0, 2.6180339887fr) minmax(360px, 1fr) !important;
        gap: 34px !important;
    }
    html body .cfy-fa-main .product-gallery > .slider-init:not(.slider-nav) .slider-item > .d-block:not(#cfy-b1) {
        height: auto !important;
        aspect-ratio: 2.6180339887 / 1;
    }
}
@media (max-width: 1199.98px) {
    html body .cfy-fa-main .product-gallery > .slider-init:not(.slider-nav) .slider-item > .d-block:not(#cfy-b1) {
        height: auto !important;
        aspect-ratio: 1.6180339887 / 1;
    }
}

/* ═══ commercify_fenetres_nautile.css ═══ */
/* Fenêtres « Nautile » — à partir de 1200px seulement ; tablette et smartphone inchangés.
   - En-tête et pied communs des grandes fenêtres : 89 / 55px (Fibonacci, 89 / 55 = φ) au lieu de 99 / 73.
   - Rectangles d'or : Langues (largeur / hauteur = φ), Options (φ), Mon mur (φ), Filtres (φ²), Bot IA (hauteur = φ × largeur).
   - Rail : contenu = 1 : φ³ (Options, Carte du monde). */
@media (min-width: 1200px) {
    /* En-tête / pied communs */
    html body .modal .dashboard-modal-header:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3),
    html body #mappemonde .dashboard-modal-header:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        padding-top: 17px !important;
        padding-bottom: 17px !important;
        min-height: 0 !important;
    }
    html body .modal .modal-footer.dashboard-modal-footer:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3),
    html body #mappemonde .modal-footer.dashboard-modal-footer:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        padding-top: 7px !important;
        padding-bottom: 7px !important;
        min-height: 0 !important;
    }
    html body .modal .modal-footer.dashboard-modal-footer > *:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { margin-top: 0 !important; margin-bottom: 0 !important; }

    /* Langues : rectangle d'or couché */
    html body #languageModal .modal-dialog:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        width: min(1248px, 95vw, calc((100dvh - 40px) * 1.6180339887)) !important;
        max-width: none !important;
        max-height: none !important;
    }
    html body #languageModal .modal-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        aspect-ratio: 1.6180339887 / 1;
        height: auto !important;
        max-height: none !important;
        flex: 0 0 auto !important;
    }

    /* Options : rectangle d'or, rail au φ³ */
    html body #cfyCatbarPanelOptions:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        --nzf-h: min(760px, calc(100dvh - 52px));
        height: var(--nzf-h) !important;
        max-height: var(--nzf-h) !important;
        width: min(calc(var(--nzf-h) * 1.6180339887), calc(100vw - 16px)) !important;
    }
    html body #cfyCatbarPanelOptions .cfy-catbar-mega-body:not(#cfy-b1):not(#cfy-b2) { flex: 1 1 auto; min-height: 0; }
    html body #cfyCatbarPanelOptions .cfy-catbar-vnav:not(#cfy-b1):not(#cfy-b2) { flex: 0 0 calc(100% / 5.2360679775) !important; width: auto !important; }

    /* Mon mur : largeur = hauteur × φ */
    html body .cfy-mur-pop:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { width: 591px !important; }

    /* Filtres : largeur = hauteur × φ² */
    html body .cfy-fb-pop.cfy-fb-pop--3:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) { width: 864px !important; }

    /* Bot IA : hauteur = largeur × φ, la conversation prend la place */
    html body .cfy-assistant__panel:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        width: 400px !important;
        height: min(647px, calc(100dvh - 130px)) !important;
        max-height: none !important;
    }
    html body .cfy-assistant__panel .cfy-assistant__messages:not(#cfy-b1):not(#cfy-b2) { flex: 1 1 auto !important; min-height: 0; }

    /* Tous les catalogues : le rail garde sa largeur d'origine (un rail plus large serrait les cartes des devises et
       des langues). Les cartes remplissent la hauteur de leur rangée et la case « HyperProfil » est centrée, comme le compteur et « Jump ». */
    html body .cfy-catalog-navbar-mega .cfy-mm-hub :is(.cfy-mm-cards--cur, .cfy-mm-cards--lang) .cfy-mm-hpwrap > .cfy-mm-hpcheck:not(#cfy-b1):not(#cfy-b2) {
        top: 50%;
        transform: translateY(-50%);
    }
    html body .cfy-catalog-navbar-mega .cfy-mm-hub :is(.cfy-mm-cards--cur, .cfy-mm-cards--lang) .cfy-mm-hpwrap > .cfy-mm-card:not(#cfy-b1):not(#cfy-b2) {
        height: 100%;
    }

    /* Carte du monde : panneau latéral au φ³ (jamais sous 320px) */
    html body #mappemonde :is(.map-modal-main > .map-side, .map-legend.map-summary):not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        flex: 0 0 max(320px, calc(100vw / 5.2360679775)) !important;
        width: max(320px, calc(100vw / 5.2360679775)) !important;
        max-width: none !important;
    }
}

/* ═══ commercify_header_nautile.css ═══ */
/* Header « Nautile » — à partir de 1200px : plaque du logo = largeur de l'écran / (2φ + 1),
   donc chaque côté = plaque × φ à toutes les largeurs (avant : 1,37 à 1,54 selon les paliers). Logo à 78,6 % de la plaque (1/√φ, comme aujourd'hui). */
@media (min-width: 1200px) {
    html body .catalog-header.cfy-hr:not(#cfy-b1):not(#cfy-b2),
    html body .system-message-wrapper:not(#cfy-b1):not(#cfy-b2),
    html body .cfy-hmq:not(#cfy-b1):not(#cfy-b2) {
        --cfy-pr-w: calc(100vw / 4.2360679775);
        --cfy-pr-logo-h: calc(var(--cfy-pr-w) * 0.111);
    }
}

/* ═══ commercify_footer_nautile.css ═══ */
/* Footer « Nautile »
   - « Les autres catalogues (extrait) » retiré ; catalogues officiels en fin de section « Nos petites annonces repartent
     en bêta », sous les liens, en tuiles.
   - Banner 2x1 (format 2:1) à la place de la 1x1.
   - Grande largeur (conteneur ≥ 1500px) : 21 colonnes découpées en 13 / 8 (13 / 8 ≈ φ) :
     rangée 1 : marque 5, vidéo 8, chiffres 8 ; rangées 2 et 3 : liens et catalogues officiels 8 (sur les deux rangées),
     légal 13, puis pré-inscription 5 et banner 8 ; rangée 4 : informations complémentaires sur toute la largeur. */
footer.cfy-ftb .cfy-ftb-nav .cfy-ftb-cat-col {
    margin-top: 21px;
    padding-top: 21px;
    border-top: 1px solid var(--fb-line2);
}
footer.cfy-ftb .cfy-ftb-nav .cfy-ftb-cat-col > .cfy-ftb-h { margin-bottom: 13px; }
footer.cfy-ftb .cfy-ftb-nav .cfy-ftb-ocs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }

/* Banner 2x1 */
footer.cfy-ftb .cfy-ftb-ban:not(#cfy-b1) { align-self: center; }
footer.cfy-ftb .cfy-ftb-ban a:not(#cfy-b1) { aspect-ratio: 2 / 1; max-width: none; }

@container cfyfb (min-width: 1500px) {
    footer.cfy-ftb .cfy-ftb-grid:not(#cfy-b1) {
        grid-template-columns: repeat(21, minmax(0, 1fr));
        gap: 13px;
        grid-template-areas:
            "brand brand brand brand brand video video video video video video video video sth sth sth sth sth sth sth sth"
            "brand brand brand brand brand video video video video video video video video ads ads ads ads badge badge badge badge"
            "brand brand brand brand brand video video video video video video video video pub pub pub pub pub pub pub pub"
            "nav nav nav nav nav nav nav nav legal legal legal legal legal legal legal legal legal legal legal legal legal"
            "nav nav nav nav nav nav nav nav pre pre pre pre pre ban ban ban ban ban ban ban ban"
            "info info info info info info info info info info info info info info info info info info info info info";
    }
    footer.cfy-ftb.cfy-ftb--noban .cfy-ftb-grid:not(#cfy-b1) {
        grid-template-areas:
            "brand brand brand brand brand video video video video video video video video sth sth sth sth sth sth sth sth"
            "brand brand brand brand brand video video video video video video video video ads ads ads ads badge badge badge badge"
            "brand brand brand brand brand video video video video video video video video pub pub pub pub pub pub pub pub"
            "nav nav nav nav nav nav nav nav legal legal legal legal legal legal legal legal legal legal legal legal legal"
            "nav nav nav nav nav nav nav nav pre pre pre pre pre pre pre pre pre pre pre pre pre"
            "info info info info info info info info info info info info info info info info info info info info info";
    }
    footer.cfy-ftb .cfy-ftb-nav:not(#cfy-b1) { display: flex; flex-direction: column; }
    footer.cfy-ftb .cfy-ftb-nav .cfy-ftb-cat-col:not(#cfy-b1) { margin-top: auto; }
    footer.cfy-ftb .cfy-ftb-nav .cfy-ftb-lks:not(#cfy-b1) { margin-bottom: 21px; }
    footer.cfy-ftb .cfy-ftb-ban:not(#cfy-b1) { align-self: stretch; }
    footer.cfy-ftb .cfy-ftb-ban a:not(#cfy-b1) { height: 100%; }
    footer.cfy-ftb .cfy-ftb-pre:not(#cfy-b1) { display: flex; flex-direction: column; justify-content: space-between; }
    footer.cfy-ftb .cfy-ftb-lgs:not(#cfy-b1) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container cfyfb (min-width: 1024px) and (max-width: 1499px) {
    footer.cfy-ftb .cfy-ftb-pre:not(#cfy-b1) { display: flex; flex-direction: column; justify-content: space-between; }
    footer.cfy-ftb .cfy-ftb-grid:not(#cfy-b1) {
        grid-template-areas:
            "brand brand brand brand video video video video video video video video"
            "sth sth sth sth sth sth sth sth sth sth sth sth"
            "ads ads ads badge badge badge pub pub pub pub pub pub"
            "nav nav nav nav nav nav legal legal legal legal legal legal"
            "ban ban ban ban ban ban ban pre pre pre pre pre"
            "info info info info info info info info info info info info";
    }
    footer.cfy-ftb.cfy-ftb--noban .cfy-ftb-grid:not(#cfy-b1) {
        grid-template-areas:
            "brand brand brand brand video video video video video video video video"
            "sth sth sth sth sth sth sth sth sth sth sth sth"
            "ads ads ads badge badge badge pub pub pub pub pub pub"
            "nav nav nav nav nav nav legal legal legal legal legal legal"
            "pre pre pre pre pre pre pre pre pre pre pre pre"
            "info info info info info info info info info info info info";
    }
}
@container cfyfb (min-width: 600px) and (max-width: 1023px) {
    footer.cfy-ftb .cfy-ftb-grid:not(#cfy-b1) { grid-template-areas: "brand brand" "video video" "sth sth" "ads badge" "pub pub" "nav nav" "ban ban" "legal legal" "info info" "pre pre"; }
    footer.cfy-ftb.cfy-ftb--noban .cfy-ftb-grid:not(#cfy-b1) { grid-template-areas: "brand brand" "video video" "sth sth" "ads badge" "pub pub" "nav nav" "legal legal" "info info" "pre pre"; }
}
@container cfyfb (max-width: 599px) {
    footer.cfy-ftb .cfy-ftb-grid:not(#cfy-b1) { grid-template-areas: "brand" "video" "nav" "legal" "ban" "sth" "ads" "badge" "pub" "info" "pre"; }
    footer.cfy-ftb.cfy-ftb--noban .cfy-ftb-grid:not(#cfy-b1) { grid-template-areas: "brand" "video" "nav" "legal" "sth" "ads" "badge" "pub" "info" "pre"; }
    footer.cfy-ftb .cfy-ftb-ban a:not(#cfy-b1) { max-width: none; margin: 0; }
    footer.cfy-ftb .cfy-ftb-nav .cfy-ftb-ocs { grid-template-columns: minmax(0, 1fr); gap: 5px; }
    footer.cfy-ftb .cfy-ftb-nav .cfy-ftb-oc { flex-flow: row wrap; align-items: center; justify-content: flex-start; gap: 0 8px; min-height: 48px; padding: 8px 13px; text-align: start; }
    footer.cfy-ftb .cfy-ftb-nav .cfy-ftb-oc .cfy-ftb-oa { margin: 0 5px 0 0; }
}

/* ═══ commercify_modales_nautile.css ═══ */
/* modales « Nautile » : proportions du nombre d'or, à partir de 1200px seulement. */
@media (min-width: 1200px) {
    /* Export : hauteur au contenu ≈ 694px → largeur = hauteur × φ */
    html body #modalExportAds .modal-dialog:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        max-width: min(1123px, calc(100vw - 40px)) !important;
        width: 100% !important;
    }
    /* Liste des jeux : hauteur ≈ 560px → largeur = hauteur × φ */
    html body #gamesCommercifyModal .modal-dialog:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        max-width: min(906px, calc(100vw - 40px)) !important;
        width: 100% !important;
    }
    /* Appels à l'action visiteur (favoris, j'aime, message) : rectangle d'or couché */
    html body :is([id^="modal-bookmark-level1-"], [id^="modal-like-level1-"], [id^="modal-mail-level1-"]).commercify-modal .modal-dialog:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        max-width: 620px !important;
        width: 100% !important;
    }
    /* Détail du score : rectangle d'or debout */
    html body #scoreDetailsModal.commercify-modal .modal-dialog:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        max-width: 394px !important;
        width: 100% !important;
    }
    /* Signalement : trois colonnes, rapport φ² */
    html body [id^="modal-report-"].commercify-modal .modal-dialog:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        max-width: min(1309px, calc(100vw - 40px)) !important;
        width: 100% !important;
    }
}

/* Rectangle d'or debout : seulement si l'écran est assez haut pour l'afficher sans défilement interne. */
@media (min-width: 1200px) and (min-height: 960px) {
    /* Certification acheteur / vendeur, sponsoring */
    html body :is([id^="certificationModal-"], [id^="sellerCertificationModal-"]).commercify-modal .modal-dialog:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        max-width: 500px !important;
        width: 100% !important;
    }
    html body [id^="sponsorshipModal-"].commercify-modal .modal-dialog:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        max-width: 540px !important;
        width: 100% !important;
    }
}

/* Session connectée : « Changer d'éditeur » en rectangle d'or (largeur = hauteur × φ, grille des éditeurs sur toute la largeur),
   « Lanceur Commercify » en rectangle d'or (hauteur au contenu, largeur réglée). */
@media (min-width: 1200px) {
    html body #modalPublisherSwitch .modal-dialog:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        width: min(95vw, calc((100dvh - 40px) * 1.6180339887)) !important;
        max-width: none !important;
    }
    html body #modalPublisherSwitch .cfy-psw-pick:not(#cfy-b1):not(#cfy-b2) { max-width: none; }
    html body #modalInstallHomescreen .modal-dialog:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) {
        width: min(920px, calc(100vw - 40px)) !important;
        max-width: none !important;
    }
}

/* ═══ commercify_publisher_nautile.css ═══ */
/* publisher « Nautile » : proportions du nombre d'or (à partir de 1200px ; tablette et smartphone inchangés). */
@media (min-width: 1200px) {
    /* En-tête éditeur : bande de 89px, avatar de 55px */
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-typology .publisher-header-card > .card-inner {
        grid-template-columns: 55px minmax(0, 1fr) auto !important;
        column-gap: 21px !important;
        row-gap: 0 !important;
        padding: 16px 24px 14px !important;
    }
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-typology .publisher-header-card .publisher-avatar {
        width: 55px !important;
        height: 55px !important;
    }
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-typology .publisher-header-slogan-inline {
        margin-top: 3px !important;
    }

    /* Profil public : carte principale et zone à onglets aux espacements 21 / 34 */
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-index-typology > .card:not(.publisher-header-card) > .card-inner {
        padding: 21px !important;
    }
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-typology .cfy-pi-zone-row {
        margin-top: 34px !important;
    }

    /* Texte et illustration : partage φ : 1, écart 34 */
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-index-typology .publisher-profile {
        display: grid !important;
        grid-template-columns: minmax(0, 1.6180339887fr) minmax(0, 1fr) !important;
        gap: 34px !important;
        justify-content: stretch !important;
        align-items: start !important;
        margin-top: 34px !important;
        padding-top: 34px !important;
    }
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-index-typology .publisher-profile > :only-child {
        grid-column: 1 / -1 !important;
    }
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-index-typology .publisher-profile__body {
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-index-typology .publisher-profile__media {
        min-width: 0 !important;
        margin: 0 !important;
    }
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-index-typology .publisher-profile__img {
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
    }

    /* Catalogue vide : carte en rectangle d'or (728 × 450) */
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-typology .cfy-catalog-empty-state--publisher .row > div {
        flex: 0 0 auto !important;
        width: 756px !important;
        max-width: 100% !important;
    }
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-typology .cfy-catalog-empty-card--publisher {
        min-height: 450px !important;
        justify-content: center !important;
    }

    /* Pagination du catalogue : 21px sous le mur */
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-typology .publisher-pagination-wrap {
        margin-top: 21px !important;
    }
}

/* FHD et plus : profil 13 / 8 de la rangée, écart 34 */
@media (min-width: 1920px) {
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-typology .cfy-pi-zone-row {
        gap: 34px !important;
    }
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-typology .cfy-pi-zone-row > .cfy-pi-zone-col {
        flex: 0 0 calc((100% - 34px) * 0.6180339887) !important;
        width: calc((100% - 34px) * 0.6180339887) !important;
        max-width: calc((100% - 34px) * 0.6180339887) !important;
    }
    html body:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .page-publisher-typology .cfy-pi-zone-row > .cfy-pi-zone-future-content {
        flex: 0 0 calc((100% - 34px) * 0.3819660113) !important;
        width: calc((100% - 34px) * 0.3819660113) !important;
        max-width: calc((100% - 34px) * 0.3819660113) !important;
    }
}

/* ═══ commercify_dash_nautile.css ═══ */
/* dash « Nautile » : proportions du nombre d'or (tableau de bord uniquement). */

/* Listes (marque-pages, likes, vues, avis, annonces) : miniature d'annonce en rectangle d'or, recadrée. */
html body.page-group-dash.page-dash-bookmarks-typology .nk-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-bk-img,
html body.page-group-dash.page-dash-likes-typology .nk-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-bk-img,
html body.page-group-dash.page-dash-views-typology .nk-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-bk-img,
html body.page-group-dash.page-dash-publisher-ads-typology .nk-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-bk-img,
html body.page-group-dash.page-dash-reviews-typology:not(.cfy-rvv-d-galerie):not(.cfy-rvv-t-galerie):not(.cfy-rvv-s-galerie) .nk-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-bk-img {
  aspect-ratio: 1.6180339887 / 1 !important;
}

@media (min-width: 1200px) {
  /* En-tête des pages à liste : écart titre / tuiles de 21px. */
  html body.page-group-dash .nk-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-bk-hero .cfy-bk-stats {
    margin-top: 21px !important;
  }

  /* Messagerie : bandeau de titre de 55px. */
  html body.page-group-dash.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-cm-top {
    padding: 13px 21px 12px !important;
    min-height: 55px !important;
  }

  /* Profil public de l'éditeur : colonne d'identité / cartes en 1 : 2,618 (identité jamais sous 300px). */
  html body.page-group-dash.page-dash-publishers-typology .nk-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-pf-grid {
    grid-template-columns: minmax(300px, 1fr) minmax(0, 2.6180339887fr) !important;
  }
}

@media (min-width: 1600px) {
  /* Messagerie : rail des conversations = largeur / 5,236 (jamais sous 340px) ; fil / volet ≈ 4,236. */
  html body.page-group-dash.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-cm-app {
    grid-template-columns: max(340px, calc(100% / 5.2360679775)) minmax(0, 1fr) 300px !important;
  }
  html body.page-group-dash.page-dash-comm-typology .nk-content:not(#cfy-b1):not(#cfy-b2):not(#cfy-b3) .cfy-cm-app.is-side-closed {
    grid-template-columns: max(340px, calc(100% / 5.2360679775)) minmax(0, 1fr) !important;
  }
}

/* ═══ commercify_platform_nautile.css ═══ */
/* platform « Nautile » : proportions du nombre d'or (pages légales, plans et tarifs), à partir de 1200px.
   Partages : sommaire / lecture = 1 : φ², bandeau des plans = φ² : 1 ; espacements 13 · 21 · 34 · 55. */
@media (min-width: 1200px) {
/* Pages légales : sommaire 1 / lecture φ² (880px), bloc centré, avertissement aligné sur le bloc */
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-center:first-child { padding: 55px 34px !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .alert { box-sizing: border-box !important; max-width: 1271px !important; margin: 34px auto 0 !important; padding: 21px 34px !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-body { box-sizing: border-box !important; max-width: 1313px !important; margin: 0 auto !important; grid-template-columns: minmax(0, 1fr) minmax(0, 2.6180339887fr) !important; gap: 55px !important; padding: 34px 21px 21px !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-main { max-width: none !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec { margin-bottom: 55px !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .cfy-lg-sec:last-child { margin-bottom: 0 !important; }
html body[class*="cfy-ht-"] :is(.page-platform-terms-typology, .page-platform-privacy-typology, .page-platform-legal-typology):not(#cfy-b1):not(#cfy-b2) .card-body > .text-end { padding: 21px max(21px, calc((100% - 1271px) / 2)) !important; }

/* Plans : bandeau φ² / 1, sections 55, grilles 13, cartes 21 / 13 (cartes « à l’étude » déjà à 1,6 : écart et remplissages inchangés) */
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-hero-in { grid-template-columns: minmax(0, 2.6180339887fr) minmax(0, 1fr) !important; gap: 55px !important; padding-top: 55px !important; padding-bottom: 55px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-beta { padding: 21px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-sec { padding: 55px 0 !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-head { margin-bottom: 21px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-sec:not(#certifications) .cfy-pl-grid { gap: 13px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card:not(.cfy-pl-card--study) > .cfy-pl-card-hd { padding: 21px 21px 13px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card:not(.cfy-pl-card--study) > .cfy-pl-card-bd { padding: 13px 21px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-card:not(.cfy-pl-card--study) > .cfy-pl-card-ft { padding: 0 21px 21px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-facts { gap: 13px 34px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-band { gap: 34px !important; padding: 34px !important; }
html body[class*="cfy-ht-"] .page-platform-plans-typology:not(#cfy-b1):not(#cfy-b2) .cfy-pl-soon { padding: 13px 21px !important; }
}

/* ═══ commercify_theme_scrollbar.css ═══ */
/* Barre de défilement de la page aux couleurs du thème (ordinateur) : rail neutre, partie déjà parcourue
   teintée, curseur plein avec poignée. Tokens lus sur <html> (classes cfy-root-*). Firefox : deux couleurs
   (curseur, rail) ; barres flottantes (Firefox Linux / Windows 11) : témoin de position .cfy-sbw, même
   épaisseur, place réservée à droite, aplats unis, seul transform bouge au défilement. */
@media (min-width: 1200px) and (pointer: fine) {
    html { --cfy-sb-w: 28px; }

    html::-webkit-scrollbar { width: var(--cfy-sb-w); height: var(--cfy-sb-w); background: var(--cfy-t-surface-3); }
    html::-webkit-scrollbar-track-piece:start { background: color-mix(in srgb, var(--cfy-t-fill) 34%, var(--cfy-t-surface-3)); box-shadow: inset 1px 0 0 var(--cfy-t-line-2); }
    html::-webkit-scrollbar-track-piece:end { background: var(--cfy-t-surface-3); box-shadow: inset 1px 0 0 var(--cfy-t-line-2); }
    html::-webkit-scrollbar-thumb {
        min-height: 56px;
        border-top: 3px solid var(--cfy-t-fill-lo);
        border-bottom: 3px solid var(--cfy-t-fill-lo);
        background: repeating-linear-gradient(180deg, color-mix(in srgb, var(--cfy-t-on-fill) 80%, transparent) 0 2px, transparent 2px 5px) center / 50% 13px no-repeat, var(--cfy-t-fill);
    }
    html::-webkit-scrollbar-thumb:horizontal {
        min-width: 56px;
        border: 0;
        border-left: 3px solid var(--cfy-t-fill-lo);
        border-right: 3px solid var(--cfy-t-fill-lo);
        background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--cfy-t-on-fill) 80%, transparent) 0 2px, transparent 2px 5px) center / 13px 50% no-repeat, var(--cfy-t-fill);
    }
    html::-webkit-scrollbar-thumb:hover { background-color: var(--cfy-t-fill-hi); }
    html::-webkit-scrollbar-corner { background: var(--cfy-t-surface-3); }

    /* Chromium ignore tout ::-webkit-scrollbar dès que scrollbar-color s'applique : réservé aux autres moteurs */
    @supports not selector(::-webkit-scrollbar) {
        html { scrollbar-color: var(--cfy-t-fill) var(--cfy-t-surface-3); scrollbar-width: auto; }
    }

    html.cfy-sbw-on { padding-right: var(--cfy-sb-w); }
    html.cfy-sbw-on .cfy-sbw { display: block; }
}
.cfy-sbw { display: none; position: fixed; top: 0; right: 0; bottom: 0; width: var(--cfy-sb-w, 28px); z-index: 1045; pointer-events: none; contain: strict; background: var(--cfy-t-surface-3); border-left: 1px solid var(--cfy-t-line-2); }
.cfy-sbw-read { position: absolute; left: 0; right: 0; top: 0; height: 100%; transform-origin: 0 0; transform: scaleY(0); background: color-mix(in srgb, var(--cfy-t-fill) 34%, var(--cfy-t-surface-3)); }
.cfy-sbw-thumb { position: absolute; left: 2px; right: 2px; top: 0; height: 56px; background: var(--cfy-t-fill); transform: translate3d(0, 0, 0); }

/* ═══ commercify_transactions.css ═══ */
/* Transactions : zone de paiement de la fiche annonce, fenêtre de paiement, page « Mes transactions ». */
/* Couleurs par tokens du thème, angles droits, Inter, espacements 3 · 5 · 8 · 13 · 21 · 34 · 55 · 89. */

.cfy-tx {
    --tx-ok: var(--cfy-tx-success, #12633b);
    --tx-ko: var(--cfy-tx-danger, #b42318);
    --tx-warn: var(--cfy-tx-warning, #7a4700);
    --tx-info: var(--cfy-t-accent);
    --tx-ok-bg: color-mix(in srgb, var(--tx-ok) 12%, var(--cfy-t-surface));
    --tx-ko-bg: color-mix(in srgb, var(--tx-ko) 12%, var(--cfy-t-surface));
    --tx-warn-bg: color-mix(in srgb, var(--tx-warn) 14%, var(--cfy-t-surface));
    --tx-info-bg: color-mix(in srgb, var(--cfy-t-accent) 10%, var(--cfy-t-surface));
    font-family: var(--cfy-font-family, Inter, sans-serif);
    color: var(--cfy-t-ink);
    font-size: var(--cfy-fs-base);
    line-height: var(--cfy-lh-body, 1.5);
}
.cfy-tx *, .cfy-tx *::before, .cfy-tx *::after { box-sizing: border-box; border-radius: 0 !important; }
.cfy-tx [hidden] { display: none !important; }

/* ---------- zone de paiement de la fiche ---------- */
.cfy-tx-box { display: flex; flex-direction: column; gap: 13px; margin: 13px 0 21px; padding: 13px; background: var(--cfy-t-surface); border: 1px solid var(--cfy-t-line); }
.cfy-tx-sim { font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); letter-spacing: var(--cfy-ls-caps, .06em); text-transform: uppercase; color: var(--tx-warn); }
.cfy-tx-sim--paypal { display: flex; align-items: center; gap: var(--cfy-sp-2, 8px); color: var(--tx-ok); }
.cfy-tx-sim--paypal svg { flex: none; }
.cfy-tx-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; }
.cfy-tx-row > .cfy-tx-btn { flex: 1 1 220px; }

.cfy-tx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 8px 21px;
    font: inherit; font-size: var(--cfy-fs-sm); font-weight: var(--cfy-fw-semibold); line-height: var(--cfy-lh-snug, 1.3); text-align: center;
    background: var(--cfy-t-surface); color: var(--cfy-t-ink-2); border: 1px solid var(--cfy-t-line-2); cursor: pointer; text-decoration: none; }
.cfy-tx-btn:hover, .cfy-tx-btn:focus-visible { border-color: var(--cfy-t-accent); color: var(--cfy-t-accent); }
.cfy-tx-btn svg { width: 16px; height: 16px; flex: none; }
.cfy-tx-btn--primary { background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo)); color: var(--cfy-t-on-fill); border-color: var(--cfy-t-fill-lo); }
.cfy-tx-btn--primary:hover, .cfy-tx-btn--primary:focus-visible { color: var(--cfy-t-on-fill); border-color: var(--cfy-t-fill-lo); filter: brightness(1.05); }
.cfy-tx-btn--warn { background: var(--tx-warn-bg); color: var(--tx-warn); border-color: color-mix(in srgb, var(--tx-warn) 55%, transparent); }
.cfy-tx-btn--warn:hover, .cfy-tx-btn--warn:focus-visible { color: var(--tx-warn); border-color: var(--tx-warn); }
.cfy-tx-btn--danger { background: var(--tx-ko-bg); color: var(--tx-ko); border-color: color-mix(in srgb, var(--tx-ko) 50%, transparent); }
.cfy-tx-btn--danger:hover, .cfy-tx-btn--danger:focus-visible { color: var(--tx-ko); border-color: var(--tx-ko); }
.cfy-tx-btn--ok { background: var(--tx-ok-bg); color: var(--tx-ok); border-color: color-mix(in srgb, var(--tx-ok) 50%, transparent); }
.cfy-tx-btn--ok:hover, .cfy-tx-btn--ok:focus-visible { color: var(--tx-ok); border-color: var(--tx-ok); }
.cfy-tx-btn--lock, .cfy-tx-btn[disabled] { background: var(--cfy-t-surface-3); color: var(--cfy-t-faint); border-style: dashed; cursor: not-allowed; filter: none; }
.cfy-tx-btn--sm { min-height: 32px; padding: 5px 13px; }
@media (max-width: 1199.98px) { .cfy-tx-btn { min-height: 44px; } .cfy-tx-btn--sm { min-height: 40px; } }

.cfy-tx-note { display: flex; gap: 8px; align-items: flex-start; padding: 8px 13px; font-size: var(--cfy-fs-sm); color: var(--cfy-t-ink-2); border-left: 3px solid var(--cfy-t-line-2); background: var(--cfy-t-surface-3); overflow-wrap: anywhere; }
.cfy-tx-note svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.cfy-tx-note b { font-weight: var(--cfy-fw-semibold); color: var(--cfy-t-ink); }
.cfy-tx-note ul { margin: 3px 0 0; padding-left: 18px; }
.cfy-tx-note--info { background: var(--tx-info-bg); border-color: var(--tx-info); }
.cfy-tx-note--warn { background: var(--tx-warn-bg); border-color: var(--tx-warn); }
.cfy-tx-note--ko { background: var(--tx-ko-bg); border-color: var(--tx-ko); }
.cfy-tx-note--ok { background: var(--tx-ok-bg); border-color: var(--tx-ok); }

.cfy-tx-ship { display: flex; gap: 8px; align-items: flex-start; padding: 8px 13px; font-size: var(--cfy-fs-sm); color: var(--cfy-t-ink-2); border: 1px dashed var(--cfy-t-line-2); overflow-wrap: anywhere; }
.cfy-tx-ship svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--cfy-t-muted); }
.cfy-tx-ship b { font-weight: var(--cfy-fw-semibold); color: var(--cfy-t-ink); }
.cfy-tx-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.cfy-tx-chip { font-size: var(--cfy-fs-caption); padding: 2px 8px; background: var(--cfy-t-accent-soft); color: var(--cfy-t-ink-2); border: 1px solid var(--cfy-t-line); }
.cfy-tx-fee { font-size: var(--cfy-fs-caption); color: var(--cfy-t-muted); }

.cfy-tx-qty { display: inline-flex; align-items: stretch; border: 1px solid var(--cfy-t-line-2); background: var(--cfy-t-surface); }
.cfy-tx-qty button { width: 40px; min-height: 40px; border: 0; background: var(--cfy-t-surface-3); color: var(--cfy-t-ink); font: inherit; font-size: var(--cfy-fs-md); cursor: pointer; }
.cfy-tx-qty input { width: 64px; border: 0; text-align: center; background: transparent; color: var(--cfy-t-ink); font: inherit; font-weight: var(--cfy-fw-semibold); -moz-appearance: textfield; }
.cfy-tx-qty input::-webkit-outer-spin-button, .cfy-tx-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cfy-tx-qty-lbl { font-size: var(--cfy-fs-sm); color: var(--cfy-t-muted); align-self: center; }

/* ---------- fenêtre (paiement, offre, litige, confirmation) ---------- */
.cfy-tx-dlg { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; padding: 16px; background: var(--cfy-t-backdrop, rgba(6, 12, 20, .55)); }
.cfy-tx-dlg.is-open { display: flex; }
.cfy-tx-dlg__win { width: min(809px, 100%); max-height: calc(100dvh - 32px); display: flex; flex-direction: column; background: var(--cfy-t-surface); border: 1px solid rgba(var(--cfy-t-accent-rgb), .6); box-shadow: var(--cfy-t-shadow); }
.cfy-tx-dlg__head { min-height: 89px; flex: none; display: flex; align-items: center; gap: 13px; padding: 13px 21px; background: var(--cfy-hr-hd-bg); border-bottom: 1px solid var(--cfy-hr-rule); box-shadow: inset 0 2px 0 var(--cfy-hr-accent); }
.cfy-tx-dlg__logo { height: 34px; width: auto; flex: none; }
.cfy-tx-dlg__title { flex: 1; min-width: 0; margin: 0; color: var(--cfy-hr-ink); font-size: var(--cfy-fs-lg); font-weight: var(--cfy-fw-semibold); line-height: var(--cfy-lh-snug, 1.3); overflow-wrap: anywhere; }
.cfy-tx-dlg__title small { display: block; font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-regular); color: var(--cfy-hr-ink-2); }
.cfy-tx-dlg__close { width: 40px; height: 40px; flex: none; display: grid; place-items: center; background: var(--cfy-hr-pill-bg); border: 1px solid var(--cfy-hr-rule); color: var(--cfy-hr-ink); cursor: pointer; }
.cfy-tx-dlg__close svg { width: 16px; height: 16px; }
.cfy-tx-dlg__close:hover, .cfy-tx-dlg__close:focus-visible { background: linear-gradient(180deg, var(--cfy-hr-accent-hi), var(--cfy-hr-accent), var(--cfy-hr-accent-lo)); color: var(--cfy-hr-on-accent); }
.cfy-tx-dlg__body { flex: 1 1 auto; overflow: auto; padding: 21px; display: flex; flex-direction: column; gap: 13px; background: color-mix(in srgb, var(--cfy-t-fill) 3%, var(--cfy-t-surface)); }
.cfy-tx-dlg__foot { min-height: 55px; flex: none; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 8px 21px; background: color-mix(in srgb, var(--cfy-t-fill) 8%, var(--cfy-t-surface-2)); border-top: 1px solid rgba(var(--cfy-t-accent-rgb), .35); }
.cfy-tx-dlg__err { display: none; }
.cfy-tx-dlg__err.is-on { display: flex; }
@media (max-width: 767.98px) {
    .cfy-tx-dlg { padding: 0; align-items: stretch; }
    .cfy-tx-dlg__win { width: 100%; max-height: none; height: 100dvh; border: 0; }
    .cfy-tx-dlg__head { min-height: 64px; padding: 8px 10px; }
    .cfy-tx-dlg__logo { display: none; }
    .cfy-tx-dlg__body { padding: 13px 10px; }
    .cfy-tx-dlg__foot { padding: 8px 10px; }
    .cfy-tx-dlg__foot .cfy-tx-btn { flex: 1 1 140px; }
}

.cfy-tx-recap { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 13px; align-items: center; padding: 13px; background: var(--cfy-t-surface); border: 1px solid var(--cfy-t-line); }
.cfy-tx-recap__ttl { font-weight: var(--cfy-fw-semibold); line-height: var(--cfy-lh-snug, 1.3); overflow-wrap: anywhere; }
.cfy-tx-recap__sub { font-size: var(--cfy-fs-sm); color: var(--cfy-t-muted); }
.cfy-tx-amount { color: var(--tx-ok); font-weight: var(--cfy-fw-bold); font-size: var(--cfy-fs-h4); line-height: var(--cfy-lh-tight, 1.15); white-space: nowrap; }
@media (max-width: 520px) { .cfy-tx-recap { grid-template-columns: minmax(0, 1fr); } }
.cfy-tx-slug { color: var(--cfy-t-accent); font-weight: var(--cfy-fw-semibold); overflow-wrap: anywhere; word-break: break-word; }

.cfy-tx-steps { display: flex; border: 1px solid var(--cfy-t-line); background: var(--cfy-t-surface); }
.cfy-tx-step { flex: 1; min-width: 0; padding: 8px 13px; font-size: var(--cfy-fs-sm); color: var(--cfy-t-muted); display: flex; gap: 8px; align-items: center; border-right: 1px solid var(--cfy-t-line); }
.cfy-tx-step:last-child { border-right: 0; }
.cfy-tx-step i { font-style: normal !important; width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid var(--cfy-t-line-2); font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); flex: none; }
.cfy-tx-step.is-on { color: var(--cfy-t-ink); font-weight: var(--cfy-fw-semibold); box-shadow: inset 0 -2px 0 var(--cfy-t-fill); }
.cfy-tx-step.is-on i { background: var(--cfy-t-fill); color: var(--cfy-t-on-fill); border-color: var(--cfy-t-fill); }
.cfy-tx-step.is-done i { background: var(--tx-ok-bg); color: var(--tx-ok); border-color: var(--tx-ok); }
@media (max-width: 520px) { .cfy-tx-step span { display: none; } .cfy-tx-step.is-on span { display: inline; } }

.cfy-tx-fld { display: flex; flex-direction: column; gap: 5px; font-size: var(--cfy-fs-sm); min-width: 0; }
.cfy-tx-fld > label, .cfy-tx-fld > .cfy-tx-lbl { font-weight: var(--cfy-fw-semibold); color: var(--cfy-t-ink-2); }
.cfy-tx-fld small { font-size: var(--cfy-fs-caption); color: var(--cfy-t-muted); }
.cfy-tx-inp { width: 100%; min-height: 40px; padding: 8px 13px; border: 1px solid var(--cfy-t-line-2); background: var(--cfy-t-surface); color: var(--cfy-t-ink); font: inherit; font-size: var(--cfy-fs-base); }
.cfy-tx-inp::placeholder { color: var(--cfy-t-faint); }
.cfy-tx-inp:focus { outline: 2px solid rgba(var(--cfy-t-accent-rgb), .45); outline-offset: 0; border-color: var(--cfy-t-accent); }
textarea.cfy-tx-inp { min-height: 89px; resize: vertical; }
.cfy-tx-inp--pin { max-width: 160px; letter-spacing: .4em; font-size: var(--cfy-fs-h4); text-align: center; }
.cfy-tx-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
@media (max-width: 520px) { .cfy-tx-grid2 { grid-template-columns: 1fr; } }
.cfy-tx-chk { display: flex; gap: 8px; align-items: flex-start; font-size: var(--cfy-fs-sm); color: var(--cfy-t-ink-2); cursor: pointer; }
.cfy-tx-chk input { width: 18px; height: 18px; margin: 1px 0 0; flex: none; accent-color: var(--cfy-t-fill); }

/* ---------- pastilles de statut ---------- */
.cfy-tx-badge { display: inline-flex; gap: 5px; align-items: center; font-size: var(--cfy-fs-caption); font-weight: var(--cfy-fw-semibold); padding: 2px 8px; border: 1px solid; line-height: var(--cfy-lh-snug, 1.3); }
.cfy-tx-badge--ok { color: var(--tx-ok); background: var(--tx-ok-bg); border-color: color-mix(in srgb, var(--tx-ok) 45%, transparent); }
.cfy-tx-badge--ko { color: var(--tx-ko); background: var(--tx-ko-bg); border-color: color-mix(in srgb, var(--tx-ko) 45%, transparent); }
.cfy-tx-badge--warn { color: var(--tx-warn); background: var(--tx-warn-bg); border-color: color-mix(in srgb, var(--tx-warn) 45%, transparent); }
.cfy-tx-badge--info { color: var(--cfy-t-accent); background: var(--tx-info-bg); border-color: color-mix(in srgb, var(--cfy-t-accent) 45%, transparent); }
.cfy-tx-badge--neu { color: var(--cfy-t-ink-2); background: var(--cfy-t-surface-3); border-color: var(--cfy-t-line-2); }

/* colonne de la fenêtre de paiement */
.cfy-txd-col { display: flex; flex-direction: column; gap: 13px; min-width: 0; }
/* Paiement PayPal : pastille de la liste, formulaires du compte relié */
.cfy-txp-pp { font-weight: var(--cfy-fw-semibold); color: var(--tx-info); }
.cfy-tx-panel [data-pp-form] { display: flex; flex-direction: column; gap: 13px; margin-top: 13px; }
.cfy-tx-panel [data-pp-form] .cfy-tx-btn { align-self: flex-start; }
/* Preuves en images d'un litige : vignettes dans la chronologie */
.cfy-tx-proofs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.cfy-tx-proofs a { display: block; width: 89px; height: 89px; border: 1px solid var(--cfy-t-line); overflow: hidden; }
.cfy-tx-proofs img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ═══ commercify_dir_forced.css ═══ */
/* Sens de lecture inversé par l'utilisateur (langue de gauche à droite affichée de droite à gauche, ou l'inverse).
   Chaque bloc de texte prend le sens de son propre contenu, pour que la ponctuation reste à sa place, et le texte
   s'aligne du côté du sens choisi (alignement physique hérité). Sans la classe, rien ne change. */
html.cfy-dir-forced[dir='rtl'] body { text-align: right; }
html.cfy-dir-forced:not([dir='rtl']) body { text-align: left; }
html.cfy-dir-forced :where(p, h1, h2, h3, h4, h5, h6, li, dt, dd, td, th, label, legend, caption, figcaption, blockquote,
    div, span, a, button, small, strong, em, b, i, option, input, textarea) {
    unicode-bidi: plaintext;
}

/* ═══ commercify_embed_facade.css ═══ */
/* Lecteurs intégrés en façade : image + bouton, lecteur créé au clic */
.cfy-embed-facade {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--cfy-t-surface-2);
    cursor: pointer;
}
.cfy-embed-facade.cfy-embed-facade--sized,
.ratio > .cfy-embed-facade {
    aspect-ratio: auto;
}
.cfy-embed-facade > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cfy-embed-facade__play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 76px;
    height: 76px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transform: translate(-50%, -50%);
    background: linear-gradient(180deg, var(--cfy-t-fill-hi), var(--cfy-t-fill) 60%, var(--cfy-t-fill-lo));
    color: var(--cfy-t-on-fill);
    border: 2px solid var(--cfy-t-on-fill);
    border-radius: 0;
    box-shadow: 0 8px 34px var(--cfy-t-shadow);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}
.cfy-embed-facade:hover .cfy-embed-facade__play,
.cfy-embed-facade__play:focus-visible {
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--cfy-t-fill) 35%, transparent), 0 8px 34px var(--cfy-t-shadow);
}
.cfy-embed-facade__play:focus-visible {
    outline: 2px solid var(--cfy-t-on-fill);
    outline-offset: 3px;
}
.cfy-embed-facade.is-playing {
    cursor: auto;
}
.cfy-embed-facade__frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ═══ commercify_header_refresh.css ═══ */
/* lecteurs vidéo et cartes intégrés : image + bouton, lecteur créé au clic */

body .catalog-header.cfy-hr {
    background: var(--cfy-hr-hd-bg) !important;
}

@media (max-width: 1199.98px) {
    body .catalog-header.cfy-hr .catalog-logo {
        border-color: transparent !important;
    }
}
@media (max-width: 575.98px) {
    body .catalog-header.cfy-hr .btn-visitor-header.mobile-label-enabled::before,
    body .catalog-header.cfy-hr .btn-visitor-header[data-mobile-label]::before {
        color: transparent !important;
    }
}

/* Scroll horizontal du fil d'Ariane : fondu sur les bords, piloté par une scroll-timeline.
   Si la navbar ne déborde pas, la timeline est inactive -> les 2 longueurs restent à 0 -> aucun
   masque. Navigateurs sans animation-timeline : pas de fondu, défilement intact. */
@property --cfy-hr-fade-l {
    syntax: '<length>';
    inherits: false;
    initial-value: 0px;
}
@property --cfy-hr-fade-r {
    syntax: '<length>';
    inherits: false;
    initial-value: 0px;
}
@keyframes cfy-hr-edge-fade {
    0% { --cfy-hr-fade-l: 0px;  --cfy-hr-fade-r: 48px; }
    6% { --cfy-hr-fade-l: 48px; --cfy-hr-fade-r: 48px; }
    94% { --cfy-hr-fade-l: 48px; --cfy-hr-fade-r: 48px; }
    100% { --cfy-hr-fade-l: 48px; --cfy-hr-fade-r: 0px; }
}

@media (min-width: 1200px) {

    /* ═══════════════════════════════════════════════════════════
       HEADER
       ═══════════════════════════════════════════════════════════ */
/* Halo (teinte d'accent du thème) + reflet posés sur un ::before, sous le contenu
       (.catalog-header est sticky, donc crée déjà son propre contexte d'empilement -> z-index:-1
       reste au-dessus de son fond mais sous ses enfants). */
.catalog-header.cfy-hr::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        background:
            radial-gradient(520px 110px at 190px 0%, rgba(var(--cfy-hr-accent-rgb), var(--cfy-hr-halo-a)), transparent 70%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0) 55%);
    }

    /* Liseré lumineux or entre header et post-header */
.catalog-header.cfy-hr::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 1px;
        pointer-events: none;
        background: linear-gradient(90deg, transparent 0%, rgba(var(--cfy-hr-accent-rgb), 0.55) 18%, var(--cfy-hr-accent-hi) 50%, rgba(var(--cfy-hr-accent-rgb), 0.55) 82%, transparent 100%);
        box-shadow: 0 0 14px 0 rgba(var(--cfy-hr-accent-rgb), 0.35);
    }

    .catalog-header.cfy-hr .catalog-logo {
        height: 40px !important;
        width: auto !important;
        max-height: 40px !important;
    }

    /* Drapeau : réduit, liseré fin, séparé du logo par un filet vertical */
.catalog-header.cfy-hr .header-flag-btn-after-logo {
        height: 28px;
        margin-inline-start: 22px;
        padding: 0 20px !important;
        border-inline-start: 1px solid var(--cfy-hr-rule) !important;
        background: transparent !important;
    }
    .catalog-header.cfy-hr .flag-img-after-logo {
        width: 24px !important;
        height: 18px !important;   
        max-width: none;
        object-fit: cover;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.22);
        transition: box-shadow 0.15s ease;
    }
    .catalog-header.cfy-hr .header-flag-btn-after-logo:hover .flag-img-after-logo,
    .catalog-header.cfy-hr .header-flag-btn-after-logo:focus-visible .flag-img-after-logo {
        box-shadow: 0 0 0 1px var(--cfy-hr-accent);
    }

    /* Bouton mappemonde (icône globe) juste après le drapeau (2026-09-25, remplace le lien texte
       « Carte du monde ») : même gabarit et même filet vertical que le drapeau. */
.catalog-header.cfy-hr .cfy-header-map-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        height: 28px;
        padding: 0 16px !important;
        border: 0 !important;
        border-inline-start: 1px solid var(--cfy-hr-rule) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--cfy-hr-hd-ink-3);
        cursor: pointer;
        transition: color 0.15s ease;
    }
    .catalog-header.cfy-hr .cfy-header-map-btn:hover,
    .catalog-header.cfy-hr .cfy-header-map-btn:focus-visible {
        color: var(--cfy-hr-accent-text);
    }
    .catalog-header.cfy-hr .cfy-header-map-icon {
        width: 20px;
        height: 20px;
        flex: 0 0 auto;
    }
    /* Masquage instantané par le réglage worldmap-display-btn (style.display='none' sans !important,
       commercify_filters_instant.js) : sinon battu par .header-action-btn { display:inline-flex !important }. */
html body .catalog-header #mappemonde-link.cfy-header-map-btn:is([style*="display: none"], [style*="display:none"]) {
        display: none !important;
    }
    /* Même correctif pour le drapeau (réglage flag-display-btn, commercify_filters_instant.js). */
html body .catalog-header .header-flag-btn-after-logo:is([style*="display: none"], [style*="display:none"]) {
        display: none !important;
    }

    /* Liens texte (Recherche rapide, Options) : petites capitales espacées, sans
       soulignement ; au survol, trait or qui glisse depuis la gauche. */
body .catalog-header.cfy-hr .header-actions .cfy-header-options-link {
        position: relative;
        height: 40px;
        padding: 0 12px !important;
        gap: 8px;
        color: var(--cfy-hr-ink-2) !important;
        background: transparent !important;
        box-shadow: none !important;
        text-decoration: none !important;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.12em;
        transition: color 0.15s ease;
    }
    body .catalog-header.cfy-hr .header-actions .cfy-header-options-link:hover,
    body .catalog-header.cfy-hr .header-actions .cfy-header-options-link:focus-visible {
        color: #ffffff !important;
        background: transparent !important;
        box-shadow: none !important;
        text-decoration: none !important;
    }
    .catalog-header.cfy-hr .header-actions .cfy-header-options-link::before {
        content: "";
        flex: 0 0 auto;
        width: 15px;
        height: 15px;
        background-color: var(--cfy-hr-hd-ink-3);
        -webkit-mask: var(--cfy-hr-icon) center / contain no-repeat;
        mask: var(--cfy-hr-icon) center / contain no-repeat;
        transition: background-color 0.15s ease;
    }
    .catalog-header.cfy-hr .header-actions .cfy-header-options-link {
        --cfy-hr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");
        margin-inline-end: 10px;
    }
    .catalog-header.cfy-hr .header-actions .cfy-header-options-link:hover::before,
    .catalog-header.cfy-hr .header-actions .cfy-header-options-link:focus-visible::before {
        background-color: var(--cfy-hr-accent);
    }
    .catalog-header.cfy-hr .header-actions .cfy-header-options-link::after {
        content: "";
        position: absolute;
        left: 12px;
        right: 12px;
        bottom: 6px;
        height: 2px;
        background: var(--cfy-hr-accent);
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform 0.2s ease;
    }
    html[dir="rtl"] .catalog-header.cfy-hr .header-actions .cfy-header-options-link::after {
        transform-origin: right center;
    }
    .catalog-header.cfy-hr .header-actions .cfy-header-options-link:hover::after,
    .catalog-header.cfy-hr .header-actions .cfy-header-options-link:focus-visible::after {
        transform: scaleX(1);
    }

    .catalog-header.cfy-hr .header-actions {
        gap: 8px;
        flex-shrink: 0;
    }
    /* Les liens/boutons de droite ne se compressent plus (sinon « Carte du monde » rogné par
       l'overflow:hidden de .header-action-btn vers 1366px) -- c'est la zone logo, plus large, qui
       absorbe la place manquante. */
.catalog-header.cfy-hr .header-actions > .header-action-btn {
        flex-shrink: 0;
        max-width: none;
    }

    /* Boutons : gabarit commun */
body .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet,
    body .catalog-header.cfy-hr .btn-visitor-header {
        height: 40px;
        min-height: 40px;
        padding: 0 18px !important;
        gap: 9px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
    }

    /* Tableau de bord = action secondaire (contour fin or) */
body .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet,
    body .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet.active {
        background: transparent !important;
        color: var(--cfy-hr-accent-text) !important;
        border: 1px solid rgba(var(--cfy-hr-accent-rgb), 0.38) !important;
    }
    body .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet:hover:not(.active),
    body .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet:focus-visible {
        background: rgba(var(--cfy-hr-accent-rgb), 0.07) !important;
        color: var(--cfy-hr-accent-text) !important;
        border-color: var(--cfy-hr-accent) !important;
        box-shadow: 0 0 0 1px rgba(var(--cfy-hr-accent-rgb), 0.15), 0 0 18px -6px rgba(var(--cfy-hr-accent-rgb), 0.5);
    }
    .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet::before {
        content: "";
        flex: 0 0 auto;
        width: 15px;
        height: 15px;
        background-color: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    /* Connexion / badge connecté = action principale (or plein dégradé + reflet qui balaie au survol).
       Même rendu pour les 2 états (visiteur .btn-visitor-no-modal et connecté avatar+slug). */
body .catalog-header.cfy-hr .btn-visitor-header,
    body .catalog-header.cfy-hr .btn-visitor-header.btn-visitor-no-modal {
        position: relative;
        overflow: hidden;
        /* 2 calques : reflet (bande claire hors champ à gauche, glisse vers la droite au survol)
           + dégradé or. Pas de ::after pour le reflet : une règle de debug historique
           (.btn-visitor-header[data-debug-badge-level]::after, fond rouge !important,
           commercify_topheaderlogo_beta.css) s'en emparerait. */
        background:
            linear-gradient(100deg, transparent 42%, rgba(255, 255, 255, 0.55) 50%, transparent 58%) 100% 0 / 250% 100% no-repeat,
            linear-gradient(180deg, var(--cfy-hr-flat-hi) 0%, var(--cfy-hr-flat) 55%, var(--cfy-hr-flat-lo) 100%) !important;
        color: var(--cfy-hr-on-flat) !important;
        border: 1px solid var(--cfy-hr-flat-lo) !important;
        transition: background-position 0.6s ease, border-color 0.15s ease, box-shadow 0.15s ease;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 6px 18px -8px rgba(var(--cfy-hr-flat-rgb), 0.6);
    }
    body .catalog-header.cfy-hr .btn-visitor-header:hover,
    body .catalog-header.cfy-hr .btn-visitor-header:focus-visible,
    body .catalog-header.cfy-hr .btn-visitor-header.btn-visitor-no-modal:hover,
    body .catalog-header.cfy-hr .btn-visitor-header.btn-visitor-no-modal:focus-visible {
        background:
            linear-gradient(100deg, transparent 42%, rgba(255, 255, 255, 0.55) 50%, transparent 58%) 0 0 / 250% 100% no-repeat,
            linear-gradient(180deg, var(--cfy-hr-accent-top) 0%, var(--cfy-hr-flat-hi) 55%, var(--cfy-hr-flat) 100%) !important;
        color: var(--cfy-hr-on-flat) !important;
        border-color: var(--cfy-hr-flat) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 8px 22px -8px rgba(var(--cfy-hr-flat-rgb), 0.75);
    }
    /* Libellés du bouton : couleur du bouton dans chaque état (aplat au repos ici, contour transparent
       au repos dans certaines dispositions) ; un texte figé en « on-flat » devenait illisible hors aplat. */
    body .catalog-header.cfy-hr .btn-visitor-header .visitor-btn-label-default,
    body .catalog-header.cfy-hr .btn-visitor-header .visitor-btn-label-hover,
    body .catalog-header.cfy-hr .btn-visitor-header .visitor-name-header,
    body .catalog-header.cfy-hr .btn-visitor-header:hover .visitor-name-header {
        color: inherit !important;
    }
    .catalog-header.cfy-hr .btn-visitor-header.btn-visitor-no-modal::before {
        content: "";
        flex: 0 0 auto;
        width: 15px;
        height: 15px;
        background-color: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3Cpolyline points='10 17 15 12 10 7'/%3E%3Cline x1='15' y1='12' x2='3' y2='12'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3Cpolyline points='10 17 15 12 10 7'/%3E%3Cline x1='15' y1='12' x2='3' y2='12'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    .catalog-header.cfy-hr .visitor-avatar-img-header {
        width: 28px;
        height: 28px;
        box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
    }

    .nk-body .cfy-vignettes-pre-banner {
        min-height: 60px;
        padding-block-start: 0 !important;
        padding-block-end: 0 !important;
        padding-inline-start: 0 !important;
        padding-inline-end: 0 !important;
        background: linear-gradient(180deg, var(--cfy-hr-ph-bg-2), var(--cfy-hr-ph-bg)) !important;
        border-bottom: 1px solid var(--cfy-hr-ph-line) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
    }
    .nk-body .cfy-vignettes-pre-banner > .cfy-vignettes-pre-row {
        margin: 0;
        min-height: 60px;
        align-items: stretch;
        flex-wrap: nowrap;
    }

    /* Colonne gauche : fil d'Ariane (ou badge filtre éditeur / ancien sélecteur) */
.nk-body .cfy-vignettes-pre-banner .cfy-vignettes-pre-col-select {
        flex: 1 1 auto;
        min-width: 0;
        padding: 0;
        display: flex;
        align-items: center;
    }
    /* Contenus autres que la navbar (badge éditeur, sélecteur historique) : alignés comme la navbar —
       sur la marge du bloc des vignettes si l'alignement est activé, sinon sur le bord du header */
.nk-body .cfy-vignettes-pre-banner .cfy-vignettes-pre-col-select > :not(.cfy-catalog-navbar):not(script) {
        margin-inline-start: var(--cfy-navbar-edge, var(--cfy-edge, var(--cfy-hr-edge)));
    }

    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar {
        display: flex;
        align-items: stretch;
        align-self: stretch;
        max-width: 100%;
        min-height: 60px;
        /* Contenu aligné sur la marge du bloc des vignettes (option) ou sur le bord du header */
        padding-block: 0;
        padding-inline: var(--cfy-navbar-edge, var(--cfy-edge, 0px)) 0;
        background: transparent !important;
        border: 0;
        box-shadow: none;
        scrollbar-width: none;
    }
    /* Fondu des bords sur la liste défilante des cellules (le bouton « Tous les catalogues » reste net) */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-list {
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--cfy-hr-fade-l), #000 calc(100% - var(--cfy-hr-fade-r)), transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 var(--cfy-hr-fade-l), #000 calc(100% - var(--cfy-hr-fade-r)), transparent 100%);
    }
    /* RTL : le début de la liste est à droite, le fondu suit le sens de défilement */
html[dir="rtl"] .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-list {
        -webkit-mask-image: linear-gradient(270deg, transparent 0, #000 var(--cfy-hr-fade-l), #000 calc(100% - var(--cfy-hr-fade-r)), transparent 100%);
        mask-image: linear-gradient(270deg, transparent 0, #000 var(--cfy-hr-fade-l), #000 calc(100% - var(--cfy-hr-fade-r)), transparent 100%);
    }
    @supports (animation-timeline: scroll()) {
        .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-list {
            animation: cfy-hr-edge-fade linear both;
            animation-timeline: scroll(self inline);
        }
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-list::-webkit-scrollbar {
        display: none;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar:hover,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar:focus-within {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none;
    }

    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-list {
        gap: 0;
        align-items: stretch;
    }

    /* Bouton « Tous les catalogues » : aplat accent, en tête de la barre */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-all {
        padding-inline: var(--cfy-hr-edge) 20px;
        min-height: 60px;
        background: var(--cfy-hr-flat);
        color: var(--cfy-hr-on-flat);
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-all:hover { background: var(--cfy-hr-flat-hi); }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-all[aria-expanded="true"] { background: var(--cfy-hr-flat-lo); }

    /* Chaque cellule = un bouton pleine hauteur séparé par un filet */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb--dropdown {
        padding: 0;
        background: transparent !important;
        border-inline-end: 1px solid var(--cfy-hr-ph-line);
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-toggle {
        min-height: 60px;
        padding: 0 18px;
        color: var(--cfy-hr-ink);
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb-caption {
        font-size: var(--cfy-fs-caption);
        font-weight: var(--cfy-fw-medium);
        letter-spacing: 0.12em;
        color: var(--cfy-hr-ink-2) !important;
        opacity: 0.8;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-label {
        color: var(--cfy-hr-ink) !important;
        font-size: var(--cfy-fs-base);
        font-weight: var(--cfy-fw-medium);
        text-transform: none;
        letter-spacing: 0;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-label--static {
        color: var(--cfy-hr-hd-ink-3) !important;
        font-weight: var(--cfy-fw-regular);
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-cell-icon,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-chevron {
        color: var(--cfy-hr-ink-faint);
    }

    /* Survol : toute la cellule s'éclaire ; ouverte : plus soutenu */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-toggle:hover {
        background: rgba(var(--cfy-hr-accent-rgb), 0.10);
        box-shadow: inset 0 -2px 0 rgba(var(--cfy-hr-accent-rgb), 0.6);
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-toggle[aria-expanded="true"] {
        background: rgba(var(--cfy-hr-accent-rgb), 0.16);
        box-shadow: inset 0 -2px 0 var(--cfy-hr-accent);
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-toggle:hover .cfy-catalog-navbar-cell-icon,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-toggle:hover .cfy-catalog-navbar-chevron,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-toggle[aria-expanded="true"] .cfy-catalog-navbar-cell-icon,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-toggle[aria-expanded="true"] .cfy-catalog-navbar-chevron {
        color: var(--cfy-hr-accent-text);
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-toggle:focus-visible {
        outline: 1px solid var(--cfy-hr-accent);
        outline-offset: -3px;
    }

    /* Parent géographique renseigné : filet discret */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb--set .cfy-catalog-navbar-toggle {
        box-shadow: inset 0 -2px 0 rgba(var(--cfy-hr-accent-rgb), 0.35);
    }

    /* Catalogue courant : cellule illuminée en permanence */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb.cfy-catalog-navbar-crumb--current .cfy-catalog-navbar-toggle {
        background: linear-gradient(180deg, rgba(var(--cfy-hr-accent-rgb), 0.08), rgba(var(--cfy-hr-accent-rgb), 0.20));
        box-shadow: inset 0 -3px 0 var(--cfy-hr-accent);
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb.cfy-catalog-navbar-crumb--current .cfy-catalog-navbar-toggle:hover,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb.cfy-catalog-navbar-crumb--current .cfy-catalog-navbar-toggle[aria-expanded="true"] {
        background: linear-gradient(180deg, rgba(var(--cfy-hr-accent-rgb), 0.14), rgba(var(--cfy-hr-accent-rgb), 0.26));
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb.cfy-catalog-navbar-crumb--current .cfy-catalog-navbar-crumb-caption,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb.cfy-catalog-navbar-crumb--current .cfy-catalog-navbar-label,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb.cfy-catalog-navbar-crumb--current .cfy-catalog-navbar-cell-icon,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb.cfy-catalog-navbar-crumb--current .cfy-catalog-navbar-chevron {
        color: var(--cfy-hr-accent-text) !important;
        opacity: 1;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-crumb.cfy-catalog-navbar-crumb--current .cfy-catalog-navbar-label {
        font-weight: var(--cfy-fw-bold);
    }

    /* Colonne droite : zone outils séparée par un filet vertical */
.nk-body .cfy-vignettes-pre-banner .cfy-vignettes-pre-col-view-icons {
        flex: 0 0 auto;
        align-self: stretch;
        padding-block: 0;
        padding-inline: 20px var(--cfy-hr-edge-end);
        border-inline-start: 1px solid var(--cfy-hr-ph-line);
        gap: 0;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions,
    .nk-body .cfy-vignettes-pre-banner .cfy-sticky-homepage-controls,
    .nk-body .cfy-vignettes-pre-banner .cfy-sticky-header-controls {
        gap: 0;
        row-gap: 0;
        flex-wrap: nowrap;
        height: 34px;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions-spacer {
        flex-basis: 12px !important;
        width: 12px !important;
    }

    /* Boutons segmentés accolés : bordures fusionnées (-1px), un vide de 12px entre groupes
       (vue | export+filtre | options+assistant). */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn,
    .nk-body .cfy-vignettes-pre-banner .cfy-sticky-homepage-controls .cfy-catalog-action-btn,
    .nk-body .cfy-vignettes-pre-banner .cfy-sticky-homepage-controls .cfy-homepage-options-open-btn {
        position: relative;
        width: 38px !important;
        height: 34px !important;
        background: transparent !important;
        color: var(--cfy-hr-ink-muted) !important;
        border: 1px solid var(--cfy-hr-ph-line-2) !important;
        box-shadow: none;
        opacity: 1;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-action-btn + .cfy-catalog-action-btn {
        margin-inline-start: -1px;
    }
    /* 2026-09-25 : plus de marge avant Export -- les 3 boutons de vue qui le précédaient ont été retirés */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-action-btn .cfy-view-mode-svg {
        width: 18px;
        height: 18px;
        fill: none !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn:hover:not(:disabled):not(.cfy-view-mode-disabled),
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn:focus-visible:not(:disabled):not(.cfy-view-mode-disabled),
    .nk-body .cfy-vignettes-pre-banner .cfy-sticky-homepage-controls .cfy-catalog-action-btn:hover:not(:disabled),
    .nk-body .cfy-vignettes-pre-banner .cfy-sticky-homepage-controls .cfy-catalog-action-btn:focus-visible:not(:disabled),
    .nk-body .cfy-vignettes-pre-banner .cfy-sticky-homepage-controls .cfy-homepage-options-open-btn:hover:not(:disabled):not(.cfy-view-mode-disabled),
    .nk-body .cfy-vignettes-pre-banner .cfy-sticky-homepage-controls .cfy-homepage-options-open-btn:focus-visible:not(:disabled):not(.cfy-view-mode-disabled) {
        z-index: 2;
        background: var(--cfy-hr-ph-hover) !important;
        color: var(--cfy-hr-accent-text) !important;
        border-color: var(--cfy-hr-accent) !important;
    }

    /* 2026-09-25 : règle « vue active » (.cfy-view-mode-vignette) retirée avec les 3 boutons de vue */
/* Vues pas encore disponibles : estompées, sans cadre plein */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn:disabled,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-view-mode-disabled {
        background: transparent !important;
        color: var(--cfy-hr-ink-faint) !important;
        border: 1px solid var(--cfy-hr-ph-line) !important;
        opacity: 1;
    }

    /* Filtre images : conserve ses 3 teintes d'état (or / corail / cyan), mais en fond discret */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-image-filter-active,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-image-filter-excluded,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-image-filter-off {
        z-index: 1;
        color: inherit !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-image-filter-active {
        background: rgba(var(--cfy-hr-accent-rgb), 0.12) !important;
        border-color: rgba(var(--cfy-hr-accent-rgb), 0.7) !important;
        color: var(--cfy-hr-accent-text) !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-image-filter-excluded {
        background: rgba(255, 122, 80, 0.12) !important;
        border-color: rgba(255, 122, 80, 0.7) !important;
        color: #FF7A50 !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-image-filter-off {
        background: rgba(9, 194, 222, 0.12) !important;
        border-color: rgba(9, 194, 222, 0.7) !important;
        color: #09c2de !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-image-filter-active .cfy-view-mode-svg,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-image-filter-excluded .cfy-view-mode-svg,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-image-filter-off .cfy-view-mode-svg {
        stroke: currentColor !important;
    }

    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-quick-pref-on,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-quick-pref-all {
        z-index: 1;
        background: rgba(var(--cfy-hr-accent-rgb), 0.12) !important;
        border-color: rgba(var(--cfy-hr-accent-rgb), 0.7) !important;
        color: var(--cfy-hr-accent-text) !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-quick-pref-first {
        z-index: 1;
        background: rgba(9, 194, 222, 0.12) !important;
        border-color: rgba(9, 194, 222, 0.7) !important;
        color: #09c2de !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-quick-pref-off,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-quick-pref-none {
        z-index: 1;
        background: rgba(255, 122, 80, 0.12) !important;
        border-color: rgba(255, 122, 80, 0.7) !important;
        color: #FF7A50 !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-quick-pref-btn .cfy-view-mode-svg,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-quick-theme-btn .cfy-view-mode-svg {
        stroke: currentColor !important;
    }
    /* Thème couleur : l'icône palette prend toujours l'accent du thème actif */
.nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-quick-color-theme-btn {
        color: var(--cfy-hr-accent-text) !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn.cfy-quick-color-theme-btn .cfy-view-mode-svg {
        stroke: currentColor !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn .theme-icon-moon,
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-title-actions .cfy-catalog-action-btn .theme-icon-sun {
        display: inline-flex;
        line-height: 0;
    }

    /* Mode performance : aucun reflet animé ni transition dans la zone post-header */
body.performance-mode .cfy-vignettes-pre-banner .cfy-catalog-action-btn,
    body.performance-mode .cfy-vignettes-pre-banner .cfy-catalog-navbar-toggle {
        transition-duration: 0.01ms !important;
    }
}

@media (min-width: 1200px) {

    /* ---------- 1) Champ ouvert ---------- */
/* Le champ ouvert prend la place laissée libre par le lien « Recherche rapide » (masqué par
       le JS à l'ouverture) SANS dépasser : la zone logo (.header-logo-section, overflow hidden)
       rognait le bouton IA dès 1366px (collision préexistante signalée dans core.css, aggravée
       par les boutons de droite désormais non compressibles). .line-logo-left devient
       compressible et le champ passe d'une largeur fixe à une base flex rétrécissable. */
.catalog-header.cfy-hr .line-logo-left {
        flex: 0 1 auto;
        min-width: 0;
        max-width: 100%;
    }
    /* ... mais seul le champ rétrécit : logo et drapeau gardent leur taille */
.catalog-header.cfy-hr .logo-wrapper,
    .catalog-header.cfy-hr .header-flag-btn-after-logo {
        flex: 0 0 auto;
    }
}

/* Petits écrans desktop : même hiérarchie, gabarit resserré */
@media (min-width: 1200px) and (max-width: 1439.98px) {
    body .catalog-header.cfy-hr .header-actions .cfy-header-options-link {
        letter-spacing: 0.08em;
        padding: 0 8px !important;
    }
    .catalog-header.cfy-hr .header-actions .cfy-header-options-link::after {
        left: 8px;
        right: 8px;
    }
    .catalog-header.cfy-hr .header-actions .cfy-header-options-link {
        margin-inline-end: 4px;
    }
    body .catalog-header.cfy-hr .catalog-nav-item-dashboard-tablet,
    body .catalog-header.cfy-hr .btn-visitor-header {
        padding: 0 14px !important;
        letter-spacing: 0.07em;
    }
    .catalog-header.cfy-hr .header-flag-btn-after-logo {
        margin-inline-start: 16px;
        padding: 0 14px !important;
    }
    .catalog-header.cfy-hr .cfy-header-map-btn {
        padding: 0 12px !important;
    }
    .nk-body .cfy-vignettes-pre-banner .cfy-catalog-navbar-toggle {
        padding: 0 14px;
    }
    .catalog-header.cfy-hr .catalog-logo {
        height: 34px !important;
        max-height: 34px !important;
    }
}

@media (min-width: 1200px) and (prefers-reduced-motion: reduce) {
    .catalog-header.cfy-hr *,
    .catalog-header.cfy-hr *::before,
    .catalog-header.cfy-hr *::after {
        transition: none !important;
    }
}
