/*
Theme Name: Élysée 2027
Description: Thème dédié au site de veille présidentielle 2027. Affiche le site du plugin « Élysée 2027 » en pleine page (accueil, candidats, thèmes, sondages, presse, intox) et habille sobrement les autres pages (mentions légales, contact...). Nécessite le plugin Élysée 2027.
Version: 1.15.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: veille2027-theme
*/
:root{--paper:#fff;--wash:#f2f4f8;--ink:#0f1b33;--ink-2:#44506a;--ink-3:#6b7590;--rule:#d8dde7;--navy:#13254d;--accent:#b8142f;--link:#1d4fa3}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink)}
body{font-family:"Source Sans 3",Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6}
a{color:var(--link)}
img{max-width:100%;height:auto}
.v27-full{min-height:100vh}
/* Pages secondaires */
.v27-bar{background:var(--navy);color:#fff}
.v27-bar .in,.v27-page,.v27-foot .in{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.v27-bar .in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}
.v27-brand{color:#fff;text-decoration:none;font-family:"Archivo","Arial Narrow",Arial,sans-serif;font-weight:800;font-size:19px}
.v27-brand b{background:var(--accent);padding:1px 7px;margin-right:8px}
.v27-bar nav a{color:#cfd8ec;text-decoration:none;font-family:"Archivo",Arial,sans-serif;font-weight:600;font-size:14px;margin-left:14px}
.v27-bar nav a:hover{color:#fff}
.v27-page{padding-block:40px 64px;max-width:820px}
.v27-page h1{font-family:"Archivo",Arial,sans-serif;font-size:clamp(28px,4vw,40px);line-height:1.1;margin:0 0 20px}
.v27-page h2,.v27-page h3{font-family:"Archivo",Arial,sans-serif}
.v27-foot{border-top:1px solid var(--rule);background:var(--wash);font-size:13px;color:var(--ink-3)}
.v27-foot .in{padding-block:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.v27-foot a{color:var(--ink-3)}
.v27-missing{max-width:640px;margin:80px auto;padding:24px;border:1px solid var(--rule);font-family:Arial,sans-serif}
.v27-foot ul,.v27-foot li{display:inline;list-style:none;margin:0 0 0 12px;padding:0}

/* Articles (veille presse quotidienne) */
.v27-kicker{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#44506a;margin:0 0 10px}
.v27-kicker a{color:#13254d;font-weight:700;text-decoration:none}
.v27-post-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.v27-post-head h1{margin:0}
.v27-portrait{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none}
.v27-post .v27-chapo{font-size:19px;line-height:1.45}
.v27-post p,.v27-post li{font-size:17px;line-height:1.6}
.v27-post h2{font-size:21px;margin:30px 0 10px;padding-top:14px;border-top:2px solid #13254d}
.v27-post blockquote{margin:12px 0;padding:4px 0 4px 16px;border-left:3px solid #c8102e}
.v27-post blockquote p{margin:0 0 4px;font-size:18px}
.v27-post cite{font-size:14px;color:#44506a;font-style:normal}
.v27-post .v27-fiche{background:#eef1f6;padding:14px 16px;border-radius:6px}
.v27-post .v27-note{font-size:14px;color:#44506a}
.v27-post iframe{max-width:100%}
.v27-prev{margin-top:40px}.v27-prev h2{font-size:18px}.v27-prev ul{padding-left:18px}
.v27-cards{list-style:none;margin:0;padding:0}
.v27-cards li{border-bottom:1px solid #d8dde7}
.v27-card{display:flex;gap:14px;align-items:center;padding:14px 0;color:#0f1b33;text-decoration:none}
.v27-card .v27-portrait{width:56px;height:56px}
.v27-card strong{display:block;font-family:"Archivo",Arial,sans-serif;font-size:18px}
.v27-card em{display:block;font-style:normal;color:#44506a;font-size:15px;margin-top:2px}
.v27-card:hover strong{text-decoration:underline}
.v27-list .nav-links{display:flex;gap:16px;margin-top:24px}

/* Menu du haut : sous-menus Candidats et Thèmes */
.v27-bar nav{display:flex;flex-wrap:wrap;align-items:center}
.v27-bar nav a.on{color:#fff;box-shadow:inset 0 -2px 0 #c8102e}
.v27-dd{position:relative;display:inline-flex;margin-left:14px}
.v27-dd>a{margin-left:0!important}
.v27-bar .car{display:inline-block;width:0;height:0;margin-left:6px;vertical-align:middle;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.7}
.v27-menu{display:none;position:absolute;top:100%;left:0;z-index:50;background:#fff;border:1px solid #d8dde7;border-top:3px solid #c8102e;box-shadow:0 12px 32px rgba(15,27,51,.18);padding:8px;width:min(500px,90vw);grid-template-columns:repeat(2,minmax(0,1fr))}
.v27-dd:hover .v27-menu,.v27-dd:focus-within .v27-menu{display:grid}
.v27-bar .v27-menu a{color:#0f1b33;margin:0;padding:7px 9px;border-radius:3px;display:flex;align-items:center;gap:9px;font-size:14px}
.v27-bar .v27-menu a:hover{background:#eef1f6;color:#0f1b33}
.v27-menu img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none}
.v27-bar .v27-menu a.all{grid-column:1/-1;border-top:1px solid #d8dde7;margin-top:4px;padding-top:10px;color:#c8102e;font-size:13px}
@media (max-width:760px),(hover:none){.v27-menu{display:none!important}.v27-bar .car{display:none}.v27-bar nav{overflow-x:auto;flex-wrap:nowrap;width:100%}.v27-bar nav a{white-space:nowrap}}

/* Tableaux des dossiers */
.v27-post .wp-block-table{margin:16px 0;overflow-x:auto}
.v27-post table{border-collapse:collapse;width:100%;font-size:15px}
.v27-post th,.v27-post td{padding:8px 10px;border-bottom:1px solid #d8dde7;text-align:left;white-space:nowrap}
.v27-post th{background:#13254d;color:#fff;font-weight:700}
.v27-post h3{font-size:18px;margin:20px 0 6px}

/* Compte et commentaires */
.v27-acct{font-size:13px;color:#9fb0d4}
.v27-acct a{color:#fff;text-decoration:none;font-weight:600}
.v27-comments{margin-top:44px;padding-top:18px;border-top:2px solid #13254d}
.v27-comments h2{font-family:"Archivo",Arial,sans-serif;font-size:21px;margin:0 0 10px}
.v27-cmt-list,.v27-cmt-list .children{list-style:none;margin:0;padding:0}
.v27-cmt-list .children{margin-left:36px}
.v27-cmt-list .comment-body{padding:14px 0;border-bottom:1px solid #d8dde7}
.v27-cmt-list .comment-author{display:flex;align-items:center;gap:10px;font-weight:700}
.v27-cmt-list .comment-author img{border-radius:50%}
.v27-cmt-list .says{display:none}
.v27-cmt-list .comment-meta{font-size:13px;color:#5a6478;margin:2px 0 6px 46px}
.v27-cmt-list .comment-meta a{color:inherit;text-decoration:none}
.v27-cmt-list .comment-body p{margin:6px 0 0 46px}
.v27-cmt-list .reply{margin-left:46px;font-size:13px}
.v27-cmt-list .comment-awaiting-moderation{display:block;margin-left:46px;font-size:13px;color:#c8102e}
.v27-comments .comment-respond{background:#eef1f6;border:1px solid #d8dde7;padding:16px;margin-top:16px}
.v27-comments .comment-reply-title{font-size:17px;margin:0 0 8px}
.v27-comments textarea{width:100%;box-sizing:border-box;font:inherit;font-size:15px;padding:10px;border:1px solid #d8dde7;border-radius:3px}
.v27-comments input[type=submit],.v27-btn{display:inline-block;background:#c8102e;color:#fff;border:0;font-family:"Archivo",Arial,sans-serif;font-weight:700;font-size:14px;padding:9px 16px;border-radius:3px;cursor:pointer;text-decoration:none}
.v27-btn.alt{background:#0f1b33}
.v27-cmt-note,.v27-muted{font-size:14px;color:#5a6478}
.v27-cmt-login{background:#eef1f6;border:1px solid #d8dde7;padding:16px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.v27-legal a{margin-left:14px}
.v27-bar nav a.v27-sim{background:#c8102e;color:#fff;padding:5px 8px;border-radius:3px}
.m-show{display:none}
@media (max-width:760px){
  .m-hide{display:none}.m-show{display:inline}
  .v27-bar nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;overflow:visible}
  .v27-bar nav a,.v27-dd>a{display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;margin:0!important;font-size:clamp(11.5px,3.4vw,14px);padding:9px 2px;background:rgba(255,255,255,.07);border-radius:3px;min-width:0;overflow:hidden}
  .v27-dd{margin:0;display:flex;min-width:0}.v27-dd>a{flex:1}
  .v27-bar nav a.v27-sim{background:#c8102e}
}

.v27-menu.one{grid-template-columns:1fr;width:min(320px,90vw)}
.v27-menu.one a span{display:flex;flex-direction:column}
.v27-menu.one small{font-weight:400;font-size:12.5px;color:#5a6478}


/* Archives : sous-navigation Actualité, filtre candidat, étiquettes */
.v27-subnav{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #d8dde7;margin:0 0 20px}
.v27-subnav a{padding:9px 12px;font-family:"Archivo",Arial,sans-serif;font-weight:600;font-size:14px;color:#44506a;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px}
.v27-subnav a.on{color:#0f1b33;border-bottom-color:#c8102e}
@media (max-width:620px){.v27-subnav{flex-wrap:nowrap;overflow-x:auto}.v27-subnav a{white-space:nowrap}}
.v27-arch-desc{color:#44506a;max-width:70ch}
.v27-filter{display:flex;align-items:center;gap:10px;margin:14px 0 6px;font-weight:600}
.v27-filter select{font:inherit;font-weight:400;padding:7px 10px;border:1px solid #d8dde7;border-radius:3px}
.v27-type{display:inline-block;font-style:normal!important;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:2px;margin-bottom:4px}
.v27-type.dos{background:#13254d;color:#fff}.v27-type.vei{background:#fbe9ec;color:#a50d26}
.v27-card time{display:block;font-size:12.5px;color:#5a6478;margin-top:3px}

/* =====================================================================
   Charte lhemicycle.com (thème 1.15.0)
   Playfair Display pour les titres, Inter pour le texte ; encre #15222a,
   bleu L'Hémicycle #1d6fb5, rouge Élysée #b8142f.
   ===================================================================== */
:root{--paper:#fff;--wash:#f3f6f8;--ink:#15222a;--ink-2:#3a4a53;--ink-3:#64737c;--rule:#dfe5e9;--navy:#15222a;--accent:#b8142f;--accent-d:#8f0f24;--link:#1d6fb5;--top:#0c151b;--sky:#9fc3d4;--r:6px;--title:"Playfair Display",Georgia,"Times New Roman",serif;--sans:Inter,Arial,Helvetica,sans-serif}
body{font-family:var(--sans);font-size:16px;line-height:1.55;color:#1b272e;-webkit-font-smoothing:antialiased}
a{color:var(--link)}
.v27-page h1,.v27-page h2,.v27-page h3,.v27-card strong,.v27-comments h2,.v27-foot b{font-family:var(--title);font-weight:800;letter-spacing:-.015em;color:var(--ink)}
.v27-page h1{font-size:clamp(30px,4.2vw,46px);line-height:1.08;letter-spacing:-.025em}
.v27-page p,.v27-page li,.v27-arch-desc,.v27-page .v27-cards em,.v27-page .v27-filter{font-family:var(--sans)}
.v27-subnav a,.v27-comments input[type=submit],.v27-btn{font-family:var(--sans)}

/* Barre du haut */
.v27-tb{background:var(--top);color:#8ea4b0;font-size:12.5px;line-height:1.4}
.v27-tb .in,.v27-mast .in{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.v27-tb .in{display:flex;justify-content:space-between;align-items:center;gap:6px 18px;min-height:38px;flex-wrap:wrap;padding-block:6px}
.v27-tb a{color:#dfe7eb;font-weight:600;text-decoration:none}
.v27-tb a:hover{color:#fff}
.v27-tb-l a{color:var(--sky);font-weight:700}
.v27-tb-r{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap}
.v27-tb .v27-acct{font-size:12.5px;color:#8ea4b0}
.v27-tb .v27-acct a{color:#dfe7eb}
.v27-tb a.v27-tb-sub{background:var(--link);color:#fff;border-radius:3px;padding:3px 12px;font-weight:700}
.v27-tb a.v27-tb-sub:hover{background:#fff;color:var(--ink)}

/* Bandeau titre */
.v27-mast{background:var(--ink);color:#fff}
.v27-mast .in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-block:22px 20px}
.v27-mast-tag{margin:0;font-family:var(--title);font-style:italic;font-weight:500;font-size:16px;line-height:1.3;color:var(--sky)}
.v27-brand{justify-self:center;display:block}
.v27-brand img{display:block;height:50px;width:auto}
.v27-cd{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-decoration:none;color:#fff}
.v27-cd small{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sky);line-height:1}
.v27-cd b{font-size:20px;font-weight:800;line-height:1;background:rgba(255,255,255,.08);border-radius:3px;padding:6px 10px;font-variant-numeric:tabular-nums}

/* Menu */
.v27-bar{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:40;background:#fff;color:var(--ink);border-bottom:4px solid var(--ink)}
.v27-bar .in{display:flex;justify-content:center;padding-block:0}
.v27-bar nav{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center}
.v27-bar nav a{position:relative;display:inline-flex;align-items:center;color:var(--ink);font-family:var(--sans);font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:15px 11px;margin:0;white-space:nowrap;text-decoration:none;box-shadow:none}
.v27-bar nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:var(--accent);transform:scaleX(0);transition:transform .2s}
.v27-bar nav a:hover,.v27-bar nav a.on{color:var(--accent);box-shadow:none}
.v27-bar nav a:hover::after,.v27-bar nav a.on::after{transform:scaleX(1)}
.v27-dd{margin-left:0}
.v27-bar nav a.v27-sim{gap:7px;margin:7px 0 7px 12px;padding:9px 14px;border-radius:3px;background:var(--accent);color:#fff;font-size:11.5px;letter-spacing:.06em}
.v27-bar nav a.v27-sim::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.v27-bar nav a.v27-sim::after{display:none}
.v27-bar nav a.v27-sim:hover{background:var(--accent-d);color:#fff}
.v27-menu{border:1px solid var(--rule);border-top:3px solid var(--accent);border-radius:0 0 var(--r) var(--r);box-shadow:0 14px 32px rgba(21,34,42,.18)}
.v27-bar .v27-menu a{display:flex;font-family:var(--sans);text-transform:none;letter-spacing:0;font-weight:600;font-size:14px;padding:7px 9px;border-radius:3px;color:var(--ink)}
.v27-bar .v27-menu a::after{display:none}
.v27-bar .v27-menu a:hover{background:var(--wash);color:var(--ink)}
.v27-bar .v27-menu a.all{color:var(--link);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@media (min-width:761px) and (max-width:1120px){.m-hide{display:none}.m-show{display:inline}.v27-bar nav a{font-size:11px;padding:15px 7px;letter-spacing:.03em}.v27-bar nav a.v27-sim{padding:9px 10px;margin-left:8px}.v27-tb-tv{display:none}}
@media (min-width:761px) and (max-width:900px){.v27-bar nav a{font-size:10.5px;padding:15px 5px;letter-spacing:.01em}.v27-tb-l{display:none}}

/* Contenus */
.v27-page{padding-block:40px 72px}
.v27-kicker{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--ink-3)}
.v27-kicker a{display:inline-block;background:var(--accent);color:#fff;padding:3px 7px 2px;border-radius:2px;font-weight:800}
.v27-post .v27-chapo{font-size:18px;font-weight:500;line-height:1.5;color:var(--ink-2)}
.v27-post p,.v27-post li{font-size:17px;line-height:1.65}
.v27-post h2{font-size:24px;margin:34px 0 10px;padding-top:12px;border-top:6px solid var(--ink)}
.v27-post blockquote{border-left:3px solid var(--accent)}
.v27-post blockquote p{font-family:var(--title);font-style:italic;font-weight:500;font-size:19px}
.v27-post .v27-fiche{background:var(--wash);border-radius:var(--r)}
.v27-post th{background:var(--ink);font-family:var(--sans);font-size:13px}
.v27-post th,.v27-post td{border-bottom-color:var(--rule)}
.v27-prev h2{font-size:20px}
.v27-cards li{border-bottom-color:var(--rule)}
.v27-card{color:var(--ink)}
.v27-card strong{font-size:19px;line-height:1.25}
.v27-card:hover strong{color:var(--accent);text-decoration:none}
.v27-card em{color:var(--ink-2)}
.v27-card time{color:var(--ink-3)}
.v27-type{font-weight:800;letter-spacing:.1em;border-radius:2px}
.v27-type.dos{background:var(--ink)}.v27-type.vei{background:var(--accent);color:#fff}
.v27-subnav{border-bottom-color:var(--rule)}
.v27-subnav a{font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);border-bottom-width:4px}
.v27-subnav a.on{color:var(--accent);border-bottom-color:var(--accent)}
.v27-filter select{border-radius:3px;border-color:var(--rule)}
.v27-list .nav-links a,.v27-list .nav-links span{font-weight:700}
.v27-comments{border-top:6px solid var(--ink)}
.v27-comments h2{font-size:24px}
.v27-comments .comment-respond,.v27-cmt-login{background:var(--wash);border-color:var(--rule);border-radius:var(--r)}
.v27-comments input[type=submit],.v27-btn{background:var(--accent);font-weight:800;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:3px}
.v27-btn.alt{background:var(--ink)}
.v27-cmt-list .comment-body{border-bottom-color:var(--rule)}

/* Pied de page */
.v27-foot{background:var(--ink);color:#c5d0d6;border:0;border-radius:28px 28px 0 0;font-size:14px;line-height:1.55}
.v27-foot .in{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px 48px;align-items:start;padding-block:48px 26px;justify-content:stretch}
.v27-foot-logo img{display:block;width:220px;height:auto}
.v27-foot-txt{display:flex;flex-direction:column;gap:10px}
.v27-foot b{color:#fff;font-size:24px;line-height:1.1}
.v27-foot a{color:var(--sky);text-decoration:underline;text-underline-offset:2px}
.v27-foot a:hover{color:#fff}
.v27-foot .v27-legal{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px}
.v27-foot .v27-legal a{margin:0;text-decoration:none;font-weight:600}
.v27-foot ul,.v27-foot li{margin:0;padding:0}
.v27-foot .v27-credit{grid-column:1/-1;flex-basis:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:12px;font-size:12px;color:#8ea4b0}

/* Mobile */
@media (max-width:760px){
  .v27-tb .in{min-height:34px;flex-wrap:nowrap}
  .v27-tb-l,.v27-tb-tv,.v27-acct-2{display:none}
  .v27-tb-r{margin-left:auto;gap:12px}
  .v27-mast .in{grid-template-columns:auto 1fr;gap:12px;padding-block:14px 13px}
  .v27-mast-tag{display:none}
  .v27-brand{justify-self:start}
  .v27-brand img{height:34px}
  .v27-cd small{font-size:9px;letter-spacing:.08em}
  .v27-cd b{font-size:16px;padding:5px 8px}
  .v27-bar{position:static}
  .v27-bar .in{padding:0}
  .v27-bar nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule);width:100%}
  .v27-bar nav a,.v27-dd>a{display:flex;flex:1;justify-content:center;text-align:center;background:#fff;font-size:clamp(9.5px,2.75vw,11.5px);letter-spacing:.03em;padding:13px 2px;margin:0!important;border-radius:0;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .v27-dd{display:flex;min-width:0;background:#fff}
  .v27-bar nav a::after{bottom:0;height:3px}
  .v27-bar nav a.v27-sim{margin:0;padding:13px 2px;border-radius:0;gap:5px;font-size:clamp(9.5px,2.75vw,11.5px);letter-spacing:.03em}
  .v27-bar nav a.v27-sim::before{width:5px;height:5px;box-shadow:0 0 0 2px rgba(255,255,255,.3)}
  .v27-page{padding-block:26px 56px}
  .v27-foot{border-radius:20px 20px 0 0}
  .v27-foot .in{grid-template-columns:1fr;padding-block:36px 22px}
}
.v27-post p.v27-kicker{font-size:11.5px;line-height:1.8;margin:0 0 14px}
.v27-comments{padding-top:0}
.v27-post .v27-comments h2{border-top:0;padding-top:12px;margin:0 0 10px}
.v27-post .v27-prev h2{margin-top:0}
