
/**
 ***********************************************************************************************
 * 	Fichier : cd-shell.css
 * 	👉 Fichier de style de base du thème personnalisé 
 *	🔁 Modificaition du fichier cd-shell.css pour la version 5.1.4 horodatée 20251115-0015
 *		✅ Légère augmentation (4 px) de la taille du nom de marque sur PC
 *
 ***********************************************************************************************
 */




/* Ordre global */
@layer theme, oceanwp, elementor, custom;

/* ==============================
   LAYER 0 — THEME (base)
   ==============================*/
@layer theme {

    /* Reset de base */
    * { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    img { max-width: 100%; height: auto; display: block; }

    /* Variables partagées */
    :root {
        --cd-bg: #fff;
        --cd-fg: #1f1f1f;
        --cd-accent: #0f6aa6;
        --cd-theme-header-h: 64px;
        --cd-page-width: 1320px;
        --cd-sand: #FCD393;
    }

    /* Logo / marque (base) */
    .cd-theme-header__logo { width:80px; height:60px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
    .custom-logo-link { display:flex; align-items:center; justify-content:center; width:80px; height:60px; }
    .custom-logo { display:block; max-height:60px; height:60px; width:auto !important; max-width:100%; object-fit:contain; }

    /* Header (structure) */
    .cd-theme-header { position: sticky; top: 0; }
    .cd-theme-header__inner {
        max-width: var(--cd-page-width);
        margin: 0 auto;
        height: var(--cd-theme-header-h);
        display: grid; grid-template-columns: 80px 240px 1fr;
        align-items: center; gap: 16px; padding: 0 16px;
    }

    /* Nav desktop (socle) */
    .cd-theme-nav { min-width: 0; }
    .cd-menu {
        font-family:'Fira Sans', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
        list-style:none; display:flex; gap:20px; margin:0; padding:0; flex-wrap:wrap;
    }
    .cd-menu li { position: relative; }
    .cd-menu li ul.sub-menu {
        position:absolute; left:0; top:100%;
        min-width:200px; background:#fff; border:1px solid #eee; padding:8px 0; display:none;
    }
    .cd-menu li:hover > ul.sub-menu { display:block; }
    .cd-menu li ul.sub-menu a { display:block; padding:8px 12px; color:#744e15; white-space:nowrap; }
    .cd-menu li ul.sub-menu a:hover { color:#1a5191; background:#fafafa; }

    /* Burger (socle) */
    .cd-burger { display:none; background:transparent; border:0; padding:8px; cursor:pointer; }
    .cd-burger__bar { display:block; width:24px; height:2px; background:var(--cd-fg); margin:5px 0; }

    /* Titlebar (socle) */
    .cd-titlebar { height:80px; display:flex; align-items:center; justify-content:center; margin:0 0 16px 0; }
    .cd-titlebar__h1 { margin:0; font-family:'Amarante', serif; font-size:35px; line-height:1; font-weight:700; color:#1a5191; letter-spacing:.2px; text-align:center; }
    @media (max-width: 600px) { .cd-titlebar { height:64px; } .cd-titlebar__h1 { font-size:28px; } }

    /* Main / Footer */
    .cd-main { max-width:1200px; margin:24px auto; padding:0 16px; }
    .cd-footer__band--top { height:40px; background:#5C3A00; }
    .cd-footer__band--bottom { background:#422A01; color:#fff; font-family:'Fira Sans', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
    .cd-footer__inner { max-width: var(--cd-page-width); margin:0 auto; padding:10px 16px;}
    .cd-footer__left { font-size:14px; }
    .cd-footer__center { display:flex; gap:16px; }
    .cd-footer__right { min-width:70px;  }

    /* Mobile : structure minimale */
    @media (max-width: 680px) {
        .cd-theme-header__inner { grid-template-columns: 80px 1fr auto; grid-template-rows: var(--cd-theme-header-h) auto; align-items:center; }
        .cd-burger { display:inline-block; }
        .cd-theme-nav { grid-column:1 / -1; margin-top:6px; }
    }
}

/* ===============================
   LAYER 1 — OCEANWP (héritage, utile)
   ===============================*/
@layer oceanwp {

:root {
    --cd-blue: #1a5191;
    --cd-blue-hover: #134170;
    --cd-links: #1a5191;
    --cd-text: #5c5c5c;
    --cd-border: #e6e6e6;
    --cd-muted: #777777;
    --cd-bg-light: #f8f8f8;
    --cd-btn-bg: #1a5191;
    --cd-btn-text: #ffffff;
    --cd-btn-bg-hover: #134170;
    --cd-radius: 20px;
    --cd-input-radius: 10px;
    --cd-container: 1200px;
    --cd-sand: #fcd393;
    --cd-brown-1: #5c3a00;
    --cd-brown-2: #422a01;
    --cd-body-font: "Fira Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    --cd-headings-font: "Amarante", serif;
}

body.cd-theme { font-family: var(--cd-body-font); color: var(--cd-text); font-size: 16px; line-height: 1.5; background:#fff; }
body.cd-theme a { color: var(--cd-links); text-decoration: underline; text-underline-offset: 2px; transition: color .2s ease; }
body.cd-theme a:hover { color: var(--cd-blue-hover); }
body.cd-theme h1, body.cd-theme h2, body.cd-theme h3, body.cd-theme h4 { font-family: var(--cd-headings-font); color: var(--cd-blue); margin: 0 0 12px 0; line-height: 1.2; }
body.cd-theme h1 { font-size: 35px; font-weight: 700; }
body.cd-theme h2 { font-size: 28px; font-weight: 700; }
body.cd-theme h3 { font-size: 22px; font-weight: 600; }
body.cd-theme h4 { font-size: 18px; font-weight: 600; }

.cd-container { max-width: var(--cd-container); margin: 0 auto; padding: 0 16px; }
.cd-row { display:flex; flex-wrap:wrap; margin: 0 -8px; }
.cd-col { padding: 0 8px; box-sizing:border-box; }

.cd-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height: 40px; padding:0 16px; border-radius: var(--cd-radius); border:1px solid transparent; font-weight: 600; cursor:pointer; text-decoration:none; user-select:none; transition: box-shadow .2s, background-color .2s, color .2s, border-color .2s; }
.cd-btn--primary { background: var(--cd-btn-bg); color: var(--cd-btn-text); }
.cd-btn--primary:hover { background: var(--cd-btn-bg-hover); }
.cd-btn--secondary { background: #fff; color: var(--cd-blue); border-color: var(--cd-blue); }
.cd-btn--secondary:hover { background: var(--cd-blue); color:#fff; }
.cd-btn--outline { background: transparent; color: var(--cd-blue); border-color: var(--cd-blue); }
.cd-btn--outline:hover { background: rgba(26,81,145,.08); }
.cd-btn[disabled], .cd-btn.cd-is-disabled { opacity:.6; cursor:not-allowed; }

.cd-form { max-width: 680px; }
.cd-form label { display:inline-block; margin:12px 0 6px 0; font-weight:600; color: var(--cd-brown-1); }
.cd-input, .cd-select, .cd-textarea { width:100%; height: 40px; padding:0 12px; background:#fff; color:var(--cd-text); border:1px solid var(--cd-border); border-radius: var(--cd-input-radius); outline:none; transition: border-color .2s, box-shadow .2s, background-color .2s; box-shadow: 0 1px 0 rgba(0,0,0,.02) inset; }
.cd-textarea { min-height:120px; padding:12px; resize:vertical; height:auto; }
.cd-input:focus, .cd-select:focus, .cd-textarea:focus { border-color: var(--cd-blue); box-shadow: 0 0 0 3px rgba(26,81,145,.12); }
.cd-form__help { font-size:13px; color: var(--cd-muted); margin-top:6px; }
.cd-input.cd-is-invalid { border-color:#d33; box-shadow: 0 0 0 3px rgba(221,51,51,.12); }
.cd-form__actions { margin-top:16px; }

.cd-notice { border:1px solid var(--cd-border); border-left-width:4px; border-radius: var(--cd-radius); padding:12px 14px; background:#fff; margin:12px 0; }
.cd-notice--info { border-left-color: var(--cd-blue); background:#f7fbff; }
.cd-notice--success { border-left-color:#61ce70; background:#f6fff8; }
.cd-notice--warning { border-left-color:#f3be61; background:#fffaf2; }
.cd-notice--error { border-left-color:#d33; background:#fff7f7; }

.cd-table { width:100%; border-collapse:collapse; }
.cd-table th, .cd-table td { padding:10px 12px; border:1px solid var(--cd-border); text-align:left; }
.cd-table thead th { background: var(--cd-bg-light); font-weight:600; }
.cd-table tbody tr:nth-child(odd) { background:#fafafa; }

.cd-list { margin:0; padding-left:18px; }
.cd-list li { margin:6px 0; }

.cd-pagination { display:flex; gap:8px; align-items:center; justify-content:flex-start; flex-wrap:wrap; }
.cd-pagination a, .cd-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px; border:1px solid var(--cd-border); border-radius: var(--cd-radius); background:#fff; color:var(--cd-text); text-decoration:none; }
.cd-pagination a:hover { border-color: var(--cd-blue); color: var(--cd-blue); }
.cd-pagination .cd-current { background: var(--cd-blue); color:#fff; border-color: var(--cd-blue); }

.cd-breadcrumb { display:flex; gap:8px; flex-wrap:wrap; font-size:14px; color: var(--cd-muted); }
.cd-breadcrumb a { color: var(--cd-links); text-decoration:none; }
.cd-breadcrumb a:hover { text-decoration:underline; }
.cd-breadcrumb__sep { color: var(--cd-muted); }

.cd-card { background:#fff; border:1px solid var(--cd-border); border-radius: var(--cd-radius); box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.cd-card__body { padding:16px; }

.cd-titlebar { background: var(--cd-sand); }
.cd-footer-top { background: var(--cd-brown-1); color:#fff; }
.cd-footer-bottom { background: var(--cd-brown-2); color:#fff; }

.cd-widget { margin:16px 0; }
.cd-widget h4 { margin-bottom:8px; }
.cd-widget ul { list-style:none; padding:0; margin:0; }
.cd-widget li { margin:6px 0; }

@media (max-width: 1200px) { .cd-container { max-width: 100%; } }
@media (max-width: 992px) { body.cd-theme h1 { font-size: 31px; } }
@media (max-width: 782px) { body.cd-theme h1 { font-size: 27px; } body.cd-theme h2 { font-size: 22px; } }
@media (max-width: 600px) { .cd-btn { height:36px; padding:0 12px; } .cd-input { height:36px; } }

}

/* ======================================
   LAYER 2 — ELEMENTOR (kit utile)
   ======================================*/
@layer elementor {

:root {
    --e-global-color-primary:   #1A5191;
    --e-global-color-secondary: #744E15;
    --e-global-color-text:      #5C5C5C;
    --e-global-color-accent:    #61CE70;

    --e-global-typography-primary-font-family:   "Amarante";
    --e-global-typography-secondary-font-family: "Fira Sans";
    --e-global-typography-text-font-family:      "Fira Sans";
    --e-global-typography-accent-font-family:    "Fira Sans";
}

.cd-wrap { font-family: var(--e-global-typography-text-font-family), system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; color: var(--e-global-color-text); line-height: 1.5; }

/* Titres */
body.cd-theme h1, body.cd-theme h2, body.cd-theme h3, body.cd-theme h4, body.cd-theme h5, body.cd-theme h6,
.cd-wrap h1, .cd-wrap h2, .cd-wrap h3, .cd-wrap h4, .cd-wrap h5, .cd-wrap h6 { line-height: 1.2; margin: 0 0 12px 0; letter-spacing: 0; text-transform: none; }
body.cd-theme h1, .cd-wrap h1 { font-family: var(--e-global-typography-primary-font-family), serif; font-weight: 600; color: var(--e-global-color-primary); }
body.cd-theme h2, .cd-wrap h2, h2.cd-title, .cd-title h2 { font-family: var(--e-global-typography-secondary-font-family), system-ui, sans-serif; font-size: 24px; font-weight: 600; color: var(--e-global-color-secondary); }
body.cd-theme h3, .cd-wrap h3 { font-family: var(--e-global-typography-secondary-font-family), system-ui, sans-serif; font-weight: 400; color: var(--e-global-color-secondary); }
body.cd-theme h4, body.cd-theme h5, body.cd-theme h6, .cd-wrap h4, .cd-wrap h5, .cd-wrap h6 { font-family: var(--e-global-typography-secondary-font-family), system-ui, sans-serif; font-weight: 400; color: var(--e-global-color-text); }

/* Liens */
.cd-wrap a { color: var(--e-global-color-secondary); text-decoration: underline; text-underline-offset: 2px; transition: color .2s ease; }
.cd-wrap a:hover { color: var(--e-global-color-primary); }

/* Boutons/Formulaires */
.cd-wrap .cd-btn,
.cd-wrap .button,
.cd-wrap button,
.cd-wrap input[type="submit"],
.cd-wrap input[type="button"] {
    font-family: var(--e-global-typography-text-font-family), system-ui, sans-serif;
    border: 1px solid var(--e-global-color-primary);
    border-radius: var(--cd-radius);
    padding: 14px 20px;
    height: auto;
    line-height: 1.2;
    box-shadow: 0 0 0 rgba(0,0,0,0);
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.cd-wrap .cd-btn--primary,
.cd-wrap .button.button-primary,
.cd-wrap button.button-primary,
.cd-wrap input[type="submit"].button-primary { background: var(--e-global-color-primary); color: #fff; border-color: var(--e-global-color-primary); }
.cd-wrap .cd-btn--primary:hover,
.cd-wrap .button.button-primary:hover,
.cd-wrap button.button-primary:hover,
.cd-wrap input[type="submit"].button-primary:hover { background: #134170; border-color: #134170; color: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.12); }

.cd-wrap img { border-radius: 0; border: 0; box-shadow: none; transition: transform .2s ease, box-shadow .2s ease; }
.cd-wrap img:hover { box-shadow: 0 2px 10px rgba(0,0,0,.08); transform: translateZ(0); }

.cd-wrap label { font-family: var(--e-global-typography-text-font-family), system-ui, sans-serif; color: var(--e-global-color-secondary); font-weight: 600; display: inline-block; margin: 12px 0 6px 0; }
.cd-wrap input[type="text"], .cd-wrap input[type="email"], .cd-wrap input[type="password"], .cd-wrap input[type="tel"], .cd-wrap input[type="url"], .cd-wrap input[type="number"], .cd-wrap select, .cd-wrap textarea {
    font-family: var(--e-global-typography-text-font-family), system-ui, sans-serif; color: var(--e-global-color-text);
    padding: 6px 12px; border: 1px solid var(--cd-border); border-radius: 3px; background: #fff; height: auto;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; box-shadow: 0 1px 0 rgba(0,0,0,.02) inset;
}
.cd-wrap textarea { min-height: 120px; resize: vertical; }
.cd-wrap input:focus, .cd-wrap select:focus, .cd-wrap textarea:focus { border-color: var(--e-global-color-primary); box-shadow: 0 0 0 3px rgba(26,81,145,.12); outline: none; }
.cd-wrap .cd-input.cd-is-invalid, .cd-wrap input.is-invalid, .cd-wrap select.is-invalid, .cd-wrap textarea.is-invalid { border-color: #d33; box-shadow: 0 0 0 3px rgba(221,51,51,.12); }

.cd-wrap .cd-notice { border: 1px solid var(--cd-border); border-left-width: 4px; border-radius: var(--cd-radius); padding: 12px 14px; background: #fff; margin: 12px 0; }
.cd-wrap .cd-notice--info { border-left-color: var(--e-global-color-primary); background: #f7fbff; }
.cd-wrap .cd-notice--success { border-left-color: #61ce70; background: #f6fff8; }
.cd-wrap .cd-notice--warning { border-left-color: #f3be61; background: #fffaf2; }
.cd-wrap .cd-notice--error { border-left-color: #d33; background: #fff7f7; }

.cd-wrap .cd-pagination a, .cd-wrap .cd-pagination span {
    border-radius: var(--cd-radius); border: 1px solid var(--cd-border); background: #fff; color: var(--e-global-color-text);
    min-width: 36px; height: 36px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
}
.cd-wrap .cd-pagination a:hover { border-color: var(--e-global-color-primary); color: var(--e-global-color-primary); }
.cd-wrap .cd-pagination .cd-current { background: var(--e-global-color-primary); border-color: var(--e-global-color-primary); color: #fff; }

}

/* ====================================
   LAYER 4 — CUSTOM (final effectif)
   ====================================*/
@layer custom {

    /* ==============================
       Variables communes
       ============================== */
    :root {
        /* Desktop par défaut (≥1170px) */
        --cd-theme-header-h: 76px;
        --cd-theme-header-pad: 8px;
        --cd-control-size: calc(var(--cd-theme-header-h) - (var(--cd-theme-header-pad) * 2));
        --cd-brand-maxw: 244px;
        --cd-titlebar-bg: #FCD393;
        --cd-titlebar-h: 80px;

        /* Couleurs */
        --cd-fg: #1f1f1f;
        --cd-blue: #1a5191;
        --cd-brown-2: #422A01;

        /* Panneau nav mobile (LEFT) */
        --cd-nav-w: 230px;
        --cd-nav-gap: 12px;
        --cd-nav-left: calc(100dvw - var(--cd-nav-gap) - var(--cd-nav-w));
    }

    /* ==============================
       Header : structure + style
       ============================== */
    .cd-theme-header {
        position: sticky;
        top: 0;
        z-index: 2000;
        background-color: rgba(252, 211, 147, 0.85);
        backdrop-filter: blur(6px) saturate(120%);
        -webkit-backdrop-filter: blur(6px) saturate(120%);
        box-shadow: 0 1px 6px rgba(0,0,0,0.08);
        height: var(--cd-theme-header-h);
        border: 0;
    }

    .cd-theme-header__inner {
        height: 100%;
        display: grid;
        align-items: center;
        gap: 16px;
        padding: 0 16px;
        grid-template-columns: var(--cd-control-size) var(--cd-brand-maxw) 1fr;
    }

    .cd-theme-header__control {
        display: grid;
        place-items: center;
        width: var(--cd-control-size);
        height: var(--cd-control-size);
        margin-top: var(--cd-theme-header-pad);
        margin-bottom: var(--cd-theme-header-pad);
        line-height: 0;
    }
    .cd-theme-header__control--left  { justify-self: start; }
    .cd-theme-header__control--right { justify-self: end; }

    .cd-logo-img {
        max-height: var(--cd-control-size);
        height: var(--cd-control-size);
        width: auto;
        display: block;
    }

    .cd-theme-header__brand {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        width: var(--cd-brand-maxw);
    }
    .cd-brand__title {
        margin: 0;
        font-family: 'Amarante', serif;
        font-weight: 600;
        color: var(--cd-blue);
        line-height: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 35px;
        letter-spacing: 0.5px;
        text-shadow: 0 1px 2px rgba(0,0,0,0.06);
    }
    .cd-brand__title:hover {
        color: var(--cd-blue);
        text-shadow: 0 0 6px rgba(26,81,145,0.2);
        transition: color .3s ease, text-shadow .3s ease;
    }

    /* Nav & burger (desktop vs mobile) */
    .cd-theme-nav { display: block; }
    .cd-burger {
        display: none;
        background: transparent;
        border: 0;
        padding: 0;
        width: var(--cd-control-size);
        height: var(--cd-control-size);
    }
    .cd-burger__bar {
        width: 26px;
        height: 3px;
        margin: 4px 0;
        background: var(--cd-fg);
        border-radius: 2px;
    }

    /* Titlebar (finale, statique + dégradé) */
    .cd-titlebar {
        position: static;
        top: auto;
        z-index: 1;
        background: linear-gradient(180deg, rgba(252,211,147,0.96) 0%, rgba(252,211,147,0.88) 100%);
        height: var(--cd-titlebar-h);
        display: flex; align-items: center; justify-content: center;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        margin: 0;
    }
    .cd-titlebar__h1 {
        margin: 0;
        font-family: 'Amarante', serif;
        color: var(--cd-blue);
        font-weight: 700;
        line-height: 1.1;
        font-size: 35px;
        letter-spacing: 0.4px;
        text-shadow: 0 1px 2px rgba(0,0,0,0.05);
        transform: translateY(2px);
        transition: transform .4s ease, opacity .4s ease;
        white-space: nowrap;
        overflow: hidden; text-overflow: ellipsis;
    }
    body.loaded .cd-titlebar__h1 { opacity: 1; transform: translateY(0); }

    /* =====================================================
       ≥ 1170px : menu visible, burger caché
       ===================================================== */
    @media (min-width:1170px) {
        .cd-burger { display: none; }
        .cd-theme-nav { display: block !important; }
        .cd-theme-header__inner {
            grid-template-columns: var(--cd-control-size) var(--cd-brand-maxw) 1fr !important;
            align-items: center;
            gap: 16px;
            padding-left: 16px;
            padding-right: 16px;
        }
        .cd-theme-header__brand {
            justify-content: flex-start;
            width: var(--cd-brand-maxw);
            min-width: var(--cd-brand-maxw);
        }
        .cd-brand__title { text-align: left; }

        .cd-menu {
            display: flex !important;
            flex-direction: row !important;
            align-items: center;
            gap: 20px;
            margin: 0; padding: 0; list-style: none;
            flex-wrap: nowrap;
        }
        .cd-theme-header .cd-menu li { position: relative; }
        .cd-theme-header .cd-menu li ul.sub-menu {
            position: absolute !important;
            left: 0; top: 100%;
            min-width: 220px;
            display: none;
            background: #fff;
            border: 1px solid #eee;
            border-radius: 8px;
            padding: 8px 0;
            box-shadow: none;
            z-index: 2100;
        }
        .cd-theme-header .cd-menu li:hover > ul.sub-menu { display: block !important; }
        .cd-theme-header .cd-menu li.cd-open > ul.sub-menu { display: none !important; }
    }

    /* =====================================================
       800px–1169px : burger + name 35px
       ===================================================== */
    @media (max-width:1169px) and (min-width:800px) {
        :root{
            --cd-theme-header-h: 76px;
            --cd-theme-header-pad: 8px;
            --cd-control-size: calc(var(--cd-theme-header-h) - (var(--cd-theme-header-pad) * 2));
            --cd-titlebar-h: 80px;
        }
        .cd-theme-header__inner {
            gap: 8px;
            grid-template-columns: var(--cd-control-size) 1fr var(--cd-control-size) !important;
            padding-left: 16px; padding-right: 16px;
        }
        .cd-theme-header__brand { justify-content: center; width: 100%; min-width: 0; }
        .cd-brand__title { font-size: 35px; }
        .cd-burger { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
        #cd-primary-nav { display: none !important; }
        #cd-primary-nav.cd-theme-nav--open { display: block !important; }
        .cd-titlebar__h1 { font-size: 35px; white-space: nowrap; }
    }

    /* =====================================================
       630px–799px : burger + name 27px
       ===================================================== */
    @media (max-width:799px) and (min-width:630px) {
        :root{
            --cd-theme-header-h: 56px;
            --cd-theme-header-pad: 6px;
            --cd-control-size: calc(var(--cd-theme-header-h) - (var(--cd-theme-header-pad) * 2));
            --cd-titlebar-h: 64px;
        }
        .cd-theme-header__inner {
            gap: 12px;
            grid-template-columns: var(--cd-control-size) 1fr var(--cd-control-size);
            padding-left: 16px; padding-right: 16px;
        }
        .cd-burger { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
        .cd-burger__bar { width: 24px; height: 3px; margin: 0; }
        #cd-primary-nav { display: none !important; }
        #cd-primary-nav.cd-theme-nav--open { display: block !important; }
        .cd-brand__title { font-size: 27px; }
        .cd-titlebar__h1 { font-size: 27px; white-space: nowrap; }
    }

    /* =====================================================
       350px–629px : burger + name/titre 27px, titre 2 lignes
       ===================================================== */
    @media (max-width:629px) and (min-width:350px) {
        :root{
            --cd-theme-header-h: 56px;
            --cd-theme-header-pad: 6px;
            --cd-control-size: calc(var(--cd-theme-header-h) - (var(--cd-theme-header-pad) * 2));
            --cd-titlebar-h: 64px;
        }
        .cd-theme-header__inner {
            gap: 8px;
            grid-template-columns: var(--cd-control-size) 1fr var(--cd-control-size);
            padding-left: 16px; padding-right: 16px;
        }
        .cd-burger { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
        .cd-burger__bar { width: 24px; height: 3px; margin: 0; }
        #cd-primary-nav { display: none !important; }
        #cd-primary-nav.cd-theme-nav--open { display: block !important; }
        .cd-brand__title { font-size: 27px; }
        .cd-titlebar__h1 {
            font-size: 27px;
            white-space: normal;
            line-height: 1.15;
            padding: 0 12px;
            text-overflow: clip;
        }
    }

    /* =====================================================
       <350px : fallback serré
       ===================================================== */
    @media (max-width:349px) {
        :root{
            --cd-theme-header-h: 56px;
            --cd-theme-header-pad: 6px;
            --cd-control-size: calc(var(--cd-theme-header-h) - (var(--cd-theme-header-pad) * 2));
            --cd-titlebar-h: 60px;
        }
        .cd-theme-header__inner {
            gap: 6px;
            grid-template-columns: var(--cd-control-size) 1fr var(--cd-control-size);
            padding-left: 12px; padding-right: 12px;
        }
        .cd-burger { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
        .cd-burger__bar { width: 22px; height: 3px; margin: 0; }
        #cd-primary-nav { display: none !important; }
        #cd-primary-nav.cd-theme-nav--open { display: block !important; }
        .cd-brand__title { font-size: 24px; }
        .cd-titlebar__h1 { font-size: 24px; white-space: normal; line-height: 1.15; padding: 0 10px; }
    }

    /* =========================================================================
       FOOTER — liens blancs, hover bleu
       ========================================================================= */
    .cd-footer a,
    .cd-footer__band--bottom a {
        color: #fff !important;
        text-decoration: underline;
        text-underline-offset: 2px;
        transition: color .2s ease;
        font-weight: 500;
    }
    .cd-footer a:hover,
    .cd-footer__band--bottom a:hover { color: #1a5191 !important; }

    /* =========================================================================
       MENU — top-level + états actifs WordPress
       ========================================================================= */
    .cd-theme-header .cd-menu > li > a {
        color: var(--e-global-color-secondary);
        font-weight: 500;
        text-decoration: none;
        transition: color .2s ease, text-decoration-color .2s ease;
    }
    .cd-theme-header .cd-menu > li > a:hover,
    .cd-theme-header .cd-menu > li:hover > a {
        color: var(--e-global-color-primary);
        text-decoration: underline;
        text-underline-offset: 2px;
    }
    .cd-theme-header .cd-menu > li.current-menu-item > a,
    .cd-theme-header .cd-menu > li.current-menu-ancestor > a {
        background: transparent;
        color: var(--e-global-color-primary);
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    /* Indicateur flèche desktop (triangle) */
    .cd-theme-header .cd-menu > li.menu-item-has-children > a {
        position: relative;
        padding-right: 18px;
    }
    .cd-theme-header .cd-menu > li.menu-item-has-children > a::after {
        content: "";
        position: absolute;
        right: 4px; top: 50%; margin-top: -2px;
        width: 0; height: 0;
        border-left: 4px solid transparent;
        border-right: 4px solid transparent;
        border-top: 6px solid var(--e-global-color-secondary);
        transition: transform .2s ease, border-top-color .2s ease;
    }
    .cd-theme-header .cd-menu > li.menu-item-has-children:hover > a::after {
        transform: translateY(1px);
        border-top-color: var(--e-global-color-primary);
    }

    /* =========================================================================
       MOBILE/TABLET (≤1169px) — nav verticale + sous-menus via .cd-open
       ========================================================================= */
    @media (max-width:1169px) {

        /* Menu vertical + espacements */
        .cd-menu {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin: 0; padding: 12px 0; list-style: none;
        }

        /* Sous-menus en flux, fermés par défaut */
        .cd-theme-header .cd-menu li ul.sub-menu {
            position: static;
            display: none;
            padding-left: 0;
            border: 0; box-shadow: none; background: transparent; min-width: 0;
        }
        .cd-theme-header .cd-menu li.cd-open > ul.sub-menu {
            display: block !important;
            background: rgba(255, 255, 255, 0.80);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            border: 1px solid rgba(255, 255, 255, 0.4);
            border-radius: 10px;
            margin: 4px 0 6px 0;
            padding: 6px 8px;
        }
        .cd-theme-header .cd-menu li.cd-open > ul.sub-menu > li { list-style: none; margin: 0; padding: 0; }
        .cd-theme-header .cd-menu li.cd-open > ul.sub-menu > li > a {
            display: block; text-decoration: none;
            color: var(--e-global-color-secondary);
            padding: 8px 10px; line-height: 1.3; border-radius: 6px;
        }
        .cd-theme-header .cd-menu li.cd-open > ul.sub-menu > li > a:hover {
            color: var(--e-global-color-primary); background: #fafafa; text-decoration: underline; text-underline-offset: 2px;
        }

        /* Neutraliser le hover desktop en mobile */
        .cd-theme-header .cd-menu li:hover > ul.sub-menu { display: none; }

        /* Lien parent actif quand ouvert */
        .cd-theme-header .cd-menu li.cd-open > a.cd-parent-link {
            text-decoration: underline; text-underline-offset: 2px; color: var(--e-global-color-primary);
        }

        /* Chevron mobile (remplace triangle) */
        .cd-theme-header .cd-menu > li.menu-item-has-children > a {
            padding-right: 24px;
        }
        .cd-theme-header .cd-menu > li.menu-item-has-children > a::after {
            content: ""; position: absolute; right: 6px; top: 50%; width: 8px; height: 8px; margin-top: -4px;
            border: 2px solid var(--e-global-color-secondary); border-left: 0; border-top: 0;
            transform: rotate(45deg); transition: transform .2s ease;
        }
        .cd-theme-header .cd-menu > li.cd-open > a::after { transform: rotate(135deg) !important; }

        /* Liens 1er niveau : zone tactile homogène */
        .cd-theme-header .cd-menu > li > a { padding: 8px 10px; line-height: 1.3; }

        /* Panneau NAV ouvert (par LEFT clampé) */
        header.cd-theme-header > .cd-theme-header__inner > nav#cd-primary-nav.cd-theme-nav.cd-theme-nav--open {
            position: fixed !important;
            top: var(--cd-theme-header-h) !important;

            /* LEFT piloté, anti-débordement à droite */
            right: auto !important;
            inset-inline-end: auto !important;
            width: min(var(--cd-nav-w), calc(100dvw - (var(--cd-nav-gap) * 2))) !important;
            left: min(
                var(--cd-nav-left),
                calc(100dvw - var(--cd-nav-gap) - min(var(--cd-nav-w), calc(100dvw - (var(--cd-nav-gap) * 2))))
            ) !important;

            background-color: rgba(252, 211, 147, 0.80) !important;
            backdrop-filter: blur(10px) saturate(120%) !important;
            -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
            border: 1px solid rgba(255, 255, 255, 0.25) !important;
            box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
            border-radius: 12px !important;
            padding: 10px 12px calc(12px + env(safe-area-inset-bottom, 0px)) 12px !important;
            z-index: 2200 !important;

            max-height: calc(100dvh - var(--cd-theme-header-h) - env(safe-area-inset-bottom, 0px)) !important;
            overflow-y: auto !important;
            overflow-x: hidden !important;
            -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
        }
    }

    /* =========================================================================
       Burger animé (aria-expanded)
       ========================================================================= */
    .cd-burger{
        position: relative;
        display: flex; flex-direction: column; align-items: center; justify-content: center;
        gap: 4px;
        width: var(--cd-control-size); height: var(--cd-control-size);
        padding: 0;
    }
    .cd-burger__bar{
        width: var(--cd-burger-w, 24px);
        height: var(--cd-burger-h, 3px);
        border-radius: 2px;
        background: var(--cd-fg);
        transition: transform .22s ease, opacity .18s ease;
    }
    @media (max-width:629px){
        :root{ --cd-burger-w: 24px; --cd-burger-h: 3px; --cd-burger-shift: 7px; }
    }
    @media (min-width:630px) and (max-width:1169px){
        :root{ --cd-burger-w: 26px; --cd-burger-h: 3px; --cd-burger-shift: 7px; }
    }
    .cd-burger[aria-expanded="true"] .cd-burger__bar:nth-child(1){ transform: translateY(var(--cd-burger-shift)) rotate(45deg); }
    .cd-burger[aria-expanded="true"] .cd-burger__bar:nth-child(2){ transform: scaleX(0.2); opacity: 0; }
    .cd-burger[aria-expanded="true"] .cd-burger__bar:nth-child(3){ transform: translateY(calc(var(--cd-burger-shift) * -1)) rotate(-45deg); }
    @media (prefers-reduced-motion: reduce){ .cd-burger__bar{ transition: none; } }

    /* =========================================================================
       Z-INDEX garantis
       ========================================================================= */
    .cd-theme-header { z-index: 2000; }
    .cd-theme-header .cd-menu li ul.sub-menu { z-index: 2100; }

    /* =========================================================================
       Utilitaires
       ========================================================================= */
    .cd-main { padding-top: 12px; }
    .cd-form { box-sizing: border-box; max-width: var(--cd-page-width); width: 100%; }
    .cd-row > .cd-col { flex: 0 0 100%; max-width: 100%; min-width: 0; padding: 0 8px; box-sizing: border-box; }
	
	/* =========================================================================
	   Footer — gauche à gauche, tous les liens à droite, wrap propre en 2e ligne
	   (Bloc unique qui fusionne A + B)
	   ========================================================================= */
	.cd-footer__inner{
		display:flex !important;
		flex-wrap:wrap;
		align-items:center;
		gap:8px 16px;                 /* row-gap / column-gap */
	}

	.cd-footer__left{
		flex:1 1 auto;
		min-width:0;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
	}

	/* Groupe centre + droite, ancré à droite */
	.cd-footer__actions{
		margin-left:auto;             /* pousse le groupe à droite de la 1re ligne */
		display:flex;
		align-items:center;
		gap:16px;
		flex-wrap:wrap;               /* permet un retour à la ligne interne si besoin */
		justify-content:flex-end;     /* aligne le contenu à droite, même si retour */
		flex:0 1 auto;
		min-width:max-content;        /* évite la casse mot par mot, force le wrap de groupe si trop long */
	}

	/* Liens du centre en ligne, alignés à droite */
	.cd-footer__center{
		display:flex;
		gap:16px;
		flex:1 1 auto;
		justify-content:flex-end;
		min-width:0;
	}
	.cd-footer__center a,
	.cd-footer__right{ white-space:nowrap; }

	/* Quand c'est trop étroit, le groupe passe en 2e ligne MAIS reste à droite */
	@media (max-width:740px){
		.cd-footer__actions{
			flex:1 1 100%;
			justify-content:flex-end;
			gap:12px;
			overflow-x:auto;          /* sécurité si trop de liens */
			scrollbar-width:thin;
		}
	}


	/* ================================================================
	   MOBILE NAV — verre dépoli effectif (priorité finale)
	   ================================================================ */
	@media (max-width:1169px){

		/* Panneau NAV ouvert */
		header.cd-theme-header > .cd-theme-header__inner > nav#cd-primary-nav.cd-theme-nav.cd-theme-nav--open{
			/* priorité et isolation pour que le backdrop soit peint */
			isolation: isolate;
			/* transparence suffisante pour voir le fond flouté */
			background-color: rgba(252, 211, 147, 0.75) !important;
			/* flou + légère saturation */
			-webkit-backdrop-filter: blur(10px) saturate(120%) !important;
			backdrop-filter: blur(10px) saturate(120%) !important;
			/* habillage */
			border: 1px solid rgba(255, 255, 255, 0.28) !important;
			box-shadow: 0 10px 24px rgba(0,0,0,0.18) !important;
			/* éviter des annulations par des effets en amont */
			will-change: backdrop-filter;
		}

		/* Sous-menus ouverts (bloc blanc translucide) */
		.cd-theme-header .cd-menu li.cd-open > ul.sub-menu{
			background-color: rgba(255,255,255,0.80) !important;
			-webkit-backdrop-filter: blur(6px) !important;
			backdrop-filter: blur(6px) !important;
			border: 1px solid rgba(255,255,255,0.45) !important;
			border-radius: 10px !important;
			box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
		}
	}

	/* Fallback sans support du backdrop-filter (Firefox par défaut) */
	@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){
		@media (max-width:1169px){
			header.cd-theme-header > .cd-theme-header__inner > nav#cd-primary-nav.cd-theme-nav.cd-theme-nav--open{
				background-color: rgba(252, 211, 147, 0.90) !important;
			}
			.cd-theme-header .cd-menu li.cd-open > ul.sub-menu{
				background-color: rgba(255,255,255,0.90) !important;
			}
		}
	}

	/* ================================================================
	   Conflit résolu : header sans flou quand le panneau mobile est ouvert
	   ================================================================ */
	@media (max-width:1169px){

		/* 1) Quand le NAV est ouvert, on neutralise le flou du header
			  (le header restait l’arrière-plan « net » du nav) */
		header.cd-theme-header:has(nav#cd-primary-nav.cd-theme-nav.cd-theme-nav--open){
			-webkit-backdrop-filter: none !important;
			backdrop-filter: none !important;
			/* on garde un fond sable propre */
			background-color: rgba(252,211,147,0.90) !important;
		}

		/* 2) Panneau NAV : verre dépoli effectif */
		header.cd-theme-header > .cd-theme-header__inner > 
		nav#cd-primary-nav.cd-theme-nav.cd-theme-nav--open{
			isolation: isolate;                                  /* garantit un backdrop dédié */
			background-color: rgba(252,211,147,0.70) !important; /* assez transparent pour voir le flou */
			-webkit-backdrop-filter: blur(10px) saturate(120%) !important;
			backdrop-filter: blur(10px) saturate(120%) !important;
			border: 1px solid rgba(255,255,255,0.28) !important;
			box-shadow: 0 10px 24px rgba(0,0,0,0.18) !important;
		}

		/* 3) Sous-menus ouverts : voile blanc + flou local */
		.cd-theme-header .cd-menu li.cd-open > ul.sub-menu{
			background-color: rgba(255,255,255,0.80) !important;
			-webkit-backdrop-filter: blur(6px) !important;
			backdrop-filter: blur(6px) !important;
			border: 1px solid rgba(255,255,255,0.45) !important;
			border-radius: 10px !important;
			box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
		}
	}

	/* Fallback (navigateurs sans backdrop-filter) */
	@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){
		@media (max-width:1169px){
			header.cd-theme-header:has(nav#cd-primary-nav.cd-theme-nav.cd-theme-nav--open){
				background-color: rgba(252,211,147,0.90) !important;
			}
			header.cd-theme-header > .cd-theme-header__inner > 
			nav#cd-primary-nav.cd-theme-nav.cd-theme-nav--open{
				background-color: rgba(252,211,147,0.90) !important;
			}
			.cd-theme-header .cd-menu li.cd-open > ul.sub-menu{
				background-color: rgba(255,255,255,0.90) !important;
			}
		}
	}

	/* ===== PATCH UI — Desktop ≥1170px : cacher burger, afficher nav, neutraliser panneau mobile ===== */
	@media (min-width:1170px){

		/* 1) Burger toujours caché en large, même si style inline a été posé */
		.cd-burger{ display:none !important; }

		/* 2) Nav toujours visible en large */
		#cd-primary-nav{ display:block !important; }

		/* 3) Si la nav avait l'état mobile ouvert, on le neutralise en desktop */
		#cd-primary-nav.cd-theme-nav--open{
			position: static !important;
			inset: auto !important;
			width: auto !important;
			background: transparent !important;
			border: 0 !important;
			box-shadow: none !important;
			border-radius: 0 !important;
			padding: 0 !important;
			max-height: none !important;
			overflow: visible !important;
		}

		/* 4) Menu sur une seule ligne */
		.cd-menu{
			display:flex !important;
			flex-direction:row !important;
			flex-wrap:nowrap !important;
			align-items:center;
			gap:20px;
			margin:0; padding:0;
		}

		/* 5) Sous-menus en hover (comportement desktop) */
		.cd-theme-header .cd-menu li ul.sub-menu{
			position:absolute !important;
			left:0; top:100%;
			min-width:220px;
			display:none;
			background:#fff; border:1px solid #eee; padding:8px 0; border-radius:8px;
		}
		.cd-theme-header .cd-menu li:hover > ul.sub-menu{ display:block !important; }
	}

	/* ==== Fond "lumieres-bande" déformé pour remplir 100% (X et Y) en toutes conditions ==== */
	
		/* Desktop : bandeau plus haut, effet immersif */
	@media (min-width:1170px){
		.cd-titlebar{ 
			height:80px; 
			background-image: url('lumieres-bande-128.jpg');
		} 
	}

	/* Mobile / tablette : bandeau compact */
	@media (max-width:1169px){
		.cd-titlebar{ 
			height:64px; 
			background-image: url('lumieres-bande-128.jpg');
		}
	}

	.cd-titlebar{
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 100% 100% !important;   /* <-- clé : étire en largeur ET hauteur */
		background-color: rgba(252,211,147,0.85);
		background-blend-mode: soft-light;
		-webkit-backdrop-filter: blur(6px) saturate(120%);
		backdrop-filter: blur(6px) saturate(120%);
		box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	}

	.cd-titlebar__h1 {
		text-shadow: 0 1px 2px rgba(255,255,255,0.4), 0 1px 6px rgba(0,0,0,0.15);
	}
	
		
	/* =====================================================
	   INTÉGRATION LOGO — verre poli + halo doux
	   ===================================================== */
	.cd-theme-header__logo {
		background: rgba(255, 255, 255, 0.22);
		backdrop-filter: blur(6px) saturate(120%);
		-webkit-backdrop-filter: blur(6px) saturate(120%);
		border-radius: 14px;
		box-shadow: 0 1px 6px rgba(0,0,0,0.08), 0 0 12px rgba(252,211,147,0.5);
		padding: 6px;
		overflow: hidden;
		transition: box-shadow .3s ease, background-color .3s ease;
	}

	.cd-theme-header__logo:hover {
		background: rgba(255, 255, 255, 0.28);
		box-shadow: 0 2px 10px rgba(0,0,0,0.12), 0 0 16px rgba(252,211,147,0.7);
	}

	.cd-theme-header__logo img {
		filter: brightness(1.15) saturate(1.05) drop-shadow(0 1px 2px rgba(0,0,0,0.15));
		transition: filter .3s ease;
	}

	.cd-theme-header__logo img:hover {
		filter: brightness(1.25) saturate(1.15) drop-shadow(0 2px 4px rgba(0,0,0,0.25));
	}

	.cd-theme-header__logo {
		border-radius: 18px; /* au lieu de 14px */
		box-shadow: 0 1px 6px rgba(0,0,0,0.08), 0 0 16px rgba(252,211,147,0.6);
	}


    /* ==========================================================
       PATCH NAV DESKTOP — états d’underline corrigés (≥1170px)
       ========================================================== */
    @media (min-width:1170px){

        /* 1) Sous-menus : enlever l'underline hérité par défaut */
        .cd-theme-header .cd-menu li ul.sub-menu a{
            text-decoration: none;                    /* pas de soulignement par défaut */
        }
        .cd-theme-header .cd-menu li ul.sub-menu a:hover,
        .cd-theme-header .cd-menu li ul.sub-menu a:focus-visible{
            text-decoration: underline;               /* soulignement uniquement à l’interaction */
            text-underline-offset: 2px;
        }

        /* 2) Parent au survol (menu déployé) : bleu SANS soulignement */
        .cd-theme-header .cd-menu > li:hover > a,
        .cd-theme-header .cd-menu > li.menu-item-has-children:hover > a,
        .cd-theme-header .cd-menu > li.current-menu-ancestor:hover > a{
            color: var(--e-global-color-primary);
            text-decoration: none !important;         /* neutralise la règle top-level qui underline au hover */
        }

        /* 3) État actif hors survol : on garde l’underline (repère de page) */
        .cd-theme-header .cd-menu > li.current-menu-item > a,
        .cd-theme-header .cd-menu > li.current-menu-ancestor > a{
            text-decoration: underline;
            text-underline-offset: 2px;
        }
        /* …mais dès que le menu est ouvert (hover), on le retire (cf. règle 2) */
    }


	/* =======================================================================
	   PATCH 5.1.3 — Menus : couleurs & soulignements harmonisés
	   ======================================================================= */

	/* Socle : tous les liens de menus (top + sous-menus) = marron, non souligné */
	.cd-theme-header .cd-menu a,
	.cd-theme-header .cd-menu li ul.sub-menu a {
		color: var(--e-global-color-secondary);
		text-decoration: none;
	}

	/* ÉTAT COURANT (WP) : bleu NON souligné (top + sous-menus) */
	.cd-theme-header .cd-menu li.current-menu-item > a,
	.cd-theme-header .cd-menu li.current-menu-ancestor > a,
	.cd-theme-header .cd-menu li.current_page_item > a,
	.cd-theme-header .cd-menu li.current_page_ancestor > a,
	.cd-theme-header .cd-menu li ul.sub-menu li.current-menu-item > a,
	.cd-theme-header .cd-menu li ul.sub-menu li.current-menu-ancestor > a {
		color: var(--e-global-color-primary) !important;
		text-decoration: none !important;
	}

	/* INTERACTION (PC :hover / clavier :focus-visible / mobile :active) = bleu SOULIGNÉ */
	.cd-theme-header .cd-menu a:hover,
	.cd-theme-header .cd-menu a:focus-visible,
	.cd-theme-header .cd-menu a:active,
	.cd-theme-header .cd-menu li ul.sub-menu a:hover,
	.cd-theme-header .cd-menu li ul.sub-menu a:focus-visible,
	.cd-theme-header .cd-menu li ul.sub-menu a:active {
		color: var(--e-global-color-primary);
		text-decoration: underline;
		text-underline-offset: 2px;
	}

	/* Mobile (≤1169px) : ouverture d’un parent = état “clic” → bleu SOULIGNÉ */
	@media (max-width:1169px){
		.cd-theme-header .cd-menu > li.cd-open > a {
			color: var(--e-global-color-primary) !important;
			text-decoration: underline !important;
			text-underline-offset: 2px !important;
		}
	}

	/* Desktop (≥1170px) : parent au survol = bleu SOULIGNÉ
	   (écrase l’ancienne règle qui retirait le soulignement) */
	@media (min-width:1170px){
		.cd-theme-header .cd-menu > li:hover > a,
		.cd-theme-header .cd-menu > li.menu-item-has-children:hover > a {
			color: var(--e-global-color-primary);
			text-decoration: underline !important;
			text-underline-offset: 2px;
		}
	}

}
/* fin layer custom */
