
/* V40 — 2027 split landing + dedicated party pages */
body.page-2027 .sa-linkedin, body.page-2027 .sa-header-actions .sa-linkedin{color:#fff!important}

.v40-landing-shell{background:var(--v39-bg)!important;min-height:calc(100vh - 80px)}
.v40-landing-hero{position:relative;background:radial-gradient(circle at 50% -10%,rgba(193,28,28,.18),transparent 34%),#0A0A0A;color:#fff;overflow:hidden;border-bottom:1px solid #242424}
.v40-landing-hero::after{content:"2027";position:absolute;right:-30px;top:-50px;font-family:"Anton",Impact,sans-serif!important;font-size:320px;line-height:1;color:#fff;opacity:.03;pointer-events:none}
.v40-landing-inner{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding:70px 28px 74px;text-align:center}
.v40-edition,.v40-page-kicker{display:inline-flex;border:1px solid #353535;border-radius:999px;padding:8px 12px;font-size:8px;font-weight:800;letter-spacing:.08em;color:#a7a7a7;margin-bottom:20px}
.v40-landing-inner h1{font-family:"Anton",Impact,sans-serif!important;font-size:86px!important;line-height:.92!important;font-weight:400!important;letter-spacing:-.02em!important;margin:0!important;color:#fff!important}
.v40-landing-inner h1 em{font:inherit!important;font-style:normal!important;color:#E5222A!important}
.v40-landing-inner p{max-width:760px;margin:22px auto 0;font-size:14px;line-height:1.65;color:#b6b6b6}
.v40-path{display:flex;justify-content:center;align-items:center;gap:8px;color:#767676;font-size:10px;font-weight:700;margin-top:24px;flex-wrap:wrap}
.v40-path span{display:flex;align-items:center;gap:6px;white-space:nowrap}.v40-path b{width:21px;height:21px;border:1px solid #343434;background:#171717;border-radius:50%;display:grid;place-items:center;font-size:8px;color:#aaa}.v40-path span.active{color:#ddd}.v40-path span.active b{background:#D91D24;border-color:#D91D24;color:#fff}.v40-path i{width:24px;height:1px;background:#333}

.v40-party-selector{padding:34px 0 70px;background:var(--v39-bg)}
.v40-selector-inner{max-width:1320px;margin:0 auto;padding:0 28px}
.v40-selector-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.v40-selector-head span{display:block;font-size:9px;font-weight:900;letter-spacing:.04em;color:var(--v39-red);margin-bottom:8px}
.v40-selector-head h2{font-family:"Anton",Impact,sans-serif!important;font-size:48px!important;font-weight:400!important;line-height:1;margin:0!important;color:#111!important}
.v40-selector-head p{max-width:470px;font-size:14px;line-height:1.6;color:#6C665F;margin:0}
.v40-party-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v40-party-link{--party:#C11C1C;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px;background:rgba(255,255,255,.74);border:1px solid #DED8D0;border-radius:28px;color:#111!important;box-shadow:0 10px 28px rgba(13,13,13,.05);transition:.18s ease;text-decoration:none!important}
.v40-party-link:hover{transform:translateY(-4px);border-color:var(--party);box-shadow:0 18px 34px rgba(13,13,13,.09)}
.v40-party-link-logo{width:92px;height:92px;border-radius:22px;background:#fff;border:1px solid #E5DFD8;display:flex;align-items:center;justify-content:center;padding:14px}
.v40-party-link-logo img{max-width:100%;max-height:62px;object-fit:contain}.v40-party-link-logo.wide img{max-height:50px}
.v40-party-link strong{font-family:"Anton",Impact,sans-serif!important;font-size:34px;line-height:.96;font-weight:400;letter-spacing:-.01em}
.v40-party-link small{font-size:11px;font-weight:800;color:var(--party)}

.v40-party-shell,.v40-party-page-body{background:var(--v39-bg)!important}
.v40-party-page-top{padding:30px 0 10px;background:linear-gradient(to bottom,#EFEAE4 0%,var(--v39-bg) 100%)}
.v40-party-page-inner,.v40-dossier-inner{max-width:1350px;margin:0 auto;padding:0 28px}
.v40-back-link{display:inline-flex;align-items:center;gap:6px;color:#5f5952!important;font-size:12px;font-weight:700;text-decoration:none!important;margin-bottom:18px}
.v40-back-link:hover{color:var(--v39-red)!important}
.v40-page-switcher{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.v40-page-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:10px 14px;border-radius:999px;border:1px solid #D8D2CA;background:rgba(255,255,255,.72);color:#5e5852!important;font-size:11px;font-weight:800;text-decoration:none!important}
.v40-page-switcher a.active{background:#111;color:#fff!important;border-color:#111;box-shadow:0 6px 16px rgba(13,13,13,.12)}
.v40-party-page-body{padding:8px 0 72px}
body.page-2027-party .v39-dossier{padding-top:0}
body.page-2027-party .v39-dossier::before{display:none}
body.page-2027-party .v39-program-nav{top:78px}
body.page-2027-party .v39-party-head{padding-top:10px}
body.page-2027-party .v39-party-head h1{font-family:"Anton",Impact,sans-serif!important;font-size:58px!important;font-weight:400!important;line-height:.94!important;margin:0!important;color:#111!important}
body.page-2027-party .v39-overview-grid{gap:26px}
body.page-2027-party .v39-focus-box,body.page-2027-party .v39-theme-overview,body.page-2027-party .v39-stat{background:rgba(255,255,255,.72)}
body.page-2027-party .v39-theme-head h2{font-family:"Anton",Impact,sans-serif!important;font-size:40px!important;font-weight:400!important;line-height:1;margin:4px 0 0;color:#111!important}

@media (max-width: 980px){
  .v40-landing-inner h1{font-size:68px!important}
  .v40-party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v40-selector-head{display:block}.v40-selector-head p{margin-top:14px}
  body.page-2027-party .v39-party-head h1{font-size:46px!important}
}
@media (max-width: 760px){
  .v40-landing-inner{padding:50px 18px 54px}.v40-landing-inner h1{font-size:54px!important}.v40-landing-inner p{font-size:13px}
  .v40-selector-inner,.v40-party-page-inner,.v40-dossier-inner{padding:0 18px}
  .v40-selector-head h2{font-size:36px!important}
  .v40-party-grid{grid-template-columns:1fr;gap:14px}
  .v40-party-link strong{font-size:28px}
  .v40-party-link-logo{width:84px;height:84px}
  body.page-2027-party .v39-party-head h1{font-size:38px!important}
  body.page-2027-party .v39-program-nav{top:64px}
}


/* V41 — landing page without beige second block */
.v40-landing-shell{background:#0A0A0A!important}
.v40-landing-hero{border-bottom:none;min-height:calc(100vh - 80px)}
.v40-landing-inner{padding:70px 28px 58px}
.v41-inline-selector{max-width:1320px;margin:36px auto 0;text-align:left}
.v41-inline-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}
.v41-inline-head span{display:block;font-size:9px;font-weight:900;letter-spacing:.04em;color:var(--v39-red)}
.v41-inline-head p{margin:0;font-size:13px;line-height:1.5;color:#8e8e8e}
.v41-party-scroller{display:flex;gap:18px;overflow-x:auto;padding:6px 2px 14px;scrollbar-width:none}
.v41-party-scroller::-webkit-scrollbar{display:none}
.v41-party-card{min-width:290px;max-width:290px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 30px rgba(0,0,0,.22)}
.v41-party-card:hover{box-shadow:0 18px 34px rgba(0,0,0,.3)}
@media (max-width:980px){
 .v41-inline-head{display:block}
 .v41-inline-head p{margin-top:10px}
 .v41-party-card{min-width:270px;max-width:270px}
}
@media (max-width:760px){
 .v40-landing-inner{padding:50px 18px 42px}
 .v41-inline-selector{margin-top:26px}
 .v41-party-card{min-width:240px;max-width:240px}
}


/* V42 softer 2027 landing colors + real accessible scroller */
body.page-2027{background:#151311!important}
body.page-2027 .site-footer{background:#151311!important;border-top:1px solid rgba(255,255,255,.08);margin-top:0!important}
body.page-2027 .sa-footer-v31, body.page-2027 .site-footer *{box-sizing:border-box}
body.page-2027 .site-footer .sa-footer-brand, body.page-2027 .site-footer .sa-footer-links, body.page-2027 .site-footer .sa-footer-legal{max-width:1360px}

.v40-landing-shell{background:linear-gradient(180deg,#171513 0%,#121110 100%)!important}
.v40-landing-hero{
  background:
    radial-gradient(circle at 50% -8%, rgba(193,28,28,.18), transparent 32%),
    radial-gradient(circle at 16% 48%, rgba(255,255,255,.035), transparent 26%),
    linear-gradient(180deg,#171513 0%,#121110 68%,#151311 100%);
  color:#fff;
  overflow:hidden;
}
.v40-landing-hero::after{opacity:.04;color:#f4f1ec}
.v40-landing-inner{max-width:1240px;padding:58px 28px 40px}
.v40-landing-inner h1{font-size:78px!important;max-width:980px;margin:0 auto!important}
.v40-landing-inner p{color:#c4bdb4;max-width:820px}
.v40-path{margin-top:22px}
.v40-path span{color:#968d83}
.v40-path span.active{color:#f3ede5}
.v41-inline-selector{margin-top:34px;padding:18px 0 10px;border-top:1px solid rgba(255,255,255,.06)}
.v41-inline-head{margin-bottom:16px}
.v41-inline-head span{color:#f04a4a}
.v41-inline-head p{color:#9f968b}
.v42-scroller-wrap{position:relative;padding:0 48px}
.v41-party-scroller{scroll-snap-type:x mandatory;scroll-padding-left:2px;overscroll-behavior-x:contain;padding:8px 2px 16px}
.v41-party-card{
  min-width:270px;max-width:270px;scroll-snap-align:start;
  background:#f5f1eb;border:1px solid rgba(255,255,255,.1);
  box-shadow:0 14px 28px rgba(0,0,0,.24);border-radius:28px;
}
.v41-party-card strong{font-size:30px;line-height:.97}
.v41-party-card small{font-size:11px}
.v42-scroll-btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:40px;height:40px;border:none;border-radius:999px;
  background:rgba(255,255,255,.1);color:#fff;font-size:28px;line-height:1;
  display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);
  box-shadow:0 8px 18px rgba(0,0,0,.22);transition:.18s ease;
}
.v42-scroll-btn:hover{background:rgba(255,255,255,.18)}
.v42-scroll-btn.prev{left:0}
.v42-scroll-btn.next{right:0}
body.page-2027 .site-footer{padding:34px 0 22px}
body.page-2027 .site-footer .sa-footer-brand,
body.page-2027 .site-footer .sa-footer-links,
body.page-2027 .site-footer .sa-footer-legal{max-width:1360px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}

@media (max-width:1200px){
  .v40-landing-inner h1{font-size:68px!important}
}
@media (max-width:980px){
  .v42-scroller-wrap{padding:0 42px}
}
@media (max-width:760px){
  .v40-landing-inner{padding:44px 18px 28px}
  .v40-landing-inner h1{font-size:50px!important}
  .v42-scroller-wrap{padding:0}
  .v42-scroll-btn{display:none}
  .v41-party-card{min-width:228px;max-width:228px}
  body.page-2027 .site-footer .sa-footer-brand,
  body.page-2027 .site-footer .sa-footer-links,
  body.page-2027 .site-footer .sa-footer-legal{padding-left:18px;padding-right:18px}
}


/* V43 — darker 2027 selector cards + PS sourced dossier */
.v41-party-card{
  position:relative;
  background:#1a1918 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.v41-party-card::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:4px;
  background:var(--party,#fff);
  border-radius:28px 28px 0 0;
}
.v41-party-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.22) !important;
}
.v41-party-card strong,
.v41-party-card small{color:#fff !important}
.v41-party-card small{opacity:.82}
.v41-party-card .v40-party-link-logo{
  background:#F5F4F1 !important;
  border:1px solid rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 6px 16px rgba(0,0,0,.14);
  padding:14px;
}
.v41-party-card .v40-party-link-logo img{
  background:transparent;
  filter:none;
}

.v43-source-stack{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.v43-meta-pill{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:#86807a;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:600;
}
.v43-measure-grid{display:grid;gap:10px;margin-top:12px}
.v43-measure-grid strong{font-size:13px;color:#121212}
.v43-measure-grid p{margin:5px 0 0;font-size:13px;line-height:1.5;color:#55504a}
.v43-measure-meta{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:8px 14px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #ece7e1;
}
.v43-measure-meta b{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#8a8379}
.v43-measure-meta span,.v43-measure-meta a{font-size:13px;line-height:1.45;color:#2d2a27}
.v43-measure-meta a{text-decoration:none;font-weight:600}
.v43-measure-meta a:hover{text-decoration:underline}
.v39-measure.is-placeholder .v43-measure-meta{border-top-color:#dfd6cf}
.v39-measure.is-placeholder .v43-measure-grid strong{color:#2f2a26}


/* V45 — 2027 selector refinement: softer dark, larger logos, cleaner scroll */
.v40-landing-shell,
.v40-landing-hero{
  background:
    radial-gradient(circle at 50% -10%, rgba(193,28,28,.14), transparent 30%),
    linear-gradient(180deg,#211f1d 0%,#1b1918 54%,#181716 100%) !important;
}
.v40-landing-hero::after{opacity:.035!important}
.v41-inline-selector{border-top-color:rgba(255,255,255,.08)!important}

.v42-scroller-wrap{
  padding:0 46px;
  position:relative;
}
.v42-scroller-wrap::before,
.v42-scroller-wrap::after{
  content:"";
  position:absolute;
  top:0;bottom:10px;
  width:34px;
  z-index:2;
  pointer-events:none;
}
.v42-scroller-wrap::before{left:42px;background:linear-gradient(90deg,#1a1817 5%,rgba(26,24,23,0) 100%)}
.v42-scroller-wrap::after{right:42px;background:linear-gradient(270deg,#1a1817 5%,rgba(26,24,23,0) 100%)}
.v41-party-scroller{
  gap:16px!important;
  scroll-behavior:smooth;
  padding:8px 2px 18px!important;
}
.v41-party-card{
  min-width:258px!important;
  max-width:258px!important;
  min-height:224px;
  background:#242220!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.025)!important;
  border-radius:26px!important;
  padding:20px!important;
}
.v41-party-card::before{height:3px!important;border-radius:26px 26px 0 0!important}
.v41-party-card:hover{
  transform:translateY(-3px)!important;
  background:#292725!important;
  box-shadow:0 18px 34px rgba(0,0,0,.28)!important;
}
.v41-party-card .v40-party-link-logo{
  width:104px!important;
  height:104px!important;
  border-radius:20px!important;
  padding:15px!important;
  background:#F5F4F1!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.16)!important;
}
.v41-party-card .v40-party-link-logo img{max-height:72px!important;max-width:100%!important}
.v41-party-card .v40-party-link-logo.wide img{max-height:60px!important}
.v41-party-card strong{
  font-size:29px!important;
  line-height:.98!important;
  letter-spacing:-.012em!important;
}
.v41-party-card small{
  margin-top:auto;
  font-size:10.5px!important;
  opacity:.9!important;
}
.v42-scroll-btn{
  width:38px!important;height:38px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:none!important;
}
.v42-scroll-btn:hover{background:rgba(255,255,255,.15)!important}

@media(max-width:980px){
  .v41-party-card{min-width:246px!important;max-width:246px!important}
  .v42-scroller-wrap::before{left:38px}.v42-scroller-wrap::after{right:38px}
}
@media(max-width:760px){
  .v42-scroller-wrap::before,.v42-scroller-wrap::after{display:none}
  .v41-party-card{min-width:226px!important;max-width:226px!important;min-height:208px;padding:18px!important}
  .v41-party-card .v40-party-link-logo{width:92px!important;height:92px!important}
  .v41-party-card strong{font-size:26px!important}
}


/* Sans Arrondi V69 — vrais logos HZ / NE / R aussi dans le rail 2027 */
.v41-party-card .v40-party-link-logo img[src*="party-horizons.png"]{
  max-height:44px!important;
  max-width:100%!important;
}
.v41-party-card .v40-party-link-logo img[src*="party-nouvelleenergie.png"]{
  max-height:84px!important;
  max-width:100%!important;
}
.v41-party-card .v40-party-link-logo img[src*="party-reconquete.png"]{
  max-height:50px!important;
  max-width:100%!important;
}
@media(max-width:640px){
  .v41-party-card .v40-party-link-logo img[src*="party-horizons.png"]{max-height:38px!important}
  .v41-party-card .v40-party-link-logo img[src*="party-nouvelleenergie.png"]{max-height:74px!important}
  .v41-party-card .v40-party-link-logo img[src*="party-reconquete.png"]{max-height:42px!important}
}


/* Sans Arrondi V70 — normalisation logos HZ / NE / R dans le rail */
.v41-party-card .v40-party-link-logo.wide{
  width:122px!important;
}
.v41-party-card .v40-party-link-logo img[src*="party-horizons.png"]{
  max-width:116px!important;
  max-height:40px!important;
}
.v41-party-card .v40-party-link-logo img[src*="party-nouvelleenergie.png"]{
  max-width:96px!important;
  max-height:74px!important;
}
.v41-party-card .v40-party-link-logo img[src*="party-reconquete.png"]{
  max-width:112px!important;
  max-height:36px!important;
}
@media(max-width:760px){
  .v41-party-card .v40-party-link-logo.wide{width:106px!important}
  .v41-party-card .v40-party-link-logo img[src*="party-horizons.png"]{max-width:100px!important;max-height:34px!important}
  .v41-party-card .v40-party-link-logo img[src*="party-nouvelleenergie.png"]{max-width:86px!important;max-height:64px!important}
  .v41-party-card .v40-party-link-logo img[src*="party-reconquete.png"]{max-width:98px!important;max-height:32px!important}
}


/* Sans Arrondi V71 — logos HZ / NE / R vraiment à la bonne taille dans le rail */
.v41-party-card .v40-party-link-logo.hz,
.v41-party-card .v40-party-link-logo.rq{
  width:136px!important;
  height:88px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
}
.v41-party-card .v40-party-link-logo.ne{
  width:104px!important;
  height:104px!important;
  padding:8px!important;
  border-radius:18px!important;
}
.v41-party-card .v40-party-link-logo.hz img{
  max-width:112px!important;
  max-height:36px!important;
}
.v41-party-card .v40-party-link-logo.rq img{
  max-width:116px!important;
  max-height:30px!important;
}
.v41-party-card .v40-party-link-logo.ne img{
  max-width:86px!important;
  max-height:86px!important;
}
@media(max-width:760px){
  .v41-party-card .v40-party-link-logo.hz,
  .v41-party-card .v40-party-link-logo.rq{width:122px!important;height:80px!important}
  .v41-party-card .v40-party-link-logo.ne{width:96px!important;height:96px!important}
  .v41-party-card .v40-party-link-logo.hz img{max-width:100px!important;max-height:32px!important}
  .v41-party-card .v40-party-link-logo.rq img{max-width:102px!important;max-height:27px!important}
  .v41-party-card .v40-party-link-logo.ne img{max-width:78px!important;max-height:78px!important}
}
