*{box-sizing:border-box} :root{--navy:#111d5b;--blue:#4b62b0;--paper:#f1ede4;--ink:#182342;--line:#d9dce5;--gold:#d99a35}
html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#f7f6f2;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}
a{color:var(--navy);text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #d39022;outline-offset:4px}button[hidden],[hidden]{display:none!important}
.header{background:var(--navy);border-bottom:3px solid var(--gold);color:white}.header-inner{max-width:1300px;margin:auto;min-height:105px;display:flex;align-items:center;gap:50px;padding:16px 36px}.brand{display:flex;align-items:center;flex-shrink:0}.brand img{width:142px;height:84px;object-fit:contain}.main-nav{display:flex;gap:30px;align-self:stretch;align-items:center}.main-nav a{color:#cbd1ec;font-size:15px;padding:10px 0}.main-nav a[aria-current=page]{color:white;border-bottom:2px solid #e4b260}.main-nav span{margin-inline-start:6px}.languages{display:flex;gap:9px;margin-inline-start:auto;align-items:center}.language{display:grid;place-items:center;width:38px;height:35px;border:1px solid transparent;border-radius:5px}.language:hover{background:#ffffff18}.language[aria-current=true]{border-color:#e9bb6f;background:#ffffff15}.language img{width:25px;height:17px;object-fit:cover;border-radius:2px}
main{max-width:1230px;margin:auto;padding:44px 32px 72px;min-height:78vh}.intro{margin-bottom:28px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.18em;color:var(--blue);margin-bottom:12px}h1{font-size:clamp(30px,3.8vw,44px);font-weight:650;line-height:1.18;letter-spacing:-.035em;margin:0 0 12px;max-width:1000px}.subtitle{color:#626a7d;margin:0;font-size:16px;max-width:800px}.breadcrumb{display:flex;gap:8px;flex-wrap:wrap;color:#6e7588;font-size:13px;margin-bottom:14px}.breadcrumb:empty{display:none}
.search-area{margin-bottom:26px}#search-form{display:flex;align-items:center;gap:14px;border:1px solid #c5cada;background:white;box-shadow:0 3px 12px #18234206;border-radius:9px;padding:8px 8px 8px 20px}.search-icon{font-size:30px;line-height:1;color:var(--blue)}#search{min-width:0;width:100%;border:none;outline:none;background:transparent;padding:13px 0;font-size:17px;color:var(--ink)}#search::-webkit-search-cancel-button{display:none}#search-form:focus-within{outline:2px solid var(--blue);outline-offset:2px}.go{background:var(--navy);color:white;border:none;border-radius:6px;padding:13px 24px;white-space:nowrap}.go:hover{background:var(--blue)}.go span{margin-inline-start:15px}.clear{border:none;background:transparent;color:#767f94;font-size:26px;padding:2px 7px}.search-hint{color:#747b8a;font-size:12px;margin:10px 2px 0}.results-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:22px;gap:16px}#result-count{font-size:13px;color:#636d82;margin:0}.text-button{border:none;background:none;color:var(--blue);font-size:13px;padding:3px}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.category{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.category-head{width:100%;display:flex;text-align:start;align-items:center;gap:12px;background:#eeeef5;border:none;padding:16px 20px;color:var(--navy)}.category-head h2{font-size:16px;font-weight:650;margin:0;flex:1}.category-head small{font-size:12px;color:#7b8194;font-weight:400}.chevron{font-size:15px;transition:transform .15s}.category-head[aria-expanded=true] .chevron{transform:rotate(90deg)}.theme-list{padding:11px 13px 14px;display:flex;flex-wrap:wrap;gap:7px}.theme-badge{display:flex;align-items:center;gap:8px;border:1px solid #dce0e9;background:#fff;border-radius:13px;padding:7px 10px;font-size:13px;line-height:1.4;max-width:100%;transition:background .15s,border .15s}.theme-badge:hover{background:#fff6d3;border-color:#cab981}.theme-label{overflow-wrap:anywhere}.indicator{width:6px;height:6px;border-radius:50%;background:#8e95a5;flex-shrink:0}.i1{background:#00a345}.i2{background:#0070c0}.i3{background:#ed8b12}.i4{background:#d51b4e}.counts{display:inline-flex;gap:6px;align-items:center;margin-inline-start:3px;white-space:nowrap;font-size:10px;color:#757e91}.counts span{display:inline-flex;gap:2px;align-items:center}.counts img{width:11px;height:11px;object-fit:contain}.total{font-variant-numeric:tabular-nums}
.source-list{display:flex;flex-direction:column;gap:12px}.source-card{background:#fff;border:1px solid var(--line);border-inline-start:3px solid var(--blue);border-radius:7px;overflow:hidden}.source-card.secondary{margin-inline-start:24px;border-inline-start-color:#acb3c9}.source-card summary{list-style:none;padding:19px 22px;cursor:pointer}.source-card summary::-webkit-details-marker{display:none}.source-top{display:flex;gap:12px;align-items:start}.source-title{font-weight:650;font-size:16px;flex:1;overflow-wrap:anywhere}.source-kind{font-size:10px;color:#7a8294;text-transform:uppercase;letter-spacing:.09em;padding-top:4px}.source-card .expand{font-size:22px;color:var(--blue);line-height:1}.source-card[open] .expand{transform:rotate(45deg)}.summary-text{font-size:15px;color:#515b70;margin:10px 0 0;line-height:1.65}.related-context{font-size:11px;color:#858c9c;margin:8px 0 0;overflow-wrap:anywhere}.source-body{padding:0 22px 24px;border-top:1px solid #eceef3}.source-links{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.source-links a{font-size:11px;font-weight:600;padding:4px 9px;border:1px solid #dfe2eb;border-radius:4px;color:var(--blue)}.source-links a:hover{background:#f0f2fa}.full-text{font-size:16px;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere}.full-text p{margin:0 0 12px}.references{font-size:12px;color:#7b8292;border-top:1px solid #eceef3;padding-top:15px;margin-top:20px;display:flex;flex-direction:column;gap:5px}.source-themes{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.source-themes a{font-size:11px;background:#f0f2f9;border-radius:12px;padding:5px 10px}.empty{padding:54px 20px;text-align:center;border:1px dashed #c5cbda;border-radius:8px;color:#6a7387}.empty h2{color:var(--navy);font-size:22px;margin-top:0}.missing{background:#faf5e7;padding:14px;border-radius:6px;font-size:14px;color:#786138}mark{background:#fff0b5;color:inherit;padding:0 1px;border-radius:2px}
footer{max-width:1166px;margin:auto;border-top:1px solid var(--line);padding:24px 0 32px;display:flex;gap:24px;align-items:center;font-size:11px;color:#7b8291}footer>span:first-child{font-weight:800;letter-spacing:.12em;color:var(--navy)}footer a{margin-inline-start:auto;color:#687494}.skip{position:absolute;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1400px){main{padding-top:52px}.category-grid{gap:24px}}
@media(max-width:700px){.header-inner{padding:12px 18px;gap:20px;min-height:90px;flex-wrap:wrap}.brand img{width:103px;height:62px}.main-nav{margin-inline-start:auto;gap:22px}.languages{width:100%;justify-content:center;margin:0;border-top:1px solid #ffffff20;padding-top:9px;gap:15px}.language{height:31px}main{padding:28px 18px 45px}.category-grid{grid-template-columns:1fr;gap:15px}.intro{margin-bottom:23px}h1{font-size:32px}.subtitle{font-size:14px}.search-icon{display:none}#search-form{padding-inline-start:13px;gap:7px}#search{font-size:14px}.go{padding:12px 17px}.go span{display:none}.search-hint{font-size:11px}.category-head{padding:15px}.theme-list{padding:11px}.source-card summary{padding:16px}.source-body{padding:0 16px 20px}.source-card.secondary{margin-inline-start:12px}.source-kind{display:none}.source-title{font-size:15px}.full-text{font-size:15px}.results-bar{gap:8px}footer{margin:0 18px;padding:20px 0;flex-wrap:wrap;gap:12px}footer>span:nth-child(2){width:100%;order:3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Recherche accessible pendant le défilement des sources. */
body[data-view="all"] .search-area,body[data-view="theme"] .search-area{position:sticky;top:0;z-index:5;background:#f7f6f2;padding:10px 0 12px;box-shadow:0 8px 12px -12px #18234270}
.source-card{scroll-margin-top:125px}
@media(max-width:700px){body[data-view="all"] .search-hint,body[data-view="theme"] .search-hint{display:none}}

/* Navigation par thèmes et cartes, filtres communs et lecture plus grande. */
.category-grid{grid-template-columns:minmax(0,1fr)}
.category-head h2{font-size:20px}
.theme-badge{font-size:17px;padding:9px 12px;gap:10px}
.indicator{width:13px;height:13px;display:inline-block;vertical-align:middle}
.i1{background:#00b050}.i2{background:#0070c0}.i3{background:#ff8c00}.i4{background:#e00000}
.counts{font-size:13px}.counts img{width:16px;height:16px}
.religion-filters{display:flex;align-items:center;gap:14px;border:0;padding:0;margin:0 0 10px;min-width:0}
.religion-option{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 14px;border:1px solid #c5cada;border-radius:7px;background:white;cursor:pointer;min-height:48px}
.religion-option img{width:30px;height:30px;object-fit:contain}
.religion-option input{width:19px;height:19px;accent-color:var(--navy);margin:0;cursor:pointer}
.religion-option:has(input:not(:checked)){opacity:.55;background:#edeef1}
.religion-option:focus-within{outline:2px solid var(--blue);outline-offset:2px}
body[data-view="card"] .search-area{position:sticky;top:0;z-index:5;background:#f7f6f2;padding:10px 0 12px;box-shadow:0 8px 12px -12px #18234270}
.source-card{scroll-margin-top:190px}
.source-identity{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;flex:1;min-width:0}
.source-title{font-size:19px;flex:0 1 auto;display:inline-flex;align-items:center;gap:9px}
.source-indicators{display:inline-flex;gap:4px;flex-shrink:0}.source-indicators:empty{display:none}
.source-themes{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0;min-width:0}
.source-themes a{font-size:14px;display:inline-flex;align-items:center;gap:7px;max-width:100%;overflow-wrap:anywhere;padding:6px 10px}
.source-themes a:hover{background:#e2e7f6}
.card-badge,.source-themes a.card-link{color:#69418c;background:#f2e9fa;border-color:#d9c4e9}
.card-badge .indicator{background:#9357b9}
.card-badge:hover,.source-themes a.card-link:hover{background:#e7d6f4;border-color:#a075bb}
.summary-text{font-size:18px}
.full-text{font-size:19px}
.source-links a{font-size:14px}
.related-context,.references{font-size:14px}
.card-preview{margin:0 auto 30px;max-width:760px;text-align:center}
.card-preview img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--line)}
@media(max-width:700px){
 .category-head h2{font-size:19px}.theme-badge{font-size:16px}.source-title{font-size:18px}
 .summary-text,.full-text{font-size:17px}.source-themes a{font-size:14px}
 .religion-filters{gap:10px}.religion-option{padding:7px 12px;gap:8px}.religion-option img{width:27px;height:27px}
 body[data-view="card"] .search-hint{display:none}.source-identity{gap:10px}
}

/* Les liens s'écoulent directement à côté de la référence, puis à la ligne si nécessaire. */
.source-identity{display:block}
.source-title{margin-inline-end:12px;vertical-align:middle}
.source-themes{display:contents}
.source-themes a{margin-block:3px;margin-inline-end:7px;vertical-align:middle}

/* Livres : corpus filtre integralement et rendu progressif. */
.book-badge{background:#eaf3f1;border-color:#bad5cb;color:#245f51;font-size:19px}
.book-badge img{width:25px;height:25px;object-fit:contain}
.book-introduction{margin:10px 0 4px;padding:14px 18px;background:#f0eee7;border-radius:7px;font-size:18px;text-align:center}
.book-more{text-align:center;margin:26px 0 0;color:#636d82;font-size:14px}
body[data-view="book"] .search-area{position:sticky;top:0;z-index:5;background:#f7f6f2;padding:10px 0 12px;box-shadow:0 8px 12px -12px #18234270}
@media(max-width:700px){body[data-view="book"] .search-hint{display:none}.book-introduction{font-size:16px}}


/* Livres avec chapitres, articles et paragraphes. */
.book-section{margin:12px 0;border:1px solid #d9dce5;border-radius:9px;background:#fff;overflow:hidden}
.book-section>summary{cursor:pointer;display:flex;align-items:baseline;gap:12px;padding:16px;background:#eeeef6;color:#171c50}
.book-section>summary::before{content:'›';font-size:24px}.book-section[open]>summary::before{content:'⌄'}
.book-section h2,.book-section h3{margin:0;font-size:21px;line-height:1.45}
.book-section.article>summary{background:#f2f5f3;color:#245f51}.book-section.article h3{font-size:19px}
.book-section-body{padding:4px 14px}.book-section .full-text{white-space:pre-wrap}
@media(max-width:700px){.book-section-body{padding:3px 7px}.book-section h2{font-size:19px}}

/* Bandeau de commande : texte traduit et modifiable dans data/banner.json. */
.sales-banner{display:flex;min-height:220px;align-items:center;justify-content:center;padding:28px 24px;background:#111d5b url('./banner.png') center/cover no-repeat;color:white;text-align:center}
.sales-banner span{display:block;max-width:1050px;padding:16px 24px;border-radius:8px;background:rgba(0,0,0,.78);font-size:19px;line-height:1.6}
.sales-banner:hover span{background:rgba(0,0,0,.88);text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.sales-banner{min-height:180px;padding:20px 15px}.sales-banner span{font-size:16px;padding:12px 15px}}

/* Lecture et commandes tactiles sur telephone. */
@media(max-width:700px){
 body{font-size:18px;line-height:1.65}main{padding:24px 12px 44px;min-width:0}
 .header-inner{padding:12px 14px;gap:12px;min-height:0;flex-wrap:wrap;justify-content:space-between}
 .brand img{width:104px;height:64px}.main-nav{gap:20px;align-self:auto}.main-nav a{font-size:18px;min-height:44px;display:flex;align-items:center}
 .languages{width:100%;display:flex;justify-content:space-between;gap:4px;padding-top:10px;margin:0}
 .language{width:44px;height:44px;flex:0 0 44px}.language img{width:31px;height:22px}
 h1{font-size:30px;line-height:1.2;overflow-wrap:anywhere}.subtitle{font-size:18px;line-height:1.6}.breadcrumb{font-size:16px;gap:8px}.breadcrumb a{padding-block:6px}
 .eyebrow{font-size:12px}.intro{margin-bottom:20px}
 .sales-banner{min-height:150px;padding:14px 12px}.sales-banner span{font-size:17px;line-height:1.5;padding:12px}
 .religion-filters{gap:10px;margin-bottom:10px}.religion-option{min-width:65px;min-height:48px;padding:8px 12px;gap:8px}.religion-option input{width:22px;height:22px}.religion-option img{width:29px;height:29px}
 #search-form{padding:5px 5px 5px 12px;gap:4px}#search{font-size:18px;padding-block:11px;min-height:48px}.go{min-width:48px;min-height:48px;padding:10px 12px;font-size:17px}.clear{min-width:44px;min-height:44px;padding:4px;font-size:28px}
 .search-hint{font-size:14px}#result-count{font-size:15px}.text-button{font-size:15px;min-height:44px;padding:7px}.results-bar{align-items:center;flex-wrap:wrap;gap:6px}
 .category-grid{gap:14px}.category-head{min-height:56px;padding:15px 13px}.category-head h2{font-size:21px}.category-head small{font-size:15px}.theme-list{padding:12px;gap:9px}
 .theme-badge{font-size:18px;min-height:46px;padding:10px 12px;line-height:1.5;flex-wrap:wrap;overflow-wrap:anywhere}.book-badge{width:100%;border-radius:9px;gap:10px}.book-badge img{width:28px;height:28px}
 .counts{font-size:13px}.counts img{width:15px;height:15px}.indicator{width:11px;height:11px}
 .source-card summary{padding:16px 13px}.source-title{font-size:20px;line-height:1.5}.summary-text,.full-text{font-size:19px;line-height:1.8}.source-body{padding:0 13px 20px}.source-card.secondary{margin-inline-start:10px}
 .source-themes a,.source-links a{font-size:16px;min-height:44px;padding:9px 11px;line-height:1.5}.related-context,.references{font-size:16px}.source-identity{min-width:0}.source-top{gap:6px}
 .book-section>summary{padding:14px 11px;gap:8px}.book-section h2{font-size:21px}.book-section.article h3{font-size:19px}.book-section-body{padding:3px 5px}.book-section .source-card summary{padding:13px 10px}
 .card-preview{margin-bottom:20px}.book-more{font-size:16px}footer{font-size:15px}footer a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:360px){.header-inner{padding-inline:10px}.main-nav{gap:12px}.brand img{width:94px}.theme-list{padding:9px}.source-themes a{padding-inline:9px}}

/* Livres : chaque passage est lisible integralement, sans resume a deplier. */
.book-passage-heading{padding:18px 22px;background:#fafbfe}
.book-passage .source-body{padding-top:14px}
.book-passage .source-links:empty{display:none}
.book-passage .references{margin-top:12px}
@media(max-width:700px){.book-passage-heading{padding:15px 13px}.book-passage .source-body{padding-top:12px}}
