/* Circuler : choix légers, trois propositions, aide contextuelle. */
.circuler-simple .cc-header { padding-block:var(--section-space) 2rem; }
.cc-header h1 { max-width:var(--width-reading); }
.cc-header .section-intro { margin-bottom:0; }
.cc-chooser { padding-top:2rem; }
#commencer, #results-section { scroll-margin-top:calc(var(--nav-height) + 1.5rem); }
.cc-choice-heading { display:flex; align-items:flex-start; gap:1rem; }
.cc-choice-heading h2 { margin-bottom:.5rem; }
.cc-choice-heading p, .cc-intent > p { color:var(--color-text-sec); }
.cc-step { display:inline-flex; align-items:center; justify-content:center; flex:0 0 2.5rem; width:2.5rem; height:2.5rem; border:1px solid var(--color-border); border-radius:50%; font-size:var(--text-body); font-weight:var(--weight-heading); background:var(--surface-card); }
.cc-flux-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; margin:1rem 0 2.5rem; }
.cc-flux-choice { display:flex; align-items:center; gap:.65rem; min-height:64px; padding:1rem; border:2px solid var(--color-border); border-radius:var(--radius); background:var(--surface-card); color:var(--color-text); text-align:left; font-weight:var(--weight-heading); cursor:pointer; }
.cc-flux-dot { flex-shrink:0; width:.85rem; height:.85rem; border-radius:50%; background:var(--flux-color); }
.cc-check { margin-left:auto; opacity:0; }
.cc-flux-choice[aria-pressed="true"] { border-color:var(--flux-color); box-shadow:var(--shadow); }
.cc-flux-choice[aria-pressed="true"] .cc-check { opacity:1; }
.cc-flux-choice:hover { box-shadow:var(--shadow-lg); }
.cc-intent { margin:0; padding:0; border:0; min-width:0; }
.cc-intent legend { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; padding:0; font-size:var(--text-h3); font-weight:var(--weight-heading); line-height:var(--leading-title); }
.cc-intent > p { margin:1rem 0; }
.cc-optional { color:var(--color-text-sec); font-size:var(--text-small); font-weight:var(--weight-body); }
.cc-intent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.cc-intent-card { display:flex; align-items:flex-start; gap:.75rem; padding:var(--card-space); border:1px solid var(--color-border); border-radius:var(--radius); background:var(--surface-card); cursor:pointer; }
.cc-intent-card input { flex-shrink:0; margin:.25rem 0 0; accent-color:var(--color-text); width:1.1rem; height:1.1rem; }
.cc-intent-card strong { display:block; margin-bottom:.65rem; line-height:var(--leading-ui); }
.cc-intent-card span span { display:block; font-size:var(--text-small); color:var(--color-text-sec); }
.cc-intent-card:has(input:checked) { border-color:var(--color-text); box-shadow:var(--shadow); }
.cc-intent-card:has(input:focus-visible) { outline:2px solid var(--color-text); outline-offset:4px; }
.cc-text-button { border:0; background:none; color:var(--color-text); cursor:pointer; text-decoration:underline; text-underline-offset:4px; padding:.65rem 0; min-height:44px; text-align:left; }
.cc-start { margin-top:2rem; display:flex; align-items:center; flex-wrap:wrap; gap:1rem 1.5rem; }
.cc-start p { margin:0; font-size:var(--text-small); color:var(--color-text-sec); }
.cc-start .btn:disabled { cursor:default; opacity:.55; transform:none; }
.cc-prefill { padding:1rem; border:1px solid var(--color-border); border-radius:var(--radius); background:var(--surface-card); color:var(--color-text-sec); }
.cc-results[hidden], .cc-program[hidden], #clear-intent[hidden], #retry-catalog[hidden] { display:none; }
.cc-results-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; margin-bottom:1.5rem; }
.cc-results-heading p { color:var(--color-text-sec); margin-bottom:0; }
.cc-filters { border:1px solid var(--color-border); border-radius:var(--radius); padding:1rem 1.25rem; margin-bottom:1.25rem; }
.cc-filters summary { cursor:pointer; font-weight:var(--weight-heading); min-height:32px; }
.cc-filters summary span { font-size:var(--text-small); font-weight:var(--weight-body); color:var(--color-text-sec); margin-left:1rem; }
.cc-filter-grid { display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:1.5rem; align-items:end; padding-top:1.5rem; }
.cc-filter-grid label { display:block; font-weight:var(--weight-heading); margin-bottom:.5rem; }
.cc-filter-grid select { width:100%; min-height:48px; padding:.6rem; border:1px solid var(--color-border); border-radius:.5rem; color:var(--color-text); background:var(--surface-card); }
.cc-filter-grid .cc-gentle { display:flex; align-items:center; gap:.75rem; min-height:48px; margin:0; font-weight:var(--weight-body); }
.cc-gentle input { width:1.1rem; height:1.1rem; flex-shrink:0; accent-color:var(--color-text); }
.cc-filter-help { font-size:var(--text-small); color:var(--color-text-sec); margin-top:1rem; }
.cc-result-status, .cc-duration, .cc-card-kicker { color:var(--color-text-sec); font-size:var(--text-small); }
.cc-card-kicker { margin-bottom:.75rem; }
.cc-recommendations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.cc-action-card { display:flex; flex-direction:column; min-width:0; padding:var(--card-space); border:1px solid var(--color-border); border-radius:var(--radius); background:var(--surface-card); box-shadow:var(--shadow); }
.cc-action-card h3 { margin-bottom:1rem; }
.cc-flux-tags { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1rem; }
.cc-flux-tag { display:inline-block; color:#242424; background:var(--flux-color); padding:.2rem .6rem; border-radius:999px; font-size:var(--text-caption); font-weight:var(--weight-heading); }
.cc-action-why { border-top:1px solid var(--color-border); padding-top:1rem; color:var(--color-text-sec); font-size:var(--text-small); }
.cc-how { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:auto; padding:.75rem 0; min-height:48px; border:0; border-top:1px solid var(--color-border); background:none; color:var(--color-text); font-weight:var(--weight-strong); text-align:left; cursor:pointer; }
.cc-how:hover { text-decoration:underline; text-underline-offset:4px; }
.cc-renew { display:flex; align-items:center; flex-wrap:wrap; gap:1rem 2rem; margin-top:2rem; }
.cc-renew p { font-size:var(--text-small); color:var(--color-text-sec); max-width:var(--width-form); margin:0; }
.cc-renew button:disabled { opacity:.55; cursor:default; transform:none; }
.cc-editorial-note { margin-top:2rem; font-size:var(--text-small); max-width:var(--width-reading); color:var(--color-text-sec); }
.cc-empty { grid-column:1 / -1; padding:var(--card-space); border:1px dashed var(--color-border); border-radius:var(--radius); }
.cc-empty p { max-width:var(--width-reading); }
.cc-dialog { margin:auto; box-sizing:border-box; width:min(50rem,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); padding:var(--card-space); border:1px solid var(--color-border); border-radius:var(--radius); background:var(--surface-card); color:var(--color-text); }
.cc-dialog::backdrop { background:rgb(0 0 0 / .45); }
.cc-dialog > form { display:flex; justify-content:flex-end; margin-bottom:1rem; }
.cc-dialog-close { padding:.5rem .8rem; min-height:44px; background:var(--surface-page); color:var(--color-text); border:1px solid var(--color-border); border-radius:999px; cursor:pointer; }
.cc-dialog h3 { margin-top:2rem; }
.cc-detail-steps { padding-left:1.5rem; }
.cc-detail-steps li { margin:.6rem 0; padding-left:.25rem; }
.cc-detail-help { font-size:var(--text-small); color:var(--color-text-sec); }
.cc-advice { display:grid; gap:1rem; margin-block:1rem 2rem; }
.cc-advice section { padding:1rem; border:1px solid var(--color-border); border-radius:var(--radius); background:var(--surface-page); }
.cc-advice h4 { margin-bottom:.5rem; }
.cc-advice p { font-size:var(--text-small); }
.cc-program { position:fixed; bottom:1rem; right:1rem; z-index:30; padding:.8rem 1.25rem; border:1px solid var(--color-border); border-radius:999px; background:var(--surface-card); color:var(--color-text); box-shadow:var(--shadow-lg); font-size:var(--text-small); font-weight:var(--weight-heading); }
@media(max-width:900px) {
 .cc-flux-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cc-recommendations { grid-template-columns:1fr; }
 .cc-action-card { padding:1.5rem; }
 .cc-intent-grid { grid-template-columns:1fr; }
 .cc-filter-grid { grid-template-columns:1fr 1fr; }
 .cc-gentle { grid-column:1 / -1; }
}
@media(max-width:560px) {
 .cc-flux-choice { padding:.75rem; font-size:var(--text-small); min-height:60px; }
 .cc-intent legend { display:block; }
 .cc-intent legend .cc-step { margin-right:.5rem; }
 .cc-optional { display:block; margin-top:.75rem; }
 .cc-choice-heading { gap:.75rem; }
 .cc-results-heading { display:block; }
 .cc-filter-grid { grid-template-columns:1fr; }
 .cc-filters summary span { display:block; margin:.4rem 0 0 1rem; }
 .cc-start { align-items:flex-start; flex-direction:column; }
 .cc-start .btn { width:100%; }
 .cc-dialog { padding:1.25rem; }
}

.circuler-simple [hidden] { display:none !important; }
