/*
Theme Name: Kandida
Author: JFM Technologies
Description: Thème WordPress pour le site de Volcy Assad.
Version: 0.4.19
Text Domain: kandida
*/
:root { --ink:#0d2a72; --red:#d7193a; --paper:#f1f3f9; --line:#d7dfed; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fff; font:1rem/1.6 system-ui,sans-serif; }
a { color:inherit; text-underline-offset:.22em; }
a:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.wrap { width:min(72rem, 100% - 2rem); margin-inline:auto; }
.skip-link { position:absolute; top:-10rem; z-index:10; background:white; padding:.6rem; }
.skip-link:focus { top:0; }
.top,.site-footer { background:var(--ink); color:white; padding:.55rem 0; }
.top { font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; }
.site-header,.brand,nav ul,.actions { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }
.site-header { justify-content:space-between; padding:1rem 0; }
.brand { text-decoration:none; text-transform:uppercase; gap:.7rem; }
.custom-logo { width:auto; max-height:56px; }
nav ul { margin:0; padding:0; list-style:none; }
nav a { text-decoration:none; }
nav a:hover { text-decoration:underline; }
.hero { background:var(--paper); }
.hero-grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:3rem; padding-block:clamp(2rem,7vw,6rem); }
.label { letter-spacing:.14em; font-weight:750; text-transform:uppercase; font-size:.75rem; }
h1,h2,h3 { line-height:1.06; }
h1 { font-size:clamp(2.8rem,7vw,6.2rem); letter-spacing:-.06em; margin:.25em 0; }
h2 { font-size:clamp(1.6rem,4vw,2.8rem); margin:0 0 .5em; }
.lead { font-size:clamp(1.1rem,2.4vw,1.5rem); }
.button { background:var(--red); color:#fff; padding:.7rem 1rem; border-radius:3px; font-weight:750; text-decoration:none; }
.button:hover { background:#90162c; }
.hero-image { width:100%; height:auto; max-height:29rem; object-fit:contain; }
.sections { padding-block:2rem; }
.sections section { border-bottom:1px solid var(--line); padding:1.6rem 0; scroll-margin-top:1rem; }
.sections img { max-width:100%; height:auto; }
.news { display:flex; gap:1rem; align-items:baseline; flex-wrap:wrap; }
.site-footer { padding-block:1.3rem; }
.top { border-bottom:3px solid var(--red); }
.hero { border-bottom:1px solid var(--line); }
.hero-grid { grid-template-columns:1.2fr .8fr; }
.hero h1 span { color:var(--red); }
.hero .label,.editorial .label { color:var(--red); }
.hero-mark { position:relative; isolation:isolate; overflow:hidden; min-height:19rem; display:grid; align-content:space-between; padding:1.5rem; color:#fff; background:var(--ink); }
.hero-mark::after { content:""; position:absolute; z-index:-1; inset:0; background:var(--red); clip-path:polygon(78% 0,100% 0,100% 100%,32% 100%); }
.hero-mark strong { font-size:clamp(6rem,14vw,12rem); line-height:.9; letter-spacing:-.12em; }
.hero-mark span,.hero-mark small { letter-spacing:.17em; font-size:.74rem; font-weight:700; }
.sections .editorial { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:2rem; padding-block:clamp(2rem,5vw,4rem); }
.priorities,.communes { list-style:none; margin:0; padding:0; }
.priorities { counter-reset:priority; }
.priorities li { counter-increment:priority; display:grid; grid-template-columns:3rem 1fr; gap:.35rem .75rem; padding:1rem 0; border-top:1px solid var(--line); }
.priorities li::before { content:counter(priority, decimal-leading-zero); color:var(--red); font-weight:800; }
.priorities h3,.priorities p { margin:0; }
.priorities p { grid-column:2; }
.timeline { display:grid; grid-template-columns:auto 1fr; gap:.75rem 1rem; }
.timeline dt { font-weight:700; color:var(--red); }
.timeline dd { margin:0; }
.communes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem; }
.communes li { border-bottom:1px solid var(--line); padding:.55rem 0; overflow-wrap:anywhere; }
@media (max-width:700px) {
    .hero-grid,.sections .editorial { grid-template-columns:1fr; gap:1.25rem; }
    .hero-image { max-height:19rem; }
    .hero-mark { min-height:12rem; }
    .site-header nav ul { gap:.5rem 1rem; }
}
.page-banner { background:var(--ink); color:#fff; border-bottom:4px solid var(--red); padding:clamp(2rem,6vw,4.5rem) 0; }
.page-banner h1 { font-size:clamp(2.2rem,6vw,4.8rem); max-width:20ch; }
.page-body { max-width:54rem; min-height:45vh; }
.page-body > h2 { margin-top:1.5em; font-size:clamp(1.35rem,3vw,2rem); }
.news-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1.5rem; }
.news-grid article { border-top:1px solid var(--line); padding-top:1rem; }
.news-grid time { display:block; font-size:.8rem; color:var(--red); }
.draft-notice { text-align:center; background:#fff4df; color:#784706; font-size:.78rem; padding:.28rem 1rem; }
.pdf-header,.site-footer { background:#091c50; color:#fff; }
.site-header { gap:.75rem; padding-block:.7rem; }
.site-header nav { margin-inline-start:auto; }
.site-header nav ul { gap:.4rem 1rem; }
.site-header nav a { font-size:.85rem; }
.brand strong { font-size:1.1rem; line-height:1.15; }
.brand strong span { color:#ff4055; }
.brand small { display:block; font-size:.57rem; letter-spacing:.16em; margin-top:.3rem; font-weight:500; }
.brand img { width:38px; height:38px; border-radius:7px; }
.header-contribute,.pdf-actions a { background:var(--red); color:#fff; text-decoration:none; border-radius:9px; font-weight:750; }
.header-contribute { padding:.43rem .68rem; font-size:.75rem; text-transform:uppercase; }
.locale { background:#fff; color:var(--ink); border-radius:1rem; padding:.1rem .55rem; font-size:.75rem; }
.pdf-home { color:#18223b; }
.pdf-home h2 { color:var(--ink); letter-spacing:-.025em; }
.pdf-home h3,.programme-grid h3 { color:var(--ink); }
.pdf-home .label { color:var(--red); margin:0 0 .7rem; }
.pdf-hero { border-top:1px solid #ffffff32; color:#fff; background:radial-gradient(ellipse at 85% 115%,#283f7e 0 24%,transparent 24.2%),linear-gradient(120deg,#091c50,#0e2b71); }
.pdf-hero .hero-grid { grid-template-columns:1.1fr .9fr; gap:clamp(2rem,6vw,6rem); padding-block:clamp(2rem,5vw,4rem) 0; }
.pdf-hero .hero-grid > div { padding-bottom:2rem; }
.pdf-hero .label { color:#ff8497; }
.pdf-hero h1 { text-transform:uppercase; font-weight:900; line-height:.92; margin:.15em 0 .25em; }
.pdf-hero h1 span { color:#ef2547; }
.hero-tagline { font-size:1.35rem; font-weight:750; }
.pdf-hero p:not(.label):not(.hero-tagline) { max-width:36rem; color:#d7e2ff; }
.pdf-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; max-width:34rem; margin-top:1.6rem; }
.pdf-actions a { padding:.85rem .5rem; text-align:center; border:1px solid transparent; }
.pdf-actions a:nth-child(even) { background:transparent; border-color:#aabbe6; }
.pdf-actions a:nth-child(3) { grid-column:1 / -1; background:#fff; color:var(--red); }
.pdf-portrait { position:relative; margin:0; border-radius:1.4rem 1.4rem 0 0; overflow:hidden; border-bottom:7px solid var(--red); align-self:end; }
.pdf-portrait img { display:block; width:100%; height:auto; }
.pdf-portrait figcaption { position:absolute; bottom:1rem; inset-inline:1rem; background:var(--red); border-radius:9px; padding:.65rem 1rem; font-size:.8rem; }
.pdf-section { padding-block:clamp(2.6rem,6vw,5rem); }
.pdf-columns,.programme-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,3vw,3rem); }
.terrain { padding:2rem; color:#fff; border-radius:1rem; min-height:19rem; align-self:center; background:radial-gradient(circle at 76% 29%,var(--red) 0 10%,transparent 10.5%),linear-gradient(165deg,#0d2a72 0 58%,#1744a7 58.5% 78%,#e5ebfa 78.5%); }
.pdf-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.pdf-values > div,.bio-cards article { background:var(--paper); border-radius:.8rem; padding:1rem; }
.pdf-values > div { border-top:2px solid var(--red); font-size:.85rem; }
.bio-cards { margin-block:2rem; gap:1rem; }
.bio-cards article { border-left:3px solid var(--ink); }
.pdf-tint { background:var(--paper); }
.pdf-intro { max-width:38rem; }
.programme-grid { list-style:none; padding:0; gap:1rem; }
.programme-grid > li,.pdf-support { background:#fff; border:1px solid var(--line); border-radius:1.1rem; padding:1.4rem; }
.programme-icon,.programme-number { display:block; }
.programme-icon { width:2.8rem; padding:.3rem; text-align:center; border-radius:.65rem; background:var(--ink); color:white; font-size:1.2rem; }
.programme-number { font-size:2.15rem; color:var(--red); font-weight:900; }
.programme-grid h2 { font-size:1rem; margin:.85rem 0 .2rem; }
.programme-grid p { margin:.2rem 0; }
.programme-grid a { display:inline-block; margin-top:.75rem; font-weight:700; }
.pdf-note { background:var(--ink); color:white; padding:1rem; border-radius:.8rem; }
.pdf-join { background:var(--red); color:#fff; }
.pdf-join h2,.pdf-join .label { color:#fff; }
.pdf-join .button { background:#fff; color:var(--ink); display:inline-block; }
.pdf-support { border-top:3px solid var(--red); }
.pdf-support button { border:0; padding:.65rem; width:100%; background:#f5bec7; border-radius:.5rem; color:#4f2031; }
@media(max-width:760px) {
 .pdf-hero .hero-grid,.pdf-columns,.programme-grid { grid-template-columns:1fr; }
 .site-header nav { width:100%; margin:0; }
 .pdf-values { grid-template-columns:repeat(auto-fit,minmax(8rem,1fr)); }
}

.candidate-intro { max-width:54rem; }

.brand img { width:64px; height:auto; border-radius:0; }
.programme-grid > li { border:0; border-radius:0; border-top:2px solid var(--ink); }
.programme-grid h3 { margin-top:0; }
.territory-map { display:block; width:100%; min-height:clamp(24rem,60vw,40rem); border:1px solid var(--line); }
.campaign-form { display:grid; gap:1rem; max-width:38rem; padding:1.2rem; border:1px solid var(--line); border-radius:.75rem; }
.campaign-form label { display:block; }
.campaign-form input:not([type=checkbox]):not([type=radio]),.campaign-form select,.campaign-form textarea { display:block; width:100%; margin-top:.25rem; padding:.65rem; border:1px solid var(--line); border-radius:.25rem; font:inherit; }
.campaign-form button { justify-self:start; border:0; }
.campaign-form button:disabled { opacity:.55; }
.home-panels { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:start; }
.home-news { border-top:3px solid var(--ink); padding-top:1rem; }
.home-news-link { display:inline-block; margin-top:.75rem; font-weight:700; }
.home-news .news-grid { display:block; }
.home-news .news-grid article { display:flow-root; margin-bottom:1rem; }
.home-news .news-grid img { width:7rem; height:auto; float:left; margin:0 1rem .65rem 0; }
.home-news .news-grid h3 { margin:.4rem 0; }
.home-donate { background:var(--ink); color:#fff; border-top:4px solid var(--red); padding:clamp(1rem,3vw,2rem); }
.home-donate h2 { color:#fff; font-size:clamp(1.5rem,3vw,2.2rem); }
.home-donate .button { display:inline-block; }
.home-donate-status { font-size:.84rem; color:#d7e2ff; margin-bottom:0; }
@media(max-width:760px) { .home-panels { grid-template-columns:1fr; } }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(14rem,19rem); gap:clamp(2rem,5vw,5rem); align-items:start; padding-block:clamp(2rem,5vw,4rem); }
.article-story { min-width:0; overflow-wrap:anywhere; }
.article-story h1 { font-size:clamp(2rem,4.2vw,3.65rem); line-height:1.12; letter-spacing:-.035em; margin:.45em 0 .35em; }
.article-back { font-size:.9rem; font-weight:700; }
.article-meta { color:#48546b; font-size:.9rem; margin:0 0 1.5rem; }
.article-meta span { padding-inline:.35rem; }
.article-cover { margin:0 0 1.8rem; }
.article-cover img { display:block; width:100%; height:auto; max-height:30rem; object-fit:contain; background:var(--paper); }
.article-cover figcaption { font-size:.85rem; margin-top:.5rem; color:#48546b; }
.article-content { max-width:72ch; font-size:1.05rem; line-height:1.75; }
.article-content img { max-width:100%; height:auto; }
.article-content h2 { font-size:clamp(1.4rem,3vw,2rem); }
.article-widget { padding:1.15rem; border-top:3px solid var(--red); background:var(--paper); margin-bottom:1rem; }
.article-widget h2 { font-size:1.3rem; }
.article-widget ul { list-style:none; padding:0; }
.article-widget li { border-bottom:1px solid var(--line); padding:.65rem 0; }
.article-widget time { display:block; font-size:.8rem; color:#48546b; }
@media(max-width:760px) { .article-layout { grid-template-columns:1fr; } }

.article-action .button { display:inline-block; }

.home-agenda { padding-bottom:clamp(2rem,5vw,4rem); }
.page-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(14rem,19rem); gap:clamp(2rem,5vw,5rem); align-items:start; }
.page-layout > .article-sidebar { padding-top:2rem; }
.page-body { margin-inline:auto; }
.page-layout > .page-body { margin-inline:0; }
@media(max-width:760px) { .page-layout { grid-template-columns:1fr; gap:0; } }
.event-carousel { padding-top:clamp(2rem,5vw,4rem); }
.event-carousel header,.carousel-controls { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.event-carousel figure { margin:0; }
.event-carousel img { display:block; width:100%; height:auto; max-height:34rem; object-fit:contain; background:var(--paper); }
.event-carousel figcaption { padding:.6rem 0; }
.carousel-controls { justify-content:center; padding:.75rem 0; }
.carousel-controls button { font:inherit; color:var(--ink); border:1px solid var(--line); background:white; padding:.45rem .7rem; cursor:pointer; }
.page-body video,.page-body iframe { max-width:100%; }

.home .pdf-header {
    border-bottom:1px solid #ffffff26;
}
.pdf-home .pdf-hero {
    background:linear-gradient(115deg,#091c50 0%,#102c71 72%,#173981 100%);
    border-top:0;
    overflow:hidden;
}
.pdf-home .hero-grid {
    min-height:clamp(28rem,49vw,40rem);
    padding-block:clamp(2.5rem,6vw,5.5rem);
    gap:clamp(2rem,6vw,5.5rem);
}
.pdf-home .hero-grid > div { padding-bottom:0; }
.pdf-home .pdf-hero h1 {
    font-size:clamp(3.5rem,8vw,7.1rem);
    letter-spacing:-.065em;
    line-height:.88;
    margin:.2em 0 .28em;
}
.pdf-home .hero-tagline { max-width:27rem; margin:0; font-weight:600; line-height:1.45; }
.pdf-home .pdf-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.85rem 1.5rem;
    margin-top:1.8rem;
}
.pdf-home .pdf-actions a { padding:.75rem 1.1rem; border-radius:.25rem; }
.pdf-home .pdf-actions a:nth-child(2) { border:0; padding:.55rem 0; }
.pdf-home .pdf-actions a:nth-child(2):hover { text-decoration:underline; }
.pdf-home .pdf-portrait {
    align-self:center;
    max-width:28rem;
    width:100%;
    justify-self:end;
    border:1px solid #ffffff40;
    border-bottom:5px solid var(--red);
    border-radius:.4rem;
    box-shadow:0 1rem 2.7rem #06132e55;
}
.pdf-home .pdf-portrait img {
    aspect-ratio:1 / 1.08;
    object-fit:cover;
    object-position:center 32%;
}
.pdf-home .event-carousel {
    padding-block:clamp(2rem,5vw,3.5rem);
    border-bottom:1px solid var(--line);
}
.pdf-home .event-carousel header h2 { margin-bottom:.35em; }
.pdf-home .event-carousel figure { margin-top:1rem; background:var(--paper); }
.pdf-home .home-panels { padding-block:clamp(2rem,5vw,4rem); }
.pdf-home .home-news { border-top:0; padding-top:0; }
.pdf-home .home-news .news-grid article { padding-block:1rem; border-bottom:1px solid var(--line); }
.pdf-home .home-news .news-grid img { width:clamp(6rem,14vw,10rem); aspect-ratio:4 / 3; object-fit:cover; border-radius:.25rem; }
.pdf-home .home-news .news-grid h3 a { text-decoration:none; }
.pdf-home .home-news .news-grid h3 a:hover { text-decoration:underline; }
.pdf-home .article-widget { border:1px solid var(--line); border-top:3px solid var(--ink); border-radius:.25rem; }
@media (max-width:760px) {
    .pdf-home .hero-grid { min-height:0; gap:1.8rem; }
    .pdf-home .pdf-portrait { justify-self:start; max-width:23rem; }
    .pdf-home .pdf-actions { gap:.4rem 1.2rem; }
}

.pdf-home .pdf-hero {
    color:#0a1b48;
    background:#fff;
}
.pdf-home .hero-grid {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    position:relative;
    isolation:isolate;
}
.pdf-home .hero-grid::after {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0 -15vw 0 49%;
    background:linear-gradient(145deg,#e4eafd 0 61%,#f8dce1 61%);
    clip-path:polygon(26% 0,100% 0,100% 100%,0 100%);
}
.pdf-home .pdf-hero .label,.pdf-home .pdf-hero h1 span { color:var(--red); }
.pdf-home .pdf-hero h1 { font-size:clamp(3.8rem,8vw,7.25rem); }
.pdf-home .pdf-actions a:first-child {
    background:white;
    color:var(--red);
    border:2px solid var(--red);
}
.pdf-home .pdf-actions a:first-child:hover { background:var(--red); color:white; }
.pdf-home .pdf-actions a:nth-child(2) { color:var(--ink); }
.pdf-home .pdf-portrait {
    max-width:30rem;
    border:0;
    border-radius:0;
    box-shadow:none;
}
.pdf-home .pdf-portrait img { aspect-ratio:4 / 5; object-position:center; }
.home-editorial { background:var(--paper); padding-block:clamp(2.5rem,6vw,5rem); }
.home-editorial-grid,.home-support-grid {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
    gap:clamp(1.5rem,5vw,4rem);
    align-items:start;
}
.pdf-home .home-editorial .event-carousel {
    width:100%;
    padding:0;
    border:0;
    margin:0;
}
.home-editorial .event-carousel figure { overflow:hidden; border-radius:.35rem; }
.home-editorial .event-carousel img { aspect-ratio:4 / 3; object-fit:cover; }
.home-editorial .home-news { background:white; padding:clamp(1.2rem,3vw,2rem); border-radius:.35rem; }
.home-editorial .home-news h2 { margin-top:0; }
.pdf-home .home-agenda { padding-block:clamp(2rem,5vw,4rem); }
.home-support { background:#091c50; color:white; padding-block:clamp(2.5rem,5vw,4rem); }
.pdf-home .home-support h2 { color:white; }
.home-support .button { display:inline-block; }
.home-support-grid > div + div { border-inline-start:1px solid #ffffff50; padding-inline-start:clamp(1rem,4vw,3rem); }
@media(max-width:760px) {
    .pdf-home .hero-grid,.home-editorial-grid,.home-support-grid { grid-template-columns:1fr; }
    .pdf-home .hero-grid::after { inset:43% -1rem 0 23%; }
    .pdf-home .pdf-hero h1 { font-size:clamp(3.2rem,13vw,5rem); }
    .home-support-grid > div + div { border-inline-start:0; padding-inline-start:0; padding-top:1rem; border-top:1px solid #ffffff50; }
}
.pdf-home .pdf-hero h1.hero-slogan { font-size:clamp(2rem,4.8vw,4.7rem); line-height:1.07; text-transform:none; letter-spacing:-.05em; }
.pdf-home .pdf-hero p.hero-bio { color:#354365; max-width:36rem; line-height:1.65; }

.footer-brand { display:flex; align-items:center; gap:1.2rem; }
.footer-brand img { display:block; width:64px; height:auto; }

.menu-toggle { display:none; }
@media (max-width:1100px) {
    .site-header { display:grid; grid-template-columns:1fr auto auto; gap:.75rem; }
    .site-header .locale { grid-column:3; grid-row:1; }
    .site-header .menu-toggle:not([hidden]) {
        display:inline-flex; align-items:center; gap:.5rem; min-height:44px;
        padding:.5rem .85rem; border:1px solid #ffffff66; border-radius:.6rem;
        background:transparent; color:inherit; font:inherit; font-weight:700; cursor:pointer;
    }
    .site-header .menu-toggle[aria-expanded="true"] { background:#ffffff1c; }
    .site-header nav { grid-column:1 / -1; width:100%; margin:0; border-top:1px solid #ffffff38; padding-top:.5rem; }
    .site-header .menu-toggle:not([hidden])[aria-expanded="false"] + nav { display:none; }
    .site-header nav ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); gap:.25rem; }
    .site-header nav a { display:flex; align-items:center; min-height:44px; padding:.5rem .75rem; font-size:1rem; border-radius:.5rem; }
    .site-header nav a:hover,.site-header nav a[aria-current="page"] { background:#ffffff1c; }
    .site-header nav ul ul { display:block; padding-inline-start:.75rem; }
}
