/*
Theme Name: Loan Panifous
Author: Loan Panifous
Description: Theme politique LFI - charte municipales 2026. Bandes diagonales, bandeaux inclines, Zalando Sans, fond clair.
Version: 2.0
License: GPL-2.0+
Text Domain: loan-panifous
*/

@import url('https://fonts.googleapis.com/css2?family=Zalando+Sans+Expanded:ital,wght@0,400..900;1,400..900&family=Zalando+Sans:ital,wght@0,400..900;1,400..900&display=swap');

:root{
  --violet:#7B13D6; --vert:#43AC59; --jaune:#FFC700; --rouge:#F91616;
  --noir:#0a0a0a; --texte:#1a1a1a; --muted:#6b6b6b; --bg:#fff; --surface:#f7f7f7; --border:#e6e6e6;
  --font:'Zalando Sans Expanded','Zalando Sans',-apple-system,system-ui,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--font);background:var(--bg);color:var(--texte);line-height:1.6;}
img{max-width:100%;height:auto;}
a{color:var(--rouge);text-decoration:none;}
.lp-wrap{max-width:1100px;margin:0 auto;padding:0 1.5rem;}

/* NAV */
.lp-nav{background:#fff;border-bottom:3px solid var(--texte);position:sticky;top:0;z-index:200;}
.lp-nav-inner{max-width:1100px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:14px;flex-wrap:wrap;}
.lp-logo{display:flex;align-items:center;gap:10px;}
.lp-logo img{height:60px;width:auto;}
.lp-logo-txt{font-weight:900;font-style:italic;font-size:1.05rem;letter-spacing:-0.02em;color:var(--texte);}
.lp-menu{display:flex;gap:2px;align-items:center;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.lp-menu a{color:var(--texte);font-weight:700;font-style:italic;padding:.5rem .75rem;font-size:.85rem;letter-spacing:.02em;border-bottom:3px solid transparent;margin-bottom:-3px;display:inline-block;}
.lp-menu a:hover,.lp-menu .current-menu-item a{color:var(--rouge);border-bottom-color:var(--rouge);}

/* BANDES DIAGONALES */
.lp-bandes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}

/* BOUTONS */
.lp-btn{display:inline-block;padding:.85rem 1.6rem;font-weight:900;font-style:italic;font-size:.92rem;letter-spacing:.03em;text-transform:uppercase;border:2px solid var(--texte);cursor:pointer;transition:transform .15s;}
.lp-btn:hover{transform:translate(-2px,-2px);}
.lp-btn--rouge{background:var(--rouge);color:#fff;box-shadow:4px 4px 0 var(--texte);}
.lp-btn--noir{background:var(--texte);color:#fff;box-shadow:4px 4px 0 var(--rouge);}
.lp-btn--blanc{background:#fff;color:var(--texte);box-shadow:4px 4px 0 var(--violet);}
.lp-btn--xl{padding:1rem 2.2rem;font-size:1.05rem;border-width:3px;box-shadow:6px 6px 0 var(--texte);}

/* HERO */
.lp-hero{position:relative;overflow:hidden;background:#fff;border-bottom:3px solid var(--texte);}
.lp-hero-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:3rem 1.5rem;display:flex;gap:3rem;align-items:center;flex-wrap:wrap;}
.lp-hero-photo{flex:0 0 340px;max-width:100%;}
.lp-hero-photo img{display:block;width:100%;height:auto;}
.lp-hero-photo--ph{aspect-ratio:1/1;background:var(--rouge);clip-path:polygon(0 0,100% 0,50% 100%);display:flex;align-items:flex-start;justify-content:center;padding-top:2rem;color:#fff;font-weight:800;font-style:italic;}
.lp-hero-content{flex:1;min-width:280px;}
.lp-hero-content>img{max-width:480px;width:100%;margin-bottom:1rem;}
.lp-hero-mention{display:inline-block;background:#fff;border:2px solid var(--texte);padding:5px 14px;font-size:.78rem;font-weight:800;font-style:italic;letter-spacing:.04em;box-shadow:2px 2px 0 var(--texte);margin-bottom:1.2rem;}
.lp-hero-title{font-size:clamp(2.4rem,5.5vw,3.8rem);font-weight:900;font-style:italic;line-height:1;letter-spacing:-0.03em;margin:0 0 1rem;}
.lp-hero-title .r{color:var(--rouge);}
.lp-hero-sub{font-size:1.05rem;font-weight:600;color:var(--muted);margin:0 0 1.5rem;max-width:480px;}
.lp-hero-cta{display:flex;gap:10px;flex-wrap:wrap;}

/* BANDEAU INCLINE */
.lp-bandeau{display:inline-block;transform:rotate(-3deg);filter:drop-shadow(3px 4px 0 rgba(0,0,0,.18));margin:.3rem 0;}
.lp-bandeau span{display:block;padding:8px 22px;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:900;font-style:italic;color:#fff;letter-spacing:-0.01em;line-height:1;}
.lp-bandeau--violet span{background:var(--violet);}
.lp-bandeau--rouge span{background:var(--rouge);}
.lp-bandeau--vert span{background:var(--vert);}
.lp-bandeau--jaune span{background:var(--jaune);color:var(--texte);}

/* SECTION TITLES */
.lp-sectit{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:900;font-style:italic;letter-spacing:-0.025em;margin:0 0 .5rem;}
.lp-rule{height:5px;width:80px;background:var(--rouge);margin-bottom:2rem;}
.lp-rule--violet{background:var(--violet);} .lp-rule--vert{background:var(--vert);} .lp-rule--jaune{background:var(--jaune);} .lp-rule--rouge{background:var(--rouge);}

/* SECTIONS */
.lp-section{padding:4rem 0;}
.lp-section--surface{background:var(--surface);border-top:3px solid var(--texte);border-bottom:3px solid var(--texte);}

/* LE MOT */
.lp-mot{display:flex;gap:3rem;align-items:center;flex-wrap:wrap;}
.lp-mot-txt{flex:1 1 300px;}
.lp-mot-txt p{font-size:1.05rem;line-height:1.8;}
.lp-mot-txt .accent{color:var(--rouge);font-style:italic;font-weight:900;}
.lp-mot-sign{margin-top:1.5rem;font-style:italic;font-weight:800;font-size:1.15rem;}
.lp-mot-photo{flex:0 0 240px;}
.lp-mot-photo img{border:3px solid var(--texte);box-shadow:6px 6px 0 var(--jaune);transform:rotate(2deg);}

/* GRID ARTICLES */
.lp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.5rem;}
.lp-card{background:#fff;border:2px solid var(--border);overflow:hidden;display:flex;flex-direction:column;transition:all .18s;}
.lp-card:hover{transform:translate(-3px,-3px);border-color:var(--rouge);box-shadow:6px 6px 0 var(--rouge);}
.lp-card-strip{height:6px;background:var(--rouge);}
.lp-card-body{padding:1.2rem 1.3rem;display:flex;flex-direction:column;flex:1;}
.lp-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.lp-pill{display:inline-block;padding:3px 10px;font-size:11px;font-weight:800;font-style:italic;letter-spacing:.04em;text-transform:uppercase;background:rgba(249,22,22,.1);color:var(--rouge);}
.lp-card-date{color:var(--muted);font-size:12px;font-weight:600;}
.lp-card h3{margin:0 0 8px;font-size:1.05rem;font-weight:900;line-height:1.25;letter-spacing:-0.015em;}
.lp-card h3 a{color:var(--texte);}
.lp-card-exc{color:var(--muted);font-size:.9rem;line-height:1.55;flex:1;margin:0 0 14px;}
.lp-card-link{color:var(--rouge);font-weight:800;font-style:italic;font-size:.85rem;}

/* couleurs catégories */
.cat-conseil-municipal .lp-card-strip,.cat-conseil-municipal:hover{border-color:var(--violet);} 
.cat-conseil-municipal .lp-card-strip{background:var(--violet);}
.cat-conseil-municipal:hover{box-shadow:6px 6px 0 var(--violet);}
.cat-vie-locale .lp-card-strip{background:var(--vert);}
.cat-vie-locale:hover{border-color:var(--vert);box-shadow:6px 6px 0 var(--vert);}
.cat-communiques .lp-card-strip{background:var(--jaune);}
.cat-communiques:hover{border-color:var(--jaune);box-shadow:6px 6px 0 var(--jaune);}
.cat-analyses .lp-card-strip{background:var(--violet);}

/* AP BANNER */
.lp-ap{text-align:center;padding:4rem 1.5rem;background:#fff;position:relative;overflow:hidden;}
.lp-ap h2{font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:900;font-style:italic;letter-spacing:-0.025em;margin:0 0 .8rem;}
.lp-ap p{color:var(--muted);font-size:1.02rem;max-width:560px;margin:0 auto 2rem;}

/* NEWSLETTER */
.lp-news{background:var(--surface);padding:3.5rem 1.5rem;text-align:center;border-top:1px solid var(--border);}
.lp-news h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:900;font-style:italic;letter-spacing:-0.025em;margin:0 0 .6rem;}
.lp-news p{color:var(--muted);margin:0 auto 1.5rem;max-width:480px;}

/* PAGE HEAD */
.lp-phead{position:relative;overflow:hidden;padding:3rem 1.5rem 5rem;color:#fff;}
.lp-phead--violet{background:var(--violet);} .lp-phead--vert{background:var(--vert);} .lp-phead--rouge{background:var(--rouge);} .lp-phead--jaune{background:var(--jaune);color:var(--texte);}
.lp-phead h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:900;font-style:italic;letter-spacing:-0.025em;margin:0;line-height:1;position:relative;z-index:1;}
.lp-phead p{font-size:1.05rem;font-style:italic;font-weight:600;margin-top:1rem;max-width:580px;position:relative;z-index:1;}
.lp-phead .lp-phead-deco{position:absolute;right:-30px;top:10px;opacity:.13;z-index:0;font-size:14rem;font-weight:900;font-style:italic;line-height:1;}
.lp-pbody{max-width:880px;margin:-3rem auto 0;padding:0 1.5rem 3rem;position:relative;z-index:2;}
.lp-pbody--wide{max-width:1100px;}

/* BLOC ENCADRE */
.lp-box{background:#fff;border:3px solid var(--texte);padding:2rem;box-shadow:8px 8px 0 var(--texte);margin-bottom:2rem;}
.lp-eng{background:#fff;border:2px solid var(--texte);padding:1.3rem 1.5rem;margin-bottom:1rem;}
.lp-eng h3{margin:0 0 4px;font-weight:900;font-style:italic;font-size:1.05rem;letter-spacing:-0.015em;}
.lp-eng p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.6;}
.lp-eng--violet{border-left:8px solid var(--violet);box-shadow:4px 4px 0 var(--violet);}
.lp-eng--jaune{border-left:8px solid var(--jaune);box-shadow:4px 4px 0 var(--jaune);}
.lp-eng--rouge{border-left:8px solid var(--rouge);box-shadow:4px 4px 0 var(--rouge);}
.lp-eng--vert{border-left:8px solid var(--vert);box-shadow:4px 4px 0 var(--vert);}

/* CITATIONS */
.lp-quote{background:#fff;border:3px solid var(--texte);padding:1.6rem 1.8rem;margin-bottom:1.3rem;}
.lp-quote--violet{border-left:10px solid var(--violet);box-shadow:5px 5px 0 var(--violet);}
.lp-quote--rouge{border-left:10px solid var(--rouge);box-shadow:5px 5px 0 var(--rouge);}
.lp-quote--vert{border-left:10px solid var(--vert);box-shadow:5px 5px 0 var(--vert);}
.lp-quote-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:.8rem;color:var(--muted);font-size:.83rem;font-weight:700;}
.lp-quote blockquote{margin:0;font-size:1.1rem;font-style:italic;line-height:1.7;font-weight:600;}

/* SINGLE */
.lp-single{max-width:920px;margin:0 auto;padding:3rem 1.5rem;}
.lp-single h1{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:900;font-style:italic;line-height:1.1;letter-spacing:-0.025em;margin:.8rem 0 .4rem;}
.lp-single .date{color:var(--muted);font-size:.85rem;font-weight:700;margin-bottom:2rem;}
.lp-single-content{font-size:1.05rem;line-height:1.85;}
.lp-single .lp-single-content{text-align:justify;hyphens:auto;}
.lp-back{color:var(--rouge);font-weight:900;font-style:italic;font-size:.9rem;display:inline-block;margin-bottom:1.5rem;}

/* AGENDA */
.lp-event{background:#fff;border:2px solid var(--texte);padding:1.3rem 1.5rem;margin-bottom:1rem;display:flex;gap:1.3rem;align-items:flex-start;box-shadow:4px 4px 0 var(--violet);}
.lp-event-date{flex:0 0 auto;background:var(--violet);color:#fff;text-align:center;padding:.6rem .9rem;font-weight:900;font-style:italic;line-height:1;}
.lp-event-date .d{font-size:1.6rem;display:block;}
.lp-event-date .m{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;}
.lp-event h3{margin:0 0 4px;font-weight:900;font-style:italic;font-size:1.1rem;letter-spacing:-0.015em;}
.lp-event p{margin:0;color:var(--muted);font-size:.92rem;}

/* FOOTER */
.lp-footer{background:var(--texte);padding:3rem 1.5rem 2rem;text-align:center;}
.lp-footer img{max-height:54px;width:auto;margin-bottom:1rem;}
.lp-footer .n{color:#fff;font-weight:900;font-style:italic;font-size:1.05rem;letter-spacing:-0.015em;margin-bottom:6px;}
.lp-footer .s{color:#aaa;font-size:.85rem;margin-bottom:6px;}
.lp-footer .m{color:#666;font-size:.75rem;margin-top:1.2rem;}

/* RESPONSIVE */
@media(max-width:782px){
  .lp-hero-photo{flex-basis:240px;margin:0 auto;}
  .lp-mot-photo{flex-basis:100%;}
}
/* ===== AGENDA : événements en carrés ===== */
.lp-agenda-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.3rem;margin-top:2rem;}
.lp-event-sq{position:relative;background:#fff;border:3px solid var(--texte);padding:1.4rem;display:flex;flex-direction:column;gap:.55rem;aspect-ratio:1/1;}
.lp-event-sq--violet{box-shadow:6px 6px 0 var(--violet);}
.lp-event-sq--rouge{box-shadow:6px 6px 0 var(--rouge);}
.lp-event-sq--vert{box-shadow:6px 6px 0 var(--vert);}
.lp-event-sq--jaune{box-shadow:6px 6px 0 var(--jaune);}
.lp-event-sq-date{align-self:flex-start;color:#fff;text-align:center;padding:.5rem .85rem;font-weight:900;font-style:italic;line-height:1;}
.lp-event-sq-date--violet{background:var(--violet);}
.lp-event-sq-date--rouge{background:var(--rouge);}
.lp-event-sq-date--vert{background:var(--vert);}
.lp-event-sq-date--jaune{background:var(--jaune);color:var(--texte);}
.lp-event-sq-date .d{font-size:1.7rem;display:block;}
.lp-event-sq-date .m{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;}
.lp-event-sq h3{margin:0;font-weight:900;font-style:italic;font-size:1.05rem;letter-spacing:-0.015em;line-height:1.2;}
.lp-event-sq p{margin:0;color:var(--muted);font-size:.85rem;}
.lp-event-sq-desc{color:var(--muted);font-size:.8rem;line-height:1.5;margin-top:auto;}
@media(max-width:520px){.lp-event-sq{aspect-ratio:auto;}}
/* ===== PRISES DE PAROLE ===== */
.lp-video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:1rem;}
.lp-video-card{background:#fff;border:3px solid var(--texte);box-shadow:5px 5px 0 var(--rouge);padding-bottom:1rem;}
.lp-video-embed{position:relative;aspect-ratio:16/9;background:#000;}
.lp-video-embed iframe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0;}
.lp-video-card h3{margin:1rem 1.2rem .3rem;font-weight:900;font-style:italic;font-size:1.05rem;letter-spacing:-0.015em;line-height:1.2;}
.lp-video-card p{margin:0 1.2rem;color:var(--muted);font-size:.85rem;}
.lp-press-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.3rem;}
.lp-press-card{display:flex;flex-direction:column;gap:.4rem;background:#fff;border:3px solid var(--texte);border-left:10px solid var(--jaune);box-shadow:5px 5px 0 var(--jaune);padding:1.4rem;text-decoration:none;color:var(--texte);transition:transform .15s;}
.lp-press-card:hover{transform:translate(-3px,-3px);}
.lp-press-media{font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;color:#b88f00;}
.lp-press-card h3{margin:0;font-weight:900;font-style:italic;font-size:1.05rem;letter-spacing:-0.015em;line-height:1.25;}
.lp-press-date{color:var(--muted);font-size:.8rem;}
.lp-press-link{margin-top:auto;color:var(--texte);font-weight:800;font-style:italic;font-size:.85rem;}