/*
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.5.0
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 Panier mobile — styles portés par le JS (background-image SVG) ── */
#cerny-cart-mobile { display: none; }

/* ─── 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;
}

/* ─── 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;
}
/* Restaure le padding WooCommerce pour les notices (icône ::before positionnée à left:1.5em) */
.page .entry-content ul.woocommerce-error,
.page .entry-content ul.woocommerce-message,
.page .entry-content ul.woocommerce-info {
    padding: 1em 2em 1em 3.5em;
    color: #515151;
}

.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: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    margin-top: 2rem;
}
.cerny-why-item {
    flex: 1 1 20%;
    min-width: 160px;
    max-width: 20%;
    box-sizing: border-box;
}

.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 !important; border-bottom: none !important; }

.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: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    margin-top: 2.5rem;
}
.cerny-step {
    flex: 1 1 20%;
    min-width: 160px;
    max-width: 20%;
    box-sizing: border-box;
}

.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 !important; border-bottom: none !important; }

.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 { justify-content: center; }
    .cerny-why-item { flex: 1 1 33.333%; max-width: 33.333%; min-width: 140px; }
    .cerny-step { flex: 1 1 33.333%; max-width: 33.333%; min-width: 140px; }
    .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-item {
        flex: 1 1 50%;
        max-width: 50%;
        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-step {
        flex: 1 1 50%;
        max-width: 50%;
        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-role-grid {
        grid-template-columns: 1fr;
    }
    .cerny-why-item {
        flex: 1 1 100%;
        max-width: 100%;
        border-right: none !important;
    }
    .cerny-step {
        flex: 1 1 100%;
        max-width: 100%;
        border-right: none !important;
    }
    .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 ───────────────────────────────────── */
/* ─── Icône panier nav ───────────────────────────────────── */
.cerny-cart-wrap {
    display: flex !important;
    align-items: center;
    padding: 0 0.25rem;
}
.cerny-cart-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-black);
    text-decoration: none !important;
    padding: 6px;
    transition: color 0.2s;
}
.cerny-cart-btn:hover { color: var(--cerny-red); }
.cerny-cart-count {
    position: absolute;
    top: -4px;
    right: -4px;
    background: var(--cerny-red);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
[data-theme="dark"] .cerny-cart-btn { color: #eeeeee; }
[data-theme="dark"] .cerny-cart-btn:hover { color: var(--cerny-red); }

.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;
}


/* ═══════════════════════════════════════════════════════════════
   PAGE PRODUIT UNIQUE
   ═══════════════════════════════════════════════════════════════ */

/* ─── Breadcrumb ──────────────────────────────────────────── */

/* Ancien breadcrumb WooCommerce — masqué dans le résumé produit */
.single-product .woocommerce-breadcrumb { display: none !important; }

.woocommerce .woocommerce-breadcrumb {
    font-size: 12px !important;
    color: #bbb !important;
    margin-bottom: 1rem !important;
}
.woocommerce .woocommerce-breadcrumb a { color: #bbb !important; text-decoration: none !important; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--cerny-red) !important; }

/* Breadcrumb custom : Accueil › Catégorie */
.cerny-product-breadcrumb {
    display: flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    font-size: 12px !important;
    color: #bbb !important;
    margin-bottom: 0.75rem !important;
}
.cerny-product-breadcrumb a { color: #bbb !important; text-decoration: none !important; }
.cerny-product-breadcrumb a:hover { color: var(--cerny-red) !important; }
.cerny-product-breadcrumb__sep { color: #ddd !important; }

/* ─── Layout : 3 colonnes (galerie | résumé | trust sidebar) ── */
.woocommerce div.product {
    display: grid !important;
    grid-template-columns: 34% 1fr 210px !important;
    gap: 1.5rem 2.5rem !important;
    align-items: start !important;
}
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .cerny-pg { grid-column: 1 !important; grid-row: 1 !important; }
.woocommerce div.product .summary { grid-column: 2 !important; grid-row: 1 !important; margin: 0 !important; }
.woocommerce div.product .cerny-keypoints-aside { grid-column: 3 !important; grid-row: 1 !important; }
.woocommerce div.product .cerny-single-body,
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1 !important; }

/* ─── Galerie : miniatures verticales + image principale ──── */
.cerny-pg {
    display: flex !important;
    gap: 0.75rem !important;
    align-items: flex-start !important;
    margin: 0 !important;
}
.cerny-pg__thumbs {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 82px;
    flex-shrink: 0;
}
.cerny-pg__thumb {
    width: 82px;
    height: 82px;
    padding: 4px;
    border: 2px solid rgba(0,0,0,0.09);
    border-radius: 6px;
    background: #f6f6f6;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.2s;
}
.cerny-pg__thumb--active { border-color: var(--cerny-red); }
.cerny-pg__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.cerny-pg__main {
    flex: 1;
    position: relative;
    background: #f7f7f7;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.06);
}
.cerny-pg__img {
    width: 100% !important;
    height: 360px !important;
    object-fit: contain !important;
    display: block !important;
    padding: 1.5rem !important;
}
.cerny-pg__zoom {
    position: absolute !important;
    top: 0.85rem !important;
    right: 0.85rem !important;
    background: rgba(255,255,255,0.9) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #666 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12) !important;
    transition: background 0.2s, color 0.2s;
}
.cerny-pg__zoom:hover {
    background: #fff !important;
    color: var(--cerny-red) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.18) !important;
}

/* Masquer la catégorie Astra au-dessus du titre */
.single-product-category { display: none !important; }

/* ─── Résumé : flex column + ordre visuel forcé ──────────── */
.woocommerce div.product .summary.entry-summary {
    display: flex !important;
    flex-direction: column !important;
}
/* Tout enfant inconnu va en dernier par défaut */
.woocommerce div.product .summary.entry-summary > * { order: 9 !important; }
/* Ordre explicite pour les éléments connus */
.woocommerce div.product .summary .woocommerce-breadcrumb          { order: 0 !important; }
.woocommerce div.product .summary .cerny-product-breadcrumb        { order: 0 !important; }
.woocommerce div.product .summary .product_title                   { order: 1 !important; }
.woocommerce div.product .summary .price                           { order: 2 !important; }
.woocommerce div.product .summary .cerny-product-intro             { order: 3 !important; }
.woocommerce div.product .summary .stock,
.woocommerce div.product .summary .ast-stock-detail,
.woocommerce div.product .summary .woocommerce-product-availability,
.woocommerce div.product .summary p.availability                   { order: 4 !important; }
.woocommerce div.product .summary .cart                            { order: 5 !important; }
.woocommerce div.product .summary .cerny-product-soutien           { order: 6 !important; }
.woocommerce div.product .summary .product_meta                    { order: 8 !important; }

/* ─── Résumé produit ──────────────────────────────────────── */
.woocommerce div.product .product_title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #1a1a1a !important;
    margin: 0 0 0.5rem !important;
    line-height: 1.2 !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--cerny-red) !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    margin-bottom: 1.25rem !important;
    padding-bottom: 1.25rem !important;
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
    display: block !important;
}

/* Description courte — masquée dans le résumé, affichée via cerny-product-excerpt */
.woocommerce div.product .summary .woocommerce-product-details__short-description {
    display: none !important;
}

/* Stock — wrapper Astra (ast-stock-detail) */
.woocommerce div.product .ast-stock-detail {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin-bottom: 1.25rem !important;
    font-size: 13px !important;
}
.woocommerce div.product .ast-stock-avail {
    display: none !important;
}
/* Stock badge */
.woocommerce div.product .stock {
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    margin: 0 !important;
}
.woocommerce div.product .in-stock {
    color: #27ae60 !important;
}
.woocommerce div.product .in-stock::before {
    content: '✓';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    background: #27ae60;
    color: #fff;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 700;
    flex-shrink: 0;
}
.woocommerce div.product .out-of-stock { color: #c0392b !important; }

/* Formulaire panier : quantité + bouton */
/* ─── Formulaire panier ───────────────────────────────────── */
.woocommerce div.product form.cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-end !important;
    gap: 1rem !important;
    width: 100% !important;
    margin-bottom: 0.75rem !important;
}

/* Sélecteur de quantité */
.woocommerce div.product form.cart .quantity {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.4rem !important;
}
/* Label injecté par JS */
.cerny-qty-label {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #aaa !important;
    font-weight: 500 !important;
}
/* Rangée − input + injectée par JS */
.cerny-qty-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
}
.woocommerce div.product form.cart input.qty {
    border: none !important;
    border-bottom: 1.5px solid #ddd !important;
    border-radius: 0 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    padding: 0 !important;
    width: 44px !important;
    height: 40px !important;
    text-align: center !important;
    background: transparent !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
.woocommerce div.product form.cart input.qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart input.qty::-webkit-outer-spin-button { -webkit-appearance: none; appearance: none; }

/* Boutons +/- */
.cerny-qty-btn {
    width: 32px !important;
    height: 40px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1.5px solid #ddd !important;
    border-radius: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.15s !important;
    color: #bbb !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    min-width: 0 !important;
}
.cerny-qty-btn:hover { color: #1a1a1a !important; background: transparent !important; }

/* Bouton "Ajouter au panier" — icône seule */
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce .single_add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    max-width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    overflow: hidden !important;
    text-indent: -9999px !important; /* cache le texte */
    padding: 0 !important;
    background: var(--cerny-red) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: background 0.2s, box-shadow 0.2s !important;
    box-shadow: 0 2px 8px rgba(204,34,34,0.25) !important;
}
/* Icône panier via CSS — indépendant du JS */
.woocommerce .single_add_to_cart_button::after {
    content: '' !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='6' y1='7' x2='3.5' y2='2'/%3E%3Cline x1='18' y1='7' x2='20.5' y2='2'/%3E%3Crect x='1' y='7' width='22' height='3' rx='1'/%3E%3Cpath d='M3 10l1.5 11a2 2 0 0 0 2 1h11a2 2 0 0 0 2-1L21 10'/%3E%3Cline x1='9' y1='14' x2='9' y2='18'/%3E%3Cline x1='12' y1='14' x2='12' y2='18'/%3E%3Cline x1='15' y1='14' x2='15' y2='18'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    flex-shrink: 0 !important;
    text-indent: 0 !important;
}
/* Masquer l'icône SVG injectée par JS (doublon avec le ::after CSS) */
.woocommerce .single_add_to_cart_button svg { display: none !important; }
.woocommerce .single_add_to_cart_button:hover {
    background: var(--cerny-red-dark) !important;
    box-shadow: 0 4px 14px rgba(204,34,34,0.35) !important;
}

/* Meta (catégorie, UGS) */
.woocommerce div.product .product_meta {
    display: none !important;
}
.woocommerce div.product .product_meta .sku_wrapper,
.woocommerce div.product .product_meta .posted_in {
    display: block;
    margin-bottom: 0.3rem;
}
.woocommerce div.product .product_meta a { color: #555; text-decoration: none; }
.woocommerce div.product .product_meta a:hover { color: var(--cerny-red); }


/* ─── Tabs + sidebar confiance ────────────────────────────── */
.cerny-single-body {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 2rem;
    align-items: start;
}

/* Tabs */
/* Onglet "Description" — label masqué, contenu direct */
.woocommerce div.product .woocommerce-tabs ul.tabs { display: none !important; }
.woocommerce div.product .woocommerce-tabs {
    margin-top: 0 !important;
    border-top: 1px solid #ebebeb !important;
    padding-top: 1.5rem !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    color: #555 !important;
    line-height: 1.8 !important;
}
.woocommerce div.product .woocommerce-tabs .panel p { margin-top: 0 !important; }
.woocommerce div.product .woocommerce-tabs .panel p:last-child { margin-bottom: 0 !important; }

/* ─── Points clés sidebar (colonne 3) ────────────────────── */
.cerny-keypoints-aside {
    background: #fafafa;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 10px;
    padding: 1.25rem;
    align-self: start;
}
.cerny-keypoints-aside .cerny-product-soutien {
    margin: 1rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid rgba(0,0,0,0.07);
    font-size: 12px;
    color: #999;
    font-style: italic;
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
}

/* ─── Description courte — masquée (redondante avec le titre) ─ */
.cerny-product-intro { display: none !important; }

/* ─── Points clés ─────────────────────────────────────────── */
.cerny-product-keypoints { margin: 1rem 0; }
.cerny-product-keypoints__title {
    font-family: 'Oswald', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #1a1a1a;
    margin: 0 0 0.6rem;
}
.cerny-product-keypoints__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.cerny-product-keypoints__list li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 13px;
    color: #444;
}
.cerny-product-keypoints__list li svg {
    flex-shrink: 0;
    color: var(--cerny-red);
}

/* ─── Message soutien ─────────────────────────────────────── */
.cerny-product-soutien {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 13px;
    color: #888;
    margin: 0.75rem 0 0;
    font-style: italic;
}
.cerny-product-soutien svg { color: var(--cerny-red); flex-shrink: 0; }

/* ─── Produits similaires (layout horizontal) ─────────────── */
.related.products ul.products,
.upsells.products ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
}
.related.products ul.products li.product,
.upsells.products ul.products li.product {
    flex-direction: row !important;
    gap: 0 !important;
}
.related.products ul.products li.product .cerny-prod-img,
.upsells.products ul.products li.product .cerny-prod-img {
    width: 110px !important;
    min-width: 110px !important;
    flex-shrink: 0 !important;
}
.related.products ul.products li.product .cerny-prod-img img,
.upsells.products ul.products li.product .cerny-prod-img img {
    height: 110px !important;
    border-radius: 7px 0 0 0 !important;
}
.related.products ul.products li.product .cerny-prod-body,
.upsells.products ul.products li.product .cerny-prod-body {
    padding: 0.75rem 0.75rem 0.5rem !important;
}
.related.products ul.products li.product .button,
.upsells.products ul.products li.product .button {
    border-radius: 0 0 7px 0 !important;
    font-size: 10px !important;
    padding: 0.6rem 0.5rem !important;
}

/* ─── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .woocommerce div.product {
        grid-template-columns: 45% 1fr !important;
    }
    .woocommerce div.product .cerny-keypoints-aside {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }
}

/* ─── Sidebar confiance ───────────────────────────────────── */
.cerny-single-trust {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: sticky;
    top: 2rem;
}
.cerny-single-trust__item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: #f8f8f8;
    border: 1px solid rgba(0,0,0,0.07);
    border-radius: 8px;
    padding: 1.1rem 1.25rem;
}
.cerny-single-trust__icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border: 2px solid rgba(204,34,34,0.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-red);
}
.cerny-single-trust__item strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    text-transform: none;
    letter-spacing: 0;
    color: #1a1a1a;
    margin-bottom: 0.3rem;
}
.cerny-single-trust__item p {
    font-size: 13px;
    color: #999;
    margin: 0;
    line-height: 1.5;
}

/* ─── Produits similaires ─────────────────────────────────── */
.related.products,
.upsells.products {
    margin-top: 3rem !important;
    grid-column: 1 / -1 !important;
}
.related.products > h2,
.upsells.products > h2 {
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #1a1a1a !important;
    margin-bottom: 1.5rem !important;
}
.related.products ul.products,
.upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Cartes produits similaires — reprend le style cerny-shop2 */
.related.products ul.products li.product,
.upsells.products ul.products li.product {
    background: #ffffff !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
    transition: box-shadow 0.25s, transform 0.25s !important;
}
.related.products ul.products li.product:hover,
.upsells.products ul.products li.product:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.11) !important;
    transform: translateY(-3px) !important;
}
.related.products ul.products li.product .cerny-prod-img,
.upsells.products ul.products li.product .cerny-prod-img {
    display: block;
    background: #f7f7f7;
    text-decoration: none !important;
}
.related.products ul.products li.product .cerny-prod-img img,
.upsells.products ul.products li.product .cerny-prod-img img {
    width: 100% !important;
    height: 160px !important;
    object-fit: contain !important;
    padding: 1rem !important;
    display: block !important;
    background: #f7f7f7 !important;
    transition: transform 0.4s ease !important;
}
.related.products ul.products li.product:hover .cerny-prod-img img,
.upsells.products ul.products li.product:hover .cerny-prod-img img {
    transform: scale(1.05) !important;
}
.related.products ul.products li.product .cerny-prod-body,
.upsells.products ul.products li.product .cerny-prod-body {
    padding: 0.75rem 0.85rem 0.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.related.products ul.products li.product .cerny-prod-body__link,
.upsells.products ul.products li.product .cerny-prod-body__link { text-decoration: none !important; }
.related.products ul.products li.product .woocommerce-loop-product__title,
.upsells.products ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    margin: 0 0 0.25rem !important;
    padding: 0 !important;
}
.related.products ul.products li.product .cerny-prod-price,
.upsells.products ul.products li.product .cerny-prod-price {
    font-family: 'Oswald', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-top: auto;
}
.related.products ul.products li.product .cerny-prod-price .woocommerce-Price-amount,
.upsells.products ul.products li.product .cerny-prod-price .woocommerce-Price-amount {
    color: #1a1a1a !important;
}
.related.products ul.products li.product .button,
.upsells.products ul.products li.product .button {
    display: block !important;
    margin: 0.7rem 0 0 !important;
    background: var(--cerny-red) !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    padding: 0.7rem 0.5rem !important;
    border-radius: 0 0 7px 7px !important;
    border: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background-color 0.2s !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.related.products ul.products li.product .button:hover,
.upsells.products ul.products li.product .button:hover { background: var(--cerny-red-dark) !important; }


/* ─── Dark mode produit unique ────────────────────────────── */
[data-theme="dark"] .woocommerce div.product .product_title { color: #ffffff !important; }
[data-theme="dark"] .cerny-pg__main { background: #1e1e1e; border-color: rgba(255,255,255,0.05); }
[data-theme="dark"] .cerny-pg__thumb { background: #2a2a2a; border-color: rgba(255,255,255,0.08); }
[data-theme="dark"] .cerny-pg__thumb img { filter: brightness(0.9); }
[data-theme="dark"] .cerny-single-trust__item { background: #1e1e1e; border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .cerny-single-trust__item strong { color: #eeeeee; }
[data-theme="dark"] .cerny-single-trust__item p { color: #777; }
[data-theme="dark"] .related.products ul.products li.product,
[data-theme="dark"] .upsells.products ul.products li.product {
    background: #1e1e1e !important;
    border-color: rgba(255,255,255,0.05) !important;
}
[data-theme="dark"] .related.products ul.products li.product .woocommerce-loop-product__title,
[data-theme="dark"] .upsells.products ul.products li.product .woocommerce-loop-product__title { color: #eeeeee !important; }
[data-theme="dark"] .related.products > h2,
[data-theme="dark"] .upsells.products > h2 { color: #ffffff !important; }

/* ═══════════════════════════════════════════════════════════════
   PAGE PANIER
   ═══════════════════════════════════════════════════════════════ */

/* Fond gris sur la page panier */
.woocommerce-cart #primary,
.woocommerce-cart main.site-main,
.woocommerce-cart #content { background: #f5f5f5 !important; }
.woocommerce-cart .entry-content { padding: 0 !important; }

/* Masquer le titre Astra par défaut */
.woocommerce-cart .entry-header { display: none !important; }

/* ─── Header panier ──────────────────────────── */
.cerny-cart-header {
    background: transparent;
    padding: 1.5rem 0 1rem;
    margin-bottom: 1.25rem;
    width: 100% !important;
    position: relative;
}
.cerny-cart-header::after {
    content: '';
    position: absolute;
    bottom: 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%);
}
.cerny-cart-breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 12px;
    color: #aaa;
    margin-bottom: 0.5rem;
}
.cerny-cart-breadcrumb a { color: #aaa; text-decoration: none; }
.cerny-cart-breadcrumb a:hover { color: var(--cerny-red); }
.cerny-cart-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}
.cerny-cart-subtitle { display: none !important; }

/* ─── Layout principal ───────────────────────── */
.woocommerce-cart .woocommerce { padding: 0 0 2rem !important; }

/* Wrapper créé par JS contenant le form + la sidebar */
.cerny-cart-layout {
    display: flex !important;
    gap: 1.5rem !important;
    align-items: flex-start !important;
}
.cerny-cart-layout .woocommerce-cart-form {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    overflow-x: auto !important;
}
.cerny-cart-layout .cart-collaterals {
    width: 280px !important;
    flex: 0 0 280px !important;
    float: none !important;
    min-width: 280px !important;
}
/* Neutralise le float:right + width:48% imposé par Astra/WC sur cart_totals */
.cerny-cart-layout .cart-collaterals .cart_totals,
.cerny-cart-layout .cart-collaterals .cross-sells {
    float: none !important;
    width: 100% !important;
}

/* ─── Tableau du panier ──────────────────────── */
.woocommerce-cart table.shop_table {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    table-layout: fixed !important;
}
/* Largeurs fixes des colonnes */
.woocommerce-cart table.shop_table th.product-remove,
.woocommerce-cart table.shop_table td.product-remove  { width: 36px !important; }
.woocommerce-cart table.shop_table th.product-thumbnail,
.woocommerce-cart table.shop_table td.product-thumbnail { width: 72px !important; }
.woocommerce-cart table.shop_table th.product-price,
.woocommerce-cart table.shop_table td.product-price    { width: 85px !important; }
.woocommerce-cart table.shop_table th.product-quantity,
.woocommerce-cart table.shop_table td.product-quantity { width: 120px !important; }
.woocommerce-cart table.shop_table th.product-subtotal,
.woocommerce-cart table.shop_table td.product-subtotal { width: 115px !important; }
/* Nom prend le reste */
.woocommerce-cart table.shop_table th.product-name,
.woocommerce-cart table.shop_table td.product-name     { width: auto !important; }

.woocommerce-cart table.shop_table th {
    background: #fafafa !important;
    color: #aaa !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    padding: 0.85rem 0.75rem !important;
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
    border-top: none !important;
}
.woocommerce-cart table.shop_table td {
    padding: 1rem 0.75rem !important;
    border-color: rgba(0,0,0,0.06) !important;
    vertical-align: middle !important;
    background: #fff !important;
    line-height: 1.4 !important;
}
/* Actions row */
.woocommerce-cart table.shop_table td.actions {
    overflow: visible !important;
    padding: 1rem 1.25rem !important;
    border-top: none !important;
    border-bottom: none !important;
}

/* Bouton supprimer — icône SVG poubelle (classe cerny-remove) */
.woocommerce-cart td.product-remove { padding: 0.85rem 0.25rem 0.85rem 0.75rem !important; }
.cerny-remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ccc !important;
    text-decoration: none !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    transition: color 0.15s !important;
}
.cerny-remove::before, .cerny-remove::after { display: none !important; content: none !important; }
.cerny-remove:hover { color: var(--cerny-red) !important; background: none !important; }

/* Image produit */
.woocommerce-cart td.product-thumbnail { padding: 0.75rem 0.5rem !important; }
.woocommerce-cart td.product-thumbnail img {
    width: 56px !important;
    height: 56px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    display: block !important;
}

/* Nom produit */
.woocommerce-cart td.product-name { padding: 0.85rem 0.5rem !important; }
.woocommerce-cart td.product-name a {
    font-family: 'Oswald', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    letter-spacing: 0.5px !important;
    line-height: 1.3 !important;
    display: block !important;
    word-break: break-word !important;
}
.woocommerce-cart td.product-name a:hover { color: var(--cerny-red) !important; }
.woocommerce-cart td.product-name .variation {
    font-size: 11px !important;
    color: #999 !important;
    font-family: 'Open Sans', sans-serif !important;
    text-transform: none !important;
}

/* Prix et sous-total */
.woocommerce-cart td.product-quantity { padding: 0.75rem 0.5rem !important; }
.woocommerce-cart td.product-subtotal {
    color: var(--cerny-red) !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-align: right !important;
    white-space: nowrap !important;
}
.woocommerce-cart th.product-subtotal { text-align: right !important; }
.woocommerce-cart td.product-price { color: #555 !important; font-size: 13px !important; white-space: nowrap !important; }

/* Quantité dans le tableau */
.woocommerce-cart td.product-quantity .quantity { display: flex !important; align-items: center !important; }
.woocommerce-cart td.product-quantity .cerny-qty-label { display: none !important; }
.woocommerce-cart td.product-quantity .cerny-qty-row {
    display: flex !important;
    align-items: center !important;
    border: 1px solid rgba(0,0,0,0.12) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}
.woocommerce-cart td.product-quantity .cerny-qty-btn {
    border: none !important;
    border-bottom: none !important;
    background: #f7f7f7 !important;
    width: 30px !important;
    height: 36px !important;
    color: #666 !important;
    font-size: 16px !important;
}
.woocommerce-cart td.product-quantity .cerny-qty-btn:hover { color: var(--cerny-red) !important; background: #f0f0f0 !important; }
.woocommerce-cart td.product-quantity input.qty {
    border: none !important;
    width: 42px !important;
    height: 36px !important;
    font-size: 14px !important;
    background: #fff !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
.woocommerce-cart td.product-quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart td.product-quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}

/* Actions */
.woocommerce-cart .actions {
    padding: 0.875rem 0.75rem !important;
    background: #fff !important;
    vertical-align: middle !important;
}
.woocommerce-cart .actions-left { border-radius: 0 0 0 10px !important; }
.woocommerce-cart .actions-right {
    text-align: right !important;
    border-radius: 0 0 10px 0 !important;
}
.woocommerce-cart .coupon { display: flex !important; gap: 0.5rem !important; align-items: center !important; }
/* Desktop : coupon à gauche, MAJ à droite sur la même ligne */
.woocommerce-cart .cerny-cart-actions-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    width: 100% !important;
}
.woocommerce-cart .coupon input#coupon_code {
    border: 1.5px solid rgba(0,0,0,0.12) !important;
    border-radius: 6px !important;
    padding: 0.55rem 1rem !important;
    font-size: 13px !important;
    color: #555 !important;
    outline: none !important;
    width: 180px !important;
}
.woocommerce-cart .coupon input#coupon_code::placeholder { color: #bbb !important; }
.woocommerce-cart .coupon button[name="apply_coupon"] {
    background: var(--cerny-red) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 0.55rem 1.1rem !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    white-space: nowrap !important;
}
.woocommerce-cart .coupon button[name="apply_coupon"]:hover { background: var(--cerny-red-dark) !important; }
.woocommerce-cart button[name="update_cart"] {
    background: transparent !important;
    color: #888 !important;
    border: 1.5px solid #ddd !important;
    border-radius: 6px !important;
    padding: 0.55rem 1.1rem !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: border-color 0.2s, color 0.2s !important;
    flex-shrink: 0 !important;
}
.woocommerce-cart button[name="update_cart"]:hover { border-color: #aaa !important; color: #555 !important; }

/* ─── Sidebar totaux ─────────────────────────── */
.woocommerce-cart .cart_totals {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    border-radius: 10px !important;
    padding: 1.5rem !important;
}
.woocommerce-cart .cart_totals h2 {
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #1a1a1a !important;
    margin: 0 0 1.25rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
}
.woocommerce-cart .cart_totals table {
    width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    padding: 0.65rem 0 !important;
    font-size: 13px !important;
    color: #555 !important;
}
.woocommerce-cart .cart_totals table th {
    color: #888 !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 13px !important;
    width: 40% !important;
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    border-bottom: none !important;
    padding-top: 1rem !important;
    font-size: 15px !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
}
.woocommerce-cart .cart_totals .order-total .amount {
    color: var(--cerny-red) !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
}
/* Masquer la ligne livraison native WooCommerce (radio buttons) sur la page panier
   — règle déplacée et renforcée plus bas dans le fichier pour éviter l'override responsive */

/* ─── Ligne info livraison lecture seule ─────────── */
.cerny-shipping-info th {
    font-size: 12px !important;
    color: #777 !important;
    font-weight: 400 !important;
}
.cerny-shipping-info-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.cerny-shipping-info-list li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.15rem 0 !important;
    font-size: 12px !important;
    color: #555 !important;
    gap: 0.5rem !important;
}
.cerny-info-name { flex: 1 1 auto !important; }
.cerny-info-price {
    font-weight: 600 !important;
    color: #333 !important;
    white-space: nowrap !important;
}
.cerny-info-price.cerny-free { color: #27ae60 !important; }
.cerny-shipping-hint {
    display: block !important;
    margin-top: 0.35rem !important;
    font-size: 10px !important;
    color: #bbb !important;
    font-style: italic !important;
}

/* ─── Bouton passer au paiement ──────────────── */
.woocommerce a.button.checkout-button,
.woocommerce button.button.alt {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--cerny-red) !important;
    color: #fff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 13px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 0.5rem 1.25rem !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: 1rem !important;
    cursor: pointer !important;
    transition: background 0.2s, box-shadow 0.2s !important;
    box-shadow: 0 2px 10px rgba(204,34,34,0.22) !important;
    text-decoration: none !important;
}
.woocommerce a.button.checkout-button:hover,
.woocommerce button.button.alt:hover {
    background: var(--cerny-red-dark) !important;
    box-shadow: 0 4px 16px rgba(204,34,34,0.30) !important;
}

/* ─── Trust compact dans la sidebar ─────────── */
/* Trust section panier — pleine largeur sous le layout, même style que la boutique */
.cerny-cart-trust-section.cerny-shop2-trust {
    margin-top: 0 !important;
}

.cerny-cart-trust-mini {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.5rem !important;
    margin-top: 1.25rem !important;
    padding-top: 1.25rem !important;
    border-top: 1px solid rgba(0,0,0,0.07) !important;
}
.cerny-cart-trust-mini__item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 0.3rem !important;
    padding: 0.5rem 0.25rem !important;
}
.cerny-cart-trust-mini__item svg {
    color: var(--cerny-red) !important;
    flex-shrink: 0 !important;
}
.cerny-cart-trust-mini__item span {
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
}
.cerny-cart-trust-mini__item small {
    font-size: 10px !important;
    color: #999 !important;
    line-height: 1.3 !important;
}

/* Masquer "Modifier l'adresse" dans le résumé panier */
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals a.shipping-calculator-button { display: none !important; }

/* ─── Calculateur de frais d'expédition ──────────────────── */
.woocommerce-cart .shipping-calculator-form {
    margin-top: 0.75rem !important;
}
.woocommerce-cart .shipping-calculator-form .form-row {
    margin-bottom: 0.6rem !important;
}
.woocommerce-cart .shipping-calculator-form label {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #888 !important;
    font-weight: 500 !important;
    margin-bottom: 0.3rem !important;
    display: block !important;
}
.woocommerce-cart .shipping-calculator-form input,
.woocommerce-cart .shipping-calculator-form select {
    width: 100% !important;
    border: 1.5px solid rgba(0,0,0,0.1) !important;
    border-radius: 6px !important;
    padding: 0.5rem 0.75rem !important;
    font-size: 13px !important;
    color: #444 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}
.woocommerce-cart .shipping-calculator-form input:focus,
.woocommerce-cart .shipping-calculator-form select:focus {
    border-color: var(--cerny-red) !important;
    outline: none !important;
}
/* Bouton Mettre à jour — texte sur une seule ligne */
.woocommerce-cart button[name="calc_shipping"] {
    display: block !important;
    width: 100% !important;
    background: var(--cerny-red) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 0.6rem 1rem !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    margin-top: 0.5rem !important;
    transition: background 0.2s !important;
}
.woocommerce-cart button[name="calc_shipping"]:hover {
    background: var(--cerny-red-dark) !important;
}

/* ═══════════════════════════════════════════════════════════════
   PAGE CHECKOUT
   ═══════════════════════════════════════════════════════════════ */

/* Fond gris */
.woocommerce-checkout #primary,
.woocommerce-checkout main.site-main,
.woocommerce-checkout #content { background: #f5f5f5 !important; }
.woocommerce-checkout .entry-content { padding: 0 !important; }

/* Header réutilise les styles cerny-cart-header */
.cerny-checkout-header { margin-bottom: 1.25rem; }

/* ─── Layout 2 colonnes ─────────────────────────── */
.cerny-checkout-layout {
    display: flex !important;
    gap: 1.5rem !important;
    align-items: flex-start !important;
}
.cerny-checkout-main {
    flex: 1 1 0 !important;
    min-width: 0 !important;
}
.cerny-checkout-sidebar {
    width: 320px !important;
    flex: 0 0 320px !important;
    position: sticky !important;
    top: 5.5rem !important;
    align-self: flex-start !important;
}

/* ─── Sections numérotées ───────────────────────── */
.cerny-checkout-section {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    border-radius: 10px !important;
    padding: 1.5rem !important;
    margin-bottom: 1rem !important;
}
.cerny-section-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #1a1a1a !important;
    margin: 0 0 1.25rem !important;
    padding: 0.6rem 0.75rem !important;
    background: #f7f7f7 !important;
    border-radius: 6px !important;
    border-left: 3px solid var(--cerny-red) !important;
}
/* Masquer h3 par défaut WooCommerce dans les sections */
.cerny-checkout-section .woocommerce-billing-fields h3,
.cerny-checkout-section .woocommerce-shipping-fields h3,
.cerny-checkout-section #order_review_heading { display: none !important; }

/* Masquer le tableau review-order dans la colonne gauche */
#cerny-payment-section .woocommerce-checkout-review-order-table { display: none !important; }

/* Masquer la section shipping (adresse différente) — non utilisée */
#cerny-shipping-section { display: none !important; }

/* Section notes : style réduit */
.cerny-section-title--notes {
    margin-top: 0.5rem !important;
    margin-bottom: 0.75rem !important;
}

/* Masquer expédition UNIQUEMENT dans le review-order de la colonne paiement */
#cerny-payment-section .woocommerce-checkout-review-order-table tr.shipping { display: none !important; }

/* ─── Cards de livraison (section 3) ────────────────────────── */
.cerny-shipping-list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.cerny-shipping-card {
    border: 2px solid rgba(0,0,0,0.09) !important;
    border-radius: 8px !important;
    transition: border-color 0.2s, background 0.2s !important;
    overflow: hidden !important;
}
.cerny-shipping-card label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    padding: 1rem !important;
    cursor: pointer !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #333 !important;
    font-weight: 400 !important;
}
.cerny-shipping-card input[type="radio"] {
    flex-shrink: 0 !important;
    margin-top: 2px !important;
    accent-color: var(--cerny-red) !important;
    width: 16px !important;
    height: 16px !important;
}
.cerny-shipping-card--active,
.cerny-shipping-card:has(input:checked) {
    border-color: var(--cerny-red) !important;
    background: rgba(204,34,34,0.03) !important;
}
.cerny-shipping-card__body { display: flex; flex-direction: column; gap: 0.2rem; }
.cerny-shipping-card__label { font-weight: 600 !important; color: #1a1a1a !important; font-size: 13px !important; }
.cerny-shipping-card__price { color: var(--cerny-red) !important; font-weight: 600 !important; font-size: 13px !important; }
.cerny-free { color: #27ae60 !important; }
.cerny-shipping-card__desc { font-size: 11px !important; color: #999 !important; margin-top: 0.2rem !important; }

/* ─── Champs de formulaire ──────────────────────── */
.woocommerce-checkout label {
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: #777 !important;
    font-weight: 600 !important;
    margin-bottom: 0.3rem !important;
}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    border: 1.5px solid rgba(0,0,0,0.11) !important;
    border-radius: 6px !important;
    padding: 0.6rem 0.9rem !important;
    font-size: 13px !important;
    background: #fff !important;
    transition: border-color 0.2s !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: var(--cerny-red) !important;
    outline: none !important;
}
/* Grille de champs billing */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem 1rem !important;
}
.woocommerce-checkout .form-row-wide { grid-column: 1 / -1 !important; }

/* ─── Méthodes de livraison en cards ────────────── */
.woocommerce-checkout .woocommerce-shipping-methods {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-checkout .woocommerce-shipping-methods li {
    border: 2px solid rgba(0,0,0,0.09) !important;
    border-radius: 8px !important;
    padding: 1rem !important;
    cursor: pointer !important;
    transition: border-color 0.2s, background 0.2s !important;
    background: #fff !important;
    position: relative !important;
}
.woocommerce-checkout .woocommerce-shipping-methods li:has(input:checked) {
    border-color: var(--cerny-red) !important;
    background: rgba(204,34,34,0.03) !important;
}
.woocommerce-checkout .woocommerce-shipping-methods input[type="radio"] {
    accent-color: var(--cerny-red) !important;
}
.woocommerce-checkout .woocommerce-shipping-methods label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    display: block !important;
    margin-top: 0.25rem !important;
}

/* ─── Méthodes de paiement ──────────────────────── */
.woocommerce #payment { background: transparent !important; border: none !important; border-radius: 0 !important; padding: 0 !important; }
.woocommerce #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 1rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    border: none !important;
}
.woocommerce #payment ul.payment_methods li {
    border: 2px solid rgba(0,0,0,0.09) !important;
    border-radius: 8px !important;
    padding: 0.9rem 1rem !important;
    cursor: pointer !important;
    transition: border-color 0.2s !important;
    background: #fff !important;
}
.woocommerce #payment ul.payment_methods li.wc_payment_method input:checked ~ label { color: var(--cerny-red) !important; }
.woocommerce #payment ul.payment_methods li:has(input:checked) { border-color: var(--cerny-red) !important; }
.woocommerce #payment ul.payment_methods label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}
.woocommerce #payment .payment_box {
    background: #f9f9f9 !important;
    border-radius: 6px !important;
    padding: 0.75rem 1rem !important;
    margin-top: 0.5rem !important;
    font-size: 13px !important;
    color: #666 !important;
}
/* Reset floats WooCommerce dans la section paiement */
#cerny-payment-section #order_review,
#cerny-payment-section .woocommerce-checkout-review-order,
#cerny-payment-section #payment { float: none !important; width: 100% !important; clear: both !important; }
#cerny-payment-section #payment ul.payment_methods li { width: 100% !important; box-sizing: border-box !important; }
#cerny-payment-section #payment .payment_box { width: 100% !important; box-sizing: border-box !important; float: none !important; }
#cerny-payment-section #payment .terms,
#cerny-payment-section #payment .wc-terms-and-conditions { float: none !important; display: block !important; margin-bottom: 1rem !important; }
#cerny-payment-section #payment .form-row.place-order { clear: both !important; overflow: hidden !important; }

/* Bouton passer la commande dans le formulaire (gauche) */
.woocommerce #payment #place_order {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    background: var(--cerny-red) !important;
    color: #fff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 13px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 0.75rem 1.5rem !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    box-shadow: 0 2px 10px rgba(204,34,34,0.22) !important;
}
.woocommerce #payment #place_order:hover { background: var(--cerny-red-dark) !important; }

/* Masquer le h3 order_review dans le bloc paiement */
#order_review_heading { display: none !important; }
/* Masquer le tableau review-order WooCommerce dans la colonne gauche */
.cerny-checkout-payment-section .woocommerce-checkout-review-order-table { display: none !important; }

/* ─── Sidebar résumé commande ───────────────────── */
.cerny-checkout-order-box {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    border-radius: 10px !important;
    padding: 1.1rem !important;
    margin-bottom: 1rem !important;
}
.cerny-checkout-order-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #1a1a1a !important;
    margin: 0 0 0.75rem !important;
    padding-bottom: 0.6rem !important;
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
}

/* Produit dans la sidebar */
.cerny-order-item {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.4rem 0 !important;
}
.cerny-order-item__img img {
    width: 38px !important;
    height: 38px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    display: block !important;
    flex-shrink: 0 !important;
}
.cerny-order-item__qty { display: none !important; }
.cerny-order-item__name {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #222 !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Tableau résumé */
.cerny-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    font-size: 12px !important;
}
.cerny-order-table thead { display: none !important; }
/* Neutralise les bordures génériques Astra (table td { border-bottom }) */
.cerny-order-table td,
.cerny-order-table th { border: none !important; padding: 0 !important; }
.cerny-order-table tbody tr td.product-name { width: 70% !important; }
.cerny-order-table tbody tr td.product-total {
    text-align: right !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #333 !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}
/* Séparateur tbody → tfoot : border-top sur la première ligne du tfoot */
.cerny-order-table tfoot tr:first-child td,
.cerny-order-table tfoot tr:first-child th {
    border-top: 1px solid rgba(0,0,0,0.06) !important;
    padding-top: 0.4rem !important;
}
.cerny-order-table tfoot td,
.cerny-order-table tfoot th {
    padding-bottom: 0.25rem !important;
    font-size: 11px !important;
    color: #888 !important;
}
.cerny-order-table tfoot th { text-align: left !important; font-weight: 400 !important; }
.cerny-order-table tfoot td { text-align: right !important; }
.cerny-order-table .shipping th { color: #555 !important; font-weight: 500 !important; font-size: 11px !important; }
.cerny-order-table .shipping td { color: #555 !important; font-size: 11px !important; }
.cerny-order-table .cart-subtotal th,
.cerny-order-table .cart-subtotal td { color: #aaa !important; font-size: 10px !important; }
.cerny-order-table .order-total th,
.cerny-order-table .order-total td {
    font-weight: 700 !important;
    font-size: 13px !important;
    color: #1a1a1a !important;
    padding-top: 0.5rem !important;
    border-top: 1.5px solid rgba(0,0,0,0.09) !important;
}
.cerny-order-table .order-total .amount {
    color: var(--cerny-red) !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 15px !important;
}

/* Trust mini dans la sidebar checkout */
.cerny-checkout-trust {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    border-radius: 10px !important;
    padding: 0.75rem !important;
    margin-top: 0 !important;
}

/* ─── Responsive ─────────────────────────────────── */
@media (max-width: 900px) {
    .cerny-checkout-layout { flex-direction: column !important; }
    .cerny-checkout-sidebar { width: 100% !important; flex: none !important; }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr !important; }
    .woocommerce-checkout .woocommerce-shipping-methods { grid-template-columns: 1fr !important; }
}

/* ─── Messages ────────────────────────────────────────────── */
/* ─── Notification "ajouté au panier" ─────────────────────── */
.woocommerce-message {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    background: #fff !important;
    border: none !important;
    border-left: 3px solid var(--cerny-red) !important;
    border-radius: 0 8px 8px 0 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
    padding: 0.9rem 1.25rem !important;
    margin-bottom: 1.5rem !important;
    font-size: 14px !important;
    color: #444 !important;
}
/* Masquer l'icône WooCommerce par défaut */
.woocommerce-message::before { display: none !important; }
/* Icône checkmark via pseudo-élément */
.woocommerce-message::after {
    content: "" !important;
    display: none !important;
}
/* Bouton "Voir le panier" */
.woocommerce-message a.button,
.woocommerce-message .button {
    background: transparent !important;
    color: var(--cerny-red) !important;
    border: 1.5px solid var(--cerny-red) !important;
    border-radius: 5px !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 0.45rem 1rem !important;
    margin-left: auto !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    transition: background 0.2s, color 0.2s !important;
    text-decoration: none !important;
    display: inline-block !important;
}
.woocommerce-message a.button:hover,
.woocommerce-message .button:hover {
    background: var(--cerny-red) !important;
    color: #fff !important;
}

/* ─── Dark mode ───────────────────────────────────────────── */
[data-theme="dark"] .woocommerce div.product .product_title { color: #ffffff !important; }
[data-theme="dark"] .woocommerce table.shop_table td { background: #1e1e1e; border-color: rgba(255,255,255,0.05) !important; }
[data-theme="dark"] .woocommerce table.shop_table td.product-name a { color: #eeeeee !important; }
[data-theme="dark"] .woocommerce #payment { background: #1a1a1a !important; }
[data-theme="dark"] .woocommerce-checkout input[type="text"],
[data-theme="dark"] .woocommerce-checkout input[type="email"],
[data-theme="dark"] .woocommerce-checkout input[type="tel"],
[data-theme="dark"] .woocommerce-checkout select,
[data-theme="dark"] .woocommerce-checkout textarea {
    background: #2a2a2a !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #eeeeee !important;
}

/* ─── Responsive — page produit unique ───────────────────── */

/* Tablette : 2 colonnes galerie + résumé, points clés pleine largeur */
@media (max-width: 1024px) {
    .woocommerce div.product {
        grid-template-columns: 42% 1fr !important;
        gap: 1.5rem 2rem !important;
    }
    .woocommerce div.product .cerny-keypoints-aside {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }
    /* Points clés en ligne sur tablette */
    .cerny-keypoints-aside {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.5rem 1.5rem !important;
        padding: 1rem 1.25rem !important;
    }
    .cerny-product-keypoints__title { width: 100% !important; margin-bottom: 0.25rem !important; }
    .cerny-product-keypoints__list { display: flex !important; flex-wrap: wrap !important; gap: 0.4rem 1.25rem !important; margin: 0 !important; }
    .cerny-product-keypoints__soutien { width: 100% !important; margin-top: 0.5rem !important; }
}

/* Mobile : 1 colonne, galerie compacte */
@media (max-width: 768px) {
    .woocommerce div.product {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }
    /* Forcer l'ordre des lignes pour éviter les superpositions */
    .woocommerce div.product .cerny-pg            { grid-column: 1 !important; grid-row: 1 !important; }
    .woocommerce div.product .summary             { grid-column: 1 !important; grid-row: 2 !important; }
    .woocommerce div.product .cerny-keypoints-aside { grid-column: 1 !important; grid-row: 3 !important; }
    .woocommerce div.product .cerny-single-body,
    .woocommerce div.product > .woocommerce-tabs  { grid-column: 1 !important; grid-row: 4 !important; }
    .woocommerce div.product .related,
    .woocommerce div.product .upsells             { grid-column: 1 !important; grid-row: 5 !important; }

    /* Galerie : miniatures horizontales en bas */
    .cerny-pg { flex-direction: column-reverse !important; }
    .cerny-pg__thumbs {
        flex-direction: row !important;
        width: 100% !important;
        overflow-x: auto !important;
        gap: 0.4rem !important;
    }
    .cerny-pg__thumb { width: 60px !important; height: 60px !important; flex-shrink: 0 !important; }
    .cerny-pg__img { height: 260px !important; }

    /* Prix + titre */
    .woocommerce div.product .product_title { font-size: 1.1rem !important; }

    /* Formulaire panier */
    .woocommerce div.product form.cart { gap: 0.75rem !important; }

    /* Tabs description */
    .woocommerce div.product .woocommerce-tabs { padding-top: 1.25rem !important; }

    /* Trust strip pleine largeur */
    .single-product .cerny-shop2-trust { margin-top: 1.5rem !important; }

    /* Produits similaires : 2 colonnes */
    .related.products ul.products,
    .upsells.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 480px) {
    /* Galerie encore plus compacte */
    .cerny-pg__img { height: 220px !important; }

    /* Prix */
    .woocommerce div.product p.price,
    .woocommerce div.product span.price { font-size: 1.5rem !important; }

    /* Produits similaires : 1 colonne sur très petit écran */
    .related.products ul.products,
    .upsells.products ul.products { grid-template-columns: 1fr !important; }

    /* Trust strip : 1 colonne sur mobile (c'est un grid, pas flex) */
    .cerny-shop2-trust { padding: 1.25rem !important; overflow-x: hidden !important; }
    .cerny-shop2-trust__inner {
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }
    .cerny-shop2-trust-item {
        align-items: center !important;
        gap: 0.75rem !important;
    }
    .cerny-shop2-trust-item__icon {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }
}

/* ─── Shop toolbar (compte + tri) ─────────────────────────── */

/* ═══════════════════════════════════════════════════════════════
   BOUTIQUE V2 — design light avec filtres catégories
   ═══════════════════════════════════════════════════════════════ */

/* ─── Hero boutique ──────────────────────────────────────── */

/* Commun light + dark */
.shop-hero {
    position: relative;
    overflow: hidden;
    min-height: 380px;
    display: flex;
    align-items: center;
    /* Light mode par défaut */
    background:
        radial-gradient(circle at 78% 46%, rgba(220,0,0,0.16) 0%, rgba(220,0,0,0.08) 22%, rgba(220,0,0,0.03) 42%, rgba(255,255,255,0) 64%),
        radial-gradient(circle at 96% 52%, rgba(255,55,55,0.14) 0%, rgba(255,55,55,0.06) 26%, rgba(255,255,255,0) 52%),
        linear-gradient(90deg, #ffffff 0%, #f9f9f9 36%, #f6eeee 62%, #f3dddd 82%, #f2caca 100%);
}
.shop-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.78) 36%, rgba(255,255,255,0.34) 64%, rgba(255,255,255,0.08) 100%);
    z-index: 1;
}
.shop-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 54% 50%, rgba(255,255,255,0) 48%, rgba(0,0,0,0.03) 76%, rgba(0,0,0,0.08) 100%);
    z-index: 1;
    pointer-events: none;
}

.shop-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 52px 40px;
}
.shop-hero-content { max-width: 560px; }

.shop-hero-breadcrumb {
    font-size: 14px;
    margin-bottom: 28px;
    color: rgba(0,0,0,0.50);
}
.shop-hero-breadcrumb a {
    color: rgba(0,0,0,0.50);
    text-decoration: none;
}
.shop-hero-breadcrumb a:hover { color: rgba(0,0,0,0.75); }
.shop-hero-breadcrumb__sep { margin: 0 0.4rem; }

.shop-hero-badge {
    display: inline-block;
    padding: 10px 18px;
    border: 1px solid rgba(215,25,32,0.65);
    color: #d71920;
    font-size: 14px;
    letter-spacing: 3px;
    font-weight: 700;
    margin-bottom: 28px;
    text-transform: uppercase;
}

.shop-hero h1 {
    margin: 0 0 28px !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: clamp(26px, 2.6vw, 40px) !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #141414 !important;
}
.shop-hero h1 span { color: #d71920; }

.shop-hero p {
    font-size: 16px;
    line-height: 1.6;
    max-width: 480px;
    margin: 0 0 32px;
    color: rgba(0,0,0,0.70);
}

.shop-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-width: 240px;
    text-decoration: none !important;
    background: linear-gradient(180deg, #ff3d34 0%, #d8191b 100%);
    color: #ffffff !important;
    padding: 18px 34px;
    border-radius: 4px;
    font-family: 'Oswald', sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.shop-hero-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(215,25,32,0.24);
    color: #ffffff !important;
}

/* Dark mode */
[data-theme="dark"] .shop-hero {
    background:
        radial-gradient(circle at 78% 48%, rgba(220,0,0,0.42) 0%, rgba(220,0,0,0.20) 24%, rgba(220,0,0,0.06) 42%, rgba(0,0,0,0) 62%),
        radial-gradient(circle at 96% 52%, rgba(255,45,45,0.24) 0%, rgba(255,45,45,0.08) 24%, rgba(0,0,0,0) 48%),
        linear-gradient(90deg, #050608 0%, #09090b 30%, #150405 58%, #2c0405 78%, #52070a 100%);
}
[data-theme="dark"] .shop-hero::before {
    background:
        linear-gradient(90deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.48) 32%, rgba(0,0,0,0.14) 62%, rgba(0,0,0,0.02) 100%);
}
[data-theme="dark"] .shop-hero::after {
    background:
        radial-gradient(circle at 50% 50%, rgba(0,0,0,0) 45%, rgba(0,0,0,0.20) 74%, rgba(0,0,0,0.55) 100%);
}
[data-theme="dark"] .shop-hero .shop-hero-breadcrumb,
[data-theme="dark"] .shop-hero .shop-hero-breadcrumb a { color: rgba(255,255,255,0.58); }
[data-theme="dark"] .shop-hero .shop-hero-badge {
    color: #ff3b30;
    border-color: rgba(255,59,48,0.75);
}
[data-theme="dark"] .shop-hero h1 { color: #ffffff !important; }
[data-theme="dark"] .shop-hero h1 span { color: #ef2b2d; }
[data-theme="dark"] .shop-hero p { color: rgba(255,255,255,0.84); }
[data-theme="dark"] .shop-hero-btn:hover {
    box-shadow: 0 10px 28px rgba(255,35,35,0.22);
}

/* Responsive hero */
@media (max-width: 768px) {
    .shop-hero { min-height: 240px; }
    .shop-hero-inner { padding: 32px 20px; }
    .shop-hero h1 { font-size: clamp(20px, 3.5vw, 26px) !important; letter-spacing: 0.5px !important; margin-bottom: 16px !important; }
    .shop-hero p { font-size: 14px; margin-bottom: 20px; }
    .shop-hero-btn { min-width: 180px; padding: 13px 20px; font-size: 12px !important; }
}
@media (max-width: 480px) {
    .shop-hero-inner { padding: 28px 16px; }
    .shop-hero h1 { font-size: clamp(18px, 5.5vw, 22px) !important; }
    .shop-hero p { font-size: 13px; }
    .shop-hero-btn { width: 100%; justify-content: center; }
    .shop-hero-badge { font-size: 10px !important; padding: 4px 12px !important; }
}


/* ─── En-tête (pages catégorie) ────────────────────────────── */
.cerny-shop2 { overflow-x: hidden; max-width: 100%; }
.cerny-shop2-header {
    background: #ffffff;
    padding: 2.5rem 2rem 2rem;
    border-bottom: 1px solid rgba(0,0,0,0.07);
}
.cerny-shop2-header__inner { max-width: 1200px; margin: 0 auto; }

.cerny-shop2-breadcrumb {
    font-size: 13px;
    color: #aaa;
    margin-bottom: 1rem;
}
.cerny-shop2-breadcrumb a { color: #aaa; text-decoration: none; }
.cerny-shop2-breadcrumb a:hover { color: var(--cerny-red); }
.cerny-shop2-breadcrumb__sep { margin: 0 0.35rem; }

.cerny-shop2-header__title {
    font-family: 'Oswald', sans-serif !important;
    font-size: clamp(1.6rem, 3vw, 2.25rem) !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 0.75rem !important;
}
.cerny-shop2-header__sub {
    font-size: 14px;
    color: #888;
    line-height: 1.65;
    max-width: 620px;
    margin: 0;
}

/* ─── Corps ───────────────────────────────────────────────── */
.cerny-shop2-body {
    background: #f4f4f4;
    padding: 2rem 2rem 4rem;
}
.cerny-shop2-body__inner { max-width: 1200px; margin: 0 auto; }

/* ─── Filtres catégories + tri ────────────────────────────── */
.cerny-shop2-filters {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(0,0,0,0.09);
}
.cerny-shop2-cats {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}
.cerny-shop2-cat {
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    padding: 0.4rem 1rem;
    border-radius: 50px;
    border: 1.5px solid rgba(0,0,0,0.16);
    background: #ffffff;
    color: #333;
    text-decoration: none !important;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
    white-space: nowrap;
}
.cerny-shop2-cat:hover {
    border-color: var(--cerny-red);
    color: var(--cerny-red);
}
.cerny-shop2-cat--active {
    background: var(--cerny-red) !important;
    border-color: var(--cerny-red) !important;
    color: #ffffff !important;
}

.cerny-shop2-sort .woocommerce-ordering { margin: 0; }
.cerny-shop2-sort .woocommerce-ordering select {
    border: 1.5px solid rgba(0,0,0,0.16);
    border-radius: 4px;
    font-size: 13px;
    padding: 0.4rem 0.85rem;
    color: #555;
    background: #ffffff;
    cursor: pointer;
    outline: none;
}

/* ─── Compteur résultats ──────────────────────────────────── */
.cerny-shop2-count,
.cerny-shop2-count .woocommerce-result-count {
    font-size: 13px;
    color: #999;
    margin: 0 0 1.25rem;
}

/* ─── Grille produits ─────────────────────────────────────── */
.cerny-shop2-grid .woocommerce { width: 100%; }
.cerny-shop2-grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 0.9rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* ─── Carte produit ───────────────────────────────────────── */
.cerny-shop2-grid ul.products li.product {
    background: #ffffff !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05) !important;
    transition: box-shadow 0.25s, transform 0.25s !important;
}
.cerny-shop2-grid ul.products li.product:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.11) !important;
    transform: translateY(-3px) !important;
}

/* Image */
.cerny-shop2-grid ul.products li.product .cerny-prod-img {
    display: block;
    overflow: hidden;
    background: #f7f7f7;
    text-decoration: none !important;
}
.cerny-shop2-grid ul.products li.product .cerny-prod-img img {
    width: 100% !important;
    height: 170px !important;
    object-fit: contain !important;
    padding: 1rem !important;
    display: block !important;
    background: #f7f7f7 !important;
    transition: transform 0.4s ease !important;
}
.cerny-shop2-grid ul.products li.product:hover .cerny-prod-img img {
    transform: scale(1.06) !important;
}

/* Badge promo */
.cerny-shop2-grid ul.products li.product .onsale {
    top: 8px !important;
    left: 8px !important;
    background: var(--cerny-red) !important;
    border-radius: 3px !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 11px !important;
}

/* Corps texte */
.cerny-shop2-grid ul.products li.product .cerny-prod-body {
    padding: 0.75rem 0.85rem 0.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.cerny-shop2-grid ul.products li.product .cerny-prod-body__link {
    text-decoration: none !important;
}
.cerny-shop2-grid ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    color: #1a1a1a !important;
    margin: 0 0 0.25rem !important;
    line-height: 1.2 !important;
    padding: 0 !important;
}
.cerny-shop2-grid ul.products li.product .cerny-prod-desc {
    font-size: 11px;
    color: #aaa;
    margin: 0 0 0.5rem;
    line-height: 1.4;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.cerny-shop2-grid ul.products li.product .cerny-prod-price {
    margin-top: auto;
    font-family: 'Oswald', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}
.cerny-shop2-grid ul.products li.product .cerny-prod-price .price,
.cerny-shop2-grid ul.products li.product .cerny-prod-price .woocommerce-Price-amount,
.cerny-shop2-grid ul.products li.product .cerny-prod-price bdi {
    font-family: 'Oswald', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    display: inline !important;
}

/* Bouton ajouter au panier */
.cerny-shop2-grid ul.products li.product .button {
    display: block !important;
    margin: 0.7rem 0 0 !important;
    background: var(--cerny-red) !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    padding: 0.7rem 0.5rem !important;
    border-radius: 0 0 7px 7px !important;
    border: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background-color 0.2s !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.cerny-shop2-grid ul.products li.product .button:hover {
    background: var(--cerny-red-dark) !important;
}
.cerny-shop2-grid ul.products li.product .added_to_cart {
    display: block !important;
    text-align: center !important;
    font-size: 11px !important;
    color: var(--cerny-red) !important;
    font-family: 'Oswald', sans-serif !important;
    text-decoration: none !important;
    padding: 0.35rem !important;
}

/* ─── Pagination ──────────────────────────────────────────── */
.cerny-shop2-pagi {
    margin-top: 2.5rem;
    text-align: center;
}
.cerny-shop2-pagi .woocommerce-pagination ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.3rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.cerny-shop2-pagi .woocommerce-pagination ul li a,
.cerny-shop2-pagi .woocommerce-pagination ul li span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 14px !important;
    text-decoration: none !important;
    color: #555 !important;
    border: 1.5px solid rgba(0,0,0,0.13) !important;
    transition: all 0.2s !important;
    background: #ffffff !important;
    padding: 0 0.4rem !important;
}
.cerny-shop2-pagi .woocommerce-pagination ul li a:hover {
    border-color: var(--cerny-red) !important;
    color: var(--cerny-red) !important;
}
.cerny-shop2-pagi .woocommerce-pagination ul li span.current {
    background: var(--cerny-red) !important;
    border-color: var(--cerny-red) !important;
    color: #ffffff !important;
}

/* ─── Bande de confiance ──────────────────────────────────── */
.cerny-shop2-trust {
    background: #ebebeb;
    padding: 2rem;
    border-top: 1px solid rgba(0,0,0,0.07);
}
.cerny-shop2-trust__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
.cerny-shop2-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.cerny-shop2-trust-item__icon {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;
    border: 2px solid rgba(204,34,34,0.35);
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cerny-red);
}
.cerny-shop2-trust-item__icon svg {
    width: 22px !important;
    height: 22px !important;
    flex-shrink: 0;
}
.cerny-shop2-trust-item strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #1a1a1a;
    margin-bottom: 0.25rem;
}
.cerny-shop2-trust-item span {
    font-size: 13px;
    color: #777;
    line-height: 1.5;
}

/* ─── Dark mode ───────────────────────────────────────────── */
[data-theme="dark"] .cerny-shop2-header {
    background: #1a1a1a;
    border-bottom-color: rgba(255,255,255,0.06);
}
[data-theme="dark"] .cerny-shop2-header__title { color: #ffffff !important; }
[data-theme="dark"] .cerny-shop2-header__sub { color: #777; }
[data-theme="dark"] .cerny-shop2-breadcrumb,
[data-theme="dark"] .cerny-shop2-breadcrumb a { color: #666; }
[data-theme="dark"] .cerny-shop2-body { background: #111111; }
[data-theme="dark"] .cerny-shop2-filters { border-bottom-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .cerny-shop2-cat {
    background: #2a2a2a;
    border-color: rgba(255,255,255,0.1);
    color: #ccc;
}
[data-theme="dark"] .cerny-shop2-sort .woocommerce-ordering select {
    background: #2a2a2a;
    border-color: rgba(255,255,255,0.1);
    color: #ccc;
}
[data-theme="dark"] .cerny-shop2-count,
[data-theme="dark"] .cerny-shop2-count .woocommerce-result-count { color: #666; }
[data-theme="dark"] .cerny-shop2-grid ul.products li.product {
    background: #1e1e1e !important;
    border-color: rgba(255,255,255,0.05) !important;
}
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .cerny-prod-img,
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .cerny-prod-img img { background: #272727 !important; }
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .woocommerce-loop-product__title { color: #eeeeee !important; }
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .cerny-prod-desc { color: #666; }
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .cerny-prod-price,
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .cerny-prod-price .woocommerce-Price-amount,
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .cerny-prod-price bdi { color: #dddddd !important; }
[data-theme="dark"] .cerny-shop2-pagi .woocommerce-pagination ul li a,
[data-theme="dark"] .cerny-shop2-pagi .woocommerce-pagination ul li span {
    background: #2a2a2a !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #ccc !important;
}
[data-theme="dark"] .cerny-shop2-trust {
    background: #161616;
    border-top-color: rgba(255,255,255,0.05);
}
[data-theme="dark"] .cerny-shop2-trust-item strong { color: #eeeeee; }
[data-theme="dark"] .cerny-shop2-trust-item span { color: #666; }

/* ─── Responsive — archive boutique ─────────────────────── */
@media (max-width: 1100px) {
    .cerny-shop2-grid ul.products { grid-template-columns: repeat(4, 1fr) !important; }
}
@media (max-width: 768px) {
    .cerny-shop2-grid ul.products { grid-template-columns: repeat(3, 1fr) !important; }
    .cerny-shop2-body { padding: 1.5rem 1.25rem 3rem; }
    .cerny-shop2-header { padding: 2rem 1.25rem 1.5rem; }
    /* Filtres : scroll horizontal sur mobile */
    .cerny-shop2-filters {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.75rem !important;
    }
    .cerny-shop2-cats { overflow-x: auto; padding-bottom: 4px; flex-wrap: nowrap !important; }
    /* Trust strip boutique */
    .cerny-shop2-trust__inner {
        flex-direction: column !important;
        gap: 1rem !important;
        padding: 1.5rem 1.25rem !important;
    }
}
@media (max-width: 480px) {
    .cerny-shop2-grid ul.products { grid-template-columns: repeat(2, 1fr) !important; }
    .cerny-shop2-cat { font-size: 12px; padding: 0.3rem 0.75rem; }
    .cerny-shop2-body__inner { padding: 0; }
}


/* ═══════════════════════════════════════════════════════════════
   DARK MODE — BOUTIQUE COMPLÈTE
   ═══════════════════════════════════════════════════════════════ */

/* ─── Variables dark ──────────────────────────────────────────── */
[data-theme="dark"] {
    --cerny-dark-bg: #111111;
    --cerny-dark-card: #1a1a1a;
    --cerny-dark-card2: #222222;
    --cerny-dark-border: rgba(255,255,255,0.07);
    --cerny-dark-text: #eeeeee;
    --cerny-dark-muted: #777777;
}

/* ─── Page panier ─────────────────────────────────────────────── */
[data-theme="dark"] .woocommerce-cart #primary,
[data-theme="dark"] .woocommerce-cart main.site-main,
[data-theme="dark"] .woocommerce-cart #content { background: #0f0f0f !important; }

[data-theme="dark"] .cerny-cart-header { background: transparent; }
[data-theme="dark"] .cerny-cart-title { color: #fff !important; }
[data-theme="dark"] .cerny-cart-breadcrumb,
[data-theme="dark"] .cerny-cart-breadcrumb a { color: #555 !important; }

[data-theme="dark"] .woocommerce-cart table.shop_table {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .woocommerce-cart table.shop_table th {
    background: #1e1e1e !important;
    color: #666 !important;
    border-bottom-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .woocommerce-cart table.shop_table td {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.05) !important;
    color: #ccc !important;
}
[data-theme="dark"] .woocommerce-cart td.product-name a { color: #eee !important; }
[data-theme="dark"] .woocommerce-cart td.product-remove a.remove,
[data-theme="dark"] .cerny-remove { color: #444 !important; }
[data-theme="dark"] .woocommerce-cart td.product-remove a.remove:hover,
[data-theme="dark"] .cerny-remove:hover { color: var(--cerny-red) !important; }

[data-theme="dark"] .woocommerce-cart .actions,
[data-theme="dark"] .woocommerce-cart table.shop_table td.actions {
    background: #1a1a1a !important;
    border-top-color: rgba(255,255,255,0.05) !important;
}
[data-theme="dark"] .woocommerce-cart .coupon input#coupon_code {
    background: #222 !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #eee !important;
}
[data-theme="dark"] .woocommerce-cart button[name="update_cart"] {
    border-color: rgba(255,255,255,0.15) !important;
    color: #777 !important;
}

[data-theme="dark"] .woocommerce-cart .cart_totals {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .woocommerce-cart .cart_totals h2 {
    color: #fff !important;
    border-bottom-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .woocommerce-cart .cart_totals table th,
[data-theme="dark"] .woocommerce-cart .cart_totals table td {
    background: transparent !important;
    color: #aaa !important;
    border-bottom-color: rgba(255,255,255,0.05) !important;
}
[data-theme="dark"] .woocommerce-cart .cart_totals .order-total th,
[data-theme="dark"] .woocommerce-cart .cart_totals .order-total td { color: #eee !important; }
[data-theme="dark"] .woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
    border-color: rgba(255,255,255,0.08) !important;
    background: transparent !important;
    color: #bbb !important;
}
[data-theme="dark"] .cerny-qty-row { border-color: rgba(255,255,255,0.1) !important; }
[data-theme="dark"] .woocommerce-cart td.product-quantity .cerny-qty-btn {
    background: #2a2a2a !important;
    color: #888 !important;
}
[data-theme="dark"] .woocommerce-cart td.product-quantity input.qty {
    background: #1e1e1e !important;
    border-color: rgba(255,255,255,0.08) !important;
    color: #eee !important;
}
[data-theme="dark"] .cerny-cart-trust-mini {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .cerny-cart-trust-mini__item span { color: #ccc !important; }
[data-theme="dark"] .cerny-cart-trust-mini__item small { color: #555 !important; }

/* ─── Page checkout ───────────────────────────────────────────── */
[data-theme="dark"] .woocommerce-checkout #primary,
[data-theme="dark"] .woocommerce-checkout main.site-main,
[data-theme="dark"] .woocommerce-checkout #content { background: #0f0f0f !important; }

[data-theme="dark"] .cerny-checkout-section {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .cerny-section-title {
    background: #222 !important;
    color: #ddd !important;
    border-left-color: var(--cerny-red) !important;
}
[data-theme="dark"] .woocommerce-checkout label { color: #666 !important; }
[data-theme="dark"] .woocommerce-checkout input[type="text"],
[data-theme="dark"] .woocommerce-checkout input[type="email"],
[data-theme="dark"] .woocommerce-checkout input[type="tel"],
[data-theme="dark"] .woocommerce-checkout input[type="number"],
[data-theme="dark"] .woocommerce-checkout select,
[data-theme="dark"] .woocommerce-checkout textarea {
    background: #222 !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #eee !important;
}
[data-theme="dark"] .woocommerce-checkout input::placeholder,
[data-theme="dark"] .woocommerce-checkout textarea::placeholder { color: #444 !important; }

[data-theme="dark"] .cerny-shipping-card {
    border-color: rgba(255,255,255,0.1) !important;
    background: #222 !important;
}
[data-theme="dark"] .cerny-shipping-card--active,
[data-theme="dark"] .cerny-shipping-card:has(input:checked) {
    border-color: var(--cerny-red) !important;
    background: rgba(204,34,34,0.08) !important;
}
[data-theme="dark"] .cerny-shipping-card__label { color: #eee !important; }
[data-theme="dark"] .cerny-shipping-card label { color: #bbb !important; }

[data-theme="dark"] .woocommerce #payment { background: transparent !important; }
[data-theme="dark"] .woocommerce #payment ul.payment_methods li {
    border-color: rgba(255,255,255,0.1) !important;
    background: #222 !important;
}
[data-theme="dark"] .woocommerce #payment ul.payment_methods li:has(input:checked) {
    border-color: var(--cerny-red) !important;
    background: rgba(204,34,34,0.07) !important;
}
[data-theme="dark"] .woocommerce #payment ul.payment_methods label { color: #ddd !important; }
[data-theme="dark"] .woocommerce #payment .payment_box {
    background: #1e1e1e !important;
    color: #aaa !important;
}
[data-theme="dark"] .woocommerce #payment .terms,
[data-theme="dark"] .woocommerce #payment .wc-terms-and-conditions { color: #888 !important; }

[data-theme="dark"] .cerny-checkout-order-box {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .cerny-checkout-order-title { color: #eee !important; border-bottom-color: rgba(255,255,255,0.07) !important; }
[data-theme="dark"] .cerny-order-table td,
[data-theme="dark"] .cerny-order-table th { color: #888 !important; border-color: rgba(255,255,255,0.05) !important; }
[data-theme="dark"] .cerny-order-table .order-total th,
[data-theme="dark"] .cerny-order-table .order-total td { color: #eee !important; border-top-color: rgba(255,255,255,0.1) !important; }
[data-theme="dark"] .cerny-order-table .shipping th,
[data-theme="dark"] .cerny-order-table .shipping td { color: #999 !important; }
[data-theme="dark"] .cerny-order-item__name { color: #ddd !important; }
[data-theme="dark"] .cerny-checkout-trust {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.07) !important;
}

/* ─── Page produit unique ─────────────────────────────────────── */
[data-theme="dark"] .single-product #primary,
[data-theme="dark"] .single-product main.site-main { background: #111 !important; }
[data-theme="dark"] .woocommerce div.product .summary.entry-summary { color: #ccc !important; }
[data-theme="dark"] .cerny-product-breadcrumb a { color: #555 !important; }
[data-theme="dark"] .cerny-product-breadcrumb__sep { color: #333 !important; }
[data-theme="dark"] .woocommerce div.product p.price,
[data-theme="dark"] .woocommerce div.product span.price { color: var(--cerny-red) !important; border-bottom-color: rgba(255,255,255,0.07) !important; }
[data-theme="dark"] .woocommerce div.product .in-stock { color: #3a8a55 !important; }
[data-theme="dark"] .woocommerce div.product .in-stock::before { background: #3a8a55 !important; }
[data-theme="dark"] .ast-stock-detail { background: transparent !important; }

[data-theme="dark"] .woocommerce div.product form.cart input.qty {
    background: #1e1e1e !important;
    border-bottom-color: rgba(255,255,255,0.15) !important;
    color: #eee !important;
}
[data-theme="dark"] .cerny-qty-btn {
    color: #555 !important;
    border-bottom-color: rgba(255,255,255,0.15) !important;
}
[data-theme="dark"] .cerny-qty-btn:hover { color: #eee !important; }
[data-theme="dark"] .cerny-qty-label { color: #555 !important; }
[data-theme="dark"] .cerny-qty-row { border-color: rgba(255,255,255,0.1) !important; }

[data-theme="dark"] .cerny-keypoints-aside {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .cerny-product-keypoints__title { color: #aaa !important; border-bottom-color: rgba(255,255,255,0.07) !important; }
[data-theme="dark"] .cerny-product-keypoints__list li { color: #bbb !important; }
[data-theme="dark"] .cerny-product-keypoints__soutien { color: #666 !important; border-top-color: rgba(255,255,255,0.07) !important; }

[data-theme="dark"] .woocommerce div.product .woocommerce-tabs { border-top-color: rgba(255,255,255,0.07) !important; }
[data-theme="dark"] .woocommerce div.product .woocommerce-tabs .panel { color: #999 !important; }
[data-theme="dark"] .woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #555 !important; }

/* ─── Page archive boutique (compléments) ─────────────────────── */
[data-theme="dark"] .cerny-shop2-grid ul.products li.product {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .woocommerce-loop-product__title,
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .cerny-prod-body__link { color: #eee !important; }
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .cerny-prod-desc { color: #666 !important; }
[data-theme="dark"] .cerny-shop2-grid ul.products li.product .cerny-prod-img { background: #222 !important; }

[data-theme="dark"] .cerny-shop2-count { color: #666 !important; }
[data-theme="dark"] .cerny-shop2-pagi .woocommerce-pagination ul li a,
[data-theme="dark"] .cerny-shop2-pagi .woocommerce-pagination ul li span {
    background: #1a1a1a !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #aaa !important;
}
[data-theme="dark"] .cerny-shop2-header { background: transparent !important; }

/* Page catégorie */
[data-theme="dark"] .cerny-shop2-header__title { color: #eee !important; }
[data-theme="dark"] .cerny-shop2-breadcrumb a,
[data-theme="dark"] .cerny-shop2-breadcrumb { color: #555 !important; }

/* Message notification panier */
[data-theme="dark"] .woocommerce-message {
    background: #1a1a1a !important;
    border-left-color: var(--cerny-red) !important;
    color: #aaa !important;
}

/* ─── Dark mode cart — correctifs ──────────────────────────────── */
[data-theme="dark"] .woocommerce-cart .cart_totals h2 {
    background: transparent !important;
    color: #eee !important;
    border-bottom-color: rgba(255,255,255,0.07) !important;
}
/* Shipping methods radio dans la sidebar panier */
[data-theme="dark"] .woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
    background: transparent !important;
    border-color: rgba(255,255,255,0.08) !important;
}
[data-theme="dark"] .woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
    color: #bbb !important;
}
[data-theme="dark"] .woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    color: #555 !important;
}
/* Tableau totaux sidebar */
[data-theme="dark"] .woocommerce-cart .cart_totals table {
    background: transparent !important;
}
[data-theme="dark"] .woocommerce-cart .cart_totals table tr th,
[data-theme="dark"] .woocommerce-cart .cart_totals table tr td {
    background: transparent !important;
    color: #888 !important;
    border-bottom-color: rgba(255,255,255,0.05) !important;
}
[data-theme="dark"] .woocommerce-cart .cart_totals .order-total th,
[data-theme="dark"] .woocommerce-cart .cart_totals .order-total td {
    color: #eee !important;
    border-top-color: rgba(255,255,255,0.1) !important;
}
/* Input coupon et bouton update */
[data-theme="dark"] .woocommerce-cart .coupon input#coupon_code {
    background: #1e1e1e !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #ccc !important;
}
[data-theme="dark"] .woocommerce-cart .coupon input#coupon_code::placeholder { color: #444 !important; }
/* Quantité dans le tableau panier */
[data-theme="dark"] .woocommerce-cart .cerny-qty-row {
    border-color: rgba(255,255,255,0.12) !important;
}
[data-theme="dark"] .woocommerce-cart .cerny-qty-btn {
    background: #2a2a2a !important;
    color: #666 !important;
    border-color: rgba(255,255,255,0.08) !important;
}
[data-theme="dark"] .woocommerce-cart .cerny-qty-btn:hover { color: #eee !important; background: #333 !important; }
[data-theme="dark"] .woocommerce-cart .cerny-qty-row input.qty {
    background: #222 !important;
    border-color: rgba(255,255,255,0.08) !important;
    color: #eee !important;
}
/* Fond page panier */
[data-theme="dark"] .woocommerce-cart-form { background: transparent !important; }

/* ─── Dark mode checkout — correctifs ──────────────────────────── */
/* Cards livraison : label + card elles-mêmes */
[data-theme="dark"] .cerny-shipping-card,
[data-theme="dark"] .cerny-shipping-list li {
    background: #1e1e1e !important;
    border-color: rgba(255,255,255,0.1) !important;
}
[data-theme="dark"] .cerny-shipping-card label,
[data-theme="dark"] .cerny-shipping-list li label {
    background: transparent !important;
    color: #bbb !important;
}
[data-theme="dark"] .cerny-shipping-card--active,
[data-theme="dark"] .cerny-shipping-list li:has(input:checked) {
    border-color: var(--cerny-red) !important;
    background: rgba(204,34,34,0.08) !important;
}

/* Bandeau "Avez-vous un code promo ?" */
[data-theme="dark"] .woocommerce-info,
[data-theme="dark"] .woocommerce-checkout .woocommerce-info {
    background: #1a1a1a !important;
    border-top-color: var(--cerny-red) !important;
    color: #888 !important;
}
[data-theme="dark"] .woocommerce-info::before { color: #666 !important; }
[data-theme="dark"] .woocommerce-info a { color: var(--cerny-red) !important; }

/* Masquer le bandeau code promo sur le checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle { display: none !important; }

/* Masquer la zone coupon sur la page panier */
.woocommerce-cart .cerny-cart-actions-wrap .coupon { display: none !important; }

/* Section form-coupon dans checkout */
[data-theme="dark"] .checkout_coupon,
[data-theme="dark"] #order_review_heading { background: transparent !important; color: #888 !important; }

/* Champs inputs dans les sections dark */
[data-theme="dark"] .cerny-checkout-section input,
[data-theme="dark"] .cerny-checkout-section select,
[data-theme="dark"] .cerny-checkout-section textarea {
    background: #111 !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #ddd !important;
}

/* Payment method Stripe iframe fond */
[data-theme="dark"] #cerny-payment-section .payment_box,
[data-theme="dark"] #cerny-payment-section .woocommerce-checkout-payment .payment_box {
    background: #111 !important;
    border-color: rgba(255,255,255,0.07) !important;
}

/* ─── Dark mode — BlockUI WooCommerce AJAX ──────────────────────── */
[data-theme="dark"] .blockUI.blockOverlay {
    background: #0f0f0f !important;
    opacity: 0.6 !important;
}
[data-theme="dark"] .blockUI.blockMsg {
    background: #1a1a1a !important;
    color: #eee !important;
    border-color: rgba(255,255,255,0.07) !important;
}
/* Overlay sur le tableau panier pendant AJAX */
[data-theme="dark"] .woocommerce-cart-form .blockUI,
[data-theme="dark"] .cart_totals .blockUI,
[data-theme="dark"] .woocommerce table.shop_table .blockUI {
    background: rgba(15,15,15,0.7) !important;
}
/* Empêcher le fond blanc sur les éléments bloqués */
[data-theme="dark"] .wc-block-cart,
[data-theme="dark"] .is-loading { background: #0f0f0f !important; }

/* Body toujours sombre en dark mode — évite le flash blanc AJAX */
[data-theme="dark"] body,
[data-theme="dark"] #page,
[data-theme="dark"] .site {
    background-color: #111111 !important;
}
[data-theme="dark"] .woocommerce-cart body,
[data-theme="dark"].woocommerce-cart #page { background: #0f0f0f !important; }

/* Anti-flash AJAX dark mode checkout */
[data-theme="dark"] #cerny-payment-section,
[data-theme="dark"] #cerny-payment-section #order_review,
[data-theme="dark"] #cerny-payment-section .woocommerce-checkout-review-order {
    background-color: #1a1a1a !important;
}


/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE BOUTIQUE COMPLET
   ═══════════════════════════════════════════════════════════════ */

/* ─── TABLETTE (≤ 900px) ─────────────────────────────────────── */
@media (max-width: 900px) {

    /* PAGE PRODUIT : 1 colonne */
    .woocommerce div.product {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    .woocommerce div.product .cerny-pg,
    .woocommerce div.product .summary,
    .woocommerce div.product .cerny-keypoints-aside,
    .woocommerce div.product .woocommerce-tabs,
    .woocommerce div.product .related { grid-column: 1 !important; }

    /* Galerie : thumbs horizontales sous l'image */
    .cerny-pg { flex-direction: column-reverse !important; }
    .cerny-pg__thumbs { flex-direction: row !important; width: 100% !important; overflow-x: auto !important; gap: 0.4rem !important; }
    .cerny-pg__thumb { width: 60px !important; height: 60px !important; flex-shrink: 0 !important; }
    .cerny-pg__img { height: 280px !important; }

    /* Points clés : horizontal */
    .cerny-keypoints-aside { flex-direction: row !important; flex-wrap: wrap !important; gap: 0.5rem 1rem !important; }
    .cerny-product-keypoints__list { flex-direction: row !important; flex-wrap: wrap !important; gap: 0.3rem 1rem !important; }

    /* Produits similaires : 2 colonnes */
    .related.products ul.products,
    .upsells.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }

    /* PAGE PANIER : colonne unique */
    .cerny-cart-layout {
        flex-direction: column !important;
    }
    .cerny-cart-layout .woocommerce-cart-form,
    .cerny-cart-layout .cart-collaterals {
        width: 100% !important;
        flex: none !important;
    }
    /* Cart totals pleine largeur */
    .woocommerce-cart .cart_totals { width: 100% !important; float: none !important; }
    .cerny-cart-trust-mini { grid-template-columns: repeat(3, 1fr) !important; }

    /* CHECKOUT : déjà géré dans le bloc checkout mais on consolide */
    .cerny-checkout-layout { flex-direction: column !important; }
    .cerny-checkout-sidebar {
        width: 100% !important;
        flex: none !important;
        position: static !important;
    }
    .cerny-shipping-list { grid-template-columns: 1fr 1fr !important; }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr 1fr !important; }
}

/* ─── MOBILE (≤ 600px) ───────────────────────────────────────── */
@media (max-width: 600px) {

    /* PAGE PRODUIT */
    .cerny-pg__img { height: 220px !important; }
    .woocommerce div.product .product_title { font-size: 1.05rem !important; }
    .woocommerce div.product p.price { font-size: 1.4rem !important; }

    /* Formulaire panier mobile : rangée horizontale − qty + [icône] */
    .woocommerce div.product form.cart {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.75rem !important;
        align-items: flex-start !important;
    }
    /* Label QUANTITÉ via CSS si JS pas chargé */
    .woocommerce div.product form.cart .quantity:not(.cerny-qty-init)::before {
        content: "Quantité" !important;
        display: block !important;
        font-size: 11px !important;
        text-transform: uppercase !important;
        letter-spacing: 1.5px !important;
        color: #aaa !important;
        margin-bottom: 0.35rem !important;
    }
    /* Input natif WC (sans JS) */
    .woocommerce div.product form.cart .quantity:not(.cerny-qty-init) input.qty {
        border: 1.5px solid rgba(0,0,0,0.15) !important;
        border-radius: 6px !important;
        width: 72px !important;
        height: 42px !important;
        text-align: center !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        background: #fff !important;
        padding: 0 !important;
        display: block !important;
    }
    .woocommerce div.product form.cart button.single_add_to_cart_button {
        flex: 0 0 44px !important;
        width: 44px !important;
        align-self: flex-start !important;
    }

    /* PAGE PANIER — table-layout: fixed, colonnes explicites, nom qui wrappe */
    .woocommerce-cart table.shop_table {
        table-layout: fixed !important;
        width: 100% !important;
        display: table !important;
    }
    /* Neutraliser le collapse WC (≤520px) */
    .woocommerce-cart table.shop_table thead,
    .woocommerce-cart table.shop_table tbody { display: table-row-group !important; }
    .woocommerce-cart table.shop_table tr { display: table-row !important; }
    .woocommerce-cart table.shop_table th,
    .woocommerce-cart table.shop_table td { display: table-cell !important; vertical-align: middle !important; }
    .woocommerce-cart table.shop_table td::before { display: none !important; }

    /* Colonnes cachées */
    .woocommerce-cart table.shop_table th.product-thumbnail,
    .woocommerce-cart table.shop_table td.product-thumbnail,
    .woocommerce-cart table.shop_table th.product-price,
    .woocommerce-cart table.shop_table td.product-price { display: none !important; }

    /* Largeurs en % — toutes les colonnes définies pour un layout équilibré */
    .woocommerce-cart table.shop_table th.product-remove,
    .woocommerce-cart table.shop_table td.product-remove { width: 7% !important; padding: 0.5rem 0.2rem !important; }
    .woocommerce-cart table.shop_table th.product-name,
    .woocommerce-cart table.shop_table td.product-name { width: 47% !important; padding: 0.5rem !important; text-align: left !important; }
    .woocommerce-cart table.shop_table th.product-quantity,
    .woocommerce-cart table.shop_table td.product-quantity { width: 13% !important; padding: 0.5rem 0.2rem !important; }
    .woocommerce-cart table.shop_table th.product-subtotal,
    .woocommerce-cart table.shop_table td.product-subtotal { width: 33% !important; padding: 0.5rem 0.2rem !important; text-align: right !important; white-space: nowrap !important; font-size: 12px !important; }
    /* overflow-wrap: break-word coupe seulement si le mot ne rentre PAS — pas n'importe où */
    .woocommerce-cart table.shop_table td.product-name a {
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    /* En-têtes compacts */
    .woocommerce-cart table.shop_table thead th { font-size: 9px !important; padding: 0.35rem 0.2rem !important; letter-spacing: 0 !important; white-space: nowrap !important; }

    /* Qty widget compact */
    .woocommerce-cart td.product-quantity .cerny-qty-label { display: none !important; }
    .woocommerce-cart td.product-quantity .cerny-qty-row { height: 34px !important; }
    .woocommerce-cart td.product-quantity .cerny-qty-btn { width: 26px !important; height: 34px !important; font-size: 16px !important; }
    .woocommerce-cart td.product-quantity input.qty { width: 30px !important; height: 34px !important; font-size: 13px !important; }

    /* Ligne actions — une seule cellule colspan=6 */
    .woocommerce-cart table.shop_table tr.cerny-actions-row { display: table-row !important; }
    .woocommerce-cart table.shop_table tr.cerny-actions-row td { border: none !important; padding: 0 !important; }

    /* Actions panier : wrapper unique, tous les éléments identiques */
    .woocommerce-cart table.shop_table tr.cerny-actions-row td.actions-left {
        display: table-cell !important;
        padding: 0.75rem 0 !important;
        vertical-align: top !important;
    }
    /* Mobile : colonne centrée, taille réduite */
    .woocommerce-cart .cerny-cart-actions-wrap {
        flex-direction: column !important;
        width: 75% !important;
        max-width: 280px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        justify-content: flex-start !important;
    }
    .woocommerce-cart .cerny-cart-actions-wrap .coupon {
        flex-direction: column !important;
        width: 100% !important;
        gap: 0.4rem !important;
    }
    .woocommerce-cart .cerny-cart-actions-wrap .coupon input#coupon_code {
        width: 100% !important;
        box-sizing: border-box !important;
        font-size: 12px !important;
        text-align: center !important;
        margin: 0 !important;
    }
    .woocommerce-cart .cerny-cart-actions-wrap .coupon button[name="apply_coupon"],
    .woocommerce-cart .cerny-cart-actions-wrap button.cerny-update-cart {
        width: 100% !important;
        box-sizing: border-box !important;
        font-size: 11px !important;
        letter-spacing: 1px !important;
        padding: 0.5rem 0.75rem !important;
        text-align: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    /* Sidebar totaux panier */
    .cerny-cart-trust-mini { grid-template-columns: 1fr !important; gap: 0.25rem !important; }
    .cerny-cart-trust-mini__item { flex-direction: row !important; text-align: left !important; gap: 0.5rem !important; }

    /* CHECKOUT mobile */
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr !important; }
    .cerny-shipping-list { grid-template-columns: 1fr !important; }
    .cerny-checkout-section { padding: 1rem !important; }
    .cerny-section-title { font-size: 11px !important; }

    /* PAGE ARCHIVE BOUTIQUE */
    .shop-hero-inner { padding: 32px 16px !important; }
    .shop-hero h1 { font-size: clamp(16px, 5vw, 20px) !important; }
    .shop-hero p { font-size: 12px !important; margin-bottom: 14px !important; }
    .cerny-shop2-grid ul.products { grid-template-columns: repeat(2, 1fr) !important; }
    .cerny-shop2-body { padding: 1rem 1rem 2rem !important; }
    .cerny-shop2-filters { flex-direction: column !important; gap: 0.5rem !important; }
    .cerny-shop2-cats { overflow-x: auto !important; flex-wrap: nowrap !important; padding-bottom: 4px !important; }

    /* Titre panier + checkout */
    .cerny-cart-title,
    .cerny-cart-header .cerny-cart-title { font-size: 1.4rem !important; }
    .cerny-checkout-header .cerny-cart-title { font-size: 1.4rem !important; }

    /* Notification ajouté au panier */
    .woocommerce-message { flex-wrap: wrap !important; }
    .woocommerce-message a.button { margin-left: 0 !important; margin-top: 0.5rem !important; }
}

/* ─── PETIT MOBILE (≤ 400px) ─────────────────────────────────── */
@media (max-width: 400px) {
    .cerny-shop2-grid ul.products { grid-template-columns: 1fr !important; }
    .cerny-pg__img { height: 180px !important; }
    .cerny-checkout-order-box { padding: 0.75rem !important; }
    .woocommerce-cart table.shop_table th.product-quantity,
    .woocommerce-cart table.shop_table td.product-quantity { display: none !important; }
    .woocommerce-cart table.shop_table th.product-subtotal,
    .woocommerce-cart table.shop_table td.product-subtotal { width: auto !important; }
}

/* ─── Panier mobile : corrections responsive ─────────────────── */

@media screen and (max-width: 520px) {
    /* Empêcher le collapse de la table cart_totals (2 colonnes label/valeur) */
    .woocommerce-cart .cart_totals table.shop_table_responsive tr,
    .woocommerce-cart .cart_totals table.shop_table_responsive th,
    .woocommerce-cart .cart_totals table.shop_table_responsive td {
        display: table-row !important;
    }
    .woocommerce-cart .cart_totals table.shop_table_responsive th {
        display: table-cell !important;
        white-space: nowrap !important;
    }
    .woocommerce-cart .cart_totals table.shop_table_responsive td {
        display: table-cell !important;
        text-align: right !important;
        vertical-align: middle !important;
    }
    .woocommerce-cart .cart_totals table.shop_table_responsive td::before {
        display: none !important;
    }
    /* Masquer la ligne shipping native — APRÈS les règles table-row pour gagner en cascade */
    .woocommerce-cart .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals {
        display: none !important;
    }
}
/* Masquer aussi hors breakpoint (> 520px) */
.woocommerce-cart .cart_totals table tr.woocommerce-shipping-totals { display: none !important; }

/* ═══════════════════════════════════════════════════════════════
   TYPOGRAPHIE GLOBALE — TABLETTE & MOBILE
   Réduction générale des tailles de police pour améliorer la
   lisibilité et l'équilibre visuel sur petits écrans.
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    /* Headings globaux */
    h1 { font-size: clamp(20px, 4.5vw, 28px) !important; }
    h2 { font-size: clamp(17px, 3.5vw, 22px) !important; }
    h3 { font-size: clamp(15px, 3vw, 18px) !important; }
    h4, h5, h6 { font-size: clamp(13px, 2.5vw, 16px) !important; }

    /* Corps de texte */
    body, p, li, td, th { font-size: 14px; line-height: 1.6; }

    /* Blocs Gutenberg */
    .wp-block-paragraph,
    .entry-content p { font-size: 14px !important; line-height: 1.65 !important; }
}

@media (max-width: 480px) {
    h1 { font-size: clamp(18px, 5vw, 24px) !important; }
    h2 { font-size: clamp(15px, 4vw, 19px) !important; }
    h3 { font-size: clamp(14px, 3.5vw, 16px) !important; }
    h4, h5, h6 { font-size: clamp(12px, 3vw, 14px) !important; }

    body, p, li { font-size: 13px; line-height: 1.6; }

    .wp-block-paragraph,
    .entry-content p { font-size: 13px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   TABLETTE (601px – 1024px) — correctifs panier
   Astra collapse le tableau WooCommerce à cette plage
   ═══════════════════════════════════════════════════════════════ */
@media screen and (min-width: 601px) and (max-width: 1024px) {
    /* Forcer le tableau panier à rester en mode table */
    .woocommerce-cart table.shop_table { display: table !important; width: 100% !important; }
    .woocommerce-cart table.shop_table thead,
    .woocommerce-cart table.shop_table tbody { display: table-row-group !important; }
    .woocommerce-cart table.shop_table tr { display: table-row !important; }
    .woocommerce-cart table.shop_table th,
    .woocommerce-cart table.shop_table td { display: table-cell !important; vertical-align: middle !important; }
    /* Supprimer les labels data-title injectés par WC en mode responsive */
    .woocommerce-cart table.shop_table td::before { display: none !important; }
}

/* Input quantité natif (sans JS) — dark mode mobile */
[data-theme="dark"] .woocommerce div.product form.cart .quantity:not(.cerny-qty-init) input.qty {
    background: #1e1e1e !important;
    border-color: rgba(255,255,255,0.15) !important;
    color: #eee !important;
}
[data-theme="dark"] .woocommerce div.product form.cart .quantity:not(.cerny-qty-init)::before {
    color: #555 !important;
}

/* ─── Centrage mobile/tablette — page produit ──────────────── */
@media (max-width: 768px) {
    .cerny-pg__main { text-align: center !important; }
    .cerny-pg__img { margin: 0 auto !important; display: block !important; }
    .woocommerce div.product .summary.entry-summary {
        text-align: center !important;
        align-items: center !important;
    }
    .cerny-product-breadcrumb { justify-content: center !important; }
    .woocommerce div.product .product_title { text-align: center !important; }
    .woocommerce div.product p.price,
    .woocommerce div.product span.price { text-align: center !important; display: block !important; }
    .woocommerce div.product .ast-stock-detail,
    .woocommerce div.product .stock { justify-content: center !important; text-align: center !important; }
    .woocommerce div.product form.cart { align-items: flex-end !important; }
    .woocommerce div.product form.cart .quantity { align-self: flex-end !important; }
    .woocommerce div.product form.cart button.single_add_to_cart_button { align-self: flex-end !important; }
    .woocommerce div.product form.cart .quantity:not(.cerny-qty-init)::before { text-align: center !important; }
    .cerny-keypoints-aside { text-align: center !important; }
    .cerny-product-keypoints__title { text-align: center !important; }
    .cerny-product-keypoints__list { justify-content: center !important; }
    .cerny-product-keypoints__soutien { text-align: center !important; }
    .woocommerce div.product .woocommerce-tabs .panel { text-align: center !important; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a { text-align: center !important; }
}

@media (max-width: 768px) {
    .woocommerce div.product .cerny-pg {
        justify-content: center !important;
        width: 100% !important;
    }
    .cerny-pg__main {
        width: 100% !important;
        max-width: 380px !important;
        margin: 0 auto !important;
    }
}


/* ═══════════════════════════════════════════════════════════════
   UX MOBILE — PAGE PRODUIT AMÉLIORÉE
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

    /* 1. Centrage du bloc produit entier */
    .single-product .woocommerce div.product {
        max-width: 430px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* 2. Galerie plus compacte */
    .cerny-pg__main {
        border-radius: 10px !important;
        overflow: hidden !important;
        max-width: 340px !important;
    }
    .cerny-pg__img {
        height: 240px !important;
        padding: 0.75rem !important;
    }

    .woocommerce div.product {
        gap: 0.75rem !important;
    }
    .woocommerce div.product .summary.entry-summary {
        padding: 0 0.25rem !important;
    }
    .cerny-product-breadcrumb { margin-bottom: 0.25rem !important; }
    .woocommerce div.product .product_title { margin-bottom: 0.25rem !important; }
    .woocommerce div.product p.price { margin-bottom: 0.75rem !important; padding-bottom: 0.75rem !important; }

    .woocommerce div.product form.cart {
        flex-direction: row !important;
        align-items: flex-end !important;
        justify-content: center !important;
        gap: 0.75rem !important;
        flex-wrap: wrap !important;
        width: 100% !important;
    }
    /* Bouton texte + icône pleine largeur */
    .woocommerce .single_add_to_cart_button {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: 260px !important;
        min-width: 160px !important;
        height: 48px !important;
        border-radius: 10px !important;
        text-indent: 0 !important;
        font-size: 12px !important;
        letter-spacing: 2px !important;
        gap: 0.5rem !important;
        padding: 0 1.25rem !important;
    }
    /* ::after = icône panier à droite du texte */
    .woocommerce .single_add_to_cart_button::after {
        width: 16px !important;
        height: 16px !important;
        flex-shrink: 0 !important;
    }

    /* 6. Points clés compacts */
    .cerny-keypoints-aside {
        padding: 0.75rem 1rem !important;
        gap: 0.25rem 1rem !important;
    }
    .cerny-product-keypoints__title {
        font-size: 10px !important;
        margin-bottom: 0.4rem !important;
    }
    .cerny-product-keypoints__list {
        gap: 0.25rem 0.75rem !important;
    }
    .cerny-product-keypoints__list li {
        font-size: 11px !important;
    }
    .cerny-product-keypoints__soutien {
        font-size: 11px !important;
        margin-top: 0.4rem !important;
        padding-top: 0.4rem !important;
    }

    /* 8. Réduction marges inter-sections */
    .woocommerce div.product .ast-stock-detail,
    .woocommerce div.product .woocommerce-product-availability {
        margin-bottom: 0.6rem !important;
    }
    .woocommerce div.product .woocommerce-tabs {
        margin-top: 0.5rem !important;
        padding-top: 1rem !important;
    }
}

@media (max-width: 480px) {
    .cerny-pg__img { height: 200px !important; }
    .cerny-pg__main { max-width: 100% !important; }
    .woocommerce .single_add_to_cart_button { max-width: 220px !important; font-size: 11px !important; }
}

@media (max-width: 768px) {
    .single-product .woocommerce div.product p.price::after {
        content: "Boutique officielle des Sapeurs-Pompiers de Cerny" !important;
        display: block !important;
        font-family: 'Open Sans', sans-serif !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        color: #aaa !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        margin-top: 0.35rem !important;
        font-style: italic !important;
    }
    [data-theme="dark"] .single-product .woocommerce div.product p.price::after {
        color: #555 !important;
    }
}

#cerny-relais-notice {
    background: #fff8e1;
    border-left: 3px solid #f59e0b;
    border-radius: 6px;
    padding: 12px 14px;
    margin-top: 12px;
    font-size: 13px;
    color: #5a4a00;
    line-height: 1.5;
}
[data-theme="dark"] #cerny-relais-notice {
    background: #2d2600;
    border-left-color: #f59e0b;
    color: #f5d87a;
}
