/* V15: one catalogue of themes; only challenge numbers and levels on demand. */
.guide-catalogue{--catalogue-navy:#142d50;--catalogue-blue:#1759e8;--catalogue-line:#dce6f2;background:#f5f8fd;color:#344f70}
.guide-catalogue [hidden]{display:none!important}
.guide-catalogue .guide-catalogue__heading{max-width:830px;margin-bottom:40px}
.guide-catalogue :is(summary,button):focus-visible{outline:3px solid var(--catalogue-blue);outline-offset:5px}
.guide-catalogue__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.guide-catalogue[data-catalogue-ready=true] .guide-catalogue__cards{align-items:stretch}
.guide-catalogue[data-catalogue-ready=true] .guide-catalogue__card>summary{height:100%}
.guide-catalogue__card{min-width:0;margin:0;background:#fff;border:1px solid var(--catalogue-line);border-radius:18px;box-shadow:0 3px 12px #18386104;transition:border-color .18s,box-shadow .18s,transform .18s}
.guide-catalogue__card:hover{border-color:#a9c4f0;box-shadow:0 10px 26px #17407d0c;transform:translateY(-2px)}
.guide-catalogue__card>summary{display:flex;flex-direction:column;padding:25px 26px 0;min-height:265px;list-style:none;border-radius:inherit;cursor:pointer}
.guide-catalogue__card>summary::-webkit-details-marker{display:none}
.guide-catalogue__card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}
.guide-catalogue__card-top img{display:block;width:56px;height:56px;object-fit:contain}
.guide-catalogue__count{padding:7px 10px;border-radius:7px;background:#f1f5fc;color:#415e84;font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap}
.guide-catalogue .guide-catalogue__card h3{min-height:2.64em;margin:0 0 9px;color:var(--catalogue-navy);font-size:18px;font-weight:800;line-height:1.32;letter-spacing:-.025em}
.guide-catalogue .guide-catalogue__card p{margin:0 0 21px;color:#526b89;font-size:13px;line-height:1.65}
.guide-catalogue__card-action{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto;padding:15px 0;border-top:1px solid #e5ecf5;color:#1755cd;font-size:12px;font-weight:800;line-height:1.5}
.guide-catalogue__card-arrow{display:grid;place-items:center;width:25px;height:25px;flex:none;border-radius:50%;background:#eef4ff;color:#1755cd;font-size:16px;font-weight:500;line-height:1}
.guide-catalogue__card[open]>summary .guide-catalogue__card-arrow{transform:rotate(90deg)}
.guide-catalogue .guide-catalogue__note{max-width:650px;margin:26px auto 0;color:#526b89;font-size:12px;line-height:1.65;text-align:center}
.guide-catalogue__topic-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.guide-catalogue__card>.guide-catalogue__topic-list{padding:0 26px 17px;border-top:1px solid #e5ecf5}
.guide-catalogue__topic-list>li{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:13px 0;border-bottom:1px solid #e6edf5}
.guide-catalogue__topic-list>li:last-child{border-bottom:0}
.guide-catalogue__exercise-number{color:var(--catalogue-navy);font-size:14px;font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums;white-space:nowrap}
.guide-catalogue__badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;font-size:11px;font-weight:800;line-height:1.4;white-space:nowrap}
.guide-catalogue__badge:before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:currentColor}
.guide-catalogue__badge--initiation{background:#e5f4ed;color:#176345}
.guide-catalogue__badge--intermediaire{background:#fff1db;color:#80510d}
.guide-catalogue__badge--avance{background:#fdeae7;color:#a92e2c}
.guide-catalogue__dialog{width:min(650px,calc(100% - 40px));max-width:none;max-height:min(740px,calc(100dvh - 48px));margin:auto;padding:0;overflow:hidden;background:#fff;color:var(--catalogue-navy);border:1px solid #d6e2f0;border-radius:20px;box-shadow:0 25px 100px #0d244a40}
.guide-catalogue__dialog::backdrop{background:#0e244cb3;backdrop-filter:blur(3px)}
.guide-catalogue__dialog-shell{display:flex;flex-direction:column;max-height:min(740px,calc(100dvh - 48px))}
.guide-catalogue__dialog-header{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:18px;padding:28px;border-bottom:1px solid #e0e9f4;background:#f6f9fe;flex:none}
.guide-catalogue__dialog-header>img{width:56px;height:56px;object-fit:contain}
.guide-catalogue .guide-catalogue__dialog-header p{margin:0 0 5px;color:#526b89;font-size:11px;font-weight:700;line-height:1.4}
.guide-catalogue .guide-catalogue__dialog-header h3{margin:0;color:var(--catalogue-navy);font-size:23px;font-weight:800;line-height:1.3;letter-spacing:-.02em}
.guide-catalogue .guide-catalogue__close{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;padding:9px 11px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.4;background:#fff;color:#34557c;border:1px solid #d8e3f1;border-radius:9px;cursor:pointer;align-self:start}
.guide-catalogue__close>span:last-child{font-size:22px;font-weight:400;line-height:1}
.guide-catalogue__close:hover{color:#1759e8;border-color:#a5bfeb}
.guide-catalogue__dialog-body{padding:10px 28px 20px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.guide-catalogue__dialog-body:focus-visible{outline:3px solid var(--catalogue-blue);outline-offset:-4px}
.guide-catalogue__dialog .guide-catalogue__topic-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.guide-catalogue__dialog .guide-catalogue__topic-list>li{gap:9px}
.guide-catalogue-modal-open,.guide-catalogue-modal-open body{overflow:hidden!important}
@media(max-width:1100px){.guide-catalogue__cards{gap:16px}.guide-catalogue__card>summary{padding:22px 21px 0;min-height:282px}.guide-catalogue .guide-catalogue__card h3{font-size:17px}.guide-catalogue__count{font-size:10px;padding:6px 8px}.guide-catalogue__card-top img{width:48px;height:48px}}
@media(max-width:767px){.guide-catalogue .guide-catalogue__heading{margin-bottom:28px}.guide-catalogue__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.guide-catalogue__card>summary{padding:22px 20px 0;min-height:280px}.guide-catalogue__dialog{width:calc(100% - 28px);max-height:calc(100dvh - 32px);border-radius:16px}.guide-catalogue__dialog-shell{max-height:calc(100dvh - 32px)}.guide-catalogue__dialog-header{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;padding:20px 18px}.guide-catalogue__dialog-header>img{width:44px;height:44px}.guide-catalogue .guide-catalogue__dialog-header h3{font-size:20px}.guide-catalogue__close{padding:8px}.guide-catalogue__close-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.guide-catalogue__dialog-body{padding:6px 20px 14px}.guide-catalogue__dialog .guide-catalogue__topic-list{grid-template-columns:1fr}}
@media(max-width:479px){.guide-catalogue__cards{grid-template-columns:1fr;gap:15px}.guide-catalogue__card>summary{padding:21px 23px 0;min-height:0}.guide-catalogue__card-top{margin-bottom:15px}.guide-catalogue__card-top img{width:50px;height:50px}.guide-catalogue__count{font-size:11px}.guide-catalogue .guide-catalogue__card h3{min-height:0;font-size:18px;margin-bottom:8px}.guide-catalogue .guide-catalogue__card p{font-size:13px;margin-bottom:19px}.guide-catalogue__card-action{padding:13px 0}.guide-catalogue .guide-catalogue__dialog-header h3{font-size:17px}.guide-catalogue__dialog-header{gap:9px;padding:17px 15px}.guide-catalogue__dialog-body{padding:5px 18px 13px}.guide-catalogue__card>.guide-catalogue__topic-list{padding-inline:23px}.guide-catalogue__topic-list>li{gap:9px}.guide-catalogue__badge{font-size:10px}}
@media(prefers-reduced-motion:reduce){.guide-catalogue__card{transition:none}.guide-catalogue__card:hover{transform:none}}
