/* CCBYCC Demandes — styles portés par l'identifiant #ccd-form pour primer sur le thème */
#ccd-form{--c-navy:#002B66;--c-ink:#262626;--c-text:#596574;--c-lime:#B8F34A;--c-line:#DDE3EA;--c-soft:#F2F4F7;--c-err:#D9483B;
  max-width:980px;margin:0 auto;color:var(--c-text);font-family:Poppins,'Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:1.6}
#ccd-form *,#ccd-form *::before,#ccd-form *::after{box-sizing:border-box}
#ccd-form [hidden]{display:none!important}
#ccd-form .ccd-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Étapes */
#ccd-form .ccd-steps{list-style:none;margin:0 0 -1px;padding:0;display:flex;overflow-x:auto}
#ccd-form .ccd-steps li{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:10px;padding:14px 16px;background:#E6EAF0;border:1px solid var(--c-line);border-bottom:0;color:#8A96A5;font:600 13px/1.2 Poppins,sans-serif;white-space:nowrap}
#ccd-form .ccd-steps li+li{border-left:0}
#ccd-form .ccd-steps .n{flex:none;width:28px;height:28px;display:grid;place-items:center;border:1.5px solid currentColor;font:700 12px/1 Oxanium,sans-serif}
#ccd-form .ccd-steps .is-cur{background:#fff;color:var(--c-navy)}
#ccd-form .ccd-steps .is-cur .n{background:var(--c-navy);border-color:var(--c-navy);color:var(--c-lime)}
#ccd-form .ccd-steps .is-done{color:var(--c-navy)}
#ccd-form .ccd-steps .is-done .n{background:var(--c-lime);border-color:var(--c-lime);color:var(--c-navy)}
@media(max-width:760px){#ccd-form .ccd-steps .t{display:none}#ccd-form .ccd-steps .is-cur .t{display:inline}#ccd-form .ccd-steps li{flex:0 0 auto}#ccd-form .ccd-steps .is-cur{flex:1 0 auto}}

/* Panneau */
#ccd-form .ccd-panel,#ccd-form .ccd-done{background:#fff;border:1px solid var(--c-line);padding:clamp(22px,4vw,44px);margin:0}
#ccd-form .ccd-h{margin:0 0 22px;font:800 clamp(22px,3vw,28px)/1.1 Montserrat,'Arial Black',sans-serif;letter-spacing:-.035em;text-transform:uppercase;color:var(--c-ink);outline:none}
#ccd-form .ccd-label{margin:22px 0 10px;font:700 12px/1.2 Oxanium,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink)}
#ccd-form .ccd-label em,#ccd-form label em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:400;color:var(--c-text)}
#ccd-form .ccd-help{margin:0 0 12px;font-size:14px}
#ccd-form .ccd-block{margin-top:8px}

/* Tuiles de motif */
#ccd-form .ccd-tiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
#ccd-form .ccd-tile{position:relative;cursor:pointer;display:block;margin:0}
#ccd-form .ccd-tile input,#ccd-form .ccd-pill input{position:absolute;opacity:0;pointer-events:none}
#ccd-form .ccd-tile span{display:flex;flex-direction:column;gap:6px;height:100%;padding:18px 18px 20px;border:1.5px solid var(--c-line);background:#fff;transition:border-color .15s}
#ccd-form .ccd-tile strong{font:800 16px/1.15 Montserrat,sans-serif;letter-spacing:-.02em;text-transform:uppercase;color:var(--c-ink)}
#ccd-form .ccd-tile small{font-size:13px;line-height:1.45;color:var(--c-text)}
#ccd-form .ccd-tile:hover span{border-color:var(--c-navy)}
#ccd-form .ccd-tile input:checked+span{background:var(--c-navy);border-color:var(--c-navy)}
#ccd-form .ccd-tile input:checked+span strong{color:var(--c-lime)}
#ccd-form .ccd-tile input:checked+span small{color:rgba(255,255,255,.8)}
#ccd-form .ccd-tile input:focus-visible+span,#ccd-form .ccd-pill input:focus-visible+span{outline:3px solid var(--c-lime);outline-offset:2px}

/* Pastilles de choix */
#ccd-form .ccd-choice{display:flex;flex-wrap:wrap;gap:10px}
#ccd-form .ccd-pill{position:relative;cursor:pointer;margin:0}
#ccd-form .ccd-pill span{display:inline-block;padding:11px 16px;border:1.5px solid var(--c-line);background:#fff;color:var(--c-ink);font:500 15px/1.2 Poppins,sans-serif}
#ccd-form .ccd-pill:hover span{border-color:var(--c-navy)}
#ccd-form .ccd-pill input:checked+span{background:var(--c-navy);border-color:var(--c-navy);color:#fff}

/* Champs */
#ccd-form .ccd-grid{display:grid;gap:16px 20px;margin-bottom:6px}
@media(min-width:680px){#ccd-form .ccd-grid{grid-template-columns:1fr 1fr}#ccd-form .ccd-wide{grid-column:1/-1}}
#ccd-form .ccd-f{margin:0 0 14px}
#ccd-form .ccd-grid .ccd-f{margin:0}
#ccd-form .ccd-f label{display:block;margin:0 0 7px;font:700 12px/1.2 Oxanium,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink)}
#ccd-form input:not([type=radio]):not([type=checkbox]):not([type=file]),#ccd-form textarea{width:100%;margin:0;padding:13px 15px;border:1.5px solid var(--c-line);border-radius:0;background:#fff;color:var(--c-ink);font:500 16px/1.3 Poppins,sans-serif;box-shadow:none;-webkit-appearance:none;appearance:none}
#ccd-form input:focus,#ccd-form textarea:focus{border-color:var(--c-navy);outline:none}
#ccd-form [aria-invalid="true"],#ccd-form .ccd-drop[aria-invalid="true"]{border-color:var(--c-err)!important}
#ccd-form textarea{resize:vertical;min-height:110px}
#ccd-form .ccd-check{display:flex;gap:12px;align-items:flex-start;margin:18px 0 0;font-size:15px;color:var(--c-ink);cursor:pointer}
#ccd-form .ccd-check input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--c-navy)}
#ccd-form .ccd-check a{color:var(--c-navy);text-decoration:underline}

/* Dépôt de fichiers */
#ccd-form .ccd-drop{position:relative;display:grid;gap:4px;justify-items:start;padding:22px;border:1.5px dashed #AAB4C0;background:var(--c-soft);cursor:pointer;margin:0}
#ccd-form .ccd-drop:hover{border-color:var(--c-navy)}
#ccd-form .ccd-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
#ccd-form .ccd-drop-t{font-weight:600;color:var(--c-navy)}
#ccd-form .ccd-drop-s{font-size:13px}
#ccd-form .ccd-files{font-size:14px;color:var(--c-ink);font-weight:500}
#ccd-form .ccd-drop:focus-within{outline:3px solid var(--c-lime);outline-offset:2px}

/* Jours */
#ccd-form .ccd-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}
#ccd-form .ccd-day{all:unset;box-sizing:border-box;cursor:pointer;display:grid;justify-items:center;gap:2px;padding:10px 6px;border:1.5px solid var(--c-line);background:#fff;text-align:center}
#ccd-form .ccd-day:hover{border-color:var(--c-navy)}
#ccd-form .ccd-day .w,#ccd-form .ccd-day .m{font:700 11px/1 Oxanium,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8A96A5}
#ccd-form .ccd-day .d{font:600 24px/1.1 Oxanium,sans-serif;color:var(--c-ink)}
#ccd-form .ccd-day[aria-pressed="true"]{background:var(--c-navy);border-color:var(--c-navy)}
#ccd-form .ccd-day[aria-pressed="true"] .d{color:var(--c-lime)}
#ccd-form .ccd-day[aria-pressed="true"] .w,#ccd-form .ccd-day[aria-pressed="true"] .m{color:rgba(255,255,255,.75)}
#ccd-form .ccd-day:focus-visible{outline:3px solid var(--c-lime);outline-offset:2px}

/* Lignes de pièces */
#ccd-form .ccd-lines{display:grid;gap:8px;margin-bottom:12px}
#ccd-form .ccd-line,#ccd-form .ccd-line-head{display:grid;grid-template-columns:1.1fr 1.6fr 80px 40px;gap:8px;align-items:center}
#ccd-form .ccd-line-head span{font:700 11px/1 Oxanium,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink)}
#ccd-form .ccd-x{all:unset;cursor:pointer;width:40px;height:46px;display:grid;place-items:center;font-size:22px;color:#8A96A5;border:1.5px solid var(--c-line);box-sizing:border-box}
#ccd-form .ccd-x:hover{color:var(--c-err);border-color:var(--c-err)}
@media(max-width:600px){#ccd-form .ccd-line-head{display:none}#ccd-form .ccd-line{grid-template-columns:1fr 70px 40px}#ccd-form .ccd-line .s{grid-column:1/-1;order:3}}

/* Récapitulatif */
#ccd-form .ccd-recap{display:grid;grid-template-columns:minmax(140px,30%) 1fr;margin:0;border-top:1px solid var(--c-line)}
#ccd-form .ccd-recap dt,#ccd-form .ccd-recap dd{margin:0;padding:12px 0;border-bottom:1px solid var(--c-line)}
#ccd-form .ccd-recap dt{font:700 12px/1.5 Oxanium,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink);padding-right:14px}
#ccd-form .ccd-recap dd{white-space:pre-line;color:var(--c-ink);display:flex;justify-content:space-between;gap:12px}
#ccd-form .ccd-edit{all:unset;cursor:pointer;flex:none;font-size:13px;color:var(--c-navy);text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){#ccd-form .ccd-recap{grid-template-columns:1fr}#ccd-form .ccd-recap dt{border-bottom:0;padding-bottom:0}}

/* Navigation et boutons */
#ccd-form .ccd-nav{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:30px;padding-top:22px;border-top:1px solid var(--c-line)}
#ccd-form .ccd-nav [data-act="next"],#ccd-form .ccd-nav [data-act="send"]{margin-left:auto}
#ccd-form .ccd-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:16px 26px;background:var(--c-lime);color:var(--c-navy);font:700 15px/1 Poppins,sans-serif;text-align:center}
#ccd-form .ccd-btn:hover{filter:brightness(1.05)}
#ccd-form .ccd-btn:disabled{opacity:.55;cursor:wait}
#ccd-form .ccd-btn.line{background:transparent;color:var(--c-navy);box-shadow:inset 0 0 0 1.5px var(--c-line)}
#ccd-form .ccd-btn.line:hover{box-shadow:inset 0 0 0 1.5px var(--c-navy);filter:none}
#ccd-form .ccd-btn:focus-visible,#ccd-form .ccd-edit:focus-visible,#ccd-form .ccd-x:focus-visible{outline:3px solid var(--c-lime);outline-offset:2px}
#ccd-form .ccd-err{margin:20px 0 0;padding:12px 14px;border-left:3px solid var(--c-err);background:#FDF1EF;color:#8A2A20;font-weight:600;font-size:15px}

/* Confirmation */
#ccd-form .ccd-done{outline:none;border-top:4px solid var(--c-lime)}
#ccd-form .ccd-done-k{margin:0 0 10px;font:700 12px/1 Oxanium,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--c-navy)}
@media (prefers-reduced-motion:reduce){#ccd-form *{transition:none!important}}
