/*
Theme Name:   Astra Child - Pompiers Cerny
Theme URI:    https://pompiers-cerny-lfa.fr
Description:  Thème enfant pour le site du CIS de Cerny et de l'Amicale des Sapeurs-Pompiers LFA
Author:       Maxime Couderc
Template:     astra
Version:      1.4.7
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  astra-child
*/

/* ─── Variables ──────────────────────────────────────────── */
:root {
    --cerny-red:    #CC2222;
    --cerny-red-dark: #A81B1B;
    --cerny-black:  #1A1A1A;
    --cerny-gold:   #F0B420;
    --cerny-light:  #F8F8F8;
    --cerny-text:   #333333;
}

/* ─── Typographie Google Fonts ───────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&family=Oswald:wght@400;500;600;700&display=swap');

body {
    font-family: 'Open Sans', sans-serif;
    color: var(--cerny-text);
    background-color: var(--cerny-light);
}

h1, h2, h3, h4, h5, h6,
.ast-above-header-section,
.site-title {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ─── Header ─────────────────────────────────────────────── */
.ast-hfb-header #masthead,
.ast-primary-header-bar,
.main-header-bar {
    background-color: #ffffff !important;
}

#masthead {
    position: relative !important;
    overflow: visible !important;
}

#masthead::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background-color: var(--cerny-red) !important;
    z-index: 999 !important;
}

.main-header-bar-wrap,
.ast-main-header-wrap,
.ast-mobile-header-wrap {
    background-color: #ffffff !important;
}

.ast-primary-header-bar {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    min-height: 170px !important;
}

.site-primary-header-wrap {
    min-height: 170px !important;
    align-items: center !important;
}

/* Site title masqué — le logo suffit */
.ast-site-identity .site-title,
.ast-site-identity .site-description {
    display: none !important;
}

/* Taille du logo */
.ast-site-identity img,
.custom-logo,
.custom-logo-link img {
    width: 150px !important;
    height: 150px !important;
    object-fit: contain !important;
}

/* Bouton hamburger — toujours rouge via variable Astra */
.menu-toggle.main-header-menu-toggle {
    --ast-global-color-0: #CC2222;
    --ast-global-color-1: #A81B1B;
    --ast-global-color-3: #CC2222;
    box-shadow: none !important;
    padding: 8px !important;
}

/* Hamburger — rouge via propriétés directes */
.menu-toggle.main-header-menu-toggle,
#ast-mobile-header .menu-toggle {
    color: var(--cerny-red) !important;
    background-color: transparent !important;
    background: none !important;
    border-color: var(--cerny-red) !important;
    box-shadow: none !important;
    padding: 8px !important;
}

/* Menu mobile — white mode : couleurs explicites */
#ast-mobile-site-navigation .menu-item > .menu-link,
#ast-mobile-site-navigation .menu-item > a {
    color: var(--cerny-black) !important;
    border-color: rgba(0,0,0,0.07) !important;
}
#ast-mobile-site-navigation .menu-item > .menu-link:hover,
#ast-mobile-site-navigation .menu-item > a:hover {
    color: var(--cerny-red) !important;
}
#ast-mobile-site-navigation .current-menu-item > .menu-link {
    color: var(--cerny-red) !important;
}

/* Menu mobile déroulant — dark mode */
/* Astra génère via son customizer :
   .ast-mobile-header-wrap .ast-mobile-header-content { background: #fff }
   .main-header-menu { background: var(--ast-global-color-4) = #fff }
   Ces règles écrasent l'héritage du fond sombre → items invisible (texte #eee sur fond blanc). */
[data-theme="dark"] .main-header-bar-navigation,
[data-theme="dark"] #ast-mobile-header .main-header-bar-navigation,
[data-theme="dark"] #ast-mobile-site-navigation,
[data-theme="dark"] #ast-mobile-header {
    background-color: #1a1a1a !important;
}
[data-theme="dark"] .ast-mobile-header-wrap .ast-mobile-header-content,
[data-theme="dark"] #ast-mobile-header .ast-primary-header-bar,
[data-theme="dark"] #ast-mobile-header .ast-main-header-wrap,
[data-theme="dark"] #ast-mobile-header .main-header-bar-wrap {
    background-color: #1a1a1a !important;
}
[data-theme="dark"] .ast-builder-menu-mobile .main-navigation .main-header-menu,
[data-theme="dark"] .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link,
[data-theme="dark"] .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu {
    background-color: #1a1a1a !important;
    background-image: none !important;
}
[data-theme="dark"] #ast-mobile-site-navigation .menu-item > .menu-link,
[data-theme="dark"] #ast-mobile-site-navigation .menu-item > a {
    color: #eeeeee !important;
    border-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] #ast-mobile-site-navigation .menu-item > .menu-link:hover,
[data-theme="dark"] #ast-mobile-site-navigation .menu-item > a:hover {
    color: var(--cerny-red) !important;
}
[data-theme="dark"] #ast-mobile-site-navigation .current-menu-item > .menu-link {
    color: var(--cerny-red) !important;
}

/* Navigation */
.main-header-menu .menu-link,
#primary-site-navigation-desktop .menu-link {
    color: var(--cerny-black) !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current_page_item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link,
#primary-site-navigation-desktop a.menu-link[aria-current="page"],
#primary-site-navigation-desktop a.menu-link[aria-current="true"] {
    color: var(--cerny-gold) !important;
}

/* ─── Séparateurs entre sections ─────────────────────────── */
.home .entry-content > .wp-block-group + .wp-block-group,
.cerny-page-wrap .cerny-section {
    position: relative;
}

.home .entry-content > .wp-block-group + .wp-block-group::before,
.cerny-page-wrap .cerny-section + .cerny-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background:
        linear-gradient(var(--cerny-red), var(--cerny-red)) center / 60px 100% no-repeat,
        linear-gradient(to right, transparent 5%, rgba(204,34,34,0.15) 25%, rgba(204,34,34,0.15) 75%, transparent 95%);
}

/* ─── Section chiffres clés ──────────────────────────────── */
.cerny-stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.cerny-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    text-align: center;
}

.cerny-stat__icon {
    width: 56px;
    height: 56px;
    background-color: #ffffff;
    border: 1.5px solid var(--cerny-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-red) !important;
    padding: 14px;
}

.cerny-stat__icon svg {
    width: 100%;
    height: 100%;
    stroke: var(--cerny-red) !important;
    color: var(--cerny-red) !important;
    fill: none !important;
}

.cerny-stat__value {
    font-family: 'Oswald', sans-serif;
    font-size: 60px;
    font-weight: 700;
    color: var(--cerny-red);
    line-height: 1;
}

.cerny-stat__label {
    font-size: 12px;
    letter-spacing: 2px;
    color: #555555;
    font-family: 'Oswald', sans-serif;
}

@media (max-width: 900px) {
    /* Flex + justify-content: center → les 2 derniers items sont automatiquement centrés */
    .cerny-stats {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.25rem;
    }
    .cerny-stat {
        flex: 0 0 calc(33.33% - 1rem);
        min-width: 0;
    }
    .cerny-stat__value,
    .cerny-cis-stat__value {
        font-size: 44px !important;
    }
}

@media (max-width: 600px) {
    .cerny-stats {
        gap: 1rem;
    }
    .cerny-stat {
        flex: 0 0 calc(50% - 0.5rem);
    }
    /* 5e item seul = centré grâce à justify-content: center */
    .cerny-stat:last-child {
        flex: 0 0 calc(50% - 0.5rem);
    }
    .cerny-stat__value,
    .cerny-cis-stat__value {
        font-size: clamp(28px, 8vw, 40px) !important;
    }
    .cerny-stat__icon {
        width: 44px;
        height: 44px;
        padding: 11px;
    }
}

/* ─── Boutons ────────────────────────────────────────────── */
.ast-button,
.wp-block-button__link,
.button,
input[type="submit"],
button[type="submit"] {
    background-color: var(--cerny-red) !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-radius: 3px !important;
    transition: background-color 0.2s ease;
}

.ast-button:hover,
.wp-block-button__link:hover,
.button:hover,
input[type="submit"]:hover {
    background-color: var(--cerny-red-dark) !important;
}

/* ─── Section recrutement ────────────────────────────────── */
.cerny-recrutement {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    max-width: 900px;
    margin: 0 auto;
}

.cerny-recrutement__card {
    background-color: #f5f5f5;
    border: 1px solid rgba(0,0,0,0.08);
    border-top: 3px solid var(--cerny-red);
    border-radius: 4px;
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.cerny-recrutement__icon {
    width: 52px;
    height: 52px;
    background-color: #ffffff;
    border: 1.5px solid var(--cerny-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 13px;
    flex-shrink: 0;
}

.cerny-recrutement__icon svg {
    width: 100%;
    height: 100%;
    stroke: var(--cerny-red);
}

.cerny-recrutement__title {
    font-family: 'Oswald', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #1A1A1A;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

.cerny-recrutement__age {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--cerny-gold);
    font-family: 'Oswald', sans-serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
}

.cerny-recrutement__age svg {
    width: 18px;
    height: 18px;
    stroke: var(--cerny-gold);
    flex-shrink: 0;
}

.cerny-recrutement__text {
    color: #555555;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
    flex: 1;
}

.cerny-recrutement__list {
    color: #555555;
    font-size: 14px;
    line-height: 1.8;
    padding-left: 1.2rem;
    margin: 0;
    flex: 1;
}

.cerny-recrutement__list li {
    margin-bottom: 0.4rem;
}

.cerny-recrutement__list li::marker {
    color: var(--cerny-red);
}

.cerny-recrutement__btn {
    display: block;
    text-align: center;
    background-color: var(--cerny-red);
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 0.75rem 1.75rem;
    border-radius: 3px;
    text-decoration: none !important;
    margin-top: 1rem;
    transition: background-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.cerny-recrutement__btn:hover {
    background-color: var(--cerny-red-dark) !important;
    color: #ffffff !important;
}

.cerny-recrutement__btn--outline {
    background-color: transparent;
    border: 2px solid var(--cerny-black);
    color: var(--cerny-black) !important;
}

.cerny-recrutement__btn--outline:hover {
    background-color: var(--cerny-black) !important;
    color: #ffffff !important;
}

@media (max-width: 700px) {
    .cerny-recrutement {
        grid-template-columns: 1fr;
    }
}

/* ─── Footer ─────────────────────────────────────────────── */
#colophon,
.site-footer,
.site-below-footer-wrap,
.ast-builder-grid-row-container.site-footer-focus-item {
    background-color: #ffffff !important;
    color: #555555;
    border-top: 3px solid var(--cerny-red);
}

.ast-footer-copyright,
.ast-footer-copyright p {
    color: #555555;
}

.site-footer a,
.ast-footer-copyright a {
    color: var(--cerny-red);
}

.site-footer a:hover,
.ast-footer-copyright a:hover {
    color: var(--cerny-red-dark);
}

/* ─── Bouton dark mode mobile ────────────────────────────── */
/* Ancré dans .ast-primary-header-bar via JS → suit le header naturellement */
#ast-mobile-header .ast-primary-header-bar {
    position: relative;
}
#cerny-theme-toggle-mobile {
    display: none;
    position: absolute;
    top: 50%;
    right: 68px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1.5px solid var(--cerny-black);
    background: none;
    color: var(--cerny-black);
    cursor: pointer;
    align-items: center;
    justify-content: center;
    padding: 7px;
    box-sizing: border-box;
    z-index: 99999;
    overflow: hidden;
    transition: color 0.2s, border-color 0.2s;
}
#cerny-theme-toggle-mobile:hover { color: var(--cerny-red); border-color: var(--cerny-red); }
#cerny-theme-toggle-mobile svg   { width: 18px; height: 18px; stroke: currentColor; display: block; }
[data-theme="dark"] #cerny-theme-toggle-mobile { border-color: #ffffff; color: #ffffff; }

/* ─── Bouton retour en haut ──────────────────────────────── */
#ast-scroll-top {
    background-color: var(--cerny-red) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(204, 34, 34, 0.4) !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
}

#ast-scroll-top:hover {
    background-color: var(--cerny-red-dark) !important;
    transform: translateY(-2px) !important;
}

/* Titre de page masqué sur l'accueil */
.home .entry-header,
.home .ast-page-single-layout {
    display: none !important;
}

/* Suppression de l'espace blanc entre header et hero */
.home #content,
.home #primary,
.home #main,
.home .entry-content,
.home article.page {
    padding-top: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


.home .entry-header {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

.home .wp-block-cover.alignfull:first-child {
    margin-top: 0 !important;
}

/* Séparateur entre hero et première section */
.home .entry-content > .wp-block-cover + .wp-block-group {
    position: relative;
}

.home .entry-content > .wp-block-cover + .wp-block-group::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background:
        linear-gradient(var(--cerny-red), var(--cerny-red)) center / 60px 100% no-repeat,
        linear-gradient(to right, transparent 5%, rgba(204,34,34,0.15) 25%, rgba(204,34,34,0.15) 75%, transparent 95%);
    z-index: 1;
}

/* ─── Footer étendu ─────────────────────────────────────── */

/* Masquer la barre Astra — remplacée par cerny-footer-bottom */
.site-below-footer-wrap { display: none !important; }

.cerny-footer-main {
    background-color: #f5f5f5;
    border-top: 1px solid rgba(0,0,0,0.07);
    padding: 3.5rem 2rem 0;
}

.cerny-footer-inner {
    display: grid;
    grid-template-columns: 1.4fr 1.1fr 1fr 0.65fr;
    gap: 2.5rem;
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 3rem;
    align-items: stretch;
}

.cerny-footer-col {
    display: flex;
    flex-direction: column;
}

.cerny-footer-col .cerny-footer-btn {
    margin-top: auto;
    align-self: flex-start;
}

/* En-tête de colonne */
.cerny-footer-col-header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1.5rem;
}

.cerny-footer-col-header svg {
    width: 17px;
    height: 17px;
    color: var(--cerny-red);
    flex-shrink: 0;
}

.cerny-footer-title {
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--cerny-black);
    margin: 0;
    font-weight: 600;
    white-space: nowrap;
}

/* Description */
.cerny-footer-desc {
    font-size: 13.5px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 1.1rem;
}

/* Ligne email */
.cerny-footer-email-line {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}

.cerny-footer-email-line svg {
    width: 15px;
    height: 15px;
    color: var(--cerny-red);
    flex-shrink: 0;
}

.cerny-footer-email-line strong {
    font-size: 13.5px;
    color: var(--cerny-black);
    font-weight: 600;
}

/* Bouton outlined */
.cerny-footer-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: transparent;
    border: 1.5px solid var(--cerny-red);
    color: var(--cerny-red);
    border-radius: 4px;
    padding: 0.6rem 1.1rem;
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s, transform 0.15s;
}

.cerny-footer-btn svg {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    stroke: currentColor;
}

.cerny-footer-btn:hover {
    background-color: var(--cerny-red);
    color: #ffffff;
    transform: translateY(-1px);
}

/* Adresse */
.cerny-address {
    font-style: normal;
    font-size: 14px;
    line-height: 2;
    color: #555;
    margin-bottom: 1.25rem;
}

.cerny-address strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--cerny-black);
    margin-bottom: 0.15rem;
    text-transform: none;
    letter-spacing: 0;
}

/* Liens utiles */
.cerny-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.cerny-footer-links li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cerny-footer-links li::before {
    content: '›';
    color: var(--cerny-red);
    font-size: 16px;
    line-height: 1;
    flex-shrink: 0;
}

.cerny-footer-links a {
    font-size: 13.5px;
    color: #555;
    text-decoration: none;
    transition: color 0.15s;
}

.cerny-footer-links a:hover { color: var(--cerny-red); }

/* Réseaux sociaux */
.cerny-footer-social {
    display: flex;
    gap: 0.85rem;
    margin-top: 0.25rem;
}

.cerny-social-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
    flex-shrink: 0;
}

.cerny-social-btn svg {
    width: 24px;
    height: 24px;
}

.cerny-social-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.cerny-social-instagram {
    background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    color: #ffffff;
}

.cerny-social-facebook {
    background-color: #1877f2;
    color: #ffffff;
}

/* Barre de copyright */
.cerny-footer-bottom {
    border-top: 1px solid rgba(204,34,34,0.25);
    padding: 1.1rem 0;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 12.5px;
    color: #888;
}

.cerny-footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.cerny-footer-bottom-links a {
    color: #888;
    text-decoration: none;
    transition: color 0.15s;
}

.cerny-footer-bottom-links a:hover { color: var(--cerny-red); }

.cerny-footer-credit { color: #aaa; }
.cerny-heart { color: var(--cerny-red); }

/* ── Dark mode ── */
[data-theme="dark"] .cerny-footer-main {
    background-color: #141414;
    border-top-color: rgba(255,255,255,0.05);
}

[data-theme="dark"] .cerny-footer-title       { color: #eeeeee; }
[data-theme="dark"] .cerny-footer-desc         { color: #666; }
[data-theme="dark"] .cerny-footer-email-line strong { color: #dddddd; }
[data-theme="dark"] .cerny-address             { color: #777; }
[data-theme="dark"] .cerny-address strong      { color: #dddddd; }
[data-theme="dark"] .cerny-footer-links a      { color: #777; }
[data-theme="dark"] .cerny-footer-bottom       { border-top-color: rgba(204,34,34,0.2); color: #555; }
[data-theme="dark"] .cerny-footer-bottom-links a { color: #555; }
[data-theme="dark"] .cerny-footer-credit       { color: #444; }

@media (max-width: 900px) {
    .cerny-footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

@media (max-width: 480px) {
    .cerny-footer-inner { grid-template-columns: 1fr; gap: 1.75rem; }
    .cerny-footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* Transitions */
.cerny-footer-main,
.cerny-footer-title,
.cerny-footer-desc,
.cerny-address,
.cerny-footer-links a,
.cerny-footer-bottom {
    transition: background-color 0.3s ease, color 0.2s ease, border-color 0.2s ease;
}


/* ─── Complianz : style bandeau cookies ─────────────────── */
/* Masquer le bouton flottant Complianz partout sauf page /cookies/ */
.cmplz-manage-consent-container,
.cmplz-manage-consent,
button.cmplz-manage-consent,
.cmplz-btn.cmplz-manage-consent {
    display: none !important;
}


#cmplz-cookiebanner-container .cmplz-cookiebanner {
    background-color: #1a1a1a !important;
    border-top: 3px solid var(--cerny-red) !important;
    border-radius: 0 !important;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.3) !important;
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
}

#cmplz-cookiebanner-container .cmplz-title {
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 14px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

#cmplz-cookiebanner-container .cmplz-message,
#cmplz-cookiebanner-container .cmplz-message p {
    color: #aaaaaa !important;
    font-size: 13px !important;
}

#cmplz-cookiebanner-container .cmplz-message a {
    color: var(--cerny-red) !important;
}

#cmplz-cookiebanner-container .cmplz-btn.cmplz-accept {
    background-color: var(--cerny-red) !important;
    border-color: var(--cerny-red) !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    letter-spacing: 1.5px !important;
    border-radius: 4px !important;
}

#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny {
    background-color: transparent !important;
    border-color: #555 !important;
    color: #aaaaaa !important;
    font-family: 'Oswald', sans-serif !important;
    letter-spacing: 1.5px !important;
    border-radius: 4px !important;
}

#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny:hover {
    border-color: #888 !important;
    color: #ffffff !important;
}

#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences {
    color: #666 !important;
    font-size: 12px !important;
}

#cmplz-cookiebanner-container .cmplz-close svg path {
    fill: #666 !important;
}

/* ─── Boutique Coming Soon ───────────────────────────────── */

/* ── Boutique : libérer entièrement le container Astra ───── */

/* Cacher le titre "Boutique" (premier ast-container du banner) */
.page-template-page-boutique .ast-archive-entry-banner > .ast-container:first-of-type {
    display: none !important;
}

/* Supprimer padding/max-width du banner et du content */
.page-template-page-boutique .ast-archive-entry-banner,
.page-template-page-boutique #content,
.page-template-page-boutique #content > .ast-container,
.page-template-page-boutique .site-content {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

.cerny-boutique-cs { overflow: hidden; }

.cerny-boutique-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 560px;
    width: 100%;
    background:
        radial-gradient(ellipse at 75% 50%, rgba(180,30,30,0.4) 0%, transparent 55%),
        radial-gradient(ellipse at 20% 90%, rgba(100,15,15,0.25) 0%, transparent 45%),
        #0d0d0d;
    padding: 5rem 8%;
    gap: 3rem;
    align-items: center;
    box-sizing: border-box;
}

.cerny-boutique-hero__left {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 580px;
}

.cerny-boutique-badge {
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--cerny-red);
    border: 1px solid var(--cerny-red);
    padding: 0.3rem 0.9rem;
    border-radius: 3px;
    width: fit-content;
}

.cerny-boutique-title {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(26px, 3.5vw, 42px);
    font-weight: 700;
    color: #ffffff;
    line-height: 1.15;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

.cerny-boutique-title--red { color: var(--cerny-red); }

.cerny-boutique-subtitle {
    color: #aaaaaa;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.cerny-boutique-btns {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.cerny-boutique-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Oswald', sans-serif;
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 0.75rem 1.5rem;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.2s, transform 0.15s;
    cursor: pointer;
}

.cerny-boutique-btn svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.cerny-boutique-btn--fill {
    background-color: var(--cerny-red);
    color: #ffffff;
    border: 1.5px solid var(--cerny-red);
}

.cerny-boutique-btn--fill:hover {
    background-color: var(--cerny-red-dark);
    color: #ffffff;
    transform: translateY(-1px);
}

.cerny-boutique-btn--outline {
    background: transparent;
    color: #ffffff;
    border: 1.5px solid rgba(255,255,255,0.4);
}

.cerny-boutique-btn--outline:hover {
    border-color: #ffffff;
    color: #ffffff;
}

.cerny-boutique-features {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(255,255,255,0.07);
}

.cerny-boutique-feature {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}

.cerny-boutique-feature svg {
    width: 20px;
    height: 20px;
    color: var(--cerny-red);
    flex-shrink: 0;
    margin-top: 2px;
}

.cerny-boutique-feature strong {
    display: block;
    color: #ffffff;
    font-size: 13px;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 0.15rem;
}

.cerny-boutique-feature span {
    color: #888;
    font-size: 13px;
    line-height: 1.5;
}

/* Visuels produits côté droit */
.cerny-boutique-hero__right {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cerny-boutique-mockups {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    width: 100%;
    max-width: 420px;
}

.cerny-boutique-mockup {
    background: none;
    border: none;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    text-align: center;
    transition: transform 0.2s;
}

.cerny-boutique-mockup:hover { transform: translateY(-4px); }

.cerny-boutique-mockup img {
    width: 120px;
    height: 120px;
    object-fit: contain;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.4));
}

.cerny-boutique-mockup span {
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    letter-spacing: 2px;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
}

/* Section produits */
.cerny-boutique-products {
    background-color: #f5f5f5;
    padding: 4rem 2rem;
}

.cerny-boutique-products__inner {
    max-width: 1100px;
    margin: 0 auto;
}

.cerny-boutique-products__title {
    text-align: center;
    font-family: 'Oswald', sans-serif;
    font-size: 20px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--cerny-black);
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    position: relative;
}

.cerny-boutique-products__title::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background: var(--cerny-red);
    margin: 0.75rem auto 2.5rem;
}

.cerny-boutique-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.cerny-boutique-card {
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.07);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem;
    transition: box-shadow 0.2s, transform 0.2s;
}

.cerny-boutique-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.cerny-boutique-card__img {
    width: 90px;
    height: 90px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 8px;
    padding: 0.5rem;
    border: 1px solid rgba(0,0,0,0.06);
}

.cerny-boutique-card__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cerny-boutique-card__body h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--cerny-black);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 0.3rem;
}

.cerny-boutique-card__body p {
    font-size: 13px;
    color: #777;
    line-height: 1.5;
    margin-bottom: 0.75rem;
}

.cerny-boutique-tag {
    display: inline-block;
    background: var(--cerny-red);
    color: #ffffff;
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 0.25rem 0.7rem;
    border-radius: 3px;
}

/* Dark mode */
[data-theme="dark"] .cerny-boutique-products { background: #161616; }
[data-theme="dark"] .cerny-boutique-products__title { color: #ffffff; }
[data-theme="dark"] .cerny-boutique-card {
    background: #1e1e1e;
    border-color: rgba(255,255,255,0.07);
}
[data-theme="dark"] .cerny-boutique-card__img { background: #2a2a2a; }
[data-theme="dark"] .cerny-boutique-card__body h3 { color: #ffffff; }
[data-theme="dark"] .cerny-boutique-card__body p { color: #888; }

@media (max-width: 900px) {
    .cerny-boutique-hero { grid-template-columns: 1fr; padding: 3rem 1.5rem; }
    .cerny-boutique-hero__right { display: none; }
    .cerny-boutique-cards { grid-template-columns: 1fr; }
    .cerny-boutique-card { flex-direction: row; }
}

/* ─── Page 404 ──────────────────────────────────────────── */
.cerny-404 {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: 4rem 2rem;
    text-align: center;
}

.cerny-404__inner {
    max-width: 500px;
}

.cerny-404__code {
    font-family: 'Oswald', sans-serif;
    font-size: 120px;
    font-weight: 700;
    line-height: 1;
    color: var(--cerny-red);
    opacity: 0.15;
    margin-bottom: -1rem;
}

.cerny-404__title {
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    color: var(--cerny-black);
    letter-spacing: 2px;
    margin-bottom: 1rem;
}

.cerny-404__message {
    color: #666;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 2rem;
}

.cerny-404__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background-color: var(--cerny-red);
    color: #ffffff;
    text-decoration: none;
    font-family: 'Oswald', sans-serif;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 0.8rem 1.75rem;
    border-radius: 4px;
    transition: background-color 0.2s, transform 0.15s;
}

.cerny-404__btn svg {
    width: 16px;
    height: 16px;
    stroke: #ffffff;
}

.cerny-404__btn:hover {
    background-color: var(--cerny-red-dark);
    color: #ffffff;
    transform: translateY(-1px);
}

[data-theme="dark"] .cerny-404__title { color: #ffffff; }
[data-theme="dark"] .cerny-404__message { color: #888; }

/* ─── Pages légales ─────────────────────────────────────── */
.page .entry-content h1 {
    font-size: 32px;
    color: var(--cerny-black);
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 3px solid var(--cerny-red);
}

/* Ne pas appliquer le style légal au h1 du hero cover */
.wp-block-cover__inner-container h1 {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 640px) {
    .wp-block-cover__inner-container h1 {
        font-size: clamp(22px, 6vw, 52px) !important;
        letter-spacing: 1px !important;
        word-break: normal;
        overflow-wrap: normal;
    }
    .wp-block-cover__inner-container p {
        font-size: clamp(16px, 5vw, 32px) !important;
        letter-spacing: 1px !important;
    }
}

.page .entry-content h2 {
    font-size: 18px;
    color: var(--cerny-black);
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.page .entry-content .wp-block-separator {
    border: none;
    border-top: 1px solid rgba(0,0,0,0.08);
    margin: 1.5rem 0;
}

.page .entry-content ul {
    padding-left: 1.5rem;
    color: #555;
    line-height: 1.9;
}

.page .entry-content ul li::marker {
    color: var(--cerny-red);
}

[data-theme="dark"] .page .entry-content h1,
[data-theme="dark"] .page .entry-content h2 { color: #ffffff; }
[data-theme="dark"] .page .entry-content .wp-block-separator { border-top-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .page .entry-content ul { color: #aaaaaa; }

/* ═══════════════════════════════════════════════════════════
   PAGES INTERNES (CIS, Amicale, Rejoindre)
   ═══════════════════════════════════════════════════════════ */

/* ─── Container interne partagé ─────────────────────────── */
.cerny-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
    width: 100%;
    box-sizing: border-box;
}

/* ─── Hero page interne ──────────────────────────────────── */
.cerny-page-hero {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    min-height: 520px;
    overflow: hidden;
    width: 100%;
}

.cerny-page-hero__left {
    background: linear-gradient(105deg, #0d0d0d 60%, rgba(13,13,13,0.92));
    padding: 4rem max(5%, 2.5rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.25rem;
    position: relative;
    z-index: 1;
}

.cerny-page-hero__title {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(36px, 4.5vw, 56px);
    font-weight: 700;
    line-height: 1.05;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

.cerny-page-hero__title span { color: var(--cerny-red); display: block; }

.cerny-page-hero__accent {
    display: block;
    width: 40px;
    height: 3px;
    background: var(--cerny-red);
    margin-top: 0.25rem;
}

.cerny-page-hero__text {
    color: rgba(255,255,255,0.75);
    font-size: 14.5px;
    line-height: 1.85;
    max-width: 400px;
    margin: 0;
}

.cerny-page-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: var(--cerny-red);
    color: #ffffff;
    padding: 0.9rem 1.25rem;
    border-radius: 4px;
    font-family: 'Oswald', sans-serif;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    max-width: 200px;
    margin-top: 0.5rem;
}

.cerny-page-hero__badge svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.cerny-page-hero__right {
    position: relative;
    overflow: hidden;
    background: #1a1a1a;
}

.cerny-page-hero__right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

.cerny-page-hero__placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #1a1a1a 0%, #2a1515 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.cerny-page-hero__placeholder svg {
    width: 80px;
    height: 80px;
    color: rgba(204,34,34,0.2);
}

/* ─── Section standard interne ───────────────────────────── */
.cerny-section {
    padding: 3.5rem 0;
}

.cerny-section--dark { background: #1a1a1a; }

.cerny-section__title {
    font-family: 'Oswald', sans-serif;
    font-size: 20px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--cerny-black);
    margin-bottom: 0.5rem;
    position: relative;
}

.cerny-section__title::after {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    background: var(--cerny-red);
    margin-top: 0.6rem;
}

.cerny-section__title--center { text-align: center; }
.cerny-section__title--center::after { margin: 0.6rem auto 0; }

.cerny-section__subtitle {
    text-align: center;
    color: #666;
    font-size: 15px;
    line-height: 1.7;
    max-width: 680px;
    margin: 0.75rem auto 2.5rem;
}

/* ─── CIS : Stats enrichies ──────────────────────────────── */
.cerny-cis-stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    padding: 3rem 0;
}

.cerny-cis-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 1.5rem;
    border-right: 1px solid rgba(0,0,0,0.08);
    gap: 0.5rem;
}

.cerny-cis-stat:last-child { border-right: none; }

.cerny-cis-stat__icon {
    width: 52px;
    height: 52px;
    border: 1.5px solid var(--cerny-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-red);
    padding: 12px;
    box-sizing: border-box;
}

.cerny-cis-stat__icon svg { width: 100%; height: 100%; stroke: var(--cerny-red); }

.cerny-cis-stat__value {
    font-family: 'Oswald', sans-serif;
    font-size: 52px;
    font-weight: 700;
    color: var(--cerny-red);
    line-height: 1;
}

.cerny-cis-stat__label {
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--cerny-black);
}

.cerny-cis-stat__sub {
    font-size: 12px;
    color: #888;
    line-height: 1.5;
}

/* ─── Deux colonnes : texte + photo ─────────────────────── */
.cerny-deux-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: center;
}

.cerny-deux-cols__photo {
    border-radius: 6px;
    overflow: hidden;
    background: #e0e0e0;
    aspect-ratio: 4/3;
}

.cerny-deux-cols__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cerny-deux-cols__photo--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e8e8e8;
    aspect-ratio: 4/3;
    border-radius: 6px;
}

/* ─── CIS : Cartes info 3 colonnes ──────────────────────── */
.cerny-info-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.cerny-info-card {
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 8px;
    padding: 1.75rem;
}

.cerny-info-card__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.cerny-info-card__icon {
    width: 42px;
    height: 42px;
    border: 1.5px solid var(--cerny-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-red);
    flex-shrink: 0;
    padding: 10px;
    box-sizing: border-box;
}

.cerny-info-card__icon svg { width: 100%; height: 100%; stroke: currentColor; }

.cerny-info-card__title {
    font-family: 'Oswald', sans-serif;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--cerny-black);
    margin: 0;
}

.cerny-info-card p {
    font-size: 13.5px;
    color: #555;
    line-height: 1.7;
    margin-bottom: 0.75rem;
}

.cerny-info-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cerny-info-card ul li {
    font-size: 13.5px;
    color: #444;
    padding: 0.3rem 0;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    line-height: 1.5;
}

.cerny-info-card ul li::before {
    content: '•';
    color: var(--cerny-red);
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* ─── Section Instagram ──────────────────────────────────── */
.cerny-section--instagram {
    background: #ffffff;
    padding: 4rem 0;
}

.cerny-instagram-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 3rem;
    align-items: center;
    box-sizing: border-box;
}

.cerny-instagram-info {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.cerny-instagram-logo {
    width: 52px;
    height: 52px;
    background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    padding: 12px;
    box-sizing: border-box;
    flex-shrink: 0;
}

.cerny-instagram-logo svg {
    width: 100%;
    height: 100%;
    stroke: #ffffff;
}

.cerny-instagram-pre {
    font-family: 'Oswald', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--cerny-black);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 !important;
}

.cerny-instagram-title {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(22px, 5vw, 36px) !important;
    font-weight: 700;
    color: var(--cerny-red) !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 !important;
    line-height: 1;
}

.cerny-instagram-accent {
    display: block;
    width: 40px;
    height: 3px;
    background: var(--cerny-red);
}

.cerny-instagram-desc {
    font-size: 14px;
    color: #555;
    line-height: 1.75;
    margin: 0 !important;
}

.cerny-instagram-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: var(--cerny-red);
    color: #ffffff;
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 0.75rem 1.25rem;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.2s, transform 0.15s;
    width: fit-content;
}

.cerny-instagram-btn svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

.cerny-instagram-btn:hover {
    background: var(--cerny-red-dark);
    color: #ffffff;
    transform: translateY(-1px);
}

.cerny-instagram-handle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 14px;
    color: #777;
    margin-top: 0.25rem;
}

.cerny-instagram-handle svg {
    width: 16px;
    height: 16px;
    stroke: #aaa;
    flex-shrink: 0;
}

.cerny-instagram-feed {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.5rem;
}

.cerny-instagram-photo {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 6px;
    background: #e0e0e0;
    text-decoration: none;
    padding-top: 100%;
}

.cerny-instagram-photo img,
.cerny-instagram-placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.cerny-instagram-photo img {
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.cerny-instagram-photo:hover img {
    transform: scale(1.05);
}

.cerny-instagram-placeholder {
    background: linear-gradient(135deg, #e8e0d8 0%, #d4ccc4 100%);
}

.cerny-instagram-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.5rem 0.6rem;
    background: linear-gradient(transparent, rgba(0,0,0,0.6));
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0.5px;
}

.cerny-instagram-overlay span {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.cerny-instagram-overlay svg {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
}

@media (max-width: 960px) {
    .cerny-instagram-wrap { grid-template-columns: 1fr; gap: 2rem; padding: 0 1.5rem; }
    .cerny-instagram-feed { grid-template-columns: repeat(5, 1fr); }
}

@media (max-width: 600px) {
    .cerny-instagram-feed { grid-template-columns: repeat(3, 1fr); }
    .cerny-instagram-feed .cerny-instagram-photo:nth-child(n+4) { display: none; }
}

/* ─── Grille rôle 4 colonnes (Amicale) ──────────────────── */
.cerny-role-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-top: 2rem;
}

.cerny-role-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2rem 1.5rem;
    border-right: 1px solid rgba(0,0,0,0.08);
    gap: 0.75rem;
}

.cerny-role-item:last-child { border-right: none; }

.cerny-role-item__icon {
    width: 50px;
    height: 50px;
    border: 1.5px solid var(--cerny-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-red);
    padding: 12px;
    box-sizing: border-box;
}

.cerny-role-item__icon svg { width: 100%; height: 100%; }

.cerny-role-item strong {
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--cerny-black);
}

.cerny-role-item p {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* ─── Amicale : Section actions ─────────────────────────── */
.cerny-actions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    align-items: start;
    margin-top: 3rem;
}

.cerny-action-item {
    text-align: center;
    padding: 2rem 2.2rem;
    border-right: 1px solid rgba(0,0,0,0.08);
}

.cerny-action-item:last-child {
    border-right: none;
}

.cerny-action-item__photo {
    width: 100%;
    height: 260px;
    border-radius: 10px;
    overflow: hidden;
    margin: 0 auto 1.5rem;
    background: #ddd;
    box-shadow: 0 10px 25px rgba(0,0,0,.12);
}

.cerny-action-item__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* cadrages */
.cerny-action-item:first-child .cerny-action-item__photo img {
    object-position: center 42%;
}

.cerny-action-item:last-child .cerny-action-item__photo img {
    object-position: center 48%;
}

.cerny-action-item strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: var(--cerny-black);
    margin-bottom: 1rem;
}

.cerny-action-item ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cerny-action-item li {
    color: #666;
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 700px) {
    .cerny-actions-grid {
        grid-template-columns: 1fr;
    }

    .cerny-action-item {
        border-right: none;
        border-bottom: 1px solid rgba(0,0,0,0.08);
    }

    .cerny-action-item:last-child {
        border-bottom: none;
    }

    .cerny-action-item__photo {
        height: 220px;
    }
}

/* ─── Séparateurs ────────────────────────────────────────────── */
.cerny-section--soutien,
.cerny-section--instagram {
    position: relative;
}
.cerny-section--soutien::before,
.cerny-section--instagram::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background:
        linear-gradient(var(--cerny-red), var(--cerny-red)) center / 60px 100% no-repeat,
        linear-gradient(to right, transparent 5%, rgba(204,34,34,0.15) 25%, rgba(204,34,34,0.15) 75%, transparent 95%);
}

/* ─── Section Soutien accueil ────────────────────────────── */
.cerny-section--soutien {
    background: #ffffff;
    padding: 3.5rem 0;
    overflow-x: hidden;
}

.cerny-soutien-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
    overflow: hidden;
}

.cerny-soutien {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.cerny-soutien__left {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.cerny-soutien__right {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (max-width: 900px) {
    .cerny-soutien {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .cerny-soutien-wrap {
        padding: 0 1.5rem;
    }
    .cerny-soutien__btn {
        width: 100%;
    }
    /* Cartes en colonne dès 900px */
    .cerny-soutien__features {
        flex-direction: column !important;
        gap: 0.5rem !important;
    }
    .cerny-soutien__feature {
        justify-content: flex-start !important;
        white-space: normal !important;
    }
    .cerny-soutien__feature span {
        white-space: normal !important;
    }
}

@media (max-width: 640px) {
    /* Annuler le breakout alignfull sur mobile (vw != % dans certains contextes) */
    .cerny-section--soutien.alignfull,
    .cerny-section--instagram.alignfull {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: hidden;
    }
    .cerny-soutien-wrap,
    .cerny-instagram-wrap {
        padding: 0 1.25rem !important;
    }
    .cerny-soutien__features {
        flex-direction: column;
        gap: 0.5rem;
    }
    .cerny-soutien__feature {
        justify-content: flex-start;
    }
    .cerny-soutien__feature span {
        white-space: normal;
    }
    .cerny-soutien__title {
        font-size: 28px !important;
    }
}

.cerny-soutien__logo {
    width: 52px;
    height: 52px;
    background: var(--cerny-red);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    padding: 13px;
    box-sizing: border-box;
    flex-shrink: 0;
}

.cerny-soutien__logo svg {
    width: 100%;
    height: 100%;
    stroke: #fff;
}

.cerny-soutien__pre {
    font-family: 'Oswald', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--cerny-black);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 !important;
}

.cerny-soutien__title {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(22px, 5vw, 36px) !important;
    font-weight: 700;
    color: var(--cerny-red) !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 !important;
    line-height: 1;
    overflow-wrap: break-word;
}

.cerny-soutien__accent {
    display: block;
    width: 40px;
    height: 3px;
    background: var(--cerny-red);
}

.cerny-soutien__desc {
    font-size: 14px;
    color: #555;
    line-height: 1.75;
    margin: 0 !important;
}

.cerny-soutien__desc a {
    color: var(--cerny-red);
}

.cerny-soutien__features {
    display: flex;
    flex-direction: row;
    gap: 0.65rem;
}

.cerny-soutien__feature {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1.5px solid rgba(0,0,0,0.1);
    border-radius: 8px;
    padding: 0.75rem 0.5rem;
    background: #fff;
}

.cerny-soutien__feature svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    fill: var(--cerny-red);
    color: var(--cerny-red);
}

.cerny-soutien__feature span {
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--cerny-black);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.2;
    white-space: nowrap;
}

.cerny-soutien__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
    background: var(--cerny-red);
    color: #fff !important;
    font-family: 'Oswald', sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 1rem 1.5rem;
    border-radius: 6px;
    box-sizing: border-box;
    transition: background-color 0.2s, transform 0.15s;
    margin-bottom: 0.75rem;
}

.cerny-soutien__btn:hover {
    background: var(--cerny-red-dark);
    color: #fff !important;
    transform: translateY(-1px);
}

.cerny-soutien__btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.cerny-soutien__secure {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 12.5px;
    color: #888;
    margin: 0 !important;
}

.cerny-soutien__secure svg {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    stroke: #888;
}

[data-theme="dark"] .cerny-section--soutien {
    background: #1a1a1a !important;
}

[data-theme="dark"] .cerny-soutien__feature {
    background: #242424;
    border-color: rgba(255,255,255,0.08);
}

[data-theme="dark"] .cerny-soutien__feature span { color: #eeeeee; }
[data-theme="dark"] .cerny-soutien__pre { color: #eeeeee !important; }
[data-theme="dark"] .cerny-soutien__desc { color: #aaaaaa !important; }
[data-theme="dark"] .cerny-soutien__secure { color: #666; }

/* ─── Amicale : Bannière soutien ─────────────────────────── */
.cerny-soutien-strip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    padding: 3rem 0;
}

.cerny-soutien-strip__left {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.cerny-soutien-strip__icon-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cerny-soutien-strip__icon {
    width: 50px;
    height: 50px;
    border: 1.5px solid var(--cerny-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-red);
    flex-shrink: 0;
    padding: 12px;
    box-sizing: border-box;
}

.cerny-soutien-strip__icon svg { width: 100%; height: 100%; }

.cerny-soutien-strip h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 22px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--cerny-black);
    margin: 0;
}

.cerny-soutien-strip p {
    font-size: 14px;
    color: #555;
    line-height: 1.75;
    margin: 0;
}

.cerny-soutien-strip__products {
    display: flex;
    gap: 1.5rem;
    align-items: flex-end;
    justify-content: flex-end;
}

.cerny-soutien-product {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.cerny-soutien-product img {
    height: 100px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.15));
}

.cerny-soutien-product span {
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #888;
}

/* ─── Rejoindre : Grille avantages 5 cols ───────────────── */
.cerny-why-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    margin-top: 2rem;
}

.cerny-why-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.75rem 1rem;
    border-right: 1px solid rgba(0,0,0,0.08);
    gap: 0.6rem;
}

.cerny-why-item:last-child { border-right: none; }

.cerny-why-item__icon {
    width: 46px;
    height: 46px;
    border: 1.5px solid var(--cerny-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-red);
    padding: 11px;
    box-sizing: border-box;
}

.cerny-why-item__icon svg { width: 100%; height: 100%; }

.cerny-why-item strong {
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--cerny-black);
}

.cerny-why-item p {
    font-size: 12.5px;
    color: #777;
    line-height: 1.5;
    margin: 0;
}

/* ─── Rejoindre : Cartes SPV/JSP complètes ─────────────── */
.cerny-detail-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 2.5rem;
}

.cerny-detail-card {
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 8px;
    overflow: hidden;
    display: flex; /* flex : la photo s'étire avec le contenu */
    flex-direction: row;
}

.cerny-detail-card__photo {
    background: #1a1a1a;
    overflow: hidden;
    position: relative;
    width: 320px;
    flex-shrink: 0; /* largeur fixe, hauteur = hauteur du contenu */
}

.cerny-detail-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.cerny-detail-card__photo--placeholder {
    width: 320px;
    flex-shrink: 0;
    background: linear-gradient(135deg, #2a2a2a, #1a1a1a);
    display: flex;
    align-items: center;
    justify-content: center;
}

.cerny-detail-card__photo--placeholder svg {
    width: 60px;
    height: 60px;
    color: rgba(204,34,34,0.3);
}

.cerny-detail-card__body {
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.cerny-detail-card__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.cerny-detail-card__icon {
    width: 42px;
    height: 42px;
    border: 1.5px solid var(--cerny-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-red);
    flex-shrink: 0;
    padding: 10px;
    box-sizing: border-box;
}

.cerny-detail-card__icon svg { width: 100%; height: 100%; }

.cerny-detail-card__title {
    font-family: 'Oswald', sans-serif;
    font-size: 18px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--cerny-black);
    margin: 0;
}

.cerny-detail-card__badge {
    display: inline-block;
    font-family: 'Oswald', sans-serif;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    align-self: flex-start;
}

/* ── Recrutement ouvert → vert */
.cerny-detail-card__badge--open {
    background: rgba(34, 160, 85, 0.12);
    color: #1a8a4a;
    border: 1px solid rgba(34, 160, 85, 0.35);
}

/* ── Prochain recrutement → orange */
.cerny-detail-card__badge--upcoming {
    background: rgba(220, 120, 0, 0.12);
    color: #b85f00;
    border: 1px solid rgba(220, 120, 0, 0.35);
}

/* ── Recrutement fermé → rouge */
.cerny-detail-card__badge--closed {
    background: rgba(204, 34, 34, 0.12);
    color: var(--cerny-red);
    border: 1px solid rgba(204, 34, 34, 0.35);
}

.cerny-detail-card__desc {
    font-size: 13.5px;
    color: #555;
    line-height: 1.7;
    margin: 0;
}

.cerny-detail-card__conditions h4 {
    font-family: 'Oswald', sans-serif;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--cerny-red);
    margin-bottom: 0.5rem;
}

.cerny-detail-card__conditions ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cerny-detail-card__conditions ul li {
    font-size: 13px;
    color: #444;
    padding: 0.25rem 0;
    display: flex;
    gap: 0.5rem;
    line-height: 1.5;
}

.cerny-detail-card__conditions ul li::before {
    content: '•';
    color: var(--cerny-red);
    flex-shrink: 0;
}

.cerny-detail-card__info {
    background: rgba(0,0,0,0.03);
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 4px;
    padding: 0.75rem 1rem;
    font-size: 12.5px;
    color: #666;
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.cerny-detail-card__info svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 1px;
    color: #888;
}

.cerny-detail-card .cerny-recrutement__btn {
    margin-top: auto;
}

/* ─── Rejoindre : Étapes ────────────────────────────────── */
.cerny-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    margin-top: 2.5rem;
}

.cerny-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem 1rem;
    border-right: 1px solid rgba(0,0,0,0.08);
    gap: 0.75rem;
    position: relative;
}

.cerny-step:last-child { border-right: none; }

.cerny-step__num {
    width: 34px;
    height: 34px;
    background: var(--cerny-red);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    font-weight: 700;
    flex-shrink: 0;
}

.cerny-step__icon {
    width: 42px;
    height: 42px;
    border: 1.5px solid rgba(0,0,0,0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888;
    padding: 10px;
    box-sizing: border-box;
}

.cerny-step__icon svg { width: 100%; height: 100%; }

.cerny-step strong {
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--cerny-black);
}

.cerny-step p {
    font-size: 12px;
    color: #888;
    line-height: 1.5;
    margin: 0;
}

/* ─── CTA contact ───────────────────────────────────────── */
.cerny-cta-bar {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 2.5rem;
    border-radius: 8px;
    margin-top: 3rem;
}

.cerny-cta-bar__icon {
    width: 56px;
    height: 56px;
    border: 1.5px solid var(--cerny-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-red);
    flex-shrink: 0;
    padding: 13px;
    box-sizing: border-box;
}

.cerny-cta-bar__icon svg { width: 100%; height: 100%; }

.cerny-cta-bar__text { flex: 1; }

.cerny-cta-bar__text strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--cerny-black);
    margin-bottom: 0.25rem;
}

.cerny-cta-bar__text p {
    font-size: 13.5px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* ─── Dark mode pages internes ───────────────────────────── */
[data-theme="dark"] .cerny-section { background: #1a1a1a; }
[data-theme="dark"] .cerny-section__title { color: #ffffff; }
[data-theme="dark"] .cerny-section__subtitle { color: #888; }
[data-theme="dark"] .cerny-info-card { background: #1e1e1e; border-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .cerny-info-card__title { color: #eeeeee; }
[data-theme="dark"] .cerny-info-card p,
[data-theme="dark"] .cerny-info-card ul li { color: #aaa; }
[data-theme="dark"] .cerny-role-item strong,
[data-theme="dark"] .cerny-why-item strong,
[data-theme="dark"] .cerny-step strong { color: #eeeeee; }
[data-theme="dark"] .cerny-role-item,
[data-theme="dark"] .cerny-why-item,
[data-theme="dark"] .cerny-cis-stat,
[data-theme="dark"] .cerny-step { border-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .cerny-cis-stat__label { color: #dddddd; }
[data-theme="dark"] .cerny-detail-card { border-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .cerny-detail-card__title { color: #ffffff; }
[data-theme="dark"] .cerny-detail-card__desc,
[data-theme="dark"] .cerny-detail-card__conditions ul li { color: #aaa; }
[data-theme="dark"] .cerny-detail-card__info { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); }
[data-theme="dark"] .cerny-cta-bar__text strong { color: #ffffff; }
[data-theme="dark"] .cerny-cta-bar__text p { color: #888; }
[data-theme="dark"] .cerny-soutien-strip h2 { color: #ffffff; }
/* Dark mode : Nos actions */
[data-theme="dark"] .cerny-action-item {
    border-color: rgba(255,255,255,0.07);
}

[data-theme="dark"] .cerny-action-item strong {
    color: #eeeeee;
}

[data-theme="dark"] .cerny-action-item li {
    color: #aaaaaa;
}

/* Dark mode : Nos projets */
[data-theme="dark"] .cerny-project-item {
    border-color: rgba(255,255,255,0.07);
}

[data-theme="dark"] .cerny-project-item strong {
    color: #eeeeee;
}

[data-theme="dark"] .cerny-project-item li {
    color: #aaaaaa;
}

/* Si tes projets utilisent des paragraphes */
[data-theme="dark"] .cerny-project-item p {
    color: #aaaaaa;
}

@media (max-width: 960px) {
    .cerny-page-hero { grid-template-columns: 1fr; }
    .cerny-page-hero__right { min-height: 220px; }
    .cerny-cis-stats { grid-template-columns: repeat(3, 1fr); }
    .cerny-role-grid { grid-template-columns: 1fr 1fr; }
    .cerny-why-grid { grid-template-columns: repeat(3, 1fr); }
    .cerny-steps { grid-template-columns: repeat(3, 1fr); }
    .cerny-detail-cards { grid-template-columns: 1fr; }
    .cerny-detail-card { flex-direction: column; }
    .cerny-detail-card__photo { width: 100%; height: 220px; }
    .cerny-info-cards { grid-template-columns: 1fr; }
    .cerny-deux-cols { grid-template-columns: 1fr; }
    .cerny-actions-grid { grid-template-columns: 1fr; }
    /* soutien-strip : garde 2 colonnes en tablette avec ratio 3/2 */
    .cerny-soutien-strip {
        grid-template-columns: 1.4fr 1fr;
        gap: 2rem;
    }
    .cerny-soutien-strip__products {
        justify-content: center;
        flex-wrap: wrap;
        gap: 1rem;
    }
    .cerny-soutien-product img {
        height: 80px;
    }
    .cerny-soutien-strip a[href="/boutique"] {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
    }
}

@media (max-width: 640px) {
    .cerny-inner {
        padding: 0 1.25rem;
    }
    .cerny-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .cerny-why-item {
        border-right: none;
        border-bottom: 1px solid rgba(0,0,0,0.08);
        padding: 1.25rem 0.75rem;
    }
    .cerny-why-item:nth-child(odd) {
        border-right: 1px solid rgba(0,0,0,0.08);
    }
    .cerny-steps {
        grid-template-columns: repeat(2, 1fr);
    }
    .cerny-step {
        border-right: none;
        border-bottom: 1px solid rgba(0,0,0,0.08);
        padding: 1.25rem 0.75rem;
    }
    .cerny-step:nth-child(odd) {
        border-right: 1px solid rgba(0,0,0,0.08);
    }
    .cerny-cta-bar {
        flex-direction: column;
        text-align: center;
        padding: 1.75rem 1.25rem;
    }
    .cerny-cta-bar__icon {
        align-self: center;
    }
    .cerny-role-grid {
        grid-template-columns: 1fr 1fr;
    }
    .cerny-cis-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .cerny-cis-stat {
        border-right: none;
        border-bottom: 1px solid rgba(0,0,0,0.08);
        padding: 1.25rem 0.5rem;
    }
    .cerny-cis-stat:nth-child(odd) {
        border-right: 1px solid rgba(0,0,0,0.08);
    }
}

@media (max-width: 400px) {
    .cerny-why-grid,
    .cerny-steps,
    .cerny-role-grid {
        grid-template-columns: 1fr;
    }
    .cerny-why-item,
    .cerny-step,
    .cerny-role-item {
        border-right: none;
    }
    .cerny-why-item:nth-child(odd),
    .cerny-step:nth-child(odd) {
        border-right: none;
    }
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE GLOBAL — toutes les pages
   ══════════════════════════════════════════════════════════ */

@media (max-width: 960px) {
    /* Hero pages internes : réduire la hauteur min */
    .cerny-page-hero {
        min-height: auto;
    }
    .cerny-page-hero__left {
        padding: 3rem 2rem;
        min-height: auto;
    }
    /* CIS stats → flex centré (comme homepage stats) */
    .cerny-cis-stats {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
        padding: 2rem 0;
    }
    .cerny-cis-stat {
        flex: 0 0 calc(33.33% - 0.75rem);
        border-right: none;
        border-bottom: 1px solid rgba(0,0,0,0.08);
        padding: 1rem;
        min-width: 0;
    }
}

@media (max-width: 640px) {
    /* ── Hero titre et texte ──────────────────────────── */
    .cerny-page-hero__title {
        font-size: clamp(26px, 7vw, 56px) !important;
        letter-spacing: 0.5px;
    }
    .cerny-page-hero__left {
        padding: 2rem 1.25rem;
    }
    .cerny-page-hero__text {
        font-size: 13.5px;
        line-height: 1.7;
    }
    .cerny-page-hero__right {
        min-height: 180px;
    }

    /* ── Sections ─────────────────────────────────────── */
    .cerny-section {
        padding: 2.5rem 0;
    }
    .cerny-section__title {
        font-size: 17px;
        letter-spacing: 2px;
    }
    .cerny-section__subtitle {
        font-size: 14px;
    }

    /* ── CIS stats → 2 colonnes ───────────────────────── */
    .cerny-cis-stat {
        flex: 0 0 calc(50% - 0.5rem);
    }
    .cerny-cis-stat__value {
        font-size: clamp(28px, 8vw, 52px) !important;
    }
    .cerny-cis-stat__label {
        font-size: 10px;
    }
    /* 5e stat seul centré */
    .cerny-cis-stat:last-child {
        flex: 0 0 calc(50% - 0.5rem);
    }

    /* ── Photos actions amicale ───────────────────────── */
    .cerny-action-item__photo {
        height: 180px;
    }
    .cerny-action-item {
        padding: 1.5rem 1rem;
    }

    /* ── Soutien strip amicale ────────────────────────── */
    .cerny-soutien-strip {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 2rem 0;
    }
    .cerny-soutien-strip__products {
        justify-content: center;
        flex-wrap: wrap;
    }
    .cerny-soutien-product img {
        height: 70px;
    }

    /* ── CTA bar rejoindre ────────────────────────────── */
    .cerny-cta-bar {
        flex-direction: column;
        text-align: center;
        padding: 1.75rem 1.25rem;
        gap: 1rem;
    }
    .cerny-cta-bar__icon {
        align-self: center;
    }
    .cerny-cta-bar a {
        align-self: center;
    }

    /* ── Cartes détail rejoindre ──────────────────────── */
    .cerny-detail-card__body {
        padding: 1.25rem;
    }
    .cerny-detail-card__title {
        font-size: 15px;
    }

    /* ── Instagram pages internes ─────────────────────── */
    .cerny-section--instagram {
        padding: 2.5rem 0;
    }
    .cerny-instagram-feed {
        grid-template-columns: repeat(3, 1fr);
    }
    .cerny-instagram-feed .cerny-instagram-photo:nth-child(n+4) {
        display: none;
    }

    /* ── Infos cards CIS ──────────────────────────────── */
    .cerny-info-card {
        padding: 1.25rem;
    }

    /* ── Role grid amicale ────────────────────────────── */
    .cerny-role-item {
        padding: 1.25rem 1rem;
    }
    .cerny-role-item p {
        font-size: 12px;
    }

    /* ── Headings Gutenberg homepage (34px → clamp) ────── */
    .home .wp-block-columns .wp-block-heading {
        font-size: clamp(20px, 5.5vw, 34px) !important;
        line-height: 1.15;
    }
    /* ── Paragraphes Gutenberg homepage (17px → 15px) ───── */
    .home .wp-block-columns p[style*="font-size:17px"],
    .home .wp-block-columns p[style*="font-size: 17px"] {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }
}

@media (max-width: 400px) {
    .cerny-page-hero__title {
        font-size: clamp(22px, 6.5vw, 56px) !important;
    }
    .cerny-cis-stat {
        flex: 0 0 calc(50% - 0.5rem);
    }
    .cerny-cis-stat__value {
        font-size: clamp(24px, 7vw, 52px) !important;
    }
}

/* ─── Liens globaux ──────────────────────────────────────── */
a {
    color: var(--cerny-red);
}

a:hover {
    color: var(--cerny-red-dark);
}

/* ─── Bouton dark mode ───────────────────────────────────── */
.cerny-dark-toggle-wrap {
    display: flex !important;
    align-items: center;
    padding: 0 0.5rem;
}

#cerny-theme-toggle {
    background: none;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    padding: 7px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-black);
    transition: color 0.2s, border-color 0.2s, background 0.2s;
    flex-shrink: 0;
}

#cerny-theme-toggle:hover {
    color: var(--cerny-red);
    border-color: var(--cerny-red);
}

#cerny-theme-toggle svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    display: block;
}

/* En light mode : affiche lune, cache soleil */
#cerny-theme-toggle .icon-sun  { display: none; }
#cerny-theme-toggle .icon-moon { display: block; }

/* En dark mode : affiche soleil, cache lune */
[data-theme="dark"] #cerny-theme-toggle .icon-sun  { display: block; }
[data-theme="dark"] #cerny-theme-toggle .icon-moon { display: none; }
[data-theme="dark"] #cerny-theme-toggle {
    color: #ffffff;
    border-color: #ffffff;
}
[data-theme="dark"] #cerny-theme-toggle:hover {
    color: var(--cerny-gold);
    border-color: var(--cerny-gold);
}

/* ─── Dark mode ──────────────────────────────────────────── */
[data-theme="dark"] body {
    background-color: #1a1a1a;
    color: #cccccc;
}

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] .wp-block-heading {
    color: #ffffff !important;
}

[data-theme="dark"] p {
    color: #cccccc;
}

/* Header */
[data-theme="dark"] .ast-hfb-header #masthead,
[data-theme="dark"] .ast-primary-header-bar,
[data-theme="dark"] .main-header-bar,
[data-theme="dark"] .main-header-bar-wrap,
[data-theme="dark"] .ast-main-header-wrap,
[data-theme="dark"] .ast-mobile-header-wrap {
    background-color: #1a1a1a !important;
}

[data-theme="dark"] .main-header-menu .menu-link,
[data-theme="dark"] #primary-site-navigation-desktop .menu-link {
    color: #eeeeee !important;
}

[data-theme="dark"] .main-header-menu .menu-link:hover {
    color: var(--cerny-gold) !important;
}

[data-theme="dark"] .main-header-menu .current-menu-item > .menu-link,
[data-theme="dark"] .main-header-menu .current_page_item > .menu-link,
[data-theme="dark"] .main-header-menu .current-menu-ancestor > .menu-link,
[data-theme="dark"] #primary-site-navigation-desktop a.menu-link[aria-current="page"],
[data-theme="dark"] #primary-site-navigation-desktop a.menu-link[aria-current="true"] {
    color: var(--cerny-red) !important;
}

/* Sections */
[data-theme="dark"] .entry-content .wp-block-group {
    background-color: #1a1a1a !important;
}

/* Colonnes et wrappers internes */
[data-theme="dark"] .wp-block-column,
[data-theme="dark"] .wp-block-columns {
    background-color: transparent;
}

/* Cartes recrutement */
[data-theme="dark"] .cerny-recrutement__card {
    background-color: #242424 !important;
    border-color: rgba(255,255,255,0.06);
}

[data-theme="dark"] .cerny-recrutement__title {
    color: #ffffff;
}

[data-theme="dark"] .cerny-recrutement__list,
[data-theme="dark"] .cerny-recrutement__text {
    color: #aaaaaa;
}

[data-theme="dark"] .cerny-recrutement__btn--outline {
    border-color: #ffffff;
    color: #ffffff !important;
}

[data-theme="dark"] .cerny-recrutement__btn--outline:hover {
    background-color: #ffffff !important;
    color: #111111 !important;
}

/* Icônes stats et recrutement */
[data-theme="dark"] .cerny-stat__icon,
[data-theme="dark"] .cerny-recrutement__icon {
    background-color: #242424;
}

[data-theme="dark"] .cerny-stat__label {
    color: #888888;
}

/* Paragraphes avec couleur inline */
[data-theme="dark"] .entry-content p[style*="color:#333333"],
[data-theme="dark"] .entry-content p[style*="color: #333333"],
[data-theme="dark"] .entry-content p[style*="color:#555555"],
[data-theme="dark"] .entry-content p[style*="color: #555555"] {
    color: #aaaaaa !important;
}

/* Instagram — dark mode */
[data-theme="dark"] .cerny-section--instagram {
    background: #1a1a1a;
}

[data-theme="dark"] .cerny-instagram-pre {
    color: #eeeeee;
}

[data-theme="dark"] .cerny-instagram-desc {
    color: #888;
}

[data-theme="dark"] .cerny-instagram-handle {
    color: #666;
}

[data-theme="dark"] .cerny-instagram-placeholder {
    background: linear-gradient(135deg, #2a2520 0%, #1e1a16 100%);
}

[data-theme="dark"] .cerny-info-card {
    background: #1e1e1e;
    border-color: rgba(255,255,255,0.07);
}

[data-theme="dark"] .cerny-info-card p,
[data-theme="dark"] .cerny-info-card ul li {
    color: #aaaaaa;
}

[data-theme="dark"] .cerny-cis-stat {
    border-right-color: rgba(255,255,255,0.07);
}

[data-theme="dark"] .cerny-cis-stat__label { color: #888; }
[data-theme="dark"] .cerny-cis-stat__sub   { color: #666; }

/* Footer — dark mode */
[data-theme="dark"] #colophon,
[data-theme="dark"] .site-footer,
[data-theme="dark"] .site-below-footer-wrap,
[data-theme="dark"] .ast-builder-grid-row-container.site-footer-focus-item {
    background-color: #111111 !important;
    color: #666666;
}

[data-theme="dark"] .ast-footer-copyright,
[data-theme="dark"] .ast-footer-copyright p {
    color: #666666;
}

[data-theme="dark"] .site-footer a,
[data-theme="dark"] .ast-footer-copyright a {
    color: #888888;
}

[data-theme="dark"] .site-footer a:hover,
[data-theme="dark"] .ast-footer-copyright a:hover {
    color: #ffffff;
}

/* Transition douce sur tous les éléments clés */
body,
.wp-block-group,
.cerny-recrutement__card,
#masthead,
.main-header-bar,
.main-header-bar-wrap,
.ast-primary-header-bar,
.ast-main-header-wrap,
.ast-mobile-header-wrap,
.main-header-menu .menu-link,
#primary-site-navigation-desktop .menu-link,
.site-footer,
#colophon,
.site-below-footer-wrap,
.ast-footer-copyright,
.ast-footer-copyright p {
    transition: background-color 0.3s ease, color 0.2s ease;
}
