/* RU Concours : page Concours, dans la coque de page publique commune de RU Design.
   Portée : .ruc-pub (aucune règle hors du contenu de la page). Version 1.0.0. */
.ruc-pub{--canvas:#FFFFFF; --paper:#FFFFFF; --panel:#FFFFFF; --panel2:#FFFFFF; --ink:var(--ru-texte,#0e2438); --ink2:#4E535E; --mut:#8B8F99; --line:#ECEDF0; --line2:#E2E4E8; --red:var(--ru-accent,#1d5c8f); --red-d:var(--ru-accent-fonce,#174a73); --gold:var(--ru-accent,#1d5c8f); --gold-ink:var(--ru-accent-fonce,#174a73); --gold-wash:var(--ru-accent-doux,rgba(44,111,181,.12)); --gold-line:var(--ru-accent,#1d5c8f); --live:#0E9E52; --live-wash:#E6F5EC; --blue:#2F6BFF; --blue-wash:#EAF0FF; --sh-sm:0 1px 2px rgba(20,22,28,.06); --sh:0 2px 4px rgba(20,22,28,.05),0 14px 34px rgba(20,22,28,.09); --r:16px; --r-sm:11px;}
:where(.ruc-pub) *{box-sizing:border-box}
.ruc-pub{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
.ruc-pub{margin:0;background:var(--canvas);color:var(--ru-texte,#0e2438); font-family:var(--ru-police,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif); font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
:where(.ruc-pub) img{max-width:100%;display:block}
:where(.ruc-pub) a{color:inherit;text-decoration:none}
:where(.ruc-pub) button{font-family:inherit}
:where(.ruc-pub) :focus-visible{outline:3px solid var(--ru-accent,#1d5c8f);outline-offset:2px}
:where(.ruc-pub) .disp{font-family:var(--ru-police,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif);font-weight:800;letter-spacing:-.03em;line-height:.98;margin:0;text-wrap:balance}
:where(.ruc-pub) .mono{font-family:Arial,Helvetica,sans-serif}
@keyframes p{0%{box-shadow:0 0 0 0 var(--ru-accent-filet,rgba(44,111,181,.45))}70%{box-shadow:0 0 0 9px var(--ru-accent-doux,rgba(44,111,181,.12))}100%{box-shadow:0 0 0 0 var(--ru-accent-doux,rgba(44,111,181,.12))}}
:where(.ruc-pub) .cnc-cta-primary,:where(.ruc-pub) .cnc-cta-secondary{text-decoration:none!important}
:where(.ruc-pub) .pourquoi .pitem .pi{display:none}
:where(.ruc-pub) .pourquoi .pitem h4{margin-top:0}
:where(.ruc-pub) .joinbar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:var(--panel);border-bottom:1px solid var(--line);padding:11px 18px}
:where(.ruc-pub) .joinbar .t{font-size:12.5px;color:var(--ru-texte,#0e2438);font-weight:700}
:where(.ruc-pub) .wrap{max-width:1120px;margin:0 auto}
:where(.ruc-pub) .spot-wrap{padding:22px 22px 4px}
:where(.ruc-pub) .spot-kick{font-family:Arial,Helvetica,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ru-accent,#1d5c8f);display:flex;align-items:center;gap:9px;margin-bottom:14px}
:where(.ruc-pub) .spot-kick .d{width:8px;height:8px;border-radius:50%;background:var(--ru-accent,#1d5c8f);box-shadow:0 0 0 0 var(--ru-accent-filet,rgba(44,111,181,.45));animation:p 1.8s infinite}
:where(.ruc-pub) .spot{display:grid;grid-template-columns:1.15fr 1fr;background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--sh)}
:where(.ruc-pub) .spot .art{position:relative;min-height:330px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:#fff}
:where(.ruc-pub) .spot .art .ph{font-family:var(--ru-police,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif);font-weight:800;font-size:64px;line-height:1;text-shadow:0 4px 24px rgba(0,0,0,.35);opacity:.96}
:where(.ruc-pub) .spot .art .tag{position:absolute;top:16px;left:16px;font-family:Arial,Helvetica,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.94);color:var(--ru-texte,#0e2438);border-radius:7px;padding:5px 10px}
:where(.ruc-pub) .spot .info{padding:26px 26px 24px;display:flex;flex-direction:column;gap:15px}
:where(.ruc-pub) .spot .info h2{font-family:var(--ru-police,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif);font-weight:800;letter-spacing:-.03em;font-size:30px;line-height:1.02;margin:0;text-wrap:balance}
:where(.ruc-pub) .spot .info .lede{font-size:14px;color:var(--ink2);line-height:1.55;margin:0}
:where(.ruc-pub) .spot .metaline{display:flex;align-items:center;gap:16px;font-family:Arial,Helvetica,sans-serif;font-size:12.5px;color:var(--ink2);font-variant-numeric:tabular-nums}
:where(.ruc-pub) .spot .actions{display:flex;gap:10px;margin-top:2px;flex-wrap:wrap}
:where(.ruc-pub) .ticket{position:relative;background:var(--ru-accent-doux,rgba(44,111,181,.12));border:1px solid var(--ru-accent,#1d5c8f);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:11px}
:where(.ruc-pub) .ticket::before,:where(.ruc-pub) .ticket::after{content:"";position:absolute;top:50%;width:14px;height:14px;background:var(--paper);border:1px solid var(--ru-accent,#1d5c8f);border-radius:50%;transform:translateY(-50%)}
:where(.ruc-pub) .ticket::before{left:-8px;border-right-color:transparent;border-top-color:transparent}
:where(.ruc-pub) .ticket::after{right:-8px;border-left-color:transparent;border-bottom-color:transparent}
:where(.ruc-pub) .ticket svg{width:17px;height:17px;fill:var(--ru-accent,#1d5c8f);flex:0 0 auto}
:where(.ruc-pub) .ticket .tx{font-size:13px;line-height:1.25}
:where(.ruc-pub) .ticket .tx b{color:var(--ru-accent,#1d5c8f);font-weight:800}
:where(.ruc-pub) .ticket .tx small{color:var(--ink2);display:block;font-size:11.5px}
:where(.ruc-pub) .cd{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--sh-sm)}
:where(.ruc-pub) .cd .cdh{display:flex;align-items:center;gap:8px;margin-bottom:9px}
:where(.ruc-pub) .cd .clive{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ru-accent,#1d5c8f)}
:where(.ruc-pub) .cd .clive .d{width:8px;height:8px;border-radius:50%;background:var(--ru-accent,#1d5c8f);box-shadow:0 0 0 0 var(--ru-accent-filet,rgba(44,111,181,.45));animation:p 1.6s infinite}
:where(.ruc-pub) .cd .clbl{font-family:Arial,Helvetica,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-left:auto}
:where(.ruc-pub) .cd .boxes{display:flex;align-items:center;gap:8px}
:where(.ruc-pub) .cd .b{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:9px 4px 8px;text-align:center;display:flex;flex-direction:column;align-items:center}
:where(.ruc-pub) .cd .b .n{font-family:var(--ru-police,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif);font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;color:var(--ru-texte,#0e2438)}
:where(.ruc-pub) .cd .b .u{font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-top:5px}
:where(.ruc-pub) .cd .colon{font-size:24px;font-weight:800;color:var(--line2);margin-top:-8px}
:where(.ruc-pub) .livechip{display:inline-flex;align-items:center;gap:6px;color:var(--ru-accent,#1d5c8f);font-weight:700;font-variant-numeric:tabular-nums}
:where(.ruc-pub) .livechip .d{width:7px;height:7px;border-radius:50%;background:var(--ru-accent,#1d5c8f);box-shadow:0 0 0 0 var(--ru-accent-filet,rgba(44,111,181,.45));animation:p 1.6s infinite}
:where(.ruc-pub) .toolbar{max-width:1120px;margin:0 auto;padding:18px 22px 8px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
:where(.ruc-pub) .seg{display:inline-flex;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:4px;gap:2px;overflow-x:auto}
:where(.ruc-pub) .seg .s{font-size:13px;font-weight:600;color:var(--ink2);border:none;background:transparent;border-radius:9px;padding:8px 14px;cursor:pointer;white-space:nowrap;font-family:inherit}
:where(.ruc-pub) .seg .s:hover{color:var(--ru-texte,#0e2438)}
:where(.ruc-pub) .seg .s.on{background:var(--ru-surface,#F6F6F4);color:var(--ru-texte,#0e2438)}
:where(.ruc-pub) .sort{font-family:Arial,Helvetica,sans-serif;font-size:13px;color:var(--ink2);display:flex;align-items:center;gap:8px;font-weight:600}
:where(.ruc-pub) .sort select{font-family:inherit;background:var(--paper);border:1px solid var(--line2);border-radius:9px;padding:8px 12px;font-weight:700;color:var(--ru-texte,#0e2438);cursor:pointer}
:where(.ruc-pub) .grid{max-width:1120px;margin:0 auto;padding:12px 22px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
:where(.ruc-pub) .card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;color:var(--ru-texte,#0e2438)}
:where(.ruc-pub) .card:hover{transform:none;box-shadow:var(--sh)}
:where(.ruc-pub) .cover{height:140px;position:relative;display:flex;align-items:flex-end;padding:12px;background-size:cover;background-position:center;color:#fff}
:where(.ruc-pub) .cover .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:44px}
:where(.ruc-pub) .cover .type{position:absolute;top:12px;left:12px;font-family:Arial,Helvetica,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.94);color:var(--ru-texte,#0e2438);border-radius:7px;padding:4px 9px}
:where(.ruc-pub) .pill{font-family:Arial,Helvetica,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);color:var(--ink2)}
:where(.ruc-pub) .pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}
:where(.ruc-pub) .pill.live{color:var(--live)}
:where(.ruc-pub) .pill.vote{color:var(--ru-accent,#1d5c8f)}
:where(.ruc-pub) .pill.open{color:var(--blue)}
:where(.ruc-pub) .pill.done{color:var(--ink2)}
:where(.ruc-pub) .cover .pill{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.94)}
:where(.ruc-pub) .card .body{padding:15px 16px 16px;display:flex;flex-direction:column;gap:12px;flex:1}
:where(.ruc-pub) .card h3{font-family:var(--ru-police,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif);font-size:18px;font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.12;text-wrap:balance}
:where(.ruc-pub) .meta{display:flex;align-items:center;gap:14px;font-family:Arial,Helvetica,sans-serif;font-size:12px;color:var(--ink2);font-variant-numeric:tabular-nums;flex-wrap:wrap}
:where(.ruc-pub) .meta .i{display:flex;align-items:center;gap:6px}
:where(.ruc-pub) .meta svg{width:14px;height:14px;stroke:var(--mut);fill:none;stroke-width:2}
:where(.ruc-pub) .card .foot{margin-top:auto}
:where(.ruc-pub) .winner{display:flex;align-items:center;gap:9px;background:var(--ru-accent,#1d5c8f);border-radius:10px;padding:9px 12px;font-weight:800;font-size:13.5px;color:var(--ru-sur-accent,#FFFFFF)}
:where(.ruc-pub) .winner svg{width:16px;height:16px;fill:var(--ru-texte,#0e2438)}
:where(.ruc-pub) .cloading{max-width:1120px;margin:0 auto;text-align:center;font-family:Arial,Helvetica,sans-serif;letter-spacing:.4px;font-size:13px;color:var(--mut);padding:36px 0;text-transform:uppercase;font-weight:700}
:where(.ruc-pub) .cempty{max-width:1120px;margin:0 auto;padding:0 22px 30px}
:where(.ruc-pub) .cempty .box{text-align:center;padding:44px 20px;border:1.5px dashed var(--line2);border-radius:16px;background:var(--paper)}
:where(.ruc-pub) .cempty .ico{width:60px;height:60px;border-radius:50%;background:var(--ru-accent,#1d5c8f);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
:where(.ruc-pub) .cempty p{letter-spacing:.3px;font-size:15px;color:var(--ru-texte,#0e2438);font-weight:800;margin:0 0 6px}
:where(.ruc-pub) .cempty .s{font-size:13.5px;color:var(--ink2);margin:0 0 14px}
:where(.ruc-pub) .pourquoi{max-width:1120px;margin:10px auto 0;padding:28px 22px}
:where(.ruc-pub) .pourquoi .lab{font-family:Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--ru-accent,#1d5c8f)}
:where(.ruc-pub) .pourquoi h2{font-family:var(--ru-police,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif);font-weight:800;letter-spacing:-.02em;font-size:28px;color:var(--ru-texte,#0e2438);margin:10px 0 20px}
:where(.ruc-pub) .pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
:where(.ruc-pub) .pitem{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--sh-sm)}
:where(.ruc-pub) .pitem .pi{width:38px;height:38px;border-radius:11px;background:var(--ru-accent-fonce,#174a73);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
:where(.ruc-pub) .pitem .pi svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:2}
:where(.ruc-pub) .pitem h4{font-family:var(--ru-police,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif);font-weight:800;font-size:16px;color:var(--ru-texte,#0e2438);margin:0 0 6px}
:where(.ruc-pub) .pitem p{font-size:13px;color:var(--ink2);line-height:1.55;margin:0}
:where(.ruc-pub) .ctafin{max-width:1120px;margin:8px auto 0;padding:10px 22px 44px}
:where(.ruc-pub) .ctafin .box{background:#fff;border:1px solid var(--line);box-shadow:var(--sh);border-radius:22px;text-align:center;padding:46px 24px;color:var(--ru-texte,#0e2438)}
:where(.ruc-pub) .ctafin .k{font-family:Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--ru-accent,#1d5c8f)}
:where(.ruc-pub) .ctafin h2{font-family:var(--ru-police,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif);font-weight:800;letter-spacing:-.02em;font-size:34px;margin:12px 0 8px;color:var(--ru-texte,#0e2438)}
:where(.ruc-pub) .ctafin p{color:var(--ink2);font-size:14px;margin:0 0 20px}
:where(.ruc-pub) .ctafin .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
:where(.ruc-pub) .clsm-head{max-width:1120px;margin:0 auto;padding:22px 22px 0}
:where(.ruc-pub) .clsm-head h2{font-family:var(--ru-police,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif);font-weight:800;letter-spacing:-.02em;font-size:28px;color:var(--ru-texte,#0e2438);margin:0}
:where(.ruc-pub) .clsm-head p{font-size:14px;color:var(--ink2);margin:6px 0 0}
@media(max-width:980px){
  :where(.ruc-pub) .spot{grid-template-columns:1fr}
  :where(.ruc-pub) .grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  :where(.ruc-pub) .grid{grid-template-columns:1fr}
  :where(.ruc-pub) .spot .info h2{font-size:26px}
  :where(.ruc-pub) .ctafin h2{font-size:26px}
}
@media(prefers-reduced-motion:reduce){
  :where(.ruc-pub) *{transition:none!important;animation:none!important}
}
@media(max-width:680px){
  .ruc-pub{overflow-x:hidden}
  :where(.ruc-pub) .joinbar{padding:10px 14px;gap:8px}
  :where(.ruc-pub) .joinbar .t{font-size:11.5px;flex-basis:100%;text-align:center}
  :where(.ruc-pub) .spot-wrap{padding:18px 14px 4px}
  :where(.ruc-pub) .spot .art{min-height:210px}
  :where(.ruc-pub) .spot .art .ph{font-size:52px}
  :where(.ruc-pub) .spot .info{padding:20px 18px;gap:13px}
  :where(.ruc-pub) .spot .info h2{font-size:23px}
  :where(.ruc-pub) .cd{padding:11px 12px}
  :where(.ruc-pub) .cd .boxes{gap:5px}
  :where(.ruc-pub) .cd .b{padding:8px 2px 7px}
  :where(.ruc-pub) .cd .b .n{font-size:24px}
  :where(.ruc-pub) .cd .colon{font-size:18px}
  :where(.ruc-pub) .cd .clbl{font-size:9.5px}
  :where(.ruc-pub) .toolbar{padding:16px 14px 6px;gap:10px}
  :where(.ruc-pub) .seg{max-width:100%}
  :where(.ruc-pub) .sort{font-size:12px}
  :where(.ruc-pub) .grid{padding:12px 14px 24px;gap:14px}
  :where(.ruc-pub) .pourquoi{padding:24px 14px}
  :where(.ruc-pub) .pourquoi h2{font-size:23px}
  :where(.ruc-pub) .ctafin{padding:8px 14px 36px}
  :where(.ruc-pub) .ctafin .box{padding:34px 18px}
  :where(.ruc-pub) .ctafin h2{font-size:24px}
}
@media(max-width:380px){
  :where(.ruc-pub) .cd .b .n{font-size:21px}
}
/* Boutons de RU Design (ru-btn) : largeur pleine et état désactivé. */
:where(.ruc-pub) .ruc-btn-bloc{width:100%}
:where(.ruc-pub) .ru-btn:disabled{opacity:.45;cursor:not-allowed}
/* Téléphone et tablette : champs de 16 px, cibles de 44 px. */
@media (max-width:999px){
  :where(.ruc-pub) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,button,.ru-btn){min-height:44px}
}
@media (max-width:999px) and (pointer:coarse){
  :where(.ruc-pub) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}
}
