/* Îles Bermond — Habiter l’Ambassade v1.4
   Standalone landing page version.
*/

body.iba-ambassade-page header.entry-header,
body.iba-ambassade-page .entry-header,
body.iba-ambassade-page .page-header,
body.iba-ambassade-page .archive-header,
body.iba-ambassade-page .site-header,
body.iba-ambassade-page #masthead,
body.iba-ambassade-page .site-branding,
body.iba-ambassade-page .main-navigation{
    display:none !important;
}


/* Îles Bermond — Habiter l’Ambassade v1.1
   DA typographique, simple, drapeau officiel uniquement.
*/

body.iba-ambassade-page{
    --iba-blue:#45A4DE;
    --iba-blue-strong:#1689D3;
    --iba-gray:#6C7C8E;
    --iba-ink:#111111;
    --iba-muted:#666A70;
    --iba-paper:#FFFFFF;
    --iba-soft:#F6F7F8;
    --iba-line:#D9DDE1;
}

/* Corrige les wrappers de thèmes WordPress qui enferment la page dans une colonne */
body.iba-ambassade-page #content,
body.iba-ambassade-page .site-content,
body.iba-ambassade-page .content-area,
body.iba-ambassade-page .site-main,
body.iba-ambassade-page main.site-main,
body.iba-ambassade-page article.page,
body.iba-ambassade-page .entry-content,
body.iba-ambassade-page .wp-block-post-content,
body.iba-ambassade-page .wp-site-blocks > main,
body.iba-ambassade-page .content-wrapper,
body.iba-ambassade-page .main-content{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

body.iba-ambassade-page .entry-title,
body.iba-ambassade-page .page-title,
body.iba-ambassade-page .wp-block-post-title,
body.iba-ambassade-page #secondary,
body.iba-ambassade-page .widget-area,
body.iba-ambassade-page .site-sidebar,
body.iba-ambassade-page aside.sidebar{
    display:none !important;
}

.iba-page{
    width:100%;
    max-width:none;
    margin:0;
    overflow:hidden;
    background:var(--iba-paper);
    color:var(--iba-ink);
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    line-height:1.55;
}

.iba-page *,
.iba-page *::before,
.iba-page *::after{ box-sizing:border-box; }

.iba-page [id]{ scroll-margin-top:72px; }

.iba-page a{ color:inherit; }

.iba-topbar{
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding:12px max(24px,calc((100vw - 1240px)/2));
    border-bottom:1px solid var(--iba-line);
    color:var(--iba-gray);
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.iba-hero{
    max-width:1240px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(240px,.35fr);
    gap:clamp(38px,7vw,100px);
    align-items:start;
    padding:clamp(60px,8vw,110px) 24px clamp(54px,7vw,90px);
    border-bottom:1px solid var(--iba-line);
}

.iba-hero__copy{ min-width:0; }

.iba-eyebrow,
.iba-kicker{
    color:var(--iba-blue-strong);
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.iba-title{
    margin:14px 0 30px !important;
    padding:0 !important;
    max-width:900px;
    color:var(--iba-ink) !important;
    font-family:Arial Black, Arial, Helvetica, sans-serif !important;
    font-size:clamp(58px,8vw,124px) !important;
    line-height:.84 !important;
    letter-spacing:-.055em !important;
    text-transform:uppercase;
}

.iba-title span{ display:block; }
.iba-title span + span{ margin-top:.11em; }

.iba-lead{
    max-width:800px;
    margin:0 0 28px !important;
    font-size:clamp(18px,1.55vw,22px) !important;
    line-height:1.55 !important;
}

.iba-question{
    max-width:820px;
    margin:0 !important;
    padding:22px 0 0;
    border-top:2px solid var(--iba-ink);
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(22px,2.4vw,35px) !important;
    line-height:1.28 !important;
}

.iba-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:32px;
}

.iba-btn,
.iba-event-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    min-height:46px;
    padding:12px 16px;
    border:1px solid var(--iba-blue-strong);
    background:#fff;
    color:var(--iba-blue-strong) !important;
    text-decoration:none !important;
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    line-height:1.1;
    font-weight:700;
    letter-spacing:.055em;
    text-transform:uppercase;
    transition:.18s ease;
}

.iba-btn:hover,
.iba-btn:focus-visible,
.iba-event-cta:hover,
.iba-event-cta:focus-visible{
    background:var(--iba-blue-strong);
    color:#fff !important;
}

.iba-btn--dark{
    background:var(--iba-blue-strong);
    color:#fff !important;
}

.iba-btn--dark:hover,
.iba-btn--dark:focus-visible{
    background:var(--iba-ink);
    border-color:var(--iba-ink);
}

.iba-signature{
    margin-top:45px;
    padding-top:18px;
    border-top:1px solid var(--iba-line);
    display:flex;
    flex-direction:column;
    gap:3px;
    max-width:700px;
}

.iba-signature span{
    color:var(--iba-blue-strong);
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    font-weight:700;
    letter-spacing:.13em;
}

.iba-signature strong{
    font-family:Georgia, "Times New Roman", serif;
    font-size:25px;
    font-weight:400;
}

.iba-signature em{
    color:var(--iba-muted);
    font-size:13px;
}

.iba-hero__visual{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    padding-top:26px;
}

.iba-flag{
    display:block;
    width:min(100%,250px);
    height:auto;
    border:1px solid var(--iba-line);
}

.iba-flag-caption{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding-top:14px;
    border-top:2px solid var(--iba-blue-strong);
}

.iba-flag-caption strong{
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    letter-spacing:.13em;
}

.iba-flag-caption span{
    color:var(--iba-muted);
    font-family:Georgia, "Times New Roman", serif;
    font-size:15px;
}

.iba-route{
    max-width:1240px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    padding:0 24px;
    border-bottom:1px solid var(--iba-line);
}

.iba-route a{
    min-height:92px;
    padding:19px 12px;
    border-right:1px solid var(--iba-line);
    text-decoration:none !important;
    transition:background .15s ease,color .15s ease;
}

.iba-route a:first-child{ border-left:1px solid var(--iba-line); }

.iba-route a span{
    display:block;
    margin-bottom:8px;
    color:var(--iba-blue-strong);
    font-family:"Courier New", Courier, monospace;
    font-size:9px;
    font-weight:700;
    letter-spacing:.08em;
}

.iba-route a strong{
    display:block;
    font-size:11px;
    line-height:1.2;
    font-weight:700;
}

.iba-route a:hover,
.iba-route a:focus-visible,
.iba-route a.is-active{
    background:var(--iba-blue-strong);
    color:#fff !important;
}

.iba-route a:hover span,
.iba-route a:focus-visible span,
.iba-route a.is-active span{
    color:#fff;
}

.iba-programme,
.iba-people,
.iba-practical,
.iba-support{
    max-width:1240px;
    margin:0 auto;
    padding:clamp(60px,7vw,95px) 24px;
}

.iba-section-head{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(270px,.6fr);
    align-items:end;
    gap:45px;
    margin-bottom:34px;
}

.iba-section-head h2,
.iba-practical h2,
.iba-support h2{
    margin:7px 0 0 !important;
    color:var(--iba-ink) !important;
    font-family:Arial Black, Arial, Helvetica, sans-serif !important;
    font-size:clamp(46px,6vw,84px) !important;
    line-height:.9 !important;
    letter-spacing:-.045em !important;
    text-transform:uppercase;
}

.iba-section-head > p{
    margin:0 !important;
    text-align:right;
    color:var(--iba-muted);
    font-family:"Courier New", Courier, monospace;
    font-size:11px !important;
    line-height:1.55 !important;
}

.iba-section-head a{ color:var(--iba-blue-strong) !important; }

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

.iba-event{
    min-width:0;
    padding:28px;
    border-right:1px solid var(--iba-line);
    border-bottom:1px solid var(--iba-line);
    background:#fff;
}

.iba-event--feature{ background:var(--iba-soft); }
.iba-event--wide{ grid-column:1/-1; }

.iba-event__date{
    margin-bottom:11px;
    color:var(--iba-blue-strong);
    font-family:"Courier New", Courier, monospace;
    font-size:10px;
    font-weight:700;
    letter-spacing:.1em;
}

.iba-event h3{
    margin:0 0 13px !important;
    color:var(--iba-ink) !important;
    font-family:Arial Black, Arial, Helvetica, sans-serif !important;
    font-size:clamp(30px,3.4vw,50px) !important;
    line-height:.95 !important;
    letter-spacing:-.035em !important;
    text-transform:uppercase;
}

.iba-event__subtitle{
    margin:-2px 0 14px;
    color:var(--iba-blue-strong);
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
}

.iba-event__time{
    display:inline-block;
    margin:0 0 18px;
    padding:5px 8px;
    border:1px solid var(--iba-blue-strong);
    color:var(--iba-blue-strong);
    font-family:"Courier New", Courier, monospace;
    font-size:10px;
    font-weight:700;
    letter-spacing:.04em;
}

.iba-event p,
.iba-event li{
    font-size:14px !important;
    line-height:1.55 !important;
}

.iba-event p{ margin:0 0 12px !important; }
.iba-event ul{ margin:10px 0 16px !important; padding-left:1.15em !important; }
.iba-event li{ margin-bottom:5px; }
.iba-event li::marker{ color:var(--iba-blue-strong); }

.iba-event blockquote{
    margin:14px 0 18px !important;
    padding:15px 17px !important;
    border-left:3px solid var(--iba-blue-strong) !important;
    background:#fff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:19px !important;
    line-height:1.35 !important;
}

.iba-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:16px 0;
}

.iba-tags span{
    padding:5px 8px;
    border:1px solid var(--iba-blue-strong);
    color:var(--iba-blue-strong);
    font-family:"Courier New", Courier, monospace;
    font-size:9px;
    font-weight:700;
}

.iba-event__sub,
.iba-event__note{
    margin-top:16px;
    padding:14px 15px;
    border-top:1px solid var(--iba-line);
    background:var(--iba-soft);
    font-size:13px;
    line-height:1.5;
}

.iba-event__meta{
    margin:13px 0;
    color:var(--iba-muted);
    font-family:"Courier New", Courier, monospace;
    font-size:10px;
}

.iba-event-cta{ margin-top:7px; }

.iba-protocol{
    display:grid;
    gap:7px;
    margin:17px 0 18px;
    padding-top:15px;
    border-top:1px solid var(--iba-line);
    font-size:12px;
}

.iba-price{
    margin:18px 0;
    color:var(--iba-blue-strong);
    font-family:Arial Black, Arial, Helvetica, sans-serif;
    font-size:40px;
    line-height:1;
}

.iba-price span{
    display:block;
    margin-top:7px;
    color:var(--iba-ink);
    font-family:"Courier New", Courier, monospace;
    font-size:10px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.iba-editorial{
    border-top:1px solid var(--iba-line);
    border-bottom:1px solid var(--iba-line);
}

.iba-editorial-card{
    max-width:1240px;
    margin:0 auto;
    display:grid;
    grid-template-columns:90px minmax(0,1fr);
    column-gap:34px;
    padding:clamp(62px,7vw,95px) 24px;
    border-bottom:1px solid var(--iba-line);
    background:#fff;
    color:var(--iba-ink);
}

.iba-editorial-card:last-child{ border-bottom:0; }

/* plus de grand bloc bleu : même langage typographique partout */
.iba-editorial-card--blue{
    max-width:1240px;
    padding-left:24px;
    padding-right:24px;
    background:#fff;
    color:var(--iba-ink);
}

.iba-editorial-card__num{
    padding-top:6px;
    color:var(--iba-blue-strong);
    font-family:"Courier New", Courier, monospace;
    font-size:12px;
    font-weight:700;
}

.iba-editorial-card--blue .iba-editorial-card__num{ color:var(--iba-blue-strong); }

.iba-editorial-card h2{
    grid-column:2;
    margin:0 0 25px !important;
    max-width:930px;
    color:var(--iba-ink) !important;
    font-family:Arial Black, Arial, Helvetica, sans-serif !important;
    font-size:clamp(44px,5.7vw,80px) !important;
    line-height:.92 !important;
    letter-spacing:-.045em !important;
    text-transform:uppercase;
}

.iba-editorial-card p,
.iba-editorial-card > a{
    grid-column:2;
    max-width:900px;
}

.iba-editorial-card p{
    margin:0 0 15px !important;
    font-size:16px !important;
    line-height:1.65 !important;
}

.iba-editorial-card__lead,
.iba-editorial-card__question{
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(21px,2.1vw,30px) !important;
    line-height:1.4 !important;
}

.iba-editorial-card__question{ font-style:italic; }

.iba-editorial-card .iba-small,
.iba-editorial-card--blue .iba-small{
    color:var(--iba-muted);
    font-family:"Courier New", Courier, monospace;
    font-size:11px !important;
}

.iba-editorial-card > a,
.iba-editorial-card--blue > a{
    width:max-content;
    margin-top:10px;
    color:var(--iba-blue-strong) !important;
    text-decoration:none !important;
    border-bottom:1px solid currentColor;
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    font-weight:700;
}

.iba-section-head--compact{ align-items:start; }

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

.iba-people-grid > div{
    min-height:105px;
    padding:18px;
    border-right:1px solid var(--iba-line);
    border-bottom:1px solid var(--iba-line);
}

.iba-people-grid strong{
    display:block;
    margin-bottom:7px;
    font-size:15px;
}

.iba-people-grid span{
    display:block;
    color:var(--iba-muted);
    font-family:"Courier New", Courier, monospace;
    font-size:10px;
    line-height:1.4;
    text-transform:uppercase;
}

.iba-practical{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
    gap:60px;
    border-top:1px solid var(--iba-line);
}

.iba-address{
    margin:22px 0 4px !important;
    font-size:20px !important;
    font-weight:700;
}

.iba-practical__main > p > a{
    color:var(--iba-blue-strong) !important;
    font-size:18px;
    font-weight:700;
    text-decoration:none;
}

.iba-practical__main .iba-btn{ margin-top:22px; }

.iba-practical__access{
    display:grid;
    align-content:start;
    gap:8px;
    padding-top:28px;
}

.iba-practical__access span{
    padding:11px 13px;
    border:1px solid var(--iba-line);
    border-left:3px solid var(--iba-blue-strong);
    font-family:"Courier New", Courier, monospace;
    font-size:10px;
    font-weight:700;
}

.iba-support{
    max-width:none;
    padding-left:max(24px,calc((100vw - 1240px)/2 + 24px));
    padding-right:max(24px,calc((100vw - 1240px)/2 + 24px));
    background:var(--iba-soft);
    color:var(--iba-ink);
    border-top:1px solid var(--iba-line);
}

.iba-support h2{ color:var(--iba-ink) !important; }

.iba-support__lead{
    max-width:880px;
    margin:25px 0 34px !important;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(19px,2vw,27px) !important;
    line-height:1.48 !important;
}

.iba-support-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-bottom:30px;
    border-top:1px solid var(--iba-line);
    border-left:1px solid var(--iba-line);
}

.iba-support-grid p{
    margin:0 !important;
    min-height:130px;
    padding:18px;
    border-right:1px solid var(--iba-line);
    border-bottom:1px solid var(--iba-line);
    font-size:13px !important;
    line-height:1.5 !important;
}

.iba-support-grid strong{
    color:var(--iba-ink);
    font-size:15px;
}

.iba-footer{
    display:flex;
    justify-content:space-between;
    gap:30px;
    padding:28px max(24px,calc((100vw - 1240px)/2));
    border-top:1px solid var(--iba-line);
    background:#fff;
}

.iba-footer > div{ display:flex; flex-direction:column; }
.iba-footer strong{
    color:var(--iba-blue-strong);
    font-family:"Courier New", Courier, monospace;
    font-size:11px;
    letter-spacing:.12em;
}
.iba-footer span{
    font-family:Georgia, "Times New Roman", serif;
    font-size:20px;
}
.iba-footer a{
    color:var(--iba-blue-strong) !important;
    font-family:"Courier New", Courier, monospace;
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}

@media(max-width:1000px){
    .iba-hero{
        grid-template-columns:minmax(0,1fr) 190px;
        gap:45px;
    }
    .iba-route{ grid-template-columns:repeat(4,minmax(0,1fr)); }
    .iba-programme-grid{ grid-template-columns:1fr; }
    .iba-event--wide{ grid-column:auto; }
    .iba-people-grid,
    .iba-support-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:720px){
    .iba-topbar{
        flex-direction:column;
        gap:2px;
        padding:10px 18px;
    }

    .iba-hero{
        grid-template-columns:1fr;
        gap:35px;
        padding:46px 18px 44px;
    }

    .iba-title{ font-size:clamp(56px,18vw,88px) !important; }
    .iba-question{ font-size:22px !important; }

    .iba-hero__visual{
        padding-top:0;
        display:grid;
        grid-template-columns:115px 1fr;
        gap:18px;
        align-items:end;
    }

    .iba-flag{ width:115px; }

    .iba-route{
        grid-template-columns:repeat(2,minmax(0,1fr));
        padding:0 18px;
    }

    .iba-route a{ min-height:72px; padding:14px 10px; }

    .iba-programme,
    .iba-people,
    .iba-practical{
        padding:52px 18px;
    }

    .iba-section-head{
        grid-template-columns:1fr;
        gap:16px;
    }

    .iba-section-head > p{ text-align:left; }

    .iba-event{ padding:22px 18px 26px; }
    .iba-event h3{ font-size:38px !important; }

    .iba-editorial-card,
    .iba-editorial-card--blue{
        grid-template-columns:1fr;
        padding:54px 18px;
    }

    .iba-editorial-card__num,
    .iba-editorial-card h2,
    .iba-editorial-card p,
    .iba-editorial-card > a{
        grid-column:1;
    }

    .iba-editorial-card__num{ margin-bottom:10px; }
    .iba-editorial-card h2{ font-size:44px !important; }

    .iba-people-grid,
    .iba-support-grid{ grid-template-columns:1fr; }

    .iba-practical{
        grid-template-columns:1fr;
        gap:25px;
    }

    .iba-support{
        padding:54px 18px;
    }

    .iba-footer{
        flex-direction:column;
        align-items:flex-start;
        padding:25px 18px;
    }
}
