/* Cardio Défi — Espace formateurs (styles limités à #cdf-app) */
@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;500;600;700&display=swap");
#cdf-app{--red:#e02b20; --red-d:#af1f23; --red-l:#fdeceb;
  --ink:#333; --ink2:#666; --mute:#8c8989;
  --bg:#f4f4f4; --card:#fff; --line:#e4e7ec;
  --green:#12a150; --green-l:#e3f6ec; --orange:#e08a00; --orange-l:#fff2dc; --grey-l:#eef0f3;
  --r:12px; --sh:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.06);}
#cdf-app,#cdf-app *{box-sizing:border-box;margin:0;padding:0}
#cdf-app{font-family:Comfortaa,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45}
#cdf-app button,#cdf-app input,#cdf-app select{font:inherit}
#cdf-app a{color:inherit}
#cdf-app .hero-band{background:linear-gradient(135deg,var(--red) 0%,var(--red-d) 100%);color:#fff;border-radius:18px;padding:30px 28px;margin-bottom:24px}
#cdf-app .hero-band h1{color:#fff;font-size:30px;margin-bottom:8px}
#cdf-app .hero-band p{color:rgba(255,255,255,.9);max-width:640px}
#cdf-app .nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
#cdf-app .nav button{border:0;background:none;padding:8px 12px;border-radius:100px;color:var(--ink2);font-weight:700;font-size:13px;text-transform:uppercase;cursor:pointer}
#cdf-app .nav button:hover{background:var(--grey-l)}
#cdf-app .nav button.on{background:var(--red);color:#fff}
#cdf-app .who{font-size:13px;color:var(--mute);white-space:nowrap}
@media(max-width:1180px){#cdf-app .who{display:none}
#cdf-app .nav button{padding:8px 9px}}
#cdf-app .cdf-main{max-width:1180px;margin:0 auto;padding:24px 16px 60px}
#cdf-app h1{font-size:28px;font-weight:600;color:var(--red-d);margin-bottom:6px}
#cdf-app h2{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:12px}
#cdf-app .sub{color:var(--ink2);margin-bottom:20px}
#cdf-app .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:20px}
#cdf-app .grid{display:grid;gap:16px}
#cdf-app .g2{grid-template-columns:repeat(2,1fr)}
#cdf-app .g3{grid-template-columns:repeat(3,1fr)}
#cdf-app .g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){#cdf-app .g2,#cdf-app .g3,#cdf-app .g4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){#cdf-app .g2,#cdf-app .g3,#cdf-app .g4{grid-template-columns:1fr}
#cdf-app .who{display:none}
#cdf-app .nav{margin-left:0;width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
#cdf-app .nav button{padding:7px 10px;font-size:14px;white-space:nowrap}
#cdf-app .rate .eur{width:110px}}
#cdf-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 20px;border-radius:100px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
#cdf-app .btn:hover{border-color:#c9ced8}
#cdf-app .btn.pri{background:var(--red);border-color:var(--red);color:#fff;text-transform:uppercase;font-size:13.5px;letter-spacing:.02em}
#cdf-app .btn.pri:hover{background:var(--red-d)}
#cdf-app .btn.sm{padding:7px 14px;font-size:13px}
#cdf-app .btn.ghost{border-color:transparent;background:none;color:var(--ink2)}
#cdf-app .btn.block{width:100%}
#cdf-app label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin-bottom:5px}
#cdf-app input,#cdf-app select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}
#cdf-app input:focus,#cdf-app select:focus{outline:2px solid var(--red-l);border-color:var(--red)}
#cdf-app .field{margin-bottom:14px}
#cdf-app .row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
#cdf-app .row>*{flex:1;min-width:150px}
#cdf-app .hero{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}
@media(max-width:860px){#cdf-app .hero{grid-template-columns:1fr}}
#cdf-app .hero-txt{padding:12px 4px}
#cdf-app .hero-txt h2{font-size:20px;color:var(--red-d);font-weight:600}
#cdf-app .feat{display:flex;gap:12px;margin-top:16px}
#cdf-app .feat-i{width:34px;height:34px;flex:none;border-radius:9px;background:var(--red-l);color:var(--red);display:grid;place-items:center;font-weight:800}
#cdf-app .tabs{display:flex;background:var(--grey-l);border-radius:10px;padding:4px;margin-bottom:18px}
#cdf-app .tabs button{flex:1;border:0;background:none;padding:8px;border-radius:8px;font-weight:600;color:var(--ink2);cursor:pointer}
#cdf-app .tabs button.on{background:#fff;color:var(--ink);box-shadow:var(--sh)}
#cdf-app .demo{margin-top:14px;font-size:12.5px;color:var(--mute);background:var(--grey-l);border-radius:8px;padding:10px 12px}
#cdf-app .pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:99px;white-space:nowrap}
#cdf-app .pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
#cdf-app .pill.ok{background:var(--green-l);color:var(--green)}
#cdf-app .pill.warn{background:var(--orange-l);color:var(--orange)}
#cdf-app .pill.ko{background:var(--red-l);color:var(--red)}
#cdf-app .pill.off{background:var(--grey-l);color:var(--mute)}
#cdf-app .pill.gold{background:linear-gradient(135deg,#fff8dc 0%,#f6dd8f 100%);color:#7a5700;border:1px solid #e2bd55;box-shadow:0 1px 6px rgba(212,165,40,.35)}
#cdf-app .pill.gold::before{content:none}
#cdf-app .pill.gold svg{width:14px;height:14px;flex:none;filter:drop-shadow(0 1px 1px rgba(122,87,0,.35))}
#cdf-app .pill.lock{background:#fff8dc;color:#7a5700}
#cdf-app .pill.lock::before{content:none}
#cdf-app .av{border-radius:50%;object-fit:cover;flex:none;display:inline-grid;place-items:center;font-weight:700;color:#5c5254;background:#ebe5e4;letter-spacing:.02em;overflow:hidden}
#cdf-app .av-wrap{display:flex;align-items:center;gap:18px;margin-bottom:16px;flex-wrap:wrap}
#cdf-app .av-wrap .btns{display:flex;gap:8px;flex-wrap:wrap}
#cdf-app .who{display:flex;align-items:center;gap:8px}
#cdf-app .nom-av{display:flex;align-items:center;gap:12px}
#cdf-app .alerte{background:var(--red-l);color:var(--red-d);border-radius:12px;padding:14px 16px;margin-bottom:18px;font-size:14.5px;display:flex;gap:12px;align-items:flex-start}
#cdf-app .alerte b{display:block;margin-bottom:2px}
#cdf-app .ctr{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px;white-space:nowrap;vertical-align:1px}
#cdf-app .ctr.ae{background:#e7effc;color:#1d4f9c}
#cdf-app .ctr.sal{background:#efe6fa;color:#5b3596}
#cdf-app .ctr.nr{background:var(--grey-l);color:var(--mute);font-weight:600}
#cdf-app .seg{display:inline-flex;background:var(--grey-l);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}
#cdf-app .seg button{border:0;background:none;padding:6px 12px;border-radius:8px;font:600 13.5px inherit;font-family:inherit;color:var(--ink2);cursor:pointer}
#cdf-app .seg button.on{background:#fff;color:var(--ink);box-shadow:var(--sh)}
#cdf-app .g5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){#cdf-app .g5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){#cdf-app .g5{grid-template-columns:1fr 1fr}}
#cdf-app .statuses{display:flex;gap:10px 18px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--ink2);margin-bottom:14px}
#cdf-app .lockbox{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,#fffaf0,#fff3cf);border:1px solid #ecd28a;border-radius:12px;padding:14px 16px;margin-bottom:14px;font-size:14px;color:#5c4300}
#cdf-app .lockbox svg{flex:none;margin-top:1px}
#cdf-app .rate.locked label{cursor:default}
#cdf-app .signup-rates{border:1px solid var(--line);border-radius:12px;padding:6px 14px;margin-bottom:14px}
#cdf-app .signup-rates .rate label{font-size:13.5px}
#cdf-app .kpi{padding:16px 18px}
#cdf-app .kpi b{display:block;font-size:28px;letter-spacing:-.02em}
#cdf-app .kpi span{font-size:13px;color:var(--ink2)}
#cdf-app .progress{height:8px;background:var(--grey-l);border-radius:99px;overflow:hidden;margin:10px 0 4px}
#cdf-app .progress i{display:block;height:100%;background:var(--green);border-radius:99px;transition:width .3s}
#cdf-app .doc{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);flex-wrap:wrap}
#cdf-app .doc:first-child{border-top:0}
#cdf-app .doc-ic{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;flex:none;font-weight:800}
#cdf-app .doc-ic.ok{background:var(--green-l);color:var(--green)}
#cdf-app .doc-ic.warn{background:var(--orange-l);color:var(--orange)}
#cdf-app .doc-ic.ko{background:var(--red-l);color:var(--red)}
#cdf-app .doc-main{flex:1;min-width:180px}
#cdf-app .doc-main b{display:block}
#cdf-app .doc-main small{color:var(--mute)}
#cdf-app .doc-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#cdf-app .doc-act input[type=date]{width:auto;padding:6px 8px;font-size:13px}
#cdf-app .chips{display:flex;flex-wrap:wrap;gap:6px}
#cdf-app .chip{display:inline-flex;align-items:center;gap:6px;background:var(--grey-l);border-radius:99px;padding:4px 6px 4px 11px;font-size:13px;font-weight:600}
#cdf-app .chip button{border:0;background:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;color:var(--ink2);line-height:1}
#cdf-app .rate{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
#cdf-app .rate:first-child{border-top:0}
#cdf-app .rate label{margin:0;flex:1;display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--ink);cursor:pointer}
#cdf-app .rate input[type=checkbox]{width:18px;height:18px;accent-color:var(--red)}
#cdf-app .rate .eur{display:flex;align-items:center;gap:6px;width:170px;white-space:nowrap}
#cdf-app .rate .eur input{text-align:right}
#cdf-app .cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
#cdf-app .cal-h b{font-size:17px;text-transform:capitalize}
#cdf-app .cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
#cdf-app .cal .dn{font-size:12px;color:var(--mute);text-align:center;font-weight:600}
#cdf-app .cal .d{aspect-ratio:1/0.8;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;font-weight:600;color:var(--ink2);display:grid;place-items:center;font-size:14px}
#cdf-app .cal .d:hover{border-color:var(--green)}
#cdf-app .cal .d.av{background:var(--green);border-color:var(--green);color:#fff}
#cdf-app .cal .d.past{opacity:.35;cursor:default}
#cdf-app .cal .d.today{outline:2px solid var(--ink);outline-offset:1px}
#cdf-app .cal .blank{visibility:hidden}
#cdf-app .reg{margin-bottom:16px}
#cdf-app .reg-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
#cdf-app .reg-h b{font-size:14.5px}
#cdf-app .reg-h small{color:var(--mute)}
#cdf-app .depts{display:flex;flex-wrap:wrap;gap:6px}
#cdf-app .dep{border:0;border-radius:8px;padding:6px 9px;font-size:12.5px;font-weight:700;cursor:pointer;min-width:52px;text-align:center;line-height:1.15}
#cdf-app .dep small{display:block;font-weight:500;font-size:10.5px;opacity:.85}
#cdf-app .dep.c0{background:#fbe4e7;color:#a81a2d}
#cdf-app .dep.c1{background:#ffe9c7;color:#8a5600}
#cdf-app .dep.c2{background:#c9efd9;color:#0b6b35}
#cdf-app .dep.c3{background:#12a150;color:#fff}
#cdf-app .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink2);margin-bottom:16px}
#cdf-app .legend span{display:inline-flex;align-items:center;gap:6px}
#cdf-app .legend i{width:14px;height:14px;border-radius:4px;display:inline-block}
#cdf-app .res{display:flex;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:#fff;margin-bottom:10px;flex-wrap:wrap}
#cdf-app .res.best{border-color:var(--green);box-shadow:0 0 0 3px var(--green-l)}
#cdf-app .rank{width:30px;height:30px;border-radius:50%;background:var(--grey-l);display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
#cdf-app .res.best .rank{background:var(--green);color:#fff}
#cdf-app .res-main{flex:1;min-width:180px}
#cdf-app .res-main b{font-size:15.5px}
#cdf-app .res-main small{display:block;color:var(--mute)}
#cdf-app .price{font-size:20px;font-weight:800;letter-spacing:-.02em;text-align:right;min-width:90px}
#cdf-app .price small{display:block;font-size:11.5px;color:var(--mute);font-weight:500}
#cdf-app .tag{font-size:11.5px;font-weight:700;background:var(--green);color:#fff;border-radius:6px;padding:2px 7px;margin-left:6px;vertical-align:2px}
#cdf-app .tbl{width:100%;border-collapse:collapse;font-size:14px}
#cdf-app .tbl th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);padding:10px 12px;border-bottom:1px solid var(--line)}
#cdf-app .tbl td{padding:12px;border-bottom:1px solid var(--line)}
#cdf-app .tbl tr.click{cursor:pointer}
#cdf-app .tbl tr.click:hover td{background:#fafbfc}
#cdf-app .tbl-wrap{overflow-x:auto}
#cdf-app .modal-bg{position:fixed;inset:0;background:rgba(16,24,40,.45);display:grid;place-items:center;padding:16px;z-index:50}
#cdf-app .modal{background:#fff;border-radius:14px;max-width:640px;width:100%;max-height:90vh;overflow:auto;padding:24px;position:relative}
#cdf-app .modal .x{position:absolute;right:14px;top:12px;border:0;background:var(--grey-l);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px}
#cdf-app .kv{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;font-size:14px;margin:12px 0}
#cdf-app .kv dt{color:var(--mute)}
#cdf-app .sec{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);font-weight:700;margin:18px 0 8px}
#cdf-app .toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 18px;border-radius:10px;font-weight:600;z-index:60;box-shadow:var(--sh)}
#cdf-app .empty{text-align:center;color:var(--mute);padding:30px 10px}
#cdf-app .muted{color:var(--mute);font-size:13px}
#cdf-app .hint{font-size:13px;color:var(--ink2);background:var(--orange-l);border-radius:9px;padding:10px 12px;margin-bottom:14px}
#cdf-app .hint.ok{background:var(--green-l)}

/* ---- intégration dans une page WordPress / Divi ---- */
#cdf-app{font-family:Comfortaa,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45;border-radius:18px;padding:0 0 8px;text-align:left}
#cdf-app .hidden{display:none!important}
#cdf-app h1,#cdf-app h2,#cdf-app h3{font-family:Comfortaa,system-ui,sans-serif;padding:0;line-height:1.2}
#cdf-app p{padding:0}
#cdf-app ul{list-style:none;padding:0;margin:0}
#cdf-app button{line-height:1.2}
#cdf-app input,#cdf-app select{height:auto;box-shadow:none;font-size:15px}
#cdf-app .cdf-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line);background:#fff;border-radius:18px 18px 0 0;position:sticky;top:0;z-index:20}
#cdf-app .cdf-bar .nav{margin-left:auto}
#cdf-app .cdf-main{max-width:1180px;margin:0 auto;padding:24px 16px 40px}
#cdf-app .cdf-chargement{padding:60px 16px;text-align:center;color:var(--mute)}
#cdf-app .lien{color:var(--red);font-weight:700;text-decoration:underline;background:none;border:0;cursor:pointer;padding:0;font:inherit}
#cdf-app .occupe{opacity:.55;pointer-events:none}
#cdf-app .toast{position:fixed}
#cdf-app .modal-bg{z-index:100000}
#cdf-app .toast{z-index:100001}
@media(max-width:560px){#cdf-app .cdf-bar .nav{margin-left:0;width:100%;flex-wrap:nowrap;overflow-x:auto}#cdf-app .cdf-bar .nav button{white-space:nowrap}}
/* Largeur : l'espace occupe toute la largeur utile de la page, même dans un thème à colonne étroite */
#cdf-app.alignwide{width:100%;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}
.entry-content #cdf-app,.wp-block-post-content #cdf-app{max-width:1200px!important}
