/* ═══════════════════════════════════════════════════════════
   COMMERCIFY HOMEPAGE DISCOVERY BLOCKS
   Thème aligné sur « Les Éditeurs liés à ce catalogue » :
   bannière #212529, titres blancs uppercase, cartes dégradé sombre, liens #b0b5bc / #8b929a, boutons style éditeurs.
   ═══════════════════════════════════════════════════════════ */

/* Variables identiques à .cfy-editors-linked-to-catalog (continuité visuelle) */
/* Alignement / disposition : full-bleed comme « Les éditeurs liés », via grille CSS uniquement (pas de JS) */
.cfy-homepage-discovery {
    --cfy-hb-banner-bg: #212529;
    --cfy-hb-banner-title: #ffffff;
    --cfy-hb-card-bg: linear-gradient(to bottom, #333 0%, #111 100%);
    --cfy-hb-card-border: #444;
    /* badgeFunnel / sitemapLight : zone sous le titre (marges gauche-droite + espacement entre vignettes) */
    --cfy-hb-content-padding-inline: calc(20px + var(--nk-content-padding, 0px));
    --cfy-hb-vignette-gap-v: 1.25rem;
    --cfy-hb-vignette-gap-h: 1.5rem;
    --cfy-hb-card-title: #fff;
    --cfy-hb-link: #fff;
    --cfy-hb-link-hover: #e0e0e0;
    --cfy-hb-link-secondary: #b0b5bc;
    --cfy-hb-link-secondary-hover: #c5cad1;
    --cfy-hb-link-muted: #8b929a;
    --cfy-hb-link-muted-hover: #a8adb4;
    --cfy-hb-btn-bg: #0d0d0d;
    --cfy-hb-btn-border: #ffffff;
    --cfy-hb-btn-text: #ffffff;
    --cfy-hb-btn-hover-bg: #ffffff;
    --cfy-hb-btn-hover-text: #000;
    --cfy-hb-input-bg: #1a1a1a;
    --cfy-hb-input-border: #444;
    --cfy-hb-input-text: #fff;
    margin-top: 0;
    margin-inline: calc(-1 * var(--nk-content-padding, 0px));
    width: calc(100% + 2 * var(--nk-content-padding, 0px));
    padding-top: 10px;
    padding-bottom: 1rem;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem 1.5rem;
}

/* Accordéon « En savoir plus sur la plateforme » (Hyper-Profil → … → documentation) */
/* Mode clair : coquille Dashlite (fonds clairs, texte #364a63) — les blocs enfants gardent leurs cartes sombres via leurs propres classes. */
.cfy-homepage-discovery > .cfy-home-discovery-accordion {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
}

.cfy-home-discovery-accordion {
    --cfy-acc-shell-bg: #ffffff;
    --cfy-acc-shell-bg-subtle: #f5f6fa;
    --cfy-acc-shell-border: #dbdfea;
    --cfy-acc-shell-text: #364a63;
    --cfy-acc-shell-focus: rgba(133, 79, 255, 0.12);
    /* Orange Commercify = pagination homepage palette orange-dark (page-active), identique clair / sombre */
    --cfy-acc-toggle-text: #ff6b35;
    --cfy-acc-toggle-text-hover: #ff8f66;
    --bs-accordion-bg: var(--cfy-acc-shell-bg);
    --bs-accordion-border-color: var(--cfy-acc-shell-border);
    --bs-accordion-active-bg: var(--cfy-acc-shell-bg-subtle);
    --bs-accordion-btn-color: var(--cfy-acc-toggle-text);
    --bs-accordion-btn-bg: var(--cfy-acc-shell-bg);
    --bs-accordion-btn-focus-border-color: #854fff;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 3px var(--cfy-acc-shell-focus);
}

.cfy-home-discovery-accordion .accordion-item {
    background-color: var(--cfy-acc-shell-bg);
    border-color: var(--cfy-acc-shell-border);
}

/* Indication « il y a plus de contenu » sans changer la palette : flèche + souligné au survol (currentColor) */
.cfy-home-discovery-accordion .accordion-button::before {
    content: "▸";
    display: inline-block;
    flex-shrink: 0;
    margin-right: 0.5rem;
    font-size: 1.05em;
    font-weight: 900;
    line-height: 1;
    transform: rotate(0deg);
    transition: transform 0.22s ease;
}

.cfy-home-discovery-accordion .accordion-button:not(.collapsed)::before {
    transform: rotate(90deg);
}

.cfy-home-discovery-accordion .accordion-button .cfy-home-discovery-accordion__label {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    text-align: start;
}

.cfy-home-discovery-accordion .accordion-button .cfy-home-discovery-accordion__label-text {
    transition: text-decoration-color 0.2s ease;
}

.cfy-home-discovery-accordion .accordion-button:hover .cfy-home-discovery-accordion__label-text,
.cfy-home-discovery-accordion .accordion-button:focus-visible .cfy-home-discovery-accordion__label-text {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.2em;
    text-decoration-color: currentColor;
}

/* Libellé « En savoir plus sur la plateforme » : orange visible en white mode et en dark mode */
.cfy-home-discovery-accordion .accordion-button,
.cfy-home-discovery-accordion .cfy-home-discovery-accordion__toggle.accordion-button {
    font-weight: 700;
    font-size: 1.0625rem;
    letter-spacing: 0.02em;
    color: var(--cfy-acc-toggle-text) !important;
    background-color: var(--cfy-acc-shell-bg);
    border-color: var(--cfy-acc-shell-border);
}

.cfy-home-discovery-accordion .accordion-button:hover,
.cfy-home-discovery-accordion .cfy-home-discovery-accordion__toggle.accordion-button:hover {
    color: var(--cfy-acc-toggle-text-hover) !important;
}

.cfy-home-discovery-accordion .accordion-button:not(.collapsed) {
    color: var(--cfy-acc-toggle-text) !important;
    background-color: var(--cfy-acc-shell-bg-subtle);
    box-shadow: none;
}

.cfy-home-discovery-accordion .accordion-button:not(.collapsed):hover {
    color: var(--cfy-acc-toggle-text-hover) !important;
}

/* Chevron Bootstrap recoloré orange (même teinte que le texte) */
.cfy-home-discovery-accordion .accordion-button::after {
    filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(346deg) brightness(102%) contrast(101%);
    opacity: 1;
}

.cfy-home-discovery-accordion .accordion-body {
    background-color: var(--cfy-acc-shell-bg-subtle);
    border-color: var(--cfy-acc-shell-border);
    color: var(--cfy-acc-shell-text);
}

.cfy-home-discovery-accordion .cfy-home-discovery-accordion__body {
    padding: 0;
    border-top: 1px solid var(--cfy-acc-shell-border);
    background-color: var(--cfy-acc-shell-bg-subtle);
}

/* Dark mode : coquille alignée sur le bandeau discovery (comme avant) */
html.dark-mode .cfy-home-discovery-accordion,
.dark-mode .cfy-home-discovery-accordion {
    --cfy-acc-shell-bg: var(--cfy-hb-banner-bg, #212529);
    --cfy-acc-shell-bg-subtle: var(--cfy-hb-banner-bg, #212529);
    --cfy-acc-shell-border: var(--cfy-hb-card-border, #444);
    --cfy-acc-shell-text: var(--cfy-hb-banner-title, #ffffff);
    --cfy-acc-shell-focus: rgba(255, 255, 255, 0.06);
    /* Toggle : même orange qu’en clair (ne pas repasser le titre en blanc) */
    --cfy-acc-toggle-text: #ff6b35;
    --cfy-acc-toggle-text-hover: #ff8f66;
    --bs-accordion-bg: var(--cfy-acc-shell-bg);
    --bs-accordion-border-color: var(--cfy-acc-shell-border);
    --bs-accordion-active-bg: var(--cfy-acc-shell-bg);
    --bs-accordion-btn-color: var(--cfy-acc-toggle-text);
    --bs-accordion-btn-bg: var(--cfy-acc-shell-bg);
    --bs-accordion-btn-focus-border-color: rgba(255, 255, 255, 0.2);
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.2rem var(--cfy-acc-shell-focus);
}

html.dark-mode .cfy-home-discovery-accordion .accordion-item,
.dark-mode .cfy-home-discovery-accordion .accordion-item {
    background-color: var(--cfy-acc-shell-bg);
    border-color: var(--cfy-acc-shell-border);
}

html.dark-mode .cfy-home-discovery-accordion .accordion-button,
.dark-mode .cfy-home-discovery-accordion .accordion-button {
    color: var(--cfy-acc-toggle-text) !important;
    background-color: var(--cfy-acc-shell-bg);
    border-color: var(--cfy-acc-shell-border);
}

html.dark-mode .cfy-home-discovery-accordion .accordion-button:hover,
.dark-mode .cfy-home-discovery-accordion .accordion-button:hover {
    color: var(--cfy-acc-toggle-text-hover) !important;
}

html.dark-mode .cfy-home-discovery-accordion .accordion-button:not(.collapsed),
.dark-mode .cfy-home-discovery-accordion .accordion-button:not(.collapsed) {
    color: var(--cfy-acc-toggle-text) !important;
    background-color: var(--cfy-acc-shell-bg);
}

html.dark-mode .cfy-home-discovery-accordion .accordion-button:not(.collapsed):hover,
.dark-mode .cfy-home-discovery-accordion .accordion-button:not(.collapsed):hover {
    color: var(--cfy-acc-toggle-text-hover) !important;
}

/* Chevron orange (même filtre qu’en thème clair, pas d’invert blanc) */
html.dark-mode .cfy-home-discovery-accordion .accordion-button::after,
.dark-mode .cfy-home-discovery-accordion .accordion-button::after {
    filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(346deg) brightness(102%) contrast(101%);
    opacity: 1;
}

html.dark-mode .cfy-home-discovery-accordion .accordion-body,
.dark-mode .cfy-home-discovery-accordion .accordion-body {
    background-color: var(--cfy-acc-shell-bg);
    border-color: var(--cfy-acc-shell-border);
    color: var(--cfy-acc-shell-text);
}

html.dark-mode .cfy-home-discovery-accordion .cfy-home-discovery-accordion__body,
.dark-mode .cfy-home-discovery-accordion .cfy-home-discovery-accordion__body {
    border-top-color: var(--cfy-acc-shell-border);
    background-color: var(--cfy-acc-shell-bg);
}

/* FHD, 2K, 4K, 8K : grille deux colonnes, zones titres alignées (gauche = côté menu, droite = même largeur) */
@media (min-width: 1920px) {
    .cfy-homepage-discovery {
        grid-template-columns: repeat(2, 1fr);
    }
    /*
     * Colonne impaire (côté menu en LTR) : réduire uniquement padding-inline-start (plus de +20px).
     * padding-inline-end (gouttière vers la 2e colonne en LTR) : inchangé — ne pas « toucher » le côté droit de la colonne.
     * Colonne paire : inchangé côté bord écran (inline-end) ; logical props pour RTL.
     */
    .cfy-homepage-discovery > .cfy-home-block:nth-child(odd) .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-block:nth-child(odd) .banner.cfy-editors-linked-banner,
    .cfy-homepage-discovery > .cfy-home-block:nth-child(odd) .cfy-home-block__content {
        padding-inline-start: var(--nk-content-padding, 0px) !important;
        padding-inline-end: 0.75rem !important;
    }
    .cfy-homepage-discovery > .cfy-home-block:nth-child(even) .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-block:nth-child(even) .banner.cfy-editors-linked-banner,
    .cfy-homepage-discovery > .cfy-home-block:nth-child(even) .cfy-home-block__content {
        padding-inline-start: 0.75rem !important;
        padding-inline-end: calc(20px + var(--nk-content-padding, 0px)) !important;
    }

    /*
     * Recherche rapide : aligné sur éditeurs / plan du site (--cfy-header-edge-offset).
     */
    .cfy-homepage-discovery > .cfy-home-block--search-quick:nth-child(odd) .banner.cfy-editors-linked-banner {
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: 0.75rem !important;
    }
    .cfy-homepage-discovery > .cfy-home-block--search-quick:nth-child(even) .banner.cfy-editors-linked-banner {
        padding-inline-start: 0.75rem !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    /*
     * Plan du site : aligné sur la zone petites annonces (--cfy-header-edge-offset), côté bord viewport.
     */
    .cfy-homepage-discovery > .cfy-home-block--sitemap-light:nth-child(odd) .banner.cfy-editors-linked-banner {
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: 0.75rem !important;
    }
    .cfy-homepage-discovery > .cfy-home-block--sitemap-light:nth-child(even) .banner.cfy-editors-linked-banner {
        padding-inline-start: 0.75rem !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }
    .cfy-homepage-discovery > .cfy-home-block--sitemap-light:nth-child(odd) .cfy-home-block__content {
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: 0.75rem !important;
    }
    .cfy-homepage-discovery > .cfy-home-block--sitemap-light:nth-child(even) .cfy-home-block__content {
        padding-inline-start: 0.75rem !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    /* Recherche rapide : même retrait que le bandeau (aligné --cfy-header-edge-offset) */
    .cfy-homepage-discovery > .cfy-home-block--search-quick:nth-child(odd) .cfy-home-block__content {
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: 0.75rem !important;
    }
    .cfy-homepage-discovery > .cfy-home-block--search-quick:nth-child(even) .cfy-home-block__content {
        padding-inline-start: 0.75rem !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }
    /* Badge : même resserrement inline-end que zone éditeurs */
    .cfy-homepage-discovery > .cfy-home-block--badge-funnel:nth-child(even) .cfy-home-block__content {
        padding-inline-end: var(--nk-content-padding, 0px) !important;
    }
    /* Hyper-Profil : fusion des 2 colonnes — occupe toute la ligne (du menu au bord de l'écran) */
    .cfy-homepage-discovery > .cfy-home-block--hyper-profil {
        grid-column: 1 / -1;
    }
    /* Hyper-Profil pleine largeur : moins d’air côté menu uniquement (inline-start) ; bord opposé inchangé (inline-end = --cfy-hb-content-padding-inline / nk) */
    .cfy-homepage-discovery > .cfy-home-block--hyper-profil .cfy-home-block__banner {
        padding-inline-start: var(--nk-content-padding, 0px) !important;
        padding-inline-end: var(--cfy-hb-content-padding-inline) !important;
    }
    .cfy-homepage-discovery > .cfy-home-block--hyper-profil .cfy-home-block__content {
        padding-inline-start: 0 !important;
        padding-inline-end: var(--nk-content-padding, 0px) !important;
    }
    /* Banners Démo : pleine largeur (comme Hyper-Profil) */
    .cfy-homepage-discovery > .cfy-home-block--banners-demo {
        grid-column: 1 / -1;
    }
    .cfy-homepage-discovery > .cfy-home-block--banners-demo .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-block--banners-demo .cfy-home-block__content {
        padding-left: var(--cfy-hb-content-padding-inline) !important;
        padding-right: var(--cfy-hb-content-padding-inline) !important;
    }
    /* Modération communautaire : pleine largeur (comme Banners démo) */
    .cfy-homepage-discovery > .cfy-home-block--community-moderation {
        grid-column: 1 / -1;
    }
    .cfy-homepage-discovery > .cfy-home-block--community-moderation .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-block--community-moderation .cfy-home-block__content {
        padding-left: var(--cfy-hb-content-padding-inline) !important;
        padding-right: var(--cfy-hb-content-padding-inline) !important;
    }
    /* Liste « Parcourir par rayon » : pleine largeur (comme Banners démo) */
    .cfy-homepage-discovery > .cfy-home-block--rayons-list {
        grid-column: 1 / -1;
    }
    .cfy-homepage-discovery > .cfy-home-block--rayons-list .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-block--rayons-list .banner.cfy-editors-linked-banner,
    .cfy-homepage-discovery > .cfy-home-block--rayons-list .cfy-home-block__content {
        padding-left: var(--cfy-hb-content-padding-inline) !important;
        padding-right: var(--cfy-hb-content-padding-inline) !important;
    }
    /* Bandeau découverte (switcher hyperprofil + rayons / catégories lazy) : pleine largeur */
    .cfy-homepage-discovery > .cfy-home-block--discovery-strip {
        grid-column: 1 / -1;
    }
    /* Bandeau découverte : aligné sur --cfy-header-edge-offset (comme éditeurs / plan du site), pas sur --cfy-hb-content-padding-inline */
    .cfy-homepage-discovery > .cfy-home-block--discovery-strip .cfy-home-discovery-switcher,
    .cfy-homepage-discovery > .cfy-home-block--discovery-strip .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-block--discovery-strip .cfy-home-block--rayons-strip .banner.cfy-editors-linked-banner,
    .cfy-homepage-discovery > .cfy-home-block--discovery-strip .cfy-home-block--categories-strip .banner.cfy-editors-linked-banner,
    .cfy-homepage-discovery > .cfy-home-block--discovery-strip .cfy-home-block--devises-strip .banner.cfy-editors-linked-banner,
    .cfy-homepage-discovery > .cfy-home-block--discovery-strip .cfy-home-block--langues-strip .banner.cfy-editors-linked-banner,
    .cfy-homepage-discovery > .cfy-home-block--discovery-strip .cfy-home-block--pays-strip .banner.cfy-editors-linked-banner,
    .cfy-homepage-discovery > .cfy-home-block--discovery-strip .cfy-home-block__content {
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    /* Blocs à l’intérieur de l’accordéon : mêmes alignements pleine largeur que lorsqu’ils étaient enfants directs */
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--hyper-profil .cfy-home-block__banner {
        padding-inline-start: var(--nk-content-padding, 0px) !important;
        padding-inline-end: var(--cfy-hb-content-padding-inline) !important;
    }
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--hyper-profil .cfy-home-block__content {
        padding-inline-start: 0 !important;
        padding-inline-end: var(--nk-content-padding, 0px) !important;
    }
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--banners-demo .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--banners-demo .cfy-home-block__content {
        padding-left: var(--cfy-hb-content-padding-inline) !important;
        padding-right: var(--cfy-hb-content-padding-inline) !important;
    }
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--community-moderation .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--community-moderation .cfy-home-block__content {
        padding-left: var(--cfy-hb-content-padding-inline) !important;
        padding-right: var(--cfy-hb-content-padding-inline) !important;
    }
}

/* Intro descriptive sous le titre (bannières démo, badges, Hyper-Profil) — contraste Dashlite en thème clair */
.cfy-home-block-banners-demo__intro,
.cfy-home-block-badge-funnel__intro,
.cfy-home-block-hyper-profil__lead {
    margin: 0 0 1rem;
    color: #364a63;
    font-size: 0.95rem;
    line-height: 1.5;
}
/* Dark mode : même style que le reste des blocs discovery */
html.dark-mode .cfy-home-block-banners-demo__intro,
.dark-mode .cfy-home-block-banners-demo__intro,
html.dark-mode .cfy-home-block-badge-funnel__intro,
.dark-mode .cfy-home-block-badge-funnel__intro,
html.dark-mode .cfy-home-block-hyper-profil__lead,
.dark-mode .cfy-home-block-hyper-profil__lead {
    color: var(--cfy-hb-link-secondary, #b0b5bc);
}

/* Banners Démo : hauteur des vignettes 1x1 — cellule carrée pour afficher la bannière en entier */
.cfy-home-block--banners-demo .cfy-banners-demo-grid .vignette-item {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    min-height: 0;
}
.cfy-home-block--banners-demo .cfy-banners-demo-grid .vignette-ad .product-card {
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
.cfy-home-block--banners-demo .cfy-banners-demo-grid .vignette-ad .product-thumb {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    align-items: stretch !important;
}
.cfy-home-block--banners-demo .cfy-banners-demo-grid .vignette-ad .product-thumb > a {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
}
.cfy-home-block--banners-demo .cfy-banners-demo-grid .vignette-ad .card-img-top {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}
.cfy-home-block--banners-demo .cfy-banners-demo-grid .vignette-ad video {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* -------------------------------------------------------------------------- */
/* Bloc générique : bannière titre (même style que .cfy-editors-linked-banner) */
/* -------------------------------------------------------------------------- */

.cfy-home-block {
    margin-bottom: 1.5rem;
}

.cfy-home-block__inner {
    max-width: 100%;
}

/* Bannière hors grille discovery : repli titre + lien (legacy) */
.cfy-home-block .cfy-home-block__banner {
    background: var(--cfy-hb-banner-bg) !important;
    padding: 18px calc(20px + var(--nk-content-padding, 0px)) !important;
    text-align: start !important;
}

/* Grille discovery : même modèle que .cfy-editors-linked-banner — titre pleine largeur, liens dessous */
.cfy-homepage-discovery .cfy-home-block__banner {
    display: block !important;
    padding: 18px calc(20px + var(--nk-content-padding, 0px)) !important;
    text-align: start !important;
}

/*
 * Bandeaux « Parcourir par … » avec le même markup que « Les éditeurs liés » (banner + h1.catalog-title).
 * Hors .cfy-editors-linked-to-catalog, commercify-modern.css impose h1.catalog-title en orange (#FF8C00)
 * et une taille plus grande — on rétablit strictement le rendu .cfy-editors-linked-banner / h1.cfy-editors-linked-title.
 */
.cfy-homepage-discovery .banner.cfy-editors-linked-banner,
.cfy-home-block .banner.cfy-editors-linked-banner {
    background: var(--cfy-hb-banner-bg, #212529) !important;
    padding: 18px calc(20px + var(--nk-content-padding, 0px)) !important;
    text-align: start !important;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner h1.cfy-editors-linked-title.catalog-title,
.cfy-home-block .banner.cfy-editors-linked-banner h1.cfy-editors-linked-title.catalog-title {
    color: #ffffff !important;
    font-size: clamp(1.15rem, 3vw, 1.5rem) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    text-align: start !important;
    margin: 0 !important;
    margin-top: 0 !important;
    /* Même base que sous .cfy-editors-linked-to-catalog (global h1.catalog-title = cursive) */
    font-family: cursive !important;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-banner-links,
.cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-banner-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-top: 0.35rem;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-banner-links .cfy-editors-search-link,
.cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-banner-links .cfy-editors-search-link {
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-banner-links .cfy-editors-link-icon-wrap,
.cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-banner-links .cfy-editors-link-icon-wrap {
    flex-shrink: 0;
    line-height: 0;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-banner-links .cfy-editors-link-icon,
.cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-banner-links .cfy-editors-link-icon {
    vertical-align: middle;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-search-link-rechercher,
.cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-search-link-rechercher {
    color: #b0b5bc;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-search-link-rechercher:hover,
.cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-search-link-rechercher:hover {
    color: #c5cad1;
    text-decoration: underline;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-search-link-rechercher:focus-visible,
.cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-search-link-rechercher:focus-visible {
    outline: 2px solid #b0b5bc;
    outline-offset: 2px;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-search-link-below-title,
.cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-search-link-below-title {
    color: #8b929a;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-search-link-below-title:hover,
.cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-search-link-below-title:hover {
    color: #a8adb4;
    text-decoration: underline;
}

.cfy-homepage-discovery .banner.cfy-editors-linked-banner .cfy-editors-search-link-below-title:focus-visible,
.cfy-home-block .banner.cfy-editors-linked-banner .cfy-editors-search-link-below-title:focus-visible {
    outline: 2px solid #8b929a;
    outline-offset: 2px;
}

@media (max-width: 576px) {
    .cfy-homepage-discovery .banner.cfy-editors-linked-banner h1.cfy-editors-linked-title.catalog-title,
    .cfy-home-block .banner.cfy-editors-linked-banner h1.cfy-editors-linked-title.catalog-title {
        font-size: clamp(1.15rem, 3vw, 1.5rem) !important;
    }
}

@media (min-width: 577px) and (max-width: 768px) {
    .cfy-homepage-discovery .banner.cfy-editors-linked-banner h1.cfy-editors-linked-title.catalog-title,
    .cfy-home-block .banner.cfy-editors-linked-banner h1.cfy-editors-linked-title.catalog-title {
        font-size: clamp(1.15rem, 3vw, 1.5rem) !important;
    }
}

/* Titre : aligné sur .cfy-editors-linked-title (vignettes_optimized) */
.cfy-home-block__title {
    font-family: cursive !important;
    color: var(--cfy-hb-banner-title) !important;
    font-size: clamp(1.15rem, 3vw, 1.5rem) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

.cfy-homepage-discovery .cfy-home-block__banner-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-top: 0.35rem;
}

.cfy-homepage-discovery .cfy-home-block__banner-links .cfy-home-block__banner-link {
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.cfy-homepage-discovery .cfy-home-block__banner-link-icon-wrap {
    flex-shrink: 0;
    line-height: 0;
}

.cfy-homepage-discovery .cfy-home-block__banner-link-icon {
    vertical-align: middle;
}

/* Accent clair (#b0b5bc) — équivalent .cfy-editors-search-link-rechercher */
.cfy-homepage-discovery .cfy-home-block__banner-link--accent {
    color: #b0b5bc;
}

.cfy-homepage-discovery .cfy-home-block__banner-link--accent:hover {
    color: #c5cad1;
    text-decoration: underline;
}

.cfy-homepage-discovery .cfy-home-block__banner-link--accent:focus-visible {
    outline: 2px solid #b0b5bc;
    outline-offset: 2px;
}

/* Muted (#8b929a) — équivalent .cfy-editors-search-link-below-title */
.cfy-homepage-discovery .cfy-home-block__banner-link--muted {
    color: #8b929a;
}

.cfy-homepage-discovery .cfy-home-block__banner-link--muted:hover {
    color: #a8adb4;
    text-decoration: underline;
}

.cfy-homepage-discovery .cfy-home-block__banner-link--muted:focus-visible {
    outline: 2px solid #8b929a;
    outline-offset: 2px;
}

/* Liens legacy « Voir tout » (hors ligne banner-links) */
.cfy-home-block__link-all {
    font-family: inherit !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    color: #8b929a !important;
    display: inline-block;
}

.cfy-home-block__link-all:hover {
    color: #a8adb4 !important;
    text-decoration: underline !important;
}

.cfy-home-block__link-all:focus-visible {
    outline: 2px solid #8b929a;
    outline-offset: 2px;
}

/* Zone contenu sous la bannière (cartes, listes) */
.cfy-home-block__content {
    margin-top: 10px;
}

/* -------------------------------------------------------------------------- */
/* Entonnoir badge : seule la zone titre a un fond ; conteneur vignettes/boutons sans fond */
/* -------------------------------------------------------------------------- */

/* Pas de fond sur __inner : évite que la zone vignettes hérite du fond */
.cfy-home-block--badge-funnel .cfy-home-block__inner {
    background: transparent !important;
    padding: 0 !important;
}

/* Fond réservé à la barre titre (variable isolée au bloc) */
.cfy-home-block--badge-funnel .cfy-home-block__banner {
    margin-bottom: 0;
    background: var(--cfy-hb-banner-bg) !important;
}

/* Conteneur des 3 vignettes : marges left/right et espacement via variables (--cfy-hb-content-padding-inline, --cfy-hb-vignette-gap-*) */
.cfy-home-block--badge-funnel .cfy-home-block__content {
    background: transparent !important;
    border: none;
    padding: 1rem var(--cfy-hb-content-padding-inline);
    margin-top: 0;
}

.cfy-home-badge-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--cfy-hb-vignette-gap-v) var(--cfy-hb-vignette-gap-h);
    margin-bottom: 0.75rem;
}

/* Note « livret » sous les 3 fiches : bêta privée, demande de badge, lien contact */
.cfy-home-block-badge-funnel__booklet {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    max-width: 52rem;
    margin: 0 auto;
    padding: 0.45rem 0.55rem;
    border: 1px dashed var(--cfy-hb-card-border);
    background: rgba(0, 0, 0, 0.12);
    font-size: 0.78rem;
    line-height: 1.4;
    color: #6c757d;
    text-transform: none !important;
}

.cfy-home-block-badge-funnel__booklet-icon {
    flex-shrink: 0;
    margin-top: 0.1rem;
    opacity: 0.85;
    color: var(--cfy-hb-link-muted, #8b929a);
}

.cfy-home-block-badge-funnel__booklet-body {
    flex: 1;
    min-width: 0;
}

.cfy-home-block-badge-funnel__booklet-text {
    margin: 0;
    display: block;
    text-transform: none !important;
}

.cfy-home-block-badge-funnel__booklet-text a {
    text-transform: none !important;
}

.cfy-home-block-badge-funnel__booklet-body > .cfy-home-block-badge-funnel__booklet-text + .cfy-home-block-badge-funnel__booklet-text {
    margin-top: 0.45em;
}

.cfy-home-block-badge-funnel__booklet-link {
    color: var(--cfy-hb-link-secondary, #b0b5bc);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cfy-home-block-badge-funnel__booklet-link:hover {
    color: var(--cfy-hb-link-secondary-hover, #c5cad1);
}

html.dark-mode .cfy-home-block-badge-funnel__booklet,
.dark-mode .cfy-home-block-badge-funnel__booklet {
    color: var(--cfy-hb-link-muted, #8b929a);
    background: rgba(0, 0, 0, 0.25);
}

@media (max-width: 991.98px) {
    .cfy-home-badge-grid {
        grid-template-columns: 1fr;
    }
}

.cfy-home-badge-vignette {
    display: flex;
    flex-direction: column;
    background: linear-gradient(to bottom, #2a2a2a 0%, #1a1a1a 100%);
    border: 1px solid var(--cfy-hb-card-border);
    border-radius: 0;
    padding: 0;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.cfy-home-badge-vignette:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
    border-color: #555;
}

.cfy-home-badge-vignette__header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--cfy-hb-card-border);
}

.cfy-home-badge-vignette__icon {
    font-size: 1.5rem;
    line-height: 1;
}

.cfy-home-badge-vignette__title {
    font-family: inherit !important;
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    margin: 0 !important;
}

.cfy-home-badge-vignette--ghost .cfy-home-badge-vignette__header { border-left: 4px solid #212529; }
.cfy-home-badge-vignette--free .cfy-home-badge-vignette__header  { border-left: 4px solid #0d6efd; }
.cfy-home-badge-vignette--pro .cfy-home-badge-vignette__header  { border-left: 4px solid #ffc107; }

.cfy-home-badge-vignette__list {
    list-style: none;
    margin: 0;
    padding: 0.75rem 1.25rem 1rem;
    flex: 1;
}

.cfy-home-badge-vignette__list-item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.85rem;
    line-height: 1.4;
    padding: 0.25rem 0;
    color: var(--cfy-hb-link-secondary);
}

.cfy-home-badge-vignette__list-item--ok .cfy-home-badge-vignette__list-icon { color: #28a745; }
.cfy-home-badge-vignette__list-item--no .cfy-home-badge-vignette__list-icon { color: #dc3545; }

.cfy-home-badge-vignette__list-icon {
    flex-shrink: 0;
    font-weight: 700;
}

.cfy-home-badge-vignette__footer {
    padding: 0.75rem 1.25rem 1rem;
    border-top: 1px solid var(--cfy-hb-card-border);
}

.cfy-home-badge-vignette__btn {
    font-size: 0.85rem;
}

/* Boutons : même style que zone éditeurs (bordure blanche dashed, fond sombre) */
.cfy-home-block-btn {
    font-family: inherit !important;
    display: inline-block;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 0;
    border: 1px dashed var(--cfy-hb-btn-border);
    background: var(--cfy-hb-btn-bg);
    color: var(--cfy-hb-btn-text);
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.cfy-home-block-btn:hover {
    background: var(--cfy-hb-btn-hover-bg);
    color: var(--cfy-hb-btn-hover-text);
    border-color: var(--cfy-hb-btn-hover-bg);
}

.cfy-home-block-btn--primary {
    background: #FFD700;
    color: #1a1a1a;
    border-style: solid;
    border-color: #FFD700;
}

.cfy-home-block-btn--primary:hover {
    background: #ffe44d;
    color: #1a1a1a;
    border-color: #ffe44d;
}

.cfy-home-block-btn--outline {
    background: var(--cfy-hb-btn-bg);
    color: var(--cfy-hb-btn-text);
    border: 1px dashed var(--cfy-hb-btn-border);
}

.cfy-home-block-btn--outline:hover {
    background: var(--cfy-hb-btn-hover-bg);
    color: var(--cfy-hb-btn-hover-text);
}

.cfy-home-block-btn:disabled,
.cfy-home-block-btn:disabled:hover {
    opacity: 0.7;
    cursor: not-allowed;
    background: var(--cfy-hb-btn-bg);
    color: var(--cfy-hb-btn-text);
    border-color: var(--cfy-hb-btn-border);
}

/* Infobulle « Bientôt ! » : curseur d’aide pour signaler l’info au survol */
.cfy-home-badge-vignette__btn[title]:disabled,
.cfy-home-badge-vignette__btn[title]:disabled:hover {
    cursor: help;
}

/* -------------------------------------------------------------------------- */
/* Bandeau catégories : cartes style .cfy-editor-card                         */
/* -------------------------------------------------------------------------- */

.cfy-home-block--category-strip .cfy-home-block__inner {
    background: var(--cfy-hb-banner-bg) !important;
    padding: 0 !important;
}

.cfy-home-block--category-strip .cfy-home-block__content {
    background: transparent;
    margin-top: 10px;
    padding: 0;
}

.cfy-home-block-category-strip {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 10px;
}

@media (min-width: 576px) {
    .cfy-home-block-category-strip {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }
}

.cfy-home-block-category-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    border-radius: 0;
    overflow: hidden;
    background: var(--cfy-hb-card-bg) !important;
    border: 1px solid var(--cfy-hb-card-border);
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

.cfy-home-block-category-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4);
    border-color: #555;
}

.cfy-home-block-category-card__img-wrap {
    aspect-ratio: 16 / 9;
    background: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cfy-home-block-category-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cfy-home-block-category-card__placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
}

/* Libellé catégorie (Animaleries, Art, etc.) : même effet grisonnant que les liens « Rechercher un éditeur » */
.cfy-home-block-category-card__label {
    padding: 8px 10px;
    font-family: inherit !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #b0b5bc !important;
}

.cfy-home-block-category-card:hover .cfy-home-block-category-card__label {
    color: #c5cad1 !important;
    text-decoration: underline;
}

/* -------------------------------------------------------------------------- */
/* Bandeau rayons : icônes petites, nombreuses (Parcourir par rayons)         */
/* -------------------------------------------------------------------------- */

/* Séparation nette : titre (bannière) vs zone des vignettes sous-rayons */
.cfy-home-block--rayons-strip .cfy-home-block__inner,
.cfy-home-block--categories-strip .cfy-home-block__inner {
    background: transparent !important;
    padding: 0 !important;
}

.cfy-home-block--rayons-strip .cfy-home-block__banner,
.cfy-home-block--categories-strip .cfy-home-block__banner,
.cfy-home-block--rayons-strip .banner.cfy-editors-linked-banner,
.cfy-home-block--categories-strip .banner.cfy-editors-linked-banner,
.cfy-home-block--devises-strip .banner.cfy-editors-linked-banner,
.cfy-home-block--langues-strip .banner.cfy-editors-linked-banner,
.cfy-home-block--pays-strip .banner.cfy-editors-linked-banner {
    background: var(--cfy-hb-banner-bg) !important;
}

/* Mêmes margins left/right que zone éditeurs et bloc badge (onglets + vignettes alignés) */
.cfy-home-block--rayons-strip .cfy-home-block__content,
.cfy-home-block--categories-strip .cfy-home-block__content {
    background: transparent !important;
    margin-top: 0;
    padding: 1rem var(--nk-content-padding, 0px) 1.25rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* -------------------------------------------------------------------------- */
/* Switcher de vues hyperprofil (catégories · rayons · devises · langues · pays) */
/* -------------------------------------------------------------------------- */
.cfy-home-block--discovery-strip {
    padding: 0;
}

.cfy-home-discovery-switcher {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: var(--cfy-editors-gap-v, 5px) var(--cfy-editors-gap-h, 3px);
    padding: 14px calc(20px + var(--nk-content-padding, 0px)) 12px;
    background: var(--cfy-hb-banner-bg);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* Barre sous le titre / liens (plus en tête du bloc) : séparation légère du bandeau */
.cfy-home-block--discovery-strip .cfy-home-block__inner > .cfy-home-discovery-switcher {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.cfy-home-discovery-switcher__btn {
    flex: 1 1 auto;
    min-width: min(100%, 5.5rem);
    padding: 8px 10px;
    font-family: inherit !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-align: center;
    color: #a8a39a;
    background: linear-gradient(165deg, #252a30 0%, #1a1e22 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0;
    cursor: pointer;
    transition: color 0.2s, background 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.cfy-home-discovery-switcher__btn:hover {
    color: #e8e4dc;
    border-color: rgba(255, 255, 255, 0.18);
}

.cfy-home-discovery-switcher__btn:focus-visible {
    outline: 2px solid #c9a227;
    outline-offset: 2px;
}

.cfy-home-discovery-switcher__btn--active {
    color: #1a1a1a;
    background: linear-gradient(165deg, #e8c547 0%, #c9a227 100%);
    border-color: rgba(0, 0, 0, 0.12);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

.cfy-home-discovery-views {
    position: relative;
}

.cfy-home-discovery-view[hidden] {
    display: none !important;
}

.cfy-home-discovery-view__stub {
    margin: 0;
    padding: 2rem calc(20px + var(--nk-content-padding, 0px));
    text-align: center;
    font-size: 0.95rem;
    color: #8b929a;
    background: var(--cfy-hb-banner-bg);
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.cfy-home-discovery-view__loading {
    margin: 0;
    padding: 1rem calc(20px + var(--nk-content-padding, 0px));
    text-align: center;
    font-size: 0.9rem;
    color: #8b929a;
}

/* Onglets par groupe de rayons — même espacement inter-onglets que vignettes éditeurs */
.cfy-home-block-rayons-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cfy-editors-gap-v, 5px) var(--cfy-editors-gap-h, 3px);
    margin-bottom: 14px;
    padding: 0 2px;
}

/* Badges des rayons (onglets) : fond sombre, texte clair — inversé avec les vignettes sous-rayons */
.cfy-home-block-rayons-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    font-family: inherit !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: #c9c4b8;
    background: linear-gradient(165deg, #2a2e34 0%, #1c1f24 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0;
    cursor: pointer;
    transition: color 0.2s, background 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.cfy-home-block-rayons-tab:hover {
    color: #e0e4e8;
    background: linear-gradient(165deg, #3a4048 0%, #2a2f36 100%);
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

/* Accent par index (bordure gauche colorée) */
.cfy-home-block-rayons-tab:nth-child(5n+1) { border-left: 3px solid #4da3ff; }
.cfy-home-block-rayons-tab:nth-child(5n+2) { border-left: 3px solid #52d48c; }
.cfy-home-block-rayons-tab:nth-child(5n+3) { border-left: 3px solid #ffb366; }
.cfy-home-block-rayons-tab:nth-child(5n+4) { border-left: 3px solid #a78bfa; }
.cfy-home-block-rayons-tab:nth-child(5n+5) { border-left: 3px solid #e879a8; }

.cfy-home-block-rayons-tab--active {
    color: #1a1a1a;
    background: linear-gradient(165deg, #e8c547 0%, #c9a227 100%);
    border-color: rgba(255, 255, 255, 0.25);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    border-left-color: #c9a227;
}

.cfy-home-block-rayons-tab--media .cfy-home-block-rayons-tab__icon {
    font-size: 1.05rem;
}

/* Badge comptage onglet : bien visible, coloré (fond tamisé Commercify), angles droits */
.cfy-home-block-rayons-tab__count {
    display: inline-block;
    min-width: 1.85rem;
    padding: 4px 8px;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    line-height: 1.15;
    text-align: center;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 0;
    margin-left: 6px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.cfy-home-block-rayons-tab:nth-child(5n+1) .cfy-home-block-rayons-tab__count { background: rgba(77, 163, 255, 0.75); border-color: rgba(77, 163, 255, 0.5); }
.cfy-home-block-rayons-tab:nth-child(5n+2) .cfy-home-block-rayons-tab__count { background: rgba(82, 212, 140, 0.75); border-color: rgba(82, 212, 140, 0.5); }
.cfy-home-block-rayons-tab:nth-child(5n+3) .cfy-home-block-rayons-tab__count { background: rgba(255, 179, 102, 0.8); border-color: rgba(255, 179, 102, 0.5); color: #1a1a1a; }
.cfy-home-block-rayons-tab:nth-child(5n+4) .cfy-home-block-rayons-tab__count { background: rgba(167, 139, 250, 0.75); border-color: rgba(167, 139, 250, 0.5); }
.cfy-home-block-rayons-tab:nth-child(5n+5) .cfy-home-block-rayons-tab__count { background: rgba(232, 121, 168, 0.75); border-color: rgba(232, 121, 168, 0.5); }

.cfy-home-block-rayons-tab__count:empty {
    display: none;
}

.cfy-home-block-rayons-tab-panel {
    display: none;
}

.cfy-home-block-rayons-tab-panel--active {
    display: block;
}

/* Même espacement inter-vignettes que « Les éditeurs liés » */
.cfy-home-block-rayons-strip {
    display: grid;
    grid-template-columns: repeat(auto-fill, 130px);
    gap: var(--cfy-editors-gap-v, 5px) var(--cfy-editors-gap-h, 3px);
}

@media (min-width: 576px) {
    .cfy-home-block-rayons-strip {
        grid-template-columns: repeat(auto-fill, 140px);
    }
}

@media (min-width: 768px) {
    .cfy-home-block-rayons-strip {
        grid-template-columns: repeat(auto-fill, 150px);
    }
}

/* Vignettes des sous-rayons : fond clair, texte sombre — inversé avec les onglets rayons */
.cfy-home-block-rayon-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    border-radius: 0;
    overflow: hidden;
    background: #f5f2eb !important;
    border: 1px solid #e0dbd0;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    padding: 6px;
}

.cfy-home-block-rayon-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
    border-color: #d0c9bc;
}

.cfy-home-block-rayon-card__img-wrap {
    position: relative;
    width: 96px;
    height: 96px;
    flex-shrink: 0;
    border-radius: 0;
    background: #ebe6de;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Badge comptage vignette : très gros, angles droits, couleurs par position pour ressortir */
.cfy-home-block-rayon-card__count {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 2.5rem;
    padding: 8px 10px;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    line-height: 1.1;
    text-align: center;
    color: #0d3a6e;
    background: linear-gradient(135deg, rgba(77, 163, 255, 0.5) 0%, rgba(77, 163, 255, 0.3) 100%);
    border: 2px solid rgba(77, 163, 255, 0.7);
    border-radius: 0;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.5) inset;
}

/* Couleurs alternées par position (comme les onglets) pour faire ressortir les compteurs */
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+1) .cfy-home-block-rayon-card__count { color: #0d3a6e; background: linear-gradient(135deg, rgba(77, 163, 255, 0.55) 0%, rgba(77, 163, 255, 0.35) 100%); border-color: rgba(77, 163, 255, 0.75); }
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+2) .cfy-home-block-rayon-card__count { color: #0d5c38; background: linear-gradient(135deg, rgba(82, 212, 140, 0.6) 0%, rgba(82, 212, 140, 0.4) 100%); border-color: rgba(82, 212, 140, 0.75); }
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+3) .cfy-home-block-rayon-card__count { color: #5c2e0a; background: linear-gradient(135deg, rgba(255, 179, 102, 0.65) 0%, rgba(255, 179, 102, 0.45) 100%); border-color: rgba(255, 179, 102, 0.8); }
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+4) .cfy-home-block-rayon-card__count { color: #2d1a5c; background: linear-gradient(135deg, rgba(167, 139, 250, 0.55) 0%, rgba(167, 139, 250, 0.35) 100%); border-color: rgba(167, 139, 250, 0.75); }
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+5) .cfy-home-block-rayon-card__count { color: #6a1a3d; background: linear-gradient(135deg, rgba(232, 121, 168, 0.6) 0%, rgba(232, 121, 168, 0.4) 100%); border-color: rgba(232, 121, 168, 0.75); }
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+6) .cfy-home-block-rayon-card__count { color: #0d3a6e; background: linear-gradient(135deg, rgba(77, 163, 255, 0.5) 0%, rgba(77, 163, 255, 0.3) 100%); border-color: rgba(77, 163, 255, 0.7); }

.cfy-home-block-rayon-card__count:empty {
    display: none;
}

.cfy-home-block-rayon-card__img {
    width: 96px;
    height: 96px;
    object-fit: cover;
}

.cfy-home-block-rayon-card__placeholder {
    width: 100%;
    height: 100%;
    background: #ddd8d0;
}

.cfy-home-block-rayon-card__label {
    margin-top: 8px;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #2c2a26 !important;
    text-align: center;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Noms des sous-rayons (vignettes) : tons sombres sur fond clair */
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+1) .cfy-home-block-rayon-card__label { color: #2c2a26 !important; }
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+2) .cfy-home-block-rayon-card__label { color: #3d3a35 !important; }
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+3) .cfy-home-block-rayon-card__label { color: #2c2a26 !important; }
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+4) .cfy-home-block-rayon-card__label { color: #4a4740 !important; }
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+5) .cfy-home-block-rayon-card__label { color: #2c2a26 !important; }
.cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+6) .cfy-home-block-rayon-card__label { color: #3d3a35 !important; }

.cfy-home-block-rayon-card:hover .cfy-home-block-rayon-card__label {
    color: #1a1917 !important;
    text-decoration: underline;
}

/* Dark mode : fond des vignettes sous-rayons compatible (plus de blanc qui contraste avec le noir) */
html.dark-mode .cfy-home-block-rayon-card,
.dark-mode .cfy-home-block-rayon-card {
    background: linear-gradient(165deg, #2a2e34 0%, #1c1f24 100%) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

html.dark-mode .cfy-home-block-rayon-card:hover,
.dark-mode .cfy-home-block-rayon-card:hover {
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4) !important;
}

html.dark-mode .cfy-home-block-rayon-card__img-wrap,
.dark-mode .cfy-home-block-rayon-card__img-wrap {
    background: #1a1a1a !important;
}

html.dark-mode .cfy-home-block-rayon-card__count,
.dark-mode .cfy-home-block-rayon-card__count {
    color: #fff !important;
    background: linear-gradient(135deg, rgba(77, 163, 255, 0.6) 0%, rgba(77, 163, 255, 0.4) 100%) !important;
    border-color: rgba(77, 163, 255, 0.7) !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.1) inset !important;
}

html.dark-mode .cfy-home-block-rayon-card__placeholder,
.dark-mode .cfy-home-block-rayon-card__placeholder {
    background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%) !important;
}

html.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card .cfy-home-block-rayon-card__label,
.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card .cfy-home-block-rayon-card__label {
    color: #c9c4b8 !important;
}

html.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+1) .cfy-home-block-rayon-card__label,
.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+1) .cfy-home-block-rayon-card__label { color: #c9c4b8 !important; }
html.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+2) .cfy-home-block-rayon-card__label,
.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+2) .cfy-home-block-rayon-card__label { color: #c4beb4 !important; }
html.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+3) .cfy-home-block-rayon-card__label,
.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+3) .cfy-home-block-rayon-card__label { color: #d0c8bc !important; }
html.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+4) .cfy-home-block-rayon-card__label,
.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+4) .cfy-home-block-rayon-card__label { color: #beb8b0 !important; }
html.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+5) .cfy-home-block-rayon-card__label,
.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+5) .cfy-home-block-rayon-card__label { color: #c8c0b4 !important; }
html.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+6) .cfy-home-block-rayon-card__label,
.dark-mode .cfy-home-block-rayons-strip .cfy-home-block-rayon-card:nth-child(6n+6) .cfy-home-block-rayon-card__label { color: #ccc6ba !important; }

html.dark-mode .cfy-home-block-rayon-card:hover .cfy-home-block-rayon-card__label,
.dark-mode .cfy-home-block-rayon-card:hover .cfy-home-block-rayon-card__label {
    color: #e0e4e8 !important;
}

/* -------------------------------------------------------------------------- */
/* Liste rayons : liens style éditeurs                                        */
/* -------------------------------------------------------------------------- */

.cfy-home-block--rayons-list .cfy-home-block__inner {
    background: var(--cfy-hb-banner-bg) !important;
    padding: 0 !important;
}

.cfy-home-block--rayons-list .cfy-home-block__content {
    background: var(--cfy-hb-card-bg);
    border: 1px solid var(--cfy-hb-card-border);
    border-top: none;
    padding: 1rem calc(20px + var(--nk-content-padding, 0px));
    margin-top: 0;
}

.cfy-home-block-rayons-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
}

/* Liens rayons : même effet grisonnant que les liens de la bannière éditeurs */
.cfy-home-block-rayons-list__link {
    font-family: inherit !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    color: #b0b5bc !important;
}

.cfy-home-block-rayons-list__link:hover {
    color: #c5cad1 !important;
    text-decoration: underline !important;
}

.cfy-home-block-rayons-list__link:focus-visible {
    outline: 2px solid #b0b5bc;
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------- */
/* Documentation à venir : même grille que recherche rapide / plan du site (pas de grid-column forcé) */
/* -------------------------------------------------------------------------- */

.cfy-home-block--docs-teaser .cfy-home-block__inner {
    background: transparent !important;
    padding: 0 !important;
}

.cfy-home-block--docs-teaser .cfy-home-block__banner {
    background: var(--cfy-hb-banner-bg) !important;
    margin-bottom: 0;
}

.cfy-home-block--docs-teaser .cfy-home-block__content {
    background: transparent !important;
    border: none;
    margin-top: 0;
    padding: 1rem var(--cfy-hb-content-padding-inline);
}

.cfy-home-block-docs-teaser__intro {
    margin: 0 0 1rem;
    color: #364a63;
    font-size: 0.95rem;
    line-height: 1.5;
}

html.dark-mode .cfy-home-block-docs-teaser__intro,
.dark-mode .cfy-home-block-docs-teaser__intro {
    color: var(--cfy-hb-link-secondary, #b0b5bc);
}

.cfy-home-block-docs-teaser__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--cfy-hb-vignette-gap-v);
}

.cfy-home-block-docs-teaser__card {
    padding: 12px 14px;
    background: var(--cfy-hb-card-bg) !important;
    border: 1px solid var(--cfy-hb-card-border);
}

.cfy-home-block-docs-teaser__card-title {
    font-family: cursive !important;
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.75rem;
    color: var(--cfy-hb-banner-title) !important;
}

.cfy-home-block-docs-teaser__card p {
    font-size: 0.92rem;
    line-height: 1.5;
    margin: 0 0 1rem;
    color: var(--cfy-hb-link-secondary, #b0b5bc);
}

.cfy-home-block-docs-teaser__card p:last-of-type {
    margin-bottom: 0;
}

.cfy-home-block-docs-teaser__link {
    display: inline;
    font-weight: 600;
    text-decoration: none !important;
    color: var(--cfy-hb-link-secondary, #b0b5bc) !important;
}

.cfy-home-block-docs-teaser__link:hover {
    color: var(--cfy-hb-link-secondary-hover, #c5cad1) !important;
    text-decoration: underline !important;
}

.cfy-home-block-docs-teaser__link:focus-visible {
    outline: 2px solid #b0b5bc;
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------- */
/* Plan du site light : même variables que badge-funnel, contenu sans fond, effet vignette */
/* -------------------------------------------------------------------------- */

.cfy-home-block--sitemap-light .cfy-home-block__inner {
    background: transparent !important;
    padding: 0 !important;
}

.cfy-home-block--sitemap-light .cfy-home-block__banner {
    background: var(--cfy-hb-banner-bg) !important;
}
.cfy-home-block--sitemap-light .banner.cfy-editors-linked-banner {
    background: var(--cfy-hb-banner-bg) !important;
}

.cfy-home-block--sitemap-light .cfy-home-block__content {
    background: transparent !important;
    border: none;
    margin-top: 0;
    padding: 1rem var(--cfy-hb-content-padding-inline);
}

.cfy-home-block-sitemap-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--cfy-hb-vignette-gap-v) var(--cfy-hb-vignette-gap-h);
}

@media (min-width: 576px) {
    .cfy-home-block-sitemap-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .cfy-home-block-sitemap-grid {
        grid-template-columns: repeat(3, 1fr);
        /* Moins d’air entre Pays / Langue / Devise (évite l’effet « colonnes centrées avec trop de gap ») */
        gap: 0.65rem 10px;
    }

    /* Alignement horizontal sur la zone petites annonces du haut (--cfy-header-edge-offset) */
    .cfy-home-block--sitemap-light .cfy-home-block__content {
        padding-block-start: 1rem !important;
        padding-block-end: 1rem !important;
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }
}

.cfy-home-block-sitemap-card {
    padding: 12px 14px;
    background: var(--cfy-hb-card-bg) !important;
    border: 1px solid var(--cfy-hb-card-border);
}

.cfy-home-block-sitemap-card__title {
    font-family: cursive !important;
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.75rem;
    color: var(--cfy-hb-banner-title) !important;
}

.cfy-home-block-sitemap-card__list {
    list-style: none;
    margin: 0 0 0.5rem;
    padding: 0;
}

.cfy-home-block-sitemap-card__list li {
    margin-bottom: 0.35rem;
}

/* Liens Plan du site (Afghanistan, Albanie, etc.) : même effet grisonnant que « Rechercher un éditeur » */
.cfy-home-block-sitemap-flag {
    vertical-align: middle;
    margin-right: 6px;
    object-fit: cover;
}

.cfy-home-block-sitemap-card__list a {
    font-family: inherit !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    color: #b0b5bc !important;
}

.cfy-home-block-sitemap-card__list a:hover {
    color: #c5cad1 !important;
    text-decoration: underline !important;
}

.cfy-home-block-sitemap-card__list a:focus-visible {
    outline: 2px solid #b0b5bc;
    outline-offset: 2px;
}

/* « Voir tous les pays » etc. : même style que « Voir tous les éditeurs » (grisonnant) */
.cfy-home-block-sitemap-card__all {
    font-family: inherit !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    color: #8b929a !important;
}

.cfy-home-block-sitemap-card__all:hover {
    color: #a8adb4 !important;
    text-decoration: underline !important;
}

.cfy-home-block-sitemap-card__all:focus-visible {
    outline: 2px solid #8b929a;
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------- */
/* Modération communautaire : grille 2–3 colonnes, cartes (sans carrousel)   */
/* -------------------------------------------------------------------------- */
.cfy-home-block--community-moderation .cfy-home-block__inner {
    background: transparent !important;
    padding: 0 !important;
}

.cfy-home-block--community-moderation .cfy-home-block__banner {
    background: var(--cfy-hb-banner-bg) !important;
}

.cfy-home-block--community-moderation .cfy-home-block__content {
    background: transparent !important;
    border: none;
    margin-top: 0;
    padding: 1rem var(--cfy-hb-content-padding-inline);
}

.cfy-home-block-community-moderation__intro {
    margin-bottom: 1rem;
    color: #364a63;
    font-size: 0.95rem;
    line-height: 1.5;
}

html.dark-mode .cfy-home-block-community-moderation__intro,
.dark-mode .cfy-home-block-community-moderation__intro {
    color: var(--cfy-hb-link-secondary, #b0b5bc);
}

.cfy-home-block-community-moderation__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--cfy-hb-vignette-gap-v) var(--cfy-hb-vignette-gap-h);
}

@media (min-width: 576px) {
    .cfy-home-block-community-moderation__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.cfy-home-block-community-moderation__card {
    padding: 12px 14px;
    background: var(--cfy-hb-card-bg) !important;
    border: 1px solid var(--cfy-hb-card-border);
}

.cfy-home-block-community-moderation__card-title {
    font-family: cursive !important;
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.75rem;
    color: var(--cfy-hb-banner-title) !important;
}

.cfy-home-block-community-moderation__card p {
    font-size: 0.92rem;
    line-height: 1.5;
    margin: 0 0 1rem;
    color: var(--cfy-hb-link-secondary, #b0b5bc);
}

.cfy-home-block-community-moderation__card p:last-of-type {
    margin-bottom: 0;
}

.cfy-home-block-community-moderation__link {
    display: inline-block;
    margin-top: 0.5rem;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none !important;
    color: var(--cfy-hb-link-secondary, #b0b5bc) !important;
}

.cfy-home-block-community-moderation__link:hover {
    color: var(--cfy-hb-link-secondary-hover, #c5cad1) !important;
    text-decoration: underline !important;
}

.cfy-home-block-community-moderation__link:focus-visible {
    outline: 2px solid #b0b5bc;
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------- */
/* Hyper-Profil : aligné sur .cfy-home-badge-vignette et --cfy-hb-* (discovery) */
/* -------------------------------------------------------------------------- */
.cfy-home-block--hyper-profil {
    --cfy-hp-banner-bg: var(--cfy-hb-banner-bg);
    --cfy-hp-banner-title: var(--cfy-hb-banner-title);
    --cfy-hp-subtitle-color: var(--cfy-hb-card-title);
    --cfy-hp-content-bg: transparent;
    /* Même dégradé que .cfy-home-badge-vignette */
    --cfy-hp-card-bg: linear-gradient(to bottom, #2a2a2a 0%, #1a1a1a 100%);
    --cfy-hp-card-border: var(--cfy-hb-card-border);
    --cfy-hp-accent-hover-border: #555;
    --cfy-hp-accent-soft: #e0e0e0;
    --cfy-hp-text: #e0e0e0;
    --cfy-hp-arrow-bg: var(--cfy-hb-btn-bg);
    --cfy-hp-arrow-border: var(--cfy-hb-btn-border);
    --cfy-hp-arrow-text: var(--cfy-hb-btn-text);
    --cfy-hp-arrow-hover-bg: var(--cfy-hb-btn-hover-bg);
    --cfy-hp-arrow-hover-text: var(--cfy-hb-btn-hover-text);
}

.cfy-home-block--hyper-profil .cfy-home-block__inner {
    background: transparent !important;
    padding: 0 !important;
}

.cfy-home-block--hyper-profil .cfy-home-block__banner {
    background: var(--cfy-hp-banner-bg) !important;
    /* Comme .cfy-home-block--badge-funnel .cfy-home-block__banner : pas d’espace sous la barre titre */
    margin-bottom: 0;
}

.cfy-home-block--hyper-profil .cfy-home-block__banner .cfy-home-block__title {
    color: var(--cfy-hp-banner-title) !important;
}

/*
 * Zone contenu : mêmes marges latérales que le bloc badges ; margin-top: 0 (annule le 10px générique __content).
 * Padding-top un peu sous le badge (1rem partout) : ici 0.5rem pour moins d’air titre → carrousel.
 */
.cfy-home-block--hyper-profil .cfy-home-block__content {
    background: var(--cfy-hp-content-bg) !important;
    border: none;
    margin-top: 0;
    padding: 0.5rem var(--cfy-hb-content-padding-inline) 1rem;
}

/* Section et sous-sections à 100 % de la largeur disponible */
.cfy-home-block--hyper-profil,
.cfy-home-block--hyper-profil .cfy-home-block__inner,
.cfy-home-block--hyper-profil .cfy-home-block__banner,
.cfy-home-block--hyper-profil .cfy-home-block__content {
    max-width: 100% !important;
    width: 100%;
    box-sizing: border-box;
}

.cfy-home-block-hyper-profil__content {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* Responsive : une colonne smartphone/tablette, pas de débordement */
.cfy-home-block--hyper-profil {
    overflow-x: hidden;
    min-width: 0;
}

.cfy-home-block--hyper-profil .cfy-home-block__content {
    min-width: 0;
}

/* Carrousel : les flèches sont en overlay (position absolute) et ne consomment pas de largeur ni de marge */
.cfy-home-block-hyper-profil__carousel {
    position: relative;
    width: 100%;
    min-width: 0;
}

.cfy-home-block-hyper-profil__carousel-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    max-width: 100%;
    scrollbar-width: thin;
    /* Alignement des bords des cartes avec la grille badges : pas de padding interne ici */
    padding-inline: 0;
    box-sizing: border-box;
}

.cfy-home-block-hyper-profil__carousel-track {
    display: flex;
    flex-wrap: nowrap;
    width: 300%;
    min-width: 0;
}

/* Slides : pas de padding horizontal (évite le double retrait par rapport au bloc badges) */
.cfy-home-block-hyper-profil__slide {
    flex: 0 0 33.333%;
    width: 33.333%;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--cfy-hb-vignette-gap-v) var(--cfy-hb-vignette-gap-h);
    scroll-snap-align: start;
    scroll-snap-stop: always;
    padding: 0;
    box-sizing: border-box;
}

/* Grand écran : 2 colonnes par slide */
@media (min-width: 992px) {
    .cfy-home-block-hyper-profil__slide {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Flèches : overlay au-dessus du viewport, sans réserver de place — chevauchent légèrement le bord des cartes */
.cfy-home-block-hyper-profil__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 1.85rem;
    height: 1.85rem;
    border: 1px solid var(--cfy-hp-arrow-border);
    background: var(--cfy-hp-arrow-bg);
    color: var(--cfy-hp-arrow-text);
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    pointer-events: auto;
}

.cfy-home-block-hyper-profil__arrow:hover {
    background: var(--cfy-hp-arrow-hover-bg);
    color: var(--cfy-hp-arrow-hover-text);
    border-color: var(--cfy-hp-arrow-hover-bg);
}

.cfy-home-block-hyper-profil__arrow--prev {
    left: 0;
}

.cfy-home-block-hyper-profil__arrow--next {
    right: 0;
    left: auto;
}

@media (min-width: 768px) {
    .cfy-home-block-hyper-profil__arrow {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 1.4rem;
    }
}

/* Cartes : même lecture que .cfy-home-badge-vignette (padding responsive) */
.cfy-home-block-hyper-profil__card {
    position: relative;
    background: var(--cfy-hp-card-bg) !important;
    border: 1px solid var(--cfy-hp-card-border);
    border-radius: 0;
    padding: 1rem 1rem;
    min-width: 0;
    overflow-wrap: break-word;
    transition: box-shadow 0.2s, border-color 0.2s;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.cfy-home-block-hyper-profil__card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
    border-color: var(--cfy-hp-accent-hover-border);
}

.cfy-home-block-hyper-profil__intro {
    margin-bottom: 0;
}

.cfy-home-block-hyper-profil__intro p,
.cfy-home-block-hyper-profil__block p {
    font-family: inherit !important;
    font-size: clamp(0.875rem, 2vw, 1rem);
    line-height: 1.7;
    color: var(--cfy-hp-text);
    margin: 0 0 1rem;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.cfy-home-block-hyper-profil__block p:last-child {
    margin-bottom: 0;
}

.cfy-home-block-hyper-profil__block {
    margin-bottom: 0;
}

.cfy-home-block-hyper-profil__subtitle {
    position: relative;
    font-family: cursive !important;
    font-size: clamp(1rem, 2.2vw, 1.15rem);
    font-weight: 600;
    color: var(--cfy-hp-subtitle-color);
    margin: 0 0 0.85rem;
    padding-bottom: 0.5rem;
    padding-left: 1.75rem;
    border-bottom: 1px solid var(--cfy-hp-card-border);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.cfy-home-block-hyper-profil__subtitle::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.1rem;
    height: 1.1rem;
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='6' fill='none' stroke='%23888888' stroke-width='1.3'/%3E%3Crect x='11' y='1' width='6' height='6' fill='none' stroke='%23888888' stroke-width='1.3'/%3E%3Crect x='1' y='11' width='6' height='6' fill='none' stroke='%23888888' stroke-width='1.3'/%3E%3Crect x='11' y='11' width='6' height='6' fill='none' stroke='%23888888' stroke-width='1.3'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.75;
}

.cfy-home-block-hyper-profil__outro .cfy-home-block-hyper-profil__subtitle {
    margin-top: 0;
}

.cfy-home-block-hyper-profil__card strong {
    color: var(--cfy-hp-accent-soft);
    font-weight: 700;
}

/* Petit motif SVG « matrice de points » dans le coin des cartes (décoratif) */
.cfy-home-block-hyper-profil__card::after {
    content: "";
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    width: 42px;
    height: 42px;
    opacity: 0.25;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23888888' stroke-width='1'%3E%3Ccircle cx='4' cy='4' r='1.5'/%3E%3Ccircle cx='20' cy='4' r='1.5'/%3E%3Ccircle cx='36' cy='4' r='1.5'/%3E%3Ccircle cx='4' cy='20' r='1.5'/%3E%3Ccircle cx='20' cy='20' r='1.5'/%3E%3Ccircle cx='36' cy='20' r='1.5'/%3E%3Ccircle cx='4' cy='36' r='1.5'/%3E%3Ccircle cx='20' cy='36' r='1.5'/%3E%3Ccircle cx='36' cy='36' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

@media (min-width: 768px) {
    .cfy-home-block-hyper-profil__card {
        padding: 1.25rem 1.5rem;
    }
}

@media (min-width: 992px) {
    .cfy-home-block-hyper-profil__card {
        padding: 1.5rem 1.75rem;
    }
}

@media (min-width: 1200px) {
    .cfy-home-block-hyper-profil__card {
        padding: 1.75rem 2rem;
    }
}

html.dark-mode .cfy-home-block--hyper-profil .cfy-home-block__banner .cfy-home-block__title,
.dark-mode .cfy-home-block--hyper-profil .cfy-home-block__banner .cfy-home-block__title {
    color: var(--cfy-hp-banner-title) !important;
}

html.dark-mode .cfy-home-block-hyper-profil__subtitle,
.dark-mode .cfy-home-block-hyper-profil__subtitle {
    color: var(--cfy-hp-subtitle-color) !important;
    border-bottom-color: var(--cfy-hp-card-border) !important;
}

html.dark-mode .cfy-home-block-hyper-profil__intro p,
html.dark-mode .cfy-home-block-hyper-profil__block p,
.dark-mode .cfy-home-block-hyper-profil__intro p,
.dark-mode .cfy-home-block-hyper-profil__block p {
    color: var(--cfy-hp-text) !important;
}

html.dark-mode .cfy-home-block-hyper-profil__card strong,
.dark-mode .cfy-home-block-hyper-profil__card strong {
    color: var(--cfy-hp-accent-soft) !important;
}

/* -------------------------------------------------------------------------- */
/* Recherche rapide : champ et lien dans le thème sombre                     */
/* -------------------------------------------------------------------------- */

.cfy-home-block--search-quick .cfy-home-block__inner {
    background: var(--cfy-hb-banner-bg) !important;
    padding: 0 !important;
}
.cfy-home-block--search-quick .banner.cfy-editors-linked-banner {
    background: var(--cfy-hb-banner-bg) !important;
}

/* Espacement sous le bandeau (titre + liens) : éviter l'effet « collé » au contenu, sans dépendre du LTR/RTL */
.cfy-home-block--sitemap-light .banner.cfy-editors-linked-banner,
.cfy-home-block--search-quick .banner.cfy-editors-linked-banner {
    margin-block-end: 10px;
}

.cfy-home-block--search-quick .cfy-home-block__content {
    background: var(--cfy-hb-card-bg);
    border: 1px solid var(--cfy-hb-card-border);
    border-top: none;
    padding: 1rem calc(20px + var(--nk-content-padding, 0px));
    margin-top: 0;
}

.cfy-home-block-search-form {
    max-width: 28rem;
}

.cfy-home-block-search-form__row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.cfy-home-block-search-form__input {
    flex: 1;
    min-width: 12rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.95rem;
    border: 1px solid var(--cfy-hb-input-border);
    border-radius: 0;
    background: var(--cfy-hb-input-bg);
    color: var(--cfy-hb-input-text);
}

.cfy-home-block-search-form__input::placeholder {
    color: var(--cfy-hb-link-muted);
}

/* Lien « Recherche avancée » : même effet grisonnant que les liens bannière éditeurs */
.cfy-home-block-search-advanced-link {
    font-family: inherit !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    color: #8b929a !important;
}

.cfy-home-block-search-advanced-link:hover {
    color: #a8adb4 !important;
    text-decoration: underline !important;
}

.cfy-home-block-search-advanced-link:focus-visible {
    outline: 2px solid #8b929a;
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------- */
/* Blocs sans bannière dédiée : titre + link dans une bannière commune       */
/* -------------------------------------------------------------------------- */

.cfy-home-block--category-strip .cfy-home-block__banner,
.cfy-home-block--categories-strip .cfy-home-block__banner,
.cfy-home-block--rayons-strip .cfy-home-block__banner,
.cfy-home-block--rayons-list .cfy-home-block__banner,
.cfy-home-block--rayons-list .banner.cfy-editors-linked-banner,
.cfy-home-block--devises-strip .banner.cfy-editors-linked-banner,
.cfy-home-block--langues-strip .banner.cfy-editors-linked-banner,
.cfy-home-block--pays-strip .banner.cfy-editors-linked-banner,
.cfy-home-block--sitemap-light .cfy-home-block__banner,
.cfy-home-block--sitemap-light .banner.cfy-editors-linked-banner,
.cfy-home-block--docs-teaser .cfy-home-block__banner,
.cfy-home-block--search-quick .cfy-home-block__banner,
.cfy-home-block--search-quick .banner.cfy-editors-linked-banner,
.cfy-home-block--community-moderation .cfy-home-block__banner,
.cfy-home-block--hyper-profil .cfy-home-block__banner,
.cfy-home-block--banners-demo .cfy-home-block__banner {
    padding: 18px calc(20px + var(--nk-content-padding, 0px)) !important;
}

.cfy-home-block--badge-funnel .cfy-home-block__banner {
    padding: 18px calc(20px + var(--nk-content-padding, 0px)) !important;
}

/* Desktop : après la règle commune ci-dessus — bandeaux alignés sur --cfy-header-edge-offset (comme « Les éditeurs liés » / plan du site) */
@media (min-width: 992px) {
    .cfy-home-block--sitemap-light .banner.cfy-editors-linked-banner,
    .cfy-home-block--sitemap-light .cfy-home-block__banner {
        padding-block-start: 18px !important;
        padding-block-end: 18px !important;
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    /* Switcher + bandeaux « Parcourir par … » (rayons, catégories, devises, langues, pays) */
    .cfy-home-discovery-switcher {
        padding-block-start: 14px !important;
        padding-block-end: 12px !important;
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    .cfy-home-block--discovery-strip .banner.cfy-editors-linked-banner,
    .cfy-home-block--discovery-strip .cfy-home-block__banner,
    .cfy-home-block--discovery-strip .cfy-home-block--rayons-strip .banner.cfy-editors-linked-banner,
    .cfy-home-block--discovery-strip .cfy-home-block--categories-strip .banner.cfy-editors-linked-banner,
    .cfy-home-block--discovery-strip .cfy-home-block--devises-strip .banner.cfy-editors-linked-banner,
    .cfy-home-block--discovery-strip .cfy-home-block--langues-strip .banner.cfy-editors-linked-banner,
    .cfy-home-block--discovery-strip .cfy-home-block--pays-strip .banner.cfy-editors-linked-banner {
        padding-block-start: 18px !important;
        padding-block-end: 18px !important;
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    .cfy-home-block--discovery-strip .cfy-home-block__content,
    .cfy-home-block--discovery-strip .cfy-home-block--rayons-strip .cfy-home-block__content,
    .cfy-home-block--discovery-strip .cfy-home-block--categories-strip .cfy-home-block__content {
        padding-block-start: 1rem !important;
        padding-block-end: 1.25rem !important;
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    .cfy-home-discovery-view__stub {
        padding-block-start: 2rem !important;
        padding-block-end: 2rem !important;
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    .cfy-home-discovery-view__loading {
        padding-block-start: 1rem !important;
        padding-block-end: 1rem !important;
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    /* Recherche rapide */
    .cfy-home-block--search-quick .banner.cfy-editors-linked-banner,
    .cfy-home-block--search-quick .cfy-home-block__banner {
        padding-block-start: 18px !important;
        padding-block-end: 18px !important;
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    .cfy-home-block--search-quick .cfy-home-block__content {
        padding-block-start: 1rem !important;
        padding-block-end: 1rem !important;
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
    }

    /* Accordéon « Pour en savoir plus sur la plateforme » : même alignement menu → contenu */
    .cfy-home-discovery-accordion .cfy-home-block--hyper-profil .cfy-home-block__banner,
    .cfy-home-discovery-accordion .cfy-home-block--hyper-profil .cfy-home-block__content,
    .cfy-home-discovery-accordion .cfy-home-block--banners-demo .cfy-home-block__banner,
    .cfy-home-discovery-accordion .cfy-home-block--banners-demo .cfy-home-block__content,
    .cfy-home-discovery-accordion .cfy-home-block--community-moderation .cfy-home-block__banner,
    .cfy-home-discovery-accordion .cfy-home-block--community-moderation .cfy-home-block__content,
    .cfy-home-discovery-accordion .cfy-home-block--badge-funnel .cfy-home-block__banner,
    .cfy-home-discovery-accordion .cfy-home-block--badge-funnel .cfy-home-block__content,
    .cfy-home-discovery-accordion .cfy-home-block--docs-teaser .cfy-home-block__banner,
    .cfy-home-discovery-accordion .cfy-home-block--docs-teaser .cfy-home-block__content,
    /* Spécificité ≥ @media 1920px (règles .cfy-homepage-discovery > .cfy-home-discovery-accordion...) */
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--hyper-profil .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--hyper-profil .cfy-home-block__content,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--banners-demo .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--banners-demo .cfy-home-block__content,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--community-moderation .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--community-moderation .cfy-home-block__content,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--badge-funnel .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--badge-funnel .cfy-home-block__content,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--docs-teaser .cfy-home-block__banner,
    .cfy-homepage-discovery > .cfy-home-discovery-accordion .cfy-home-block--docs-teaser .cfy-home-block__content {
        padding-inline-start: var(--cfy-header-edge-offset, 10px) !important;
        padding-inline-end: var(--cfy-header-edge-offset, 10px) !important;
        box-sizing: border-box;
    }

    /* Accordéon : réduire l’air vertical entre gros blocs */
    .cfy-home-discovery-accordion .cfy-home-block {
        margin-bottom: 0.75rem;
    }
    .cfy-home-discovery-accordion .cfy-home-block:last-child {
        margin-bottom: 0;
    }

    /* Accordéon : badges (3 cartes) — réduire l’espace + éviter l’effet “centré” */
    .cfy-home-discovery-accordion .cfy-home-badge-grid {
        gap: 10px;
    }
    .cfy-home-discovery-accordion .cfy-home-block-badge-funnel__booklet {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }
}
