
/* DAOFest — Habiter l'Ambassade v1.5 home */

/* =========================================================
   MODE HOME : compactage du header Twenty Twenty-Two / FSE
   Uniquement sur la page contenant [habiter_ambassade].
   ========================================================= */

/* Le header du thème Twenty Twenty-Two possède par défaut un très grand
   padding inférieur. Sur la page Ambassade on le transforme en barre compacte. */
body.dha-ambassade-page header.wp-block-template-part{
    margin:0 !important;
    padding:0 !important;
    background:#fff;
}

/* Groupe principal du header : logo + navigation */
body.dha-ambassade-page header.wp-block-template-part > .wp-block-group,
body.dha-ambassade-page header.wp-block-template-part > .wp-block-group.alignwide{
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
    padding-left:24px !important;
    padding-right:24px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
}

/* Si le header personnalisé contient un groupe logo/titre, on le garde compact. */
body.dha-ambassade-page header.wp-block-template-part .wp-block-group{
    min-height:0 !important;
}

/* Navigation sur la même ligne sur desktop. */
body.dha-ambassade-page header.wp-block-template-part .wp-block-navigation{
    margin-left:auto !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
}

/* Le lien "Ambassade" est redondant sur sa propre page / future home. */
body.dha-ambassade-page header.wp-block-template-part .wp-block-navigation-item.current-menu-item{
    display:none !important;
}

/* On supprime le bloc titre + séparateur généré par le template de page.
   Le H1 de l'événement devient le vrai titre visuel de la page. */
body.dha-ambassade-page main.wp-block-group > .wp-block-group:first-child{
    display:none !important;
}

/* Le template Twenty Twenty-Two ajoute aussi un spacer avant le contenu. */
body.dha-ambassade-page main.wp-block-group > .wp-block-spacer:first-of-type{
    display:none !important;
    height:0 !important;
    margin:0 !important;
}

/* Aucun espace entre le header compact et le bandeau bleu. */
body.dha-ambassade-page main.wp-block-group,
body.dha-ambassade-page .wp-block-post-content,
body.dha-ambassade-page .entry-content{
    margin-top:0 !important;
    padding-top:0 !important;
}

/* Si un séparateur survit dans une variante du template, on le neutralise. */
body.dha-ambassade-page .wp-block-post-title + .wp-block-separator,
body.dha-ambassade-page main.wp-block-group > .wp-block-group:first-child + .wp-block-spacer{
    display:none !important;
    height:0 !important;
    margin:0 !important;
}

@media (max-width: 900px){
    body.dha-ambassade-page header.wp-block-template-part > .wp-block-group,
    body.dha-ambassade-page header.wp-block-template-part > .wp-block-group.alignwide{
        flex-wrap:wrap !important;
        padding:12px 18px !important;
        gap:12px 18px !important;
    }

    body.dha-ambassade-page header.wp-block-template-part .wp-block-navigation{
        width:100% !important;
        margin-left:0 !important;
    }
}


/*
 * Quand la page contient [habiter_ambassade], WordPress reçoit la classe
 * body "dha-ambassade-page". On masque uniquement le titre généré par le thème.
 * Cela évite "Sans titre" quand la page n'a pas de titre public.
 */
.dha-ambassade-page .wp-block-post-title,
.dha-ambassade-page .entry-title,
.dha-ambassade-page .page-title,
.dha-ambassade-page main > .wp-block-post-title {
    display:none !important;
}

/* Évite un espace vide laissé par certains templates autour du titre */
.dha-ambassade-page .wp-block-post-title + *,
.dha-ambassade-page .entry-content {
    margin-top:0 !important;
}

.ambassade-takeover{
    --ambassade-blue:#124cff;
    --ambassade-ink:#0a0a0a;
    --ambassade-paper:#f4f2ed;
    --ambassade-line:rgba(10,10,10,.16);

    position:relative;
    left:50%;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:-50vw !important;
    margin-right:-50vw !important;
    color:var(--ambassade-ink);
    background:
        radial-gradient(circle at 20% 10%, rgba(0,0,0,.035) 0 1px, transparent 1.5px) 0 0/11px 11px,
        linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)),
        var(--ambassade-paper);
    font-family:Arial, Helvetica, sans-serif;
    overflow:hidden;
    border-bottom:1px solid var(--ambassade-line);
}

.ambassade-takeover *,
.ambassade-takeover *::before,
.ambassade-takeover *::after{box-sizing:border-box;}

.ambassade-takeover [id]{scroll-margin-top:72px;}

.ambassade-topbar{
    min-height:38px;
    padding:8px clamp(18px,3vw,44px);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    background:var(--ambassade-blue);
    color:white;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.ambassade-hero{
    min-height:620px;
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
    position:relative;
    border-bottom:1px solid var(--ambassade-line);
}

.ambassade-hero__copy{
    padding:clamp(46px,6vw,92px) clamp(24px,5vw,78px) 52px;
    position:relative;
    z-index:2;
}

.ambassade-eyebrow,
.ambassade-section-label{
    font-family:"Courier New", Courier, monospace;
    font-size:13px;
    font-weight:700;
    letter-spacing:.38em;
    text-transform:uppercase;
}

.ambassade-title{
    margin:14px 0 14px !important;
    padding:0;
    max-width:900px;
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size:clamp(72px,9.3vw,152px);
    line-height:.75;
    letter-spacing:-.035em;
    text-transform:uppercase;
    font-weight:900;
}

.ambassade-title span{display:block;}
.ambassade-title span + span{margin-top:.18em;}

.ambassade-intro{
    max-width:650px;
    margin:30px 0 14px;
    font-family:"Courier New", Courier, monospace;
    font-size:clamp(15px,1.45vw,21px);
    line-height:1.45;
    font-weight:700;
    letter-spacing:.05em;
}

.ambassade-meta{
    max-width:720px;
    font-family:"Courier New", Courier, monospace;
    font-size:12px;
    line-height:1.55;
    letter-spacing:.16em;
    font-weight:700;
}

.ambassade-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:32px;
}

.ambassade-btn{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:26px;
    min-width:220px;
    padding:16px 20px;
    border:1px solid var(--ambassade-ink);
    color:var(--ambassade-ink) !important;
    background:rgba(255,255,255,.38);
    text-decoration:none !important;
    font-family:"Courier New", Courier, monospace;
    font-weight:700;
    font-size:12px;
    letter-spacing:.08em;
    transition:transform .18s ease, background .18s ease, color .18s ease;
}

.ambassade-btn:hover{transform:translateY(-2px);}
.ambassade-btn--dark{background:var(--ambassade-ink);color:white !important;}

.ambassade-manifesto{
    margin-top:42px;
    color:var(--ambassade-blue);
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size:25px;
    line-height:.95;
    transform:rotate(-1.5deg);
}

.ambassade-hero__visual{
    position:relative;
    min-height:620px;
    overflow:hidden;
    border-left:1px solid var(--ambassade-line);
    background:
        linear-gradient(160deg, rgba(18,76,255,.025), transparent 45%),
        repeating-linear-gradient(0deg, rgba(10,10,10,.025) 0 1px, transparent 1px 8px);
}

.ambassade-bird{
    position:absolute;
    width:min(600px,92%);
    top:55px;
    left:-70px;
    mix-blend-mode:multiply;
    filter:grayscale(1) contrast(1.2);
    opacity:.84;
}

.ambassade-stamp{
    position:absolute;
    right:clamp(26px,6vw,88px);
    top:150px;
    width:190px;
    aspect-ratio:1/1;
    border:5px solid var(--ambassade-blue);
    border-radius:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:var(--ambassade-blue);
    transform:rotate(-6deg);
    box-shadow:inset 0 0 0 8px var(--ambassade-paper), inset 0 0 0 10px var(--ambassade-blue);
    font-family:"Courier New", Courier, monospace;
    font-size:12px;
    font-weight:700;
    letter-spacing:.1em;
    line-height:1.1;
}

.ambassade-stamp strong{
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size:28px;
    line-height:.95;
    margin:10px 0;
}

.ambassade-coords{
    position:absolute;
    right:36px;
    bottom:58px;
    padding-left:12px;
    border-left:1px solid var(--ambassade-ink);
    font-family:"Courier New", Courier, monospace;
    font-size:12px;
    line-height:1.45;
}

.ambassade-hand{
    position:absolute;
    left:32px;
    bottom:36px;
    color:var(--ambassade-blue);
    font-family:Georgia, "Times New Roman", serif;
    font-style:italic;
    font-size:22px;
    line-height:1.15;
    transform:rotate(-4deg);
}

.ambassade-escales{
    padding:28px clamp(18px,3vw,44px) 34px;
    background:rgba(255,255,255,.42);
    border-bottom:1px solid var(--ambassade-line);
}

.ambassade-route{
    margin:26px 0 0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(7,1fr);
    list-style:none;
}

.ambassade-route li{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:9px;
    padding:0 10px;
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    letter-spacing:.04em;
}

.ambassade-route li:not(:last-child)::after{
    content:"→";
    position:absolute;
    right:-7px;
    top:17px;
    font-size:20px;
    font-weight:400;
}

.ambassade-icon{
    width:52px;
    height:52px;
    border:1px solid var(--ambassade-ink);
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:24px;
    background:var(--ambassade-paper);
}

.ambassade-cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
}

.ambassade-card{
    min-height:330px;
    padding:34px clamp(22px,3.3vw,52px) 38px;
    position:relative;
    border-right:1px solid var(--ambassade-line);
    background:rgba(255,255,255,.22);
}

.ambassade-card:last-child{border-right:0;}

.ambassade-card__number{
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size:46px;
    border-bottom:2px solid var(--ambassade-ink);
    width:max-content;
    line-height:1;
    padding-bottom:8px;
}

.ambassade-card h2{
    margin:28px 0 18px !important;
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size:clamp(34px,3.1vw,54px);
    line-height:.95;
    letter-spacing:-.01em;
}

.ambassade-card p{
    max-width:470px;
    font-family:"Courier New", Courier, monospace;
    font-size:14px;
    line-height:1.55;
}

.ambassade-card a{
    position:absolute;
    left:clamp(22px,3.3vw,52px);
    bottom:36px;
    color:var(--ambassade-ink) !important;
    text-decoration:none !important;
    border-bottom:1px solid var(--ambassade-ink);
    padding-bottom:3px;
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
}

@media (max-width:980px){
    .ambassade-hero{grid-template-columns:1fr;}
    .ambassade-hero__visual{min-height:440px;border-left:0;border-top:1px solid var(--ambassade-line);}
    .ambassade-title{font-size:clamp(66px,14vw,118px);}
    .ambassade-route{grid-template-columns:repeat(4,1fr);row-gap:28px;}
    .ambassade-route li::after{display:none;}
    .ambassade-cards{grid-template-columns:1fr;}
    .ambassade-card{border-right:0;border-bottom:1px solid var(--ambassade-line);min-height:300px;}
}

@media (max-width:640px){
    .ambassade-topbar{align-items:flex-start;font-size:10px;}
    .ambassade-topbar span:last-child{display:none;}
    .ambassade-hero__copy{padding:38px 18px 34px;}
    .ambassade-title{font-size:clamp(58px,20vw,90px);line-height:.78;}
    .ambassade-title span + span{margin-top:.22em;}
    .ambassade-intro{margin-top:26px;}
    .ambassade-actions{flex-direction:column;}
    .ambassade-btn{width:100%;}
    .ambassade-hero__visual{min-height:360px;}
    .ambassade-bird{width:120%;left:-42%;top:44px;}
    .ambassade-stamp{width:150px;right:22px;top:90px;}
    .ambassade-hand{font-size:18px;left:20px;bottom:25px;max-width:68%;}
    .ambassade-route{grid-template-columns:1fr;gap:0;margin-top:18px;}
    .ambassade-route li{
        min-height:58px;
        flex-direction:row;
        text-align:left;
        border-top:1px solid var(--ambassade-line);
        padding:8px 0;
    }
    .ambassade-route li:last-child{border-bottom:1px solid var(--ambassade-line);}
    .ambassade-icon{width:42px;height:42px;flex:0 0 42px;}
    .ambassade-card{min-height:290px;padding-left:18px;padding-right:18px;}
    .ambassade-card a{left:18px;}
}


/* =========================================================
   v1.6 — HEADER HOME VRAIMENT COMPACT
   Corrige les marges verticales encore visibles sur Twenty Twenty-Two.
   ========================================================= */

body.dha-ambassade-page .wp-site-blocks > header.wp-block-template-part{
    margin:0 !important;
    padding:0 !important;
    min-height:0 !important;
}

body.dha-ambassade-page header.wp-block-template-part,
body.dha-ambassade-page header.wp-block-template-part > *,
body.dha-ambassade-page header.wp-block-template-part .wp-block-group{
    margin-top:0 !important;
    margin-bottom:0 !important;
}

/* Neutralise les paddings verticaux des wrappers imbriqués du header. */
body.dha-ambassade-page header.wp-block-template-part .wp-block-group{
    padding-top:0 !important;
    padding-bottom:0 !important;
}

/* Une seule barre de navigation compacte. */
body.dha-ambassade-page header.wp-block-template-part > .wp-block-group,
body.dha-ambassade-page header.wp-block-template-part > .wp-block-group.alignwide{
    min-height:86px !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:10px 24px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:22px !important;
}

/* Certains templates placent le logo/titre dans un wrapper supplémentaire. */
body.dha-ambassade-page header.wp-block-template-part > .wp-block-group > .wp-block-group{
    min-height:auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
}

/* Navigation collée au bloc marque, sans marge verticale. */
body.dha-ambassade-page header.wp-block-template-part .wp-block-navigation{
    margin:0 0 0 4px !important;
    padding:0 !important;
    align-self:center !important;
}

/* Empêche le template de recréer un blanc entre header et contenu. */
body.dha-ambassade-page header.wp-block-template-part + main,
body.dha-ambassade-page .wp-site-blocks > main{
    margin-top:0 !important;
    padding-top:0 !important;
}

body.dha-ambassade-page .wp-site-blocks{
    padding-top:0 !important;
}

/* Sur desktop, le bandeau doit venir immédiatement après le header. */
body.dha-ambassade-page .ambassade-takeover{
    margin-top:0 !important;
}

/* Le lien "Ambassade" est inutile quand cette page devient l'accueil. */
body.dha-ambassade-page header.wp-block-template-part
.wp-block-navigation-item.current-menu-item{
    display:none !important;
}

@media (max-width:900px){
    body.dha-ambassade-page header.wp-block-template-part > .wp-block-group,
    body.dha-ambassade-page header.wp-block-template-part > .wp-block-group.alignwide{
        min-height:72px !important;
        padding:8px 16px !important;
        flex-wrap:wrap !important;
        gap:8px 14px !important;
    }
}


/* =========================================================
   v1.7 — bandeau bleu AU-DESSUS du menu
   ========================================================= */

body.dha-ambassade-page .ambassade-global-topbar{
    width:100%;
    min-height:34px;
    margin:0;
    padding:7px clamp(18px,3vw,34px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:#124cff;
    color:#fff;
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    position:relative;
    z-index:100;
}

/* L'ancien bandeau interne n'est plus utilisé. */
body.dha-ambassade-page .ambassade-topbar{
    display:none !important;
}

/* Header encore plus compact : topbar → menu → hero */
body.dha-ambassade-page header.wp-block-template-part > .wp-block-group,
body.dha-ambassade-page header.wp-block-template-part > .wp-block-group.alignwide{
    min-height:72px !important;
    padding:6px 18px !important;
}

/* Réduction de l'espace entre header et takeover */
body.dha-ambassade-page header.wp-block-template-part{
    border-bottom:0 !important;
}
body.dha-ambassade-page header.wp-block-template-part + main,
body.dha-ambassade-page .wp-site-blocks > main{
    margin-top:0 !important;
    padding-top:0 !important;
}

/* Le hero commence immédiatement après le menu */
body.dha-ambassade-page .ambassade-hero{
    border-top:1px solid rgba(10,10,10,.08);
}

/* Si le thème laisse un spacer/une marge de groupe résiduelle */
body.dha-ambassade-page .wp-site-blocks > *{
    margin-block-start:0 !important;
}

@media (max-width:700px){
    body.dha-ambassade-page .ambassade-global-topbar{
        min-height:30px;
        padding:6px 14px;
        font-size:9px;
        letter-spacing:.08em;
    }
    body.dha-ambassade-page .ambassade-global-topbar span:last-child{
        display:none;
    }
}


/* =========================================================
   v1.8 — CONTENUS PROFONDS ÉDITABLES
   ========================================================= */

.ambassade-deep-sections{
    border-top:1px solid var(--ambassade-line);
}

.ambassade-deep-section{
    position:relative;
    display:grid;
    grid-template-columns:minmax(110px,.2fr) minmax(0,1fr);
    gap:clamp(26px,5vw,78px);
    padding:clamp(46px,7vw,96px) clamp(20px,5vw,76px);
    border-bottom:1px solid var(--ambassade-line);
    background:rgba(255,255,255,.16);
}

.ambassade-deep-section--alt{
    background:rgba(18,76,255,.035);
}

.ambassade-deep-section__meta{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding-top:5px;
    font-family:"Courier New", Courier, monospace;
    font-size:12px;
    font-weight:700;
    letter-spacing:.1em;
    color:var(--ambassade-blue);
}

.ambassade-deep-section__meta > span:first-child{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border:1px solid var(--ambassade-blue);
    border-radius:50%;
    font-size:17px;
}

.ambassade-deep-section__anchor{
    color:rgba(10,10,10,.45);
    font-size:10px;
    letter-spacing:.05em;
}

.ambassade-deep-section__body{
    max-width:920px;
}

.ambassade-deep-section__body h2{
    margin:0 0 28px !important;
    color:var(--ambassade-ink);
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size:clamp(46px,6.6vw,100px);
    line-height:.86;
    letter-spacing:-.025em;
    text-transform:uppercase;
}

.ambassade-deep-section__content{
    max-width:790px;
    font-family:Arial, Helvetica, sans-serif;
    font-size:clamp(16px,1.2vw,19px);
    line-height:1.64;
}

.ambassade-deep-section__content p{
    margin:0 0 1em;
}

.ambassade-deep-section__content h3{
    margin:1.5em 0 .5em;
    color:var(--ambassade-blue);
    font-family:"Courier New", Courier, monospace;
    font-size:15px;
    line-height:1.25;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.ambassade-deep-section__content a{
    color:var(--ambassade-blue) !important;
    text-decoration-thickness:1px;
    text-underline-offset:.18em;
}

.ambassade-deep-section__content ul,
.ambassade-deep-section__content ol{
    padding-left:1.25em;
}

.ambassade-deep-section__content li::marker{
    color:var(--ambassade-blue);
}

.ambassade-deep-section__content blockquote{
    margin:26px 0;
    padding:18px 22px;
    border-left:5px solid var(--ambassade-blue);
    background:rgba(18,76,255,.06);
    font-family:"Courier New", Courier, monospace;
}

.ambassade-deep-section__content img{
    max-width:100%;
    height:auto;
}

.ambassade-deep-section__top{
    position:absolute;
    right:clamp(18px,3vw,42px);
    bottom:24px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid var(--ambassade-ink);
    border-radius:50%;
    color:var(--ambassade-ink) !important;
    text-decoration:none !important;
    font-family:"Courier New", Courier, monospace;
}

.ambassade-deep-section__top:hover{
    background:var(--ambassade-blue);
    border-color:var(--ambassade-blue);
    color:#fff !important;
}

@media (max-width:760px){
    .ambassade-deep-section{
        grid-template-columns:1fr;
        gap:20px;
        padding:40px 18px 62px;
    }

    .ambassade-deep-section__meta{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
    }

    .ambassade-deep-section__meta > span:first-child{
        width:46px;
        height:46px;
    }

    .ambassade-deep-section__body h2{
        font-size:clamp(40px,13vw,70px);
        margin-bottom:20px !important;
    }
}


/* v1.9 — ancre Programme persistante */
.ambassade-anchor-target{
    height:0;
    margin:0;
    padding:0;
    scroll-margin-top:110px;
}


/* =========================================================
   v2.0 — PROGRAMME HABITER L'AMBASSADE
   ========================================================= */

.ambassade-programme-intro{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:28px;
    margin:0 0 28px;
    padding:0 0 22px;
    border-bottom:2px solid var(--ambassade-ink);
}

.ambassade-programme-intro p{
    margin:0 !important;
}

.ambassade-programme-intro__dates{
    color:var(--ambassade-blue);
    font-family:"Courier New", Courier, monospace;
    font-size:12px;
    font-weight:700;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.ambassade-programme-intro__note{
    max-width:520px;
    font-family:"Courier New", Courier, monospace;
    font-size:12px;
    line-height:1.45;
}

.ambassade-programme-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid var(--ambassade-line);
    border-left:1px solid var(--ambassade-line);
}

.ambassade-programme-card{
    position:relative;
    min-height:320px;
    padding:24px 24px 28px;
    border-right:1px solid var(--ambassade-line);
    border-bottom:1px solid var(--ambassade-line);
    background:rgba(255,255,255,.27);
}

.ambassade-programme-card:nth-child(4n+2),
.ambassade-programme-card:nth-child(4n+3){
    background:rgba(18,76,255,.025);
}

.ambassade-programme-card--feature{
    background:rgba(18,76,255,.075) !important;
}

.ambassade-programme-card--wide{
    grid-column:1 / -1;
    min-height:auto;
}

.ambassade-programme-card__date{
    margin:0 0 12px;
    color:var(--ambassade-blue);
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    font-weight:700;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.ambassade-programme-card h3{
    margin:0 0 10px !important;
    color:var(--ambassade-ink) !important;
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
    font-size:clamp(30px,3.8vw,52px) !important;
    line-height:.92 !important;
    letter-spacing:-.02em !important;
    text-transform:uppercase !important;
}

.ambassade-programme-card__time{
    display:inline-block;
    margin:0 0 18px !important;
    padding:5px 8px;
    background:var(--ambassade-blue);
    color:#fff;
    font-family:"Courier New", Courier, monospace;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:700;
    letter-spacing:.05em;
}

.ambassade-programme-card__label{
    margin:20px 0 8px !important;
    color:var(--ambassade-blue);
    font-family:"Courier New", Courier, monospace;
    font-size:11px !important;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.ambassade-programme-card p{
    margin:0 0 10px !important;
    font-size:14px !important;
    line-height:1.55 !important;
}

.ambassade-programme-card ul{
    margin:10px 0 0 !important;
    padding-left:1.2em !important;
}

.ambassade-programme-card li{
    margin-bottom:6px;
    font-size:14px;
    line-height:1.45;
}

.ambassade-programme-card li::marker{
    color:var(--ambassade-blue);
}

.ambassade-programme-card__meta{
    margin-top:18px !important;
    padding-top:14px;
    border-top:1px solid var(--ambassade-line);
    color:rgba(10,10,10,.66);
    font-family:"Courier New", Courier, monospace;
    font-size:11px !important;
    line-height:1.45 !important;
}

.ambassade-programme-card__quote{
    margin:16px 0 0 !important;
    padding:14px 16px;
    border-left:4px solid var(--ambassade-blue);
    background:rgba(255,255,255,.48);
    font-family:Georgia, "Times New Roman", serif;
    font-size:16px !important;
    font-style:italic;
    line-height:1.35 !important;
}

.ambassade-programme-card__tag{
    display:inline-block;
    margin:4px 6px 4px 0;
    padding:5px 8px;
    border:1px solid var(--ambassade-blue);
    color:var(--ambassade-blue);
    font-family:"Courier New", Courier, monospace;
    font-size:10px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
}

@media(max-width:760px){
    .ambassade-programme-intro{
        flex-direction:column;
        align-items:flex-start;
    }

    .ambassade-programme-grid{
        grid-template-columns:1fr;
    }

    .ambassade-programme-card--wide{
        grid-column:auto;
    }

    .ambassade-programme-card{
        min-height:auto;
        padding:22px 18px 26px;
    }

    .ambassade-programme-card h3{
        font-size:clamp(30px,10vw,46px) !important;
    }
}


/* =========================================================
   v2.1 — CARTES + FRISE INTERACTIVE + PROGRAMME SANS NUMÉRO
   ========================================================= */

/* La rubrique Programme n'utilise pas la petite colonne de numérotation. */
.ambassade-deep-section--programme{
    grid-template-columns:1fr !important;
}

.ambassade-deep-section--programme .ambassade-deep-section__meta{
    display:none !important;
}

.ambassade-deep-section--programme .ambassade-deep-section__body{
    max-width:1120px;
    width:100%;
    margin:0 auto;
}

/* Frise cliquable */
.ambassade-route li{
    padding:0 10px;
}

.ambassade-route li > a{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:9px;
    width:100%;
    color:var(--ambassade-ink) !important;
    text-decoration:none !important;
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    letter-spacing:.04em;
    transition:color .2s ease, transform .2s ease;
}

.ambassade-route li:not(:last-child)::after{
    content:"→";
    position:absolute;
    right:-7px;
    top:17px;
    font-size:20px;
    font-weight:400;
    color:var(--ambassade-ink);
    transition:color .2s ease;
}

.ambassade-route li:hover::after{
    color:var(--ambassade-blue);
}

.ambassade-route li > a:hover,
.ambassade-route li > a:focus-visible,
.ambassade-route li > a.is-active{
    color:var(--ambassade-blue) !important;
    transform:translateY(-2px);
}

.ambassade-route li > a:hover .ambassade-icon,
.ambassade-route li > a:focus-visible .ambassade-icon,
.ambassade-route li > a.is-active .ambassade-icon{
    border-color:var(--ambassade-blue);
    color:var(--ambassade-blue);
    background:rgba(18,76,255,.055);
}

.ambassade-route li > a.is-active strong{
    text-decoration:underline;
    text-underline-offset:4px;
    text-decoration-thickness:1px;
}

.ambassade-icon{
    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.ambassade-route li > a:hover .ambassade-icon{
    transform:scale(1.04);
}

/* Cartes du haut : H2 un peu plus souples pour les titres plus longs */
.ambassade-card h2{
    text-wrap:balance;
}

@media (max-width:980px){
    .ambassade-route li > a{
        justify-content:center;
    }
}

@media (max-width:640px){
    .ambassade-route li{
        min-height:58px;
        border-top:1px solid var(--ambassade-line);
        padding:0;
    }

    .ambassade-route li > a{
        min-height:58px;
        flex-direction:row;
        justify-content:flex-start;
        text-align:left;
        padding:8px 0;
        transform:none !important;
    }

    .ambassade-route li::after{
        display:none !important;
    }
}
\n\n/* =========================================================\n   v2.2 — CORRECTION GRILLE PROGRAMME\n   ========================================================= */\n\n.ambassade-deep-section--programme .ambassade-deep-section__content{\n    max-width:none !important;\n    width:100% !important;\n}\n\n.ambassade-deep-section--programme .ambassade-programme-grid{\n    width:100% !important;\n}\n\n/* Sécurité au cas où un éditeur ajoute malgré tout des paragraphes vides. */\n.ambassade-deep-section--programme .ambassade-programme-grid > p:empty,\n.ambassade-deep-section--programme .ambassade-programme-grid > p:has(> br:only-child){\n    display:none !important;\n}\n