body {
    background-color: var(--color-paper);
}
a {
    cursor: pointer;
}
#the-content {
    -overflow-x: hidden;
}
.desktop-only {
    display: inline-block;
}
.mobile-only {
    display: none;
}
@media (max-width: 768px) {
    .desktop-only {
        display: none;
    }
    .mobile-only {
        display: block;
    }
}
.base_multi_cols > figure:only-child {
    margin: 0;
}
@media (min-width: 1320px) {
    .show-on-desktop {
        display: block !important;
    }
    .show-on-tablet {
        display: none !important;
    }
}
@media (max-width: 1320px) {
    .show-on-desktop {
        display: none !important;
    }
    .show-on-tablet {
        display: block !important;
    }
}



/** row **
------------------------------------------------------------
------------------------------------------------------------*/
@media (min-width: 768px) {
    .multi-cols.row-gap-0 {
        --gap-y: var(--rem-0) !important;
        row-gap: var(--rem-0) !important;
    }
    .multi-cols.row-gap-1 {
        --gap-y: var(--rem-1) !important;
        row-gap: var(--rem-1) !important;
    }
    .multi-cols.row-gap-2 {
        --gap-y: var(--rem-2) !important;
        row-gap: var(--rem-2) !important;
    }
    .multi-cols.row-gap-3 {
        --gap-y: var(--rem-3) !important;
        row-gap: var(--rem-3) !important;
    }
    .multi-cols.row-gap-4 {
        --gap-y: var(--rem-4) !important;
        row-gap: var(--rem-4) !important;
    }
    .multi-cols.row-gap-5 {
        --gap-y: var(--rem-5) !important;
        row-gap: var(--rem-5) !important;
    }
}

/** row **
------------------------------------------------------------
------------------------------------------------------------*/
.multi-cols.row.row-cols-auto.main-col-1 > div,
.multi-cols.row.row-cols-md-auto.main-col-1 > div {
    width: auto;
    flex: 0 0 auto !important;
}

/** background **
------------------------------------------------------------
------------------------------------------------------------*/
.style-cartouche.bg--color-tertiaire {
    background: var(--color-tertiaire) !important;
    color: var(--color-dark) !important;
}
.bg--color-dark .style-body.fc-color-1, .bg--color-dark p.fc-color-1, .bg--color-dark li.fc-color-1, .bg--color-dark li div.fc-color-1 {
    color: var(--color-1) !important;
}
.bg--color-dark .style-body.fc-color-2, .bg--color-dark p.fc-color-2, .bg--color-dark li.fc-color-2, .bg--color-dark li div.fc-color-2 {
    color: var(--color-2) !important;
}
.bg--color-dark .style-body.fc-color-3, .bg--color-dark p.fc-color-3, .bg--color-dark li.fc-color-3, .bg--color-dark li div.fc-color-3 {
    color: var(--color-3) !important;
}
.bg--color-dark .style-body.fc-color-4, .bg--color-dark p.fc-color-4, .bg--color-dark li.fc-color-4, .bg--color-dark li div.fc-color-4 {
    color: var(--color-4) !important;
}
.bg--color-dark .style-body.fc-color-5, .bg--color-dark p.fc-color-5, .bg--color-dark li.fc-color-5, .bg--color-dark li div.fc-color-5 {
    color: var(--color-5) !important;
}
.bg--color-dark .style-body.fc-color-6, .bg--color-dark p.fc-color-6, .bg--color-dark li.fc-color-6, .bg--color-dark li div.fc-color-6 {
    color: var(--color-6) !important;
}
.bg-glow {
    background-position: 100% 0 !important;
    background-size: contain !important;
}
.bg-degrade {
    background: linear-gradient(106deg, #B1A3FD 11.92%, var(--color-secondaire) 91.84%);
}

/** border **
------------------------------------------------------------
------------------------------------------------------------*/
.border {
    border: 1px solid var(--color-dark) !important;
}
.border-bottom {
    border-bottom: 1px solid var(--color-dark) !important;
}
.border-top {
    border-top: 1px solid var(--color-dark) !important;
}
.border-left {
    border-left: 1px solid var(--color-dark) !important;
}
.border-right {
    border-right: 1px solid var(--color-dark) !important;
}
.border-top-dark {
    border-top: 1px solid var(--color-dark) !important;
}
.border-top-dark-500 {
    border-top: 1px solid #a1a1a13d !important;
}
.border-top-light {
    border-top: 1px solid var(--color-light) !important;
}
.border-top-light-500 {
    border-top: 1px solid rgb(255 255 255 / 0.24) !important;
}
.border-hover {
    border: 1px solid rgba(251, 250, 246, .16) !important;
    transition: all .3s ease;
}
.border-hover:hover {
    border: 1px solid rgba(251, 250, 246, .4) !important;
}

/** font-size **
------------------------------------------------------------
------------------------------------------------------------*/
.fs-14 {
    font-size: 14px;
    line-height: 16px;
}
p.style-p-first-letter:first-child::first-letter {
    font-family:var(--font-2);
    font-size:3.4em;
    float:left;
    line-height:.78;
    padding:6px 10px 0 0;
    color:var(--color-secondaire);
    font-weight:500;
}

/** style **
------------------------------------------------------------
------------------------------------------------------------*/
.serif {
    font-family: var(--font-2);
    font-style: italic;
    font-weight: 500;
}
.mono {
    font-family: var(--font-2);
    font-style: italic;
    font-weight: 500;
}
.style-style-1 em,
.style-style-2 em,
.style-style-3 em,
.style-style-4 em,
.style-style-5 em,
.style-style-6 em {
    font-family: var(--font-2);
}

/** border-radius **
------------------------------------------------------------
------------------------------------------------------------*/
.radius {
    border-radius: 50%;
}
.radius-200 {
    border-radius: 200px;
}
.radius-32,
figure.wp-block-image.radius-32 img {
    border-radius: 32px;
}
.radius-32-top {
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
}
.radius-32-bottom {
    border-bottom-left-radius: 32px;
    border-bottom-right-radius: 32px;
}
.radius-16 {
    border-radius: 16px;
}
.radius-16-top {
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}
.radius-16-bottom {
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
}
figure.wp-block-image.radius-16 img {
    border-radius: 16px;
}

/** bouton **
------------------------------------------------------------
------------------------------------------------------------*/
@keyframes slide-arrow {
    0%, 100% { transform: translateY(-50%) translateX(0); }
    50% { transform: translateY(-50%) translateX(5px); }
}

[class*="btn-cta"] {
    position: relative;
    padding-left: 45px;
    transition: transform 0.3s ease;
}
[class*="btn-cta"]::before {
    content: '\f061';
    font-family: var(--font-fa);
    font-weight: 400;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
}
[class*="btn-cta"]:hover::before {
    animation: slide-arrow 0.8s ease-in-out infinite;
}

/** liste à puce **
------------------------------------------------------------
------------------------------------------------------------*/
header ul, footer ul {
    padding: 0;
}
li {
    list-style-type: none;
}

.wp-block-list.liste-regular {
    padding-left: 0px;
}
.wp-block-list.liste-regular li {
    list-style-type: none;
}
.wp-block-list.liste-regular li::before {
    content: "";
    background-image: url('../img/square-arrow-right.svg');
    display: inline-block;
    height: 14px;
    width: 14px;
    margin-right: 5px;
    margin-top: -4px;
    margin-left: 0;
    vertical-align: middle;
}

.liste-lane-feats {
    display:flex;
    flex-direction:column;
    gap:0;
    margin: 0;
    padding: 0;
    border-top:1px solid rgba(251,250,246,.14);
}
.liste-lane-feats li {
    list-style:none;
    display:flex;
    gap:14px;
    align-items:baseline;
    padding:13px 0;
    margin: 0;
    border-bottom:1px solid rgba(251,250,246,.14);font-size:.95rem;color:rgba(251,250,246,.88);
}
.liste-lane-feats li strong {
    font-family:var(--font-2);
    font-size:.72rem;
    color:rgba(251,250,246,.4);
    flex:none;
    width:28px;
}

/** menu / liste à puces avec chiffres **
------------------------------------------------------------
------------------------------------------------------------*/
.menu_page_solutions {
    margin-top: 60px
}
.menu_page_solutions a {
    color: var(--color-dark);
    position: relative;
    display: inline-block;
}
.menu_page_solutions a::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: var(--color-dark);
    transform: scaleX(0);
    transform-origin: bottom left;
    transition: transform 0.3s ease;
}
.menu_page_solutions a:hover::after {
    transform: scaleX(1);
}

.menu_page_solutions>ul {
    -moz-column-gap: 100px;
    column-gap: 100px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
    row-gap: 50px;
    width: 100%
}

.menu_page_solutions>ul>* {
    position: relative;
    width: calc(25% - 75px)
}

@media(max-width: 1260px) {
    .menu_page_solutions>ul {
        -moz-column-gap:50px;
        column-gap: 50px;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        list-style-type: none;
        margin: 0 auto;
        padding: 0;
        row-gap: 50px
    }

    .menu_page_solutions>ul>* {
        position: relative;
        width: calc(25% - 37.5px)
    }
}

@media(max-width: 1023px) {
    .menu_page_solutions>ul {
        -moz-column-gap:50px;
        column-gap: 50px;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        list-style-type: none;
        margin: 0 auto;
        padding: 0;
        row-gap: 50px
    }

    .menu_page_solutions>ul>* {
        position: relative;
        width: calc(50% - 25px)
    }
}

@media(max-width: 767px) {
    .menu_page_solutions>ul {
        -moz-column-gap:0;
        column-gap: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        list-style-type: none;
        margin: 0 auto;
        padding: 0;
        row-gap: 30px
    }

    .menu_page_solutions>ul>* {
        position: relative;
        width: 100%
    }
}

.menu_page_solutions ul {
    counter-reset: item;
    list-style: none;
    padding-left: 0
}

.menu_page_solutions ul li {
    counter-increment: item;
    font-variation-settings: "wght" 600;
    margin: 1em 0
}

.menu_page_solutions ul>li:before {
    content: counter(item) ". ";
    font-variation-settings: "wght" 600
}

.menu_page_solutions ul li ul {
    counter-reset: subitem;
    margin-left: 18px;
    margin-top: 15px
}

.menu_page_solutions ul li ul li {
    counter-increment: subitem;
    font-size: 16px;
    font-variation-settings: "wght" 400;
    line-height: 1;
    overflow: hidden;
    position: relative
}

.menu_page_solutions ul li ul li:after {
    border-bottom: 1px dotted var(--color-dark);
    bottom: 0;
    content: "";
    height: 1px;
    left: auto;
    margin-left: 5px;
    position: absolute;
    width: 100%
}

.menu_page_solutions ul li ul li:before {
    content: counter(item) "." counter(subitem) " ";
    font-family: var(--font-2);
    margin-right: 6px;
}

/** swatches **
------------------------------------------------------------
------------------------------------------------------------*/
.swatches{display:flex;flex-direction:column;gap:14px}
.swatch{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:3px;
    font-family:var(--font-1);font-size:.78rem;background:var(--color-paper)}
.swatch .chip{width:40px;height:40px;border-radius:2px;flex:none;position:relative}
.swatch .chip::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.swatch .meta{display:flex;flex-direction:column;gap:3px}
.swatch .meta .nm{color:var(--color-dark);font-weight:600;letter-spacing:.02em}
.swatch .meta .vl{color:var(--color-dark);font-size:.72rem}

/** blockquote **
------------------------------------------------------------
------------------------------------------------------------*/
blockquote {
    position: relative;
    display: block;
    margin: 60px 0;
    padding: 20px 0;
}
blockquote * {
    font-size: 26px!important;
    font-style: italic!important;
    font-weight: 400!important;
    line-height: 35px!important;
    letter-spacing: -0.52px!important;
}
blockquote::before, blockquote::after {
    position: absolute;
    display: block;
    width: 80px;
    height: 1px;
    background: url('../img/quote-top.svg');
    z-index: 1;
    content: " ";
}
blockquote::after {
    position: absolute;
    display: block;
    width: 80px;
    height: 1px;
    background: url('../img/quote-bottom.svg');
    z-index: 1;
    content: " ";
}
blockquote::before {
    left: 0;
    top: 0;
}
blockquote::after {
    right: 0;
    bottom: 0;
}
blockquote p.fs-14.style-body.wp-block-paragraph strong {
    font-size: 14px !important;
    font-weight: 700 !important;
}

/** divers **
------------------------------------------------------------
------------------------------------------------------------*/
.mt-05 {
    margin-top: 10px;
}
.mb-05 {
    margin-bottom: 10px;
}
.me-05 {
    margin-right: 10px;
}
.ms-05 {
    margin-left: 10px;
}
.my-05 {
    margin-top: 10px;
    margin-bottom: 10px;
}
.ms-05 {
    margin-right: 10px;
    margin-left: 10px;
}
.m-05 {
    margin: 10px;
}
.px-05 {
    padding-left: calc( var(--rem-1) / 2 );
    padding-right: calc( var(--rem-1) / 2 );
}
.py-05 {
    padding-top: calc( var(--rem-1) / 2 );
    padding-bottom: calc( var(--rem-1) / 2 );
}
.px-30 {
    padding-left: 30px;
    padding-right: 30px;
}
p strong {
    font-weight: 700;
}

/** réseaux sociaux **
------------------------------------------------------------
------------------------------------------------------------*/
ul.rs {
    text-align: left;
}
ul.rs li  {
    margin: 0 20px;
}
footer ul.rs li  {
    margin: 0 10px 0 0;
}

.social .col-12.text-start.align-self-center {
    padding-left: 0;
}
ul.rs li a {
    color: var(--color-light) !important;
}
ul.rs li a:hover {
    color: var(--color-secondaire) !important;
}
ul.rs li a:hover i {
    color: var(--color-secondaire) !important;
}
@media (max-width: 768px) {
    ul.rs {
        text-align: center;
    }
}

/** slider slick **
------------------------------------------------------------
------------------------------------------------------------*/
.slider-nav {
    width: 100%;
    text-align: center;
    margin: 0;
}
.slider-nav .slick-prev {
    left: 0;
}
.slider-nav .slick-next {
    right: 0;
}
.slick-prev,
.slick-next {
    border-radius: 0;
    padding: 0px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-primaire);
    color: var(--color-primaire);
    border-radius: 8px;
}
.slick-prev:hover,
.slick-next:hover {
    background-color: var(--color-primaire);
    color: var(--color-light);
}
.slick-prev {
    left: -30px;
}
.slick-next {
    right: -30px;
}
.slick-prev:before,
.slick-next:before {
    color: var(--color-primaire);
}
.slick-prev:hover:before,
.slick-next:hover:before {
    color: var(--color-light);
}
.slick-prev:before {
    content: "\f060";
    font-weight: 300;
}
.slick-next:before {
    content: "\f061";
    font-weight: 300;
}
.slider-btn {
    position: absolute;
    top: -40px;
    left: calc(50% - 107px);
}

/** slider logo **
------------------------------------------------------------
------------------------------------------------------------*/
.slider_logos {
    position: relative;
}
.slider-logos:not(.slick-initialized) > * {
    display: inline-block;
    margin: 12px 10px;
}
.slider-logos .slick-list {
    mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100% );
}

.col .slider-logos::before, .col .slider-logos::after {
    content: none;
}
.slider-logos-bloc {
    width: 122px;
    height: 122px;
    padding: 10px;
    border-radius: 4px;
    background: var(--color-light);
    /*box-shadow: 0 0 47px 0 rgba(0, 0, 0, 0.10);
    margin-top: 50px;
    margin-bottom: 50px;*/
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.slider-logos:not(.slick-initialized) .slider-logos-bloc {
    margin: 0;
}
.col .slider-logos-bloc {
    box-shadow: 0 0 0;
}
.slider-logos .slick-slide {
    text-align: center;
}
@media (max-width: 1200px) {
    .slider-logos .slick-prev {
        left: -15px;
        z-index: 1000;
    }
    .slider-logos .slick-next {
        right: -15px;
        z-index: 1000;
    }

    .col .slider-logos .slick-prev {
        left: -35px;
        z-index: 1000;
    }
    .col .slider-logos .slick-next {
        right: -35px;
        z-index: 1000;
    }
}
@media (min-width: 1200px) {

}

.slider-logos.no-slick {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0px;
}

.slider-logos.no-slick .slick-slide {
    width: auto !important;
    display: inline-block;
    margin: 0 15px;
}


/** slider video **
------------------------------------------------------------
------------------------------------------------------------*/
.slider-nav .slick-next:before, .slider-nav .slick-prev:before {
    font-family: var(--font-fa);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primaire);
}
.slider-nav .slick-next:hover:before, .slider-nav .slick-prev:hover:before {
    color: var(--color-light);
}
.slider_video .slider-nav .slick-next {
    right: -50px !important;
    top: 42%;
}
.slider_video .slider-nav .slick-prev {
    left: -50px !important;
    top: 42%;
}
.slick-track::before, .slick-track::after {
    display: none;
}
.titre-video {
    font-size: 16px!important;
    line-height: 20px!important;
    margin-top: 8px;
}
.sous-titre-video {
    display: none;
}
.slider_video .slider-nav,
.slider_video .slider-for {
    transition: .3s;
    opacity: 0;
}
.slider_video .slider-nav.slick-initialized,
.slider_video .slider-for.slick-initialized {
    opacity: 1;
}
.slider_video .slider-nav {
    margin-left: -8px!important;
    width: calc(100% + 16px) !important;
}
.slider-for img {
    aspect-ratio: 16/9!important;
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.slider-nav img, .slider-double img {
    object-fit: cover;
    width: 100%;
    padding: 0 8px;
    aspect-ratio: 16 / 9;
}
.slider_video iframe {
    width: 100%;
    aspect-ratio: 16/9;
}

.slider-double img {
    padding: 0;
}
.post-type-archive-video .col {
    cursor: pointer;
}
.slider-nav .slick-track {
    display: block;
}
.slider-nav .slick-slide {
    position: relative;
}
.slider-enlarge {
    width: 28px;
    color: var(--color-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
}
.slider-enlarge.reduit i {
    transform: rotate(180deg);
}
.slick-slide {
    cursor: pointer;
}
.slider-for {
    margin-bottom: var(--rem-1);
}
.slider-for .slick-slide {
    position: relative;
}
#modal-video .active p {
    font-weight: 700;
    font-size: 16px;
}
#modal-video {
    z-index: 2000;
    background: rgb(0, 0, 0, .8);
    position: sticky;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
}
#item-modal-video {
    position: relative;
    width: 96vw;
    height: auto;
    overflow: hidden;
    max-height: 96vh;
    margin-left: 2vw;
    margin-top: 2vh;
}
#modal-video .fa-solid.fa-xmark {
    top: 5px;
    right: 5px;
    cursor: pointer;
    background: var(--color-primaire);
    border-radius: 50px;
    width: 32px;
    height: 32px;
    line-height: 33px;
    text-align: center;
}
.list-video-modal {
    overflow: scroll;
    margin: 2rem 1rem;
    transition: .3s;
    max-width: 100%;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.list-video-modal::-webkit-scrollbar {
    display: none;
}
@media (min-width: 768px) {
    .list-video-modal.reduit {
        max-width: 0;
        margin: 0;
    }
}
.list-video-modal img {
    width: 100px !important;
    height: auto !important;
    object-fit: contain;
}
.list-video-modal p {
    font-size: 16px;
    line-height: 20px;
}
.list-video-modal .item {
    height: fit-content!important;
    padding: 10px!important;
    cursor: pointer;
    transition: .3s;
    align-items: center;
}
.list-video-modal .item:hover,
.list-video-modal .item.active {
    background-color: var(--color-primaire);
    color: var(--color-light);
}
#modal-video iframe {
    height: 100%;
    width: 100%;
    display: block;
    max-height: 96vh;
}
.ratio-16-9 { aspect-ratio: 16 / 9; }
.ratio-9-16 { aspect-ratio: 9 / 16; }
.w-60  { width: 100% !important; }
.h-60  { height: 60% !important; }
.w-40  { width: 40% !important; }
@media (min-width: 992px) {
    .w-lg-60 { width: 100% !important; }
    .h-lg-60 { height: 60% !important; }
    .w-lg-40 { width: 40% !important; }
    .w-lg-80 { width: 80% !important; }
}
@media (min-width: 1200px) {
    .w-xl-60 { width: 60% !important; }
}
.over-circle-play {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.slider-for .slick-active .over-circle-play {
    z-index: 10;
}
.slider-for .fa-solid.fa-circle-play {
    font-size: 100px;
    width: auto;
    color: var(--color-light);
    opacity: .8;
    text-align: center;
    transition: .3s;
    cursor: pointer;
}
.fa-solid.fa-circle-play {
    text-shadow: 0px 0px 8px #888;
}
.slider-nav .fa-solid.fa-circle-play,
.slider-double .fa-solid.fa-circle-play {
    font-size: 70px;
    width: auto;
    color: var(--color-light);
    opacity: .8;
    text-align: center;
    transition: .3s;
    cursor: pointer;
}
.slider-double .fa-solid.fa-circle-play:hover,
.slider-for .fa-solid.fa-circle-play:hover,
.slider-nav .fa-solid.fa-circle-play:hover {
    opacity: 1;
}
.slider-double img {
    max-height: 400px;
    margin: auto;
    display: block;
}
.slider-single.slider-for img {
    max-width: 710px;
    max-height: 400px;
    width: 100%;
    object-fit: cover;
    margin: auto;
    display: block;
}
@media (max-width: 992px) {
    #item-modal-video {
        width: 100vw;
        max-height: 100vh;
    }
    .slider-enlarge {
        display: none;
    }
    .list-video-player {
        height: calc(100vw * 0.5625);
    }
    .list-video-modal {
        margin: 1rem 0rem;
        height: auto !important;
    }
    #modal-video iframe {
        max-height: 100vh;
    }
    .slider-double {
        gap: 2rem;
    }
    .slider-double img {
        width: 100%;
    }
}
@media (max-width: 768px) {
    .slider-nav.slider-nav-smallest {
        display: none;
    }
    .slider-double .fa-solid.fa-circle-play,
    .slider-nav .fa-solid.fa-circle-play,
    .slider-for .fa-solid.fa-circle-play {
        font-size: 100px;
    }
    .slider-nav .slick-slide {
        margin: 0px;
    }
    .slider-nav.slider-nav-largest img, .slider-for img, .slider-double img {
        padding: 0;
    }
    .slider-nav .slick-track {
        gap: 0;
    }
}
@media (orientation: landscape) and (max-width: 992px) {
    #item-modal-video .w-100.w-lg-60 {
        height: 100vh;
    }
    #item-modal-video .list-video-modal {
        display: none !important;
    }
}

/** breadcrumb **
------------------------------------------------------------
------------------------------------------------------------*/
.breadcrumb {
    display: inline-block;
}
.breadcrumb a {
    border-bottom: .5px solid var(--color-dark);
}
.breadcrumb a.home {
    border-bottom: none;
}

/** pagination **
------------------------------------------------------------
------------------------------------------------------------*/
.page-numbers {
    color: var(--color-dark);
    display: flex;
    width: 50px;
    height: 50px;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    border: 1px solid var(--color-dark);
    margin: 0 10px;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px;
    transition: .3s;
}
.page-numbers.current, .page-numbers:hover {
    background: var(--color-primaire);
    color: var(--color-light);
}
.navigation.pagination .nav-links {
    display: flex;
}

.navigation.pagination {
    justify-content: center;
}

/** footer **
------------------------------------------------------------
------------------------------------------------------------*/
footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
footer ul li {
    margin: 15px 0;
}
footer ul#menu-menu_credits li {
    display: inline-block;
    margin: 5px;
}
footer li a {
    color: var(--color-light);
    font-style: normal;
    font-weight: 500;
    position: relative;
    display: inline-block;
    font-size: .95rem;
}
footer ul#menu-menu_credits li a {
    font-size: 12px;
}
footer ul li a::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: var(--color-light);
    transform: scaleX(0);
    transform-origin: bottom left;
    transition: transform 0.3s ease;
}
footer ul li a:hover::after {
    transform: scaleX(1);
}
@media (max-width: 768px) {
    footer ul {
        margin: 0 0 0 -10px;
        text-align: center;
    }
    footer ul li {
        display: block;
    }
}
footer ul#menu-menu_credits {
    text-align: right;
}

footer .style-body a:hover {
    color: var(--color-secondaire) !important;
}
@media (max-width: 768px) {
    footer {
        text-align: center;
    }
}
/** scrollToTop **
------------------------------------------------------------
------------------------------------------------------------*/
a.scrollToTop {
    position: fixed;
    color: var(--color-light);
    text-align: center;
    background: white;
    transition: .3s;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    height: 60px!important;
    width: 60px!important;
    background: var(--color-primaire) !important;
    border: 0!important;
    line-height: 60px!important;
    bottom: 20px !important;
    right: 20px !important;
    box-shadow: 0 2px 6px 0 #0003;
    border-radius: 0;
}
.scrolled .scrollToTop {
    opacity: 1;
    visibility: visible;
    z-index: 10;
}
a.scrollToTop.scrollToTopActive.visible {
    bottom: 90px!important;
    right: 20px!important;
}

main#the-content .__fadeInUp,
main#the-content .__fadeInLeft {
    opacity: 0;
}

/** counter animation **
------------------------------------------------------------
------------------------------------------------------------*/
.counter {
    font-weight: 700;
    font-size: inherit;
    display: inline-block;
    transition: opacity 0.3s ease;
}

/** filtre à facettes **
------------------------------------------------------------
------------------------------------------------------------*/
.faceted-filter {
    background: var(--color-beige);
    padding: 10px;
    border-radius: 8px;
}
.faceted-filter.adherent-filters {
    padding: 30px;
}
.list_filtered:not(:empty) {
    margin-bottom: var(--rem-1);
}
.faceted-filter .btn-close{
    display: none;
}
.faceted-filter-item:has(.select-container) {
    display: inline-block;
    margin-right: 10px !important;
}
.faceted-filter-item .select-container .fa-chevron-down {
    display: none;
}
.list_filtered .btn-categorie {
    cursor: pointer;
    background: var(--color-primaire-500);
    padding: 4px 10px;
    border-radius: 6px;
}
.faceted-filter .form-check-hidden,
.faceted-filter .hidden {
    display: none;
}
.faceted-filter select {
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 448 512'><path fill='%236E6259' d='M207.5 409c9.4 9.4 24.6 9.4 33.9 0l200-200c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-183 183-183-183c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l200 200z'/></svg>") !important;
    background-position-x: 95% !important;
    background-position-y: 50% !important;
    background-repeat: no-repeat !important;
    width: 100%;
}
.faceted-filter.agenda-filters .faceted-filter-item,
.faceted-filter.formation-filters .faceted-filter-item {
    width: calc(25% - 10px);
}
.faceted-filter.realisations-filters .faceted-filter-item {
    width: calc(33.33333% - 10px);
}
@media (max-width: 768px) {
    .faceted-filter.agenda-filters .faceted-filter-item,
    .faceted-filter.formation-filters .faceted-filter-item,
    .faceted-filter.realisations-filters .faceted-filter-item {
        width: 100%;
        margin-bottom: 10px !important;
    }
}

/* checkbox */
.faceted-filter-options {
    display: none;
}
.faceted-filter-options.opened {
    display: block;
}
.faceted-filter-options .form-check {
    padding-left: 0;
}
.faceted-filter-checkboxes {
    position: relative;
}
.faceted-filter-toggle {
    position: absolute;
    right: 0;
    top: 0;
    pointer-events: none;
}
.faceted-filter-checkboxes .faceted-filter-title {
    color: var(--color-primaire);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px; /* 137.5% */
    letter-spacing: -0.32px;
    margin-top: 30px;
    cursor: pointer;
    padding-right: 30px;
    position: relative;
}

/** formation **
------------------------------------------------------------
------------------------------------------------------------*/
.formation-list_filtered.list_filtered .btn-categorie {
    background: var(--color-primaire);
}
.formation-card {
    transition: .3s;
}
.formation-card:hover {
    background: var(--color-secondaire);
    color: var(--color-dark);
}
.formation-card a {
    color: var(--color-dark);
}
.formation-card:hover a,
.formation-card:hover a h3 {
    color: var(--color-dark) !important;
}
.formation-card .image {
    position: relative;
}
.formation-card .cartouche {
    position: absolute;
    bottom: 10px;
    left: 30px;
}
.formation-list_filtered .list_filtered .btn-categorie {
    background: var(--color-dark);
}

/** journal **
------------------------------------------------------------
------------------------------------------------------------*/
.post-item {border-top:2px solid var(--color-dark);padding-top:22px;display:flex;flex-direction:column;gap:14px;
    transition:transform .4s;}
.post-item:hover{transform:translateY(-6px);}
.post-meta{display:flex;justify-content:space-between;font-family:var(--font-2);font-size:.72rem;color:var(--color-dark);}
.post-cat{color:var(--color-secondaire);}
.post-item h3{font-weight:700;letter-spacing:-.02em;line-height:1.15;font-size:1.3rem; color: var(--color-dark);}
.post-item p {font-size:.95rem;color:var(--color-dark);line-height:1.55;flex:1; color: var(--color-dark);}

/** spectrum **
------------------------------------------------------------
------------------------------------------------------------*/
.spectrum{grid-column:1/-1;display:flex;align-items:center;gap:18px;margin-bottom:8px;
    font-family:var(--font-2);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(251,250,246,.5)}
.spectrum .bar{flex:1;height:1px;background:linear-gradient(90deg,var(--color-primaire),var(--color-secondaire));position:relative}
.spectrum .bar::before,.spectrum .bar::after{content:"";position:absolute;top:50%;width:8px;height:8px;border-radius:50%;transform:translateY(-50%)}
.spectrum .bar::before{left:0;background:var(--color-primaire)}
.spectrum .bar::after{right:0;background:var(--color-secondaire)}

/** actualite **
------------------------------------------------------------
------------------------------------------------------------*/
.realisations-list_filtered.list_filtered .btn-categorie {
    background: var(--color-dark);
}
section.realisation-cover,
section.formation-cover {
    height: 100vh;
    background-size: cover;
    background-position: center;
    margin-top: -200px;
    padding-top: 200px;
    position: relative;
}
section.realisation-cover::after,
section.formation-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(20, 21, 26, .78) 0%, rgba(20, 21, 26, .15) 45%, transparent 70%);
    z-index: 0;
    pointer-events: none;
}
section.realisation-cover > *,
section.formation-cover > * {
    position: relative;
    z-index: 1;
}
/** Superposition des hero sous le header transparent **
-------------------------------------------------------------
Tous les hero de blocs remontent derrière le header (sticky,
transparent) via --header-height. Leur padding-top interne
(120px+ / clamp(130px…)) garde le contenu sous le header. */
.shk-hero,
.shk-ct__hero,
.shk-hlive,
.shk-fiche__hero,
.shk-mo-hero {
    margin-top: calc(-1 * var(--header-height));
}
/* Barre admin WordPress en front : elle décale le contenu de 32px
   (46px en mobile). On augmente d'autant la remontée du hero pour
   conserver la superposition sous le header. */
.admin-bar .shk-hero,
.admin-bar .shk-ct__hero,
.admin-bar .shk-hlive,
.admin-bar .shk-fiche__hero,
.admin-bar .shk-mo-hero {
    margin-top: calc(-1 * var(--header-height) - 41px);
}
@media screen and (max-width: 782px) {
    .admin-bar .shk-hero,
    .admin-bar .shk-ct__hero,
    .admin-bar .shk-hlive,
    .admin-bar .shk-fiche__hero,
    .admin-bar .shk-mo-hero {
        margin-top: calc(-1 * var(--header-height) - 46px);
    }
}

/* Fil d'ariane en overlay sur le hero superposé.
   L'aside breadcrumb (body > aside.bg--color-paper) devient transparent et
   passe au-dessus du hero, juste sous le header. Texte clair par défaut
   (hero sombres : C/E, contact, réalisation/formation), foncé pour les
   variantes claires (a/b/d). */
body:has(.shk-hero) aside.bg--color-paper:has(#breadcrumb),
body:has(.shk-ct__hero) aside.bg--color-paper:has(#breadcrumb),
body:has(.shk-fiche__hero) aside.bg--color-paper:has(#breadcrumb),
body:has(.shk-mo-hero) aside.bg--color-paper:has(#breadcrumb),
body:has(.realisation-cover) aside.bg--color-paper:has(#breadcrumb),
body:has(.formation-cover) aside.bg--color-paper:has(#breadcrumb) {
    position: relative;
    z-index: 900;
    background: transparent !important;
}
body:has(.shk-hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb,
body:has(.shk-hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.shk-ct__hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb,
body:has(.shk-ct__hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.shk-fiche__hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb,
body:has(.shk-fiche__hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.realisation-cover) aside.bg--color-paper:has(#breadcrumb) .breadcrumb,
body:has(.realisation-cover) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.formation-cover) aside.bg--color-paper:has(#breadcrumb) .breadcrumb,
body:has(.formation-cover) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a {
    color: var(--color-paper);
}
body:has(.shk-hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.shk-ct__hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.shk-fiche__hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.realisation-cover) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.formation-cover) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a {
    border-bottom-color: rgba(251, 250, 246, .45);
}
/* Hero clairs (a/b/d + modalités) : on repasse le fil d'ariane en foncé */
body:has(.shk-hero--a) aside.bg--color-paper:has(#breadcrumb) .breadcrumb,
body:has(.shk-hero--a) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.shk-hero--b) aside.bg--color-paper:has(#breadcrumb) .breadcrumb,
body:has(.shk-hero--b) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.shk-hero--d) aside.bg--color-paper:has(#breadcrumb) .breadcrumb,
body:has(.shk-hero--d) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.shk-mo-hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb,
body:has(.shk-mo-hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a {
    color: var(--color-dark);
}
body:has(.shk-hero--a) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.shk-hero--b) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.shk-hero--d) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a,
body:has(.shk-mo-hero) aside.bg--color-paper:has(#breadcrumb) .breadcrumb a {
    border-bottom-color: var(--color-dark);
}

/* Blocs latéraux méta (fiches réalisations & formations) */
.realisation-meta,
.formation-meta {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.realisation-meta .style-pre-titre,
.formation-meta .style-pre-titre {
    margin-top: 14px;
}
.formation-fact {
    display: flex;
    flex-direction: column;
    padding: 10px 0;
    border-bottom: 1px solid var(--shk-line);
}
.formation-fact:last-of-type {
    border-bottom: 0;
}
.formation-fact .style-p-mono {
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0;
}
.actualite-card {
    position: relative;
    min-height: 615px;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    color: var(--color-light);
    transition: transform 0.5s, box-shadow 0.5s;
}
.actualite-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-image: inherit;
    transition: transform 0.6s;
    z-index: 0;
}
.actualite-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.actualite-card:hover::before {
    transform: scale(1.09);
}
.actualite-card a {
    color: var(--color-light);
}
.actualite-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8) 80%, rgba(0, 0, 0, 0.9) 100%);
    transition: background 0.5s;
    z-index: 1;
}
.actualite-card:hover .actualite-card-overlay {
    background: rgba(0, 82, 155, 0.9);
}
.actualite-card-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-decoration: none;
    z-index: 2;
}
.actualite-card-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    padding: var(--rem-1);
}
.actualite-card .cartouche {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.actualite-card-bottom {
    margin-top: 10px;
}

/** Sliders génériques (projets, agendas, etc.) **
------------------------------------------------------------
------------------------------------------------------------*/
/* Conteneur des flèches de navigation */
[id$="-arrows"] {
    position: relative;
}

[id$="-arrows"] .slick-prev,
[id$="-arrows"] .slick-next {
    position: absolute;
}

[id$="-arrows"] .slick-prev {
    right: 65px;
    left: auto;
}

[id$="-arrows"] .slick-next {
    right: 0;
}

/* Conteneur du slider */
#the-content [class$="-slider"] {
    margin: 0 -20px;
}

#the-content [class$="-slider"] .slide-item {
    padding: 0 20px;
}

/* ============================================================
   NOUVEAU DESIGN SHOKOLA 2026
   ============================================================ */

/* ============================================================
   TOKENS / VARIABLES
   ============================================================ */
/* Couleurs et fontes : utiliser DIRECTEMENT les variables du framework Kakao
   (--color-*, --font-*) définies dans framework/setup-acf-kakao-settings.css,
   éditables via le BO. Ici : uniquement les tokens sans équivalent framework. */
:root {
    --shk-line: rgba(20, 21, 26, .14);
    --shk-line-2: rgba(20, 21, 26, .28);
    --shk-maxw: 1560px;
    --shk-pad: clamp(20px, 5vw, 72px);
    --shk-sec: clamp(72px, 11vw, 160px);

    /* --- Alias vers la nomenclature de la maquette (shokola_2.html) ---
       Permet de coller à la lettre le CSS de la référence sans traduction.
       Ces alias pointent vers les tokens framework (source unique, éditable en BO). */
    --line: var(--shk-line);
    --line-2: var(--shk-line-2);
    --maxw: var(--shk-maxw);
    --pad: var(--shk-pad);
    --sec: var(--shk-sec);
}

/* ============================================================
   RESET SCOPÉ AUX BLOCS SHOKOLA (.shk-root)
   Neutralise LOCALEMENT les règles globales du framework/Bootstrap
   (a{color:var(--bs-link-color)}, p{color/font/letter-spacing/text-transform})
   sans toucher au reste du site.
   :where() garde une spécificité minimale (0,0,x) : ça bat les sélecteurs
   d'éléments globaux par l'ordre de chargement (custom.css chargé après),
   MAIS laisse gagner toute classe .shk-* (0,1,0) définie dans les blocs.
   ============================================================ */
:where(.shk-root) a {
    color: inherit;
    text-decoration: none;
}

:where(.shk-root) p {
    color: inherit;
    font-family: inherit;
    letter-spacing: normal;
    text-transform: none;
}

/* ============================================================
   UTILITAIRES
   ============================================================ */
.shk-eyebrow {
    font-family: var(--font-1);
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--color-dark);
}

/* ============================================================
   LAYOUT
   ============================================================ */
.shk-wrap {
    max-width: var(--shk-maxw);
    margin: 0 auto;
    padding-left: var(--shk-pad);
    padding-right: var(--shk-pad);
    width: 100%;
}

.shk-section {
    padding-top: var(--shk-sec);
    padding-bottom: var(--shk-sec);
    position: relative;
}

.shk-section-head {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: clamp(40px, 6vw, 80px);
}

.shk-section-num {
    font-family: var(--font-2);
    font-size: .74rem;
    color: var(--color-secondaire);
    letter-spacing: .12em;
}

.shk-section-title {
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.03em;
    font-size: clamp(2.1rem, 5.4vw, 4.6rem);
    max-width: 16ch;
}

.shk-section-title em {
    font-style: italic;
    font-family: var(--font-2);
    color: var(--color-secondaire);
}

.shk-lead {
    font-size: clamp(1.05rem, 1.8vw, 1.35rem);
    max-width: 54ch;
    color: var(--color-dark);
    line-height: 1.55;
}

/* Kicker (sur-titre mono entre crochets) — porté depuis agence.html.
   Partagé par les blocs split, statement, reperes, culture, valeurs… */
.shk-kicker {
    font-family: var(--font-1);
    font-size: .74rem;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--color-secondaire);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.shk-kicker::before { content: "["; color: var(--color-dark); }
.shk-kicker::after { content: "]"; color: var(--color-dark); }
/* Variantes de teinte sur fond sombre / magenta */
.shk-kicker--primaire { color: var(--color-primaire); }
.shk-kicker--primaire::before, .shk-kicker--primaire::after { color: rgba(251, 250, 246, .45); }
.shk-kicker--light { color: var(--color-light); }
.shk-kicker--light::before, .shk-kicker--light::after { color: rgba(255, 255, 255, .55); }

/* Registration mark */
.shk-regmark {
    position: relative;
    width: 34px;
    height: 34px;
    flex: none;
    opacity: .5;
}

.shk-regmark::before,
.shk-regmark::after {
    content: "";
    position: absolute;
    background: var(--color-dark);
}

.shk-regmark::before {
    left: 50%;
    top: 0;
    width: 1px;
    height: 100%;
    transform: translateX(-.5px);
}

.shk-regmark::after {
    top: 50%;
    left: 0;
    height: 1px;
    width: 100%;
    transform: translateY(-.5px);
}

.shk-regmark i {
    position: absolute;
    inset: 7px;
    border: 1px solid var(--color-dark);
    border-radius: 50%;
}

/* ============================================================
   LIENS SOULIGNÉS
   ============================================================ */
.shk-link-u {
    position: relative;
    font-family: var(--font-1);
    font-size: .85rem;
    font-weight: 500;
    color: inherit; /* neutralise le a{color:var(--bs-link-color)} de Bootstrap reboot */
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.shk-link-u::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    height: 1px;
    width: 100%;
    background: var(--color-dark);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .4s cubic-bezier(.2, .8, .2, 1);
}

.shk-link-u:hover::after {
    transform: scaleX(1);
}

.shk-link-u:hover .arrow {
    transform: translateX(4px);
}

.shk-link-u .arrow {
    transition: transform .35s;
}

/* ============================================================
   GRILLE + ASIDE MANIFESTE (partagés : bloc manifeste + bloc enjeu)
   Le reste du style manifeste vit dans blocks/shokola_manifeste/manifeste.css
   ============================================================ */
.shk-manifesto-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 7vw, 100px);
    align-items: end;
    margin-top: clamp(40px, 6vw, 72px);
}

.shk-manifesto-aside {
    display: flex;
    flex-direction: column;
    gap: 22px;
    font-size: 1rem;
    color: var(--color-dark);
    line-height: 1.6;
    max-width: 42ch;
}

/* les <p> d'aside n'ont pas de classe : on neutralise la règle globale « p »
   (on épargne le paragraphe mono qui garde sa classe framework) */
.shk-manifesto-aside p:not(.style-p-mono) {
    font-family: var(--font-1);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-dark);
}

.shk-manifesto-aside .shk-cpl {
    color: var(--color-dark);
    font-weight: 700;
}

@media (max-width: 840px) {
    .shk-manifesto-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   REVEAL ANIMATIONS
   ============================================================ */

.reveal-up,
.shk-reveal-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .9s cubic-bezier(.2, .8, .2, 1), transform .9s cubic-bezier(.2, .8, .2, 1);
}

.reveal-up.in,
.shk-reveal-up.in {
    opacity: 1;
    transform: none;
}

[data-delay="1"] {
    transition-delay: .08s;
}

[data-delay="2"] {
    transition-delay: .16s;
}

[data-delay="3"] {
    transition-delay: .24s;
}

[data-delay="4"] {
    transition-delay: .32s;
}

@media (prefers-reduced-motion: reduce) {
    .reveal-up,
    .shk-reveal-up {
        opacity: 1;
        transform: none;
    }
}

/* ============================================================
   CURSEUR CUSTOM (chrome global — élément rendu dans header.php,
   piloté par assets/js/custom.js, réagit aux [data-hover] de toute la page)
   ============================================================ */
.shk-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 46px;
    height: 46px;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    mix-blend-mode: difference;
    transition: width .25s, height .25s, opacity .3s;
    opacity: 0;
}

.shk-cursor::before,
.shk-cursor::after {
    content: "";
    position: absolute;
    background: var(--color-light);
}

.shk-cursor::before {
    left: 50%;
    top: 0;
    width: 1px;
    height: 100%;
    transform: translateX(-.5px);
}

.shk-cursor::after {
    top: 50%;
    left: 0;
    height: 1px;
    width: 100%;
    transform: translateY(-.5px);
}

.shk-cursor i {
    position: absolute;
    inset: 14px;
    border: 1px solid var(--color-light);
    border-radius: 50%;
    transition: inset .25s;
}

.shk-cursor.is-hover {
    width: 70px;
    height: 70px;
}

.shk-cursor.is-hover i {
    inset: 8px;
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
    .shk-cursor {
        display: none;
    }
}

/* ============================================================
   PARTAGÉS (ex-pages métier)
   Le gros des composants métier vit désormais dans les blocs
   (hero via shokola_hero_live variante « texte seul », shokola_benefices,
   shokola_savoir_faire, shokola_enjeu, shokola_contact).
   Ici : styles divers partagés.
   ============================================================ */

/* --- Divers (partagés) --- */
.shk-empty-note {
    font-family: var(--font-2);
    font-size: .85rem;
    color: var(--color-dark);
    padding: 32px 0;
    text-align: center;
}
