/* Catalogue par thèmes, validé par David. Chargé uniquement par index.html. */
body.catalog-page{min-height:100dvh;display:flex;flex-direction:column}
.catalog-page .site-header{display:none}
.catalog-page .wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px;flex:1}
.catalog-page[data-catalog-state="loading"] #access-status{display:none!important}
.catalog-page[data-catalog-state="loading"] .qd-member-footer{visibility:hidden}
.catalog-page:not([data-catalog-state="loading"]) #catalog-loading{display:none}
#catalog-loading .catalog-inventory{vertical-align:top}
.catalog-loading-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.catalog-placeholder-line{display:block;border-radius:5px;background:#e8edf3;height:21px;width:52%}
.catalog-placeholder-count{width:140px;height:1.6em}
.catalog-placeholder-title{height:28.35px;width:57%}
.catalog-placeholder-description{height:21px;width:78%;margin-top:6px}
.catalog-card-placeholder{pointer-events:none}
.catalog-card-placeholder .theme-art{background:#edf1f6!important}
.catalog-card-placeholder .theme-card-end{min-height:47px}
.catalog-card-placeholder .theme-go{background:#e8edf3}
.catalog-utility{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}
.catalog-utility a{min-height:44px;display:flex;align-items:center;gap:9px;font-weight:400}
.catalog-utility .catalog-statistics{color:#4b5c74}
.catalog-utility svg{width:18px;height:18px;flex-shrink:0}
.catalog-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:25px 0 30px}
.catalog-intro h1{font-size:32px;letter-spacing:-.9px;line-height:1.2;font-weight:700;margin:0}
.catalog-intro p{color:#626f80;margin:12px 0 0;font-size:16px;line-height:1.5}
.catalog-inventory{white-space:nowrap;border:1px solid #dfe5ee;background:#fff;padding:9px 14px;border-radius:8px;color:#526078;font-size:13px}
.catalog-inventory b{color:#1f2937;font-weight:600}
.catalog-section-label{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px}
.catalog-section-label h2{font-size:15px;font-weight:600;letter-spacing:0;margin:0}
.catalog-section-label>span{font-size:13px;color:#626f80}
.theme-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.theme-card{display:flex;flex-direction:column;color:#1f2937;overflow:hidden;border:1px solid #dfe5ee;border-radius:14px;background:#fff;transition:box-shadow .16s,border-color .16s}
.theme-card:hover{border-color:#a9bce1;box-shadow:0 8px 24px #233d6210;text-decoration:none}
.theme-art{display:flex;align-items:center;justify-content:center;background:#f5f7fa;overflow:hidden}
.theme-art img,.theme-art svg{display:block;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.theme-card .theme-art{height:158px;border-bottom:1px solid #e8edf4}
.theme-card .theme-art img,.theme-card .theme-art svg{width:240px;height:155px}
.theme-card:nth-child(4n+2) .theme-art{background:#f0f5f4}
.theme-card:nth-child(4n+3) .theme-art{background:#f6f4f0}
.theme-card:nth-child(4n+4) .theme-art{background:#eff3f8}
.theme-content{padding:22px 24px 18px;width:100%;flex:1;display:flex;flex-direction:column}
.theme-content h3{font-size:21px;font-weight:700;letter-spacing:-.35px;line-height:1.35;margin:0;overflow-wrap:anywhere}
.theme-content p{font-size:14px;color:#626f80;margin:6px 0 0;line-height:1.5}
.theme-card-end{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f4;margin-top:auto;padding-top:14px;gap:10px}
.theme-content>:nth-last-child(2){margin-bottom:20px}
.theme-card-end small{font-size:13px;color:#626f80;line-height:1.5}
.theme-go{border-radius:50%;background:#edf3ff;height:32px;width:32px;display:grid;place-items:center;color:#2563eb}
.theme-action{display:inline-flex;align-items:center;gap:10px;color:#2563eb;font-size:14px;font-weight:600;white-space:nowrap}
.theme-detail{background:#fff;border:1px solid #dfe5ee;border-radius:14px;padding:25px}
.all-themes{display:inline-flex;align-items:center;min-height:44px;font-size:14px;margin-bottom:12px}
.theme-detail-head{display:flex;align-items:center;gap:24px;padding-bottom:22px}
.theme-detail-head .theme-art{width:150px;height:115px;border-radius:10px;flex-shrink:0}
.theme-detail-head .theme-art img,.theme-detail-head .theme-art svg{width:100%;height:100%}
.theme-detail-head h2{font-size:21px;letter-spacing:-.35px;line-height:1.35;margin:0;overflow-wrap:anywhere}
.theme-detail-head p{color:#626f80;margin:7px 0;font-size:15px}
.theme-detail-head small{font-size:13px;color:#626f80}
.theme-exercise{display:flex;align-items:center;gap:18px;justify-content:space-between;color:#1f2937;min-height:69px;padding:15px 20px;border-top:1px solid #dfe5ee;transition:background .15s;line-height:1.5}
.theme-exercise:hover{background:#f5f8ff;text-decoration:none}
.exercise-number{font-size:12px;color:#738199;font-variant-numeric:tabular-nums;flex:0 0 23px}
.exercise-title{flex:1;overflow-wrap:anywhere}
.theme-exercise small{color:#626f80;font-size:13px;white-space:nowrap}
.exercise-start{font-size:13px;color:#2563eb;white-space:nowrap}
.exercise-start span{margin-left:6px}
.catalog-footer{margin:28px 0 0;padding:21px 0 30px;border-top:1px solid #dfe5ee;color:#626f80;font-size:12px;display:flex;justify-content:space-between;gap:20px;line-height:1.5}
.catalog-footer strong{font-weight:600;color:#48566a}
.catalog-empty{padding:24px;background:#fff;border:1px solid #dfe5ee;border-radius:14px}
@media(max-width:750px){
 .catalog-placeholder-title{height:25.65px}
 .catalog-placeholder-description{height:19.5px}
 .catalog-card-placeholder .theme-card-end{min-height:51px}
 .catalog-page .wrap{padding:0 18px}
 .catalog-utility{min-height:68px;font-size:13px;gap:12px}
 .catalog-utility svg{width:16px;height:16px}
 .catalog-utility .catalog-statistics{gap:5px}
 .catalog-intro{display:block;margin:18px 0 25px}
 .catalog-intro h1{font-size:27px;letter-spacing:-.7px}
 .catalog-intro p{font-size:15px;margin:10px 0 16px}
 .catalog-inventory{display:inline-block;font-size:12px;padding:7px 11px}
 .catalog-section-label{align-items:start}
 .catalog-section-label>span{display:none}
 .theme-cards{grid-template-columns:1fr;gap:16px}
 .theme-card .theme-art{height:135px}
 .theme-card .theme-art img,.theme-card .theme-art svg{height:135px}
 .theme-content{padding:18px 19px 15px}
 .theme-content h3{font-size:19px}
 .theme-content p{font-size:13px}
 .theme-content>:nth-last-child(2){margin-bottom:15px}
 .theme-card-end{padding-top:11px}
 .theme-card-end small span{display:block}
 .theme-card-end small .separator{display:none}
 .catalog-footer{flex-direction:column;gap:5px;font-size:11px}
 .theme-detail{padding:17px}
 .theme-detail-head{gap:15px;align-items:start}
 .theme-detail-head .theme-art{width:80px;height:80px}
 .theme-detail-head h2{font-size:18px}
 .theme-detail-head p{font-size:13px}
 .theme-exercise{padding:16px 0;flex-wrap:wrap;gap:8px}
 .exercise-number{display:none}
 .exercise-title{font-size:14px;flex-basis:75%}
 .exercise-start{margin-left:auto;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.theme-card,.theme-exercise{transition:none}}
