/* Page des concours. Le thème Astra écrase <a>, <button> et <svg> : tout est scopé et marqué !important. */
.co-wrap{--marine:#1e3a5f;--canard:#0e7490;--encre:#1f2937;--gris:#5b6b7f;--trait:#dbe3ec;--ok:#15803d;--refus:#b91c1c;--or:#c9971c;--argent:#8a96a3;--bronze:#a8643a;
  padding:12px;color:var(--encre);font-size:15px;line-height:1.45;box-sizing:border-box;position:relative}
.co-wrap *{box-sizing:border-box}
.co-wrap.co-charge,.co-charge{opacity:.55;transition:opacity .15s}
.co-wrap h2,.co-wrap h3,.co-wrap h4{color:var(--marine);margin:0}
.co-wrap h4{font-size:14px}
.co-wrap .co-meta{font-size:13px;color:var(--gris)}
.co-wrap .co-desc{margin:0;font-size:14px}
.co-wrap .co-ligne{display:flex;gap:8px;align-items:center;justify-content:space-between}
.co-wrap .co-col{display:grid;gap:4px}
.co-wrap .co-t{font-weight:700;font-size:14px}
.co-wrap .co-titre-c{font-size:18px;text-wrap:balance}

.co-wrap .co-bloc{border:1px solid var(--trait);border-radius:12px;padding:12px;margin-bottom:12px;display:grid;gap:10px;background:#fff}
.co-wrap .co-liste{display:grid;gap:10px}
.co-wrap button.co-carte{border:1px solid var(--trait) !important;border-radius:12px !important;padding:12px !important;display:grid !important;gap:8px;background:#fff !important;cursor:pointer;text-align:left !important;width:100%;color:var(--encre) !important;font:inherit !important;box-shadow:none !important}
.co-wrap .co-h3{font-size:16px;font-weight:700;color:var(--marine)}
.co-wrap .co-action{color:var(--canard);font-weight:700;font-size:14px}

.co-wrap .co-pastille{display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;width:max-content}
.co-wrap .co-p-depot{background:#e0f2fe;color:#075985}.co-wrap .co-p-vote{background:#fef3c7;color:#92400e}.co-wrap .co-p-fin{background:#dcfce7;color:#166534}
.co-wrap .co-p-attente{background:#fef3c7;color:#92400e}.co-wrap .co-p-ok{background:#dcfce7;color:#166534}.co-wrap .co-p-refus{background:#fee2e2;color:#991b1b}
.co-wrap .co-frise{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.co-wrap .co-frise span{height:5px;border-radius:3px;background:var(--trait)}
.co-wrap .co-frise span.on{background:var(--canard)}
.co-wrap .co-frise-l{display:grid;grid-template-columns:repeat(3,1fr);font-size:11px;color:var(--gris)}

.co-wrap button.co-btn{border:0 !important;border-radius:10px !important;padding:11px 14px !important;font-weight:700 !important;font-size:15px !important;cursor:pointer;background:var(--canard) !important;color:#fff !important;width:100%;font-family:inherit !important;line-height:1.3 !important;box-shadow:none !important}
.co-wrap button.co-btn.co-sec{background:#fff !important;color:var(--marine) !important;border:1.5px solid var(--trait) !important}
.co-wrap button.co-btn[disabled]{opacity:.45;cursor:not-allowed}
.co-wrap .co-btns{display:flex;gap:8px}.co-wrap .co-btns .co-btn{flex:1}
.co-wrap button.co-retour,.co-wrap button.co-lien{background:none !important;border:0 !important;padding:0 !important;color:var(--canard) !important;font-weight:700 !important;cursor:pointer;font-family:inherit !important;box-shadow:none !important;width:auto}
.co-wrap button.co-retour{font-size:14px !important}
.co-wrap button.co-lien{font-size:13px !important;text-decoration:underline !important;justify-self:start}
.co-wrap .co-retour-l{margin-bottom:8px}

.co-wrap .co-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
@media (min-width:700px){.co-wrap .co-grille{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
.co-wrap button.co-vign{position:relative;border-radius:8px !important;overflow:hidden;aspect-ratio:4/3;background:#cbd5e1 !important;border:0 !important;padding:0 !important;cursor:pointer;box-shadow:none !important;width:100%}
.co-wrap .co-vign img{width:100%;height:100%;object-fit:contain;display:block;background:#f3f4f6}
.co-wrap .co-num{position:absolute;left:4px;bottom:4px;background:rgba(15,23,42,.7);color:#fff;font-size:11px;font-weight:700;border-radius:6px;padding:1px 6px}
.co-wrap .co-moi{position:absolute;left:4px;top:4px;background:var(--canard);color:#fff;font-size:10px;font-weight:700;border-radius:6px;padding:1px 6px}
.co-wrap .co-rang{position:absolute;right:4px;top:4px;width:24px;height:24px;border-radius:50%;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.co-wrap .co-r1,.co-plein .co-r1{--c:var(--or,#c9971c)}.co-wrap .co-r2,.co-plein .co-r2{--c:#8a96a3}.co-wrap .co-r3,.co-plein .co-r3{--c:#a8643a}
.co-wrap .co-rang.co-r1,.co-wrap .co-case b.co-r1{background:#c9971c}.co-wrap .co-rang.co-r2,.co-wrap .co-case b.co-r2{background:#8a96a3}.co-wrap .co-rang.co-r3,.co-wrap .co-case b.co-r3{background:#a8643a}

.co-wrap .co-mienne{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:start}
.co-wrap .co-mienne img{width:96px !important;height:72px !important;object-fit:contain;background:#f3f4f6;border-radius:8px}
.co-wrap .co-motif{font-size:13px;color:var(--refus)}

.co-wrap .co-formulaire{display:grid;gap:10px;border-top:1px solid var(--trait);padding-top:10px}
.co-wrap .co-formulaire[hidden]{display:none}
.co-wrap .co-oblig{color:#dc2626;font-weight:700}
.co-wrap .co-oblig-n{display:block;font-size:12px;color:#6b7280}
.co-wrap input:required:invalid:not(:placeholder-shown),.co-wrap #co-ti:required:invalid{border-color:#fca5a5 !important}
.co-wrap label.co-ch{display:block;font-size:13px;font-weight:700;color:var(--marine);margin-bottom:4px}
.co-wrap input[type=text],.co-wrap textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px;font:inherit;font-size:15px;background:#fff;color:var(--encre)}
.co-wrap textarea{min-height:64px;resize:vertical}
.co-wrap .co-charte{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;background:#f8fafc;border-radius:8px;padding:10px}
.co-wrap .co-charte input{width:20px;height:20px;flex:none;margin-top:1px}
.co-wrap .co-charte a{color:var(--canard) !important;text-decoration:underline !important;font-weight:700}
.co-wrap label.co-depose{border:2px dashed #94a3b8;border-radius:10px;padding:16px;text-align:center;color:var(--gris);font-size:14px;cursor:pointer;display:block}
.co-wrap .co-apercu{max-width:100%;max-height:240px;border-radius:8px;display:block;margin:0 auto 6px}

.co-wrap .co-bulletin{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--trait);padding:10px 4px;display:grid;gap:8px;box-shadow:0 -6px 16px rgba(15,40,66,.08);margin:0 -4px;z-index:3}
.co-wrap .co-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.co-wrap .co-case{border:1.5px dashed #94a3b8;border-radius:8px;height:46px;display:flex;align-items:center;gap:6px;padding:0 6px;font-size:12px;color:var(--gris);overflow:hidden}
.co-wrap .co-case.pleine{border-style:solid;border-color:var(--trait);color:var(--encre);font-weight:700}
.co-wrap .co-case img{width:40px;height:30px;object-fit:cover;border-radius:4px}
.co-wrap .co-case b{font-size:11px;color:#fff;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:none}

.co-wrap .co-cl{display:grid;gap:8px}
.co-wrap .co-cl-l{display:grid;grid-template-columns:28px 52px 1fr auto;gap:8px;align-items:center}
.co-wrap .co-pos{font-weight:800;color:var(--marine);text-align:center;font-variant-numeric:tabular-nums}
.co-wrap .co-cl-l img{width:52px;height:39px;object-fit:contain;background:#f3f4f6;border-radius:6px}
.co-wrap .co-jauge{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;display:block}
.co-wrap .co-jauge i{display:block;height:100%;background:var(--canard);border-radius:4px}
.co-wrap .co-pts{font-weight:800;font-variant-numeric:tabular-nums;color:var(--marine);font-size:14px;white-space:nowrap}
.co-wrap .co-direct{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--refus)}
.co-wrap .co-direct::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--refus);animation:co-pulse 1.4s infinite}
@keyframes co-pulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.co-wrap .co-direct::before{animation:none}}

.co-wrap .co-podium{max-width:560px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:6px;align-items:end}
.co-wrap .co-marche{display:grid;gap:6px;text-align:center}
.co-wrap .co-marche img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f3f4f6;border-radius:8px}
.co-wrap .co-socle{border-radius:8px 8px 0 0;color:#fff;font-weight:800;display:flex;flex-direction:column;justify-content:center;padding:6px 2px}
.co-wrap .co-socle small{font-weight:600;font-size:11px}
.co-wrap .co-m1 .co-socle{background:#c9971c;height:92px;font-size:22px}
.co-wrap .co-m2 .co-socle{background:#8a96a3;height:68px;font-size:18px}
.co-wrap .co-m3 .co-socle{background:#a8643a;height:52px;font-size:16px}
.co-wrap .co-auteur{font-size:12.5px;font-weight:700;line-height:1.2}

.co-wrap .co-aide{border:1.5px solid #93c5fd;background:#eff6ff;border-radius:12px;padding:12px;margin-bottom:12px}
.co-wrap .co-aide[hidden],.co-wrap .co-aide-p[hidden]{display:none}
.co-wrap .co-aide ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px;font-size:14px}

/* Écran de connexion : même aspect que les autres coins (carte de 400 px centrée ; Astra la passe en pleine largeur sur PC, comme les autres coins) */
.co-wrap .co-login-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:28px 24px;text-align:center;box-shadow:0 1px 6px rgba(0,0,0,.08);max-width:400px;margin:0 auto}
.co-wrap .co-login-box h2{color:#1e3a5f;margin:0 0 8px;font-size:20px}
.co-wrap .co-login-input{width:100%;padding:11px 14px;border:2px solid #d1d5db;border-radius:8px;font-size:16px;text-align:center;letter-spacing:.12em;margin-bottom:12px;box-sizing:border-box;background:#fff;color:var(--encre)}
.co-wrap .co-login-input:focus{outline:none;border-color:#1e3a5f}
.co-wrap button.co-btn-primary{background:#1e3a5f !important;color:#fff !important;border:none !important;border-radius:8px !important;padding:12px 24px !important;font-size:15px !important;font-weight:700 !important;cursor:pointer;width:100%;font-family:inherit !important;box-shadow:none !important;line-height:1.3 !important}
.co-wrap button.co-btn-primary:hover{background:#162d4a !important}
.co-wrap .co-erreur{color:var(--refus);font-size:13px}

.co-wrap .co-toast{position:fixed;left:12px;right:12px;bottom:16px;max-width:520px;margin:0 auto;background:var(--ok);color:#fff;border-radius:10px;padding:10px 12px;font-weight:700;font-size:14px;z-index:1000001}
.co-wrap .co-toast-err{background:var(--refus)}
.co-wrap .co-attente,.co-plein .co-attente{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:co-tour .8s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes co-tour{to{transform:rotate(360deg)}}

/* Plein écran (ajouté au body) */
body.co-bloque{overflow:hidden}
.co-plein{position:fixed;inset:0;background:#0b1220;color:#fff;display:flex;flex-direction:column;z-index:1000000;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.co-plein .co-haut{display:flex;align-items:center;padding:10px 12px;gap:8px}
.co-plein .co-haut span{margin-left:auto;font-size:13px;opacity:.8}
.co-plein button{font-family:inherit !important;cursor:pointer;box-shadow:none !important}
.co-plein .co-haut button{border:0 !important;background:rgba(255,255,255,.12) !important;color:#fff !important;border-radius:8px !important;padding:6px 10px !important;font-weight:700 !important}
.co-plein .co-img{flex:1;display:flex;align-items:center;justify-content:center;position:relative;touch-action:pan-y;min-height:0}
.co-plein .co-img img{max-width:100%;max-height:100%;object-fit:contain}
.co-plein .co-fl{position:absolute;top:50%;transform:translateY(-50%);border:0 !important;background:rgba(255,255,255,.15) !important;color:#fff !important;width:40px;height:40px;border-radius:50% !important;font-size:20px !important;padding:0 !important}
.co-plein .co-leg{padding:8px 14px;font-size:14px}
.co-plein .co-choix{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 12px 16px}
.co-plein .co-choix button{border:1.5px solid rgba(255,255,255,.35) !important;background:transparent !important;color:#fff !important;border-radius:10px !important;padding:9px 4px !important;font-weight:700 !important;font-size:13px !important}
.co-plein .co-choix button[aria-pressed="true"]{border-color:transparent !important}
.co-plein .co-choix button.co-r1[aria-pressed="true"]{background:#c9971c !important}
.co-plein .co-choix button.co-r2[aria-pressed="true"]{background:#8a96a3 !important}
.co-plein .co-choix button.co-r3[aria-pressed="true"]{background:#a8643a !important}

.co-plein .co-pied{display:grid;grid-template-columns:1fr 2fr;gap:8px;padding:0 12px 16px}
.co-plein .co-pied button{border:0 !important;border-radius:10px !important;padding:11px 8px !important;font-weight:700 !important;font-size:15px !important;background:rgba(255,255,255,.14) !important;color:#fff !important}
.co-plein .co-pied button.co-valider{background:#0e7490 !important}
.co-plein .co-pied button[disabled]{opacity:.4;cursor:not-allowed}

.co-wrap .co-etoile{color:#e5a800}
.co-wrap .co-socle .co-etoile{color:#fff}
.co-wrap .co-video{position:absolute;right:4px;bottom:4px;background:rgba(15,23,42,.8);color:#fff;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.5}
.co-wrap .co-mini{position:relative;display:block}
.co-wrap .co-mini .co-video{right:2px;bottom:2px}
.co-wrap video.co-apercu{max-width:100%;max-height:240px;border-radius:8px;display:block;margin:0 auto 6px}
.co-plein .co-img video{max-width:100%;max-height:100%;background:#000}
.co-plein .co-ruban{display:flex;gap:6px;overflow-x:auto;padding:8px 12px calc(10px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.co-plein .co-ruban button{position:relative;flex:0 0 auto;width:64px;height:64px;padding:0 !important;border:2px solid transparent !important;border-radius:8px !important;overflow:hidden;background:#1f2937 !important;opacity:.6;cursor:pointer}
.co-plein .co-ruban button[aria-current="true"]{border-color:#fff !important;opacity:1}
.co-plein .co-ruban img{width:100%;height:100%;object-fit:cover;display:block}
.co-plein .co-ruban span{position:absolute;right:3px;bottom:3px;background:rgba(15,23,42,.8);color:#fff;border-radius:5px;padding:0 4px;font-size:10px;line-height:1.5}
.co-wrap img.co-illu{display:block;width:auto !important;max-width:100% !important;height:auto !important;max-height:240px !important;object-fit:contain;border-radius:10px}
.co-wrap button.co-carte img.co-carte-img{display:block;width:auto !important;max-width:100% !important;height:auto !important;max-height:120px !important;object-fit:contain;border-radius:8px}
/* Mes propositions : vignettes côte à côte, bulle d'état dessous, poubelle sur l'image */
.co-wrap .co-mes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:700px){.co-wrap .co-mes{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}
.co-wrap .co-tuile{display:grid;gap:6px;align-content:start;min-width:0}
.co-wrap .co-tuile .co-mini{position:relative;display:block;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#f3f4f6}
.co-wrap .co-tuile .co-mini img{width:100% !important;height:100% !important;object-fit:contain;display:block}
.co-wrap .co-tuile .co-mini-vide{border:1px dashed #cbd5e1}
.co-wrap .co-tuile .co-t{font-size:13px;font-weight:700;overflow-wrap:anywhere}
.co-wrap .co-tuile .co-pastille{justify-self:start}
.co-wrap .co-tuile .co-motif{font-size:12.5px;color:#b91c1c;overflow-wrap:anywhere}
.co-wrap button.co-poubelle{position:absolute;top:6px;right:6px;display:inline-flex !important;align-items:center;justify-content:center;width:40px !important;height:40px;padding:0 !important;border:1px solid #fecaca !important;border-radius:10px !important;background:rgba(255,255,255,.95) !important;color:#b91c1c !important;cursor:pointer;box-shadow:none !important}
.co-wrap button.co-poubelle svg{width:18px;height:18px;stroke:currentColor;fill:none}
